mik32-pac 1.1.0

Peripheral access crate for the MIK32 Amur (К1948ВК018) RISC-V microcontroller
Documentation
#[doc = "Register `RRTC_TALRM` reader"]
pub type R = crate::R<RrtcTalrmSpec>;
#[doc = "Register `RRTC_TALRM` writer"]
pub type W = crate::W<RrtcTalrmSpec>;
#[doc = "Разрешает сравнения секунд, когда установлен\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Cs {
    #[doc = "0: Сравнение секунд отключено"]
    Disabled = 0,
    #[doc = "1: Сравнение секунд включено"]
    Enable = 1,
}
impl From<Cs> for bool {
    #[inline(always)]
    fn from(variant: Cs) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `CS` reader - Разрешает сравнения секунд, когда установлен"]
pub type CsR = crate::BitReader<Cs>;
impl CsR {
    #[doc = "Get enumerated values variant"]
    #[inline(always)]
    pub const fn variant(&self) -> Cs {
        match self.bits {
            false => Cs::Disabled,
            true => Cs::Enable,
        }
    }
    #[doc = "Сравнение секунд отключено"]
    #[inline(always)]
    pub fn is_disabled(&self) -> bool {
        *self == Cs::Disabled
    }
    #[doc = "Сравнение секунд включено"]
    #[inline(always)]
    pub fn is_enable(&self) -> bool {
        *self == Cs::Enable
    }
}
#[doc = "Field `CS` writer - Разрешает сравнения секунд, когда установлен"]
pub type CsW<'a, REG> = crate::BitWriter<'a, REG, Cs>;
impl<'a, REG> CsW<'a, REG>
where
    REG: crate::Writable + crate::RegisterSpec,
{
    #[doc = "Сравнение секунд отключено"]
    #[inline(always)]
    pub fn disabled(self) -> &'a mut crate::W<REG> {
        self.variant(Cs::Disabled)
    }
    #[doc = "Сравнение секунд включено"]
    #[inline(always)]
    pub fn enable(self) -> &'a mut crate::W<REG> {
        self.variant(Cs::Enable)
    }
}
#[doc = "Разрешает сравнения минут, когда установлен\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Cm {
    #[doc = "0: Сравнение минут отключено"]
    Disabled = 0,
    #[doc = "1: Сравнение минут включено"]
    Enable = 1,
}
impl From<Cm> for bool {
    #[inline(always)]
    fn from(variant: Cm) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `CM` reader - Разрешает сравнения минут, когда установлен"]
pub type CmR = crate::BitReader<Cm>;
impl CmR {
    #[doc = "Get enumerated values variant"]
    #[inline(always)]
    pub const fn variant(&self) -> Cm {
        match self.bits {
            false => Cm::Disabled,
            true => Cm::Enable,
        }
    }
    #[doc = "Сравнение минут отключено"]
    #[inline(always)]
    pub fn is_disabled(&self) -> bool {
        *self == Cm::Disabled
    }
    #[doc = "Сравнение минут включено"]
    #[inline(always)]
    pub fn is_enable(&self) -> bool {
        *self == Cm::Enable
    }
}
#[doc = "Field `CM` writer - Разрешает сравнения минут, когда установлен"]
pub type CmW<'a, REG> = crate::BitWriter<'a, REG, Cm>;
impl<'a, REG> CmW<'a, REG>
where
    REG: crate::Writable + crate::RegisterSpec,
{
    #[doc = "Сравнение минут отключено"]
    #[inline(always)]
    pub fn disabled(self) -> &'a mut crate::W<REG> {
        self.variant(Cm::Disabled)
    }
    #[doc = "Сравнение минут включено"]
    #[inline(always)]
    pub fn enable(self) -> &'a mut crate::W<REG> {
        self.variant(Cm::Enable)
    }
}
#[doc = "Разрешает сравнения часов, когда установлен\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Ch {
    #[doc = "0: Сравнение часов отключено"]
    Disabled = 0,
    #[doc = "1: Сравнение часов включено"]
    Enable = 1,
}
impl From<Ch> for bool {
    #[inline(always)]
    fn from(variant: Ch) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `CH` reader - Разрешает сравнения часов, когда установлен"]
pub type ChR = crate::BitReader<Ch>;
impl ChR {
    #[doc = "Get enumerated values variant"]
    #[inline(always)]
    pub const fn variant(&self) -> Ch {
        match self.bits {
            false => Ch::Disabled,
            true => Ch::Enable,
        }
    }
    #[doc = "Сравнение часов отключено"]
    #[inline(always)]
    pub fn is_disabled(&self) -> bool {
        *self == Ch::Disabled
    }
    #[doc = "Сравнение часов включено"]
    #[inline(always)]
    pub fn is_enable(&self) -> bool {
        *self == Ch::Enable
    }
}
#[doc = "Field `CH` writer - Разрешает сравнения часов, когда установлен"]
pub type ChW<'a, REG> = crate::BitWriter<'a, REG, Ch>;
impl<'a, REG> ChW<'a, REG>
where
    REG: crate::Writable + crate::RegisterSpec,
{
    #[doc = "Сравнение часов отключено"]
    #[inline(always)]
    pub fn disabled(self) -> &'a mut crate::W<REG> {
        self.variant(Ch::Disabled)
    }
    #[doc = "Сравнение часов включено"]
    #[inline(always)]
    pub fn enable(self) -> &'a mut crate::W<REG> {
        self.variant(Ch::Enable)
    }
}
#[doc = "Разрешает сравнения дней недели, когда установлен\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Cdow {
    #[doc = "0: Сравнение дней недели отключено"]
    Disabled = 0,
    #[doc = "1: Сравнение дней недели включено"]
    Enable = 1,
}
impl From<Cdow> for bool {
    #[inline(always)]
    fn from(variant: Cdow) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `CDOW` reader - Разрешает сравнения дней недели, когда установлен"]
pub type CdowR = crate::BitReader<Cdow>;
impl CdowR {
    #[doc = "Get enumerated values variant"]
    #[inline(always)]
    pub const fn variant(&self) -> Cdow {
        match self.bits {
            false => Cdow::Disabled,
            true => Cdow::Enable,
        }
    }
    #[doc = "Сравнение дней недели отключено"]
    #[inline(always)]
    pub fn is_disabled(&self) -> bool {
        *self == Cdow::Disabled
    }
    #[doc = "Сравнение дней недели включено"]
    #[inline(always)]
    pub fn is_enable(&self) -> bool {
        *self == Cdow::Enable
    }
}
#[doc = "Field `CDOW` writer - Разрешает сравнения дней недели, когда установлен"]
pub type CdowW<'a, REG> = crate::BitWriter<'a, REG, Cdow>;
impl<'a, REG> CdowW<'a, REG>
where
    REG: crate::Writable + crate::RegisterSpec,
{
    #[doc = "Сравнение дней недели отключено"]
    #[inline(always)]
    pub fn disabled(self) -> &'a mut crate::W<REG> {
        self.variant(Cdow::Disabled)
    }
    #[doc = "Сравнение дней недели включено"]
    #[inline(always)]
    pub fn enable(self) -> &'a mut crate::W<REG> {
        self.variant(Cdow::Enable)
    }
}
impl R {
    #[doc = "Bit 28 - Разрешает сравнения секунд, когда установлен"]
    #[inline(always)]
    pub fn cs(&self) -> CsR {
        CsR::new(((self.bits >> 28) & 1) != 0)
    }
    #[doc = "Bit 29 - Разрешает сравнения минут, когда установлен"]
    #[inline(always)]
    pub fn cm(&self) -> CmR {
        CmR::new(((self.bits >> 29) & 1) != 0)
    }
    #[doc = "Bit 30 - Разрешает сравнения часов, когда установлен"]
    #[inline(always)]
    pub fn ch(&self) -> ChR {
        ChR::new(((self.bits >> 30) & 1) != 0)
    }
    #[doc = "Bit 31 - Разрешает сравнения дней недели, когда установлен"]
    #[inline(always)]
    pub fn cdow(&self) -> CdowR {
        CdowR::new(((self.bits >> 31) & 1) != 0)
    }
}
impl W {
    #[doc = "Bit 28 - Разрешает сравнения секунд, когда установлен"]
    #[inline(always)]
    pub fn cs(&mut self) -> CsW<'_, RrtcTalrmSpec> {
        CsW::new(self, 28)
    }
    #[doc = "Bit 29 - Разрешает сравнения минут, когда установлен"]
    #[inline(always)]
    pub fn cm(&mut self) -> CmW<'_, RrtcTalrmSpec> {
        CmW::new(self, 29)
    }
    #[doc = "Bit 30 - Разрешает сравнения часов, когда установлен"]
    #[inline(always)]
    pub fn ch(&mut self) -> ChW<'_, RrtcTalrmSpec> {
        ChW::new(self, 30)
    }
    #[doc = "Bit 31 - Разрешает сравнения дней недели, когда установлен"]
    #[inline(always)]
    pub fn cdow(&mut self) -> CdowW<'_, RrtcTalrmSpec> {
        CdowW::new(self, 31)
    }
}
#[doc = "регистр хранит время, при совпадении которого со значением регистра RRTC_TIME, будет сгенерировано соответствующее прерывание\n\nYou can [`read`](crate::Reg::read) this register and get [`rrtc_talrm::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rrtc_talrm::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
pub struct RrtcTalrmSpec;
impl crate::RegisterSpec for RrtcTalrmSpec {
    type Ux = u32;
}
#[doc = "`read()` method returns [`rrtc_talrm::R`](R) reader structure"]
impl crate::Readable for RrtcTalrmSpec {}
#[doc = "`write(|w| ..)` method takes [`rrtc_talrm::W`](W) writer structure"]
impl crate::Writable for RrtcTalrmSpec {
    type Safety = crate::Unsafe;
}
#[doc = "`reset()` method sets RRTC_TALRM to value 0"]
impl crate::Resettable for RrtcTalrmSpec {}