mik32-pac 1.1.0

Peripheral access crate for the MIK32 Amur (К1948ВК018) RISC-V microcontroller
Documentation
#[doc = "Register `MODEM` reader"]
pub type R = crate::R<ModemSpec>;
#[doc = "Register `MODEM` writer"]
pub type W = crate::W<ModemSpec>;
#[doc = "Флаг взводится при изме-нении входного сигнала DSR. Флаг сбрасывается записью 1\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Dsrif {
    #[doc = "0: Изменений сигнала не обнаружено с момента сброса флага"]
    _0 = 0,
    #[doc = "1: Сигнал изменен с момента сброса флага"]
    _1 = 1,
}
impl From<Dsrif> for bool {
    #[inline(always)]
    fn from(variant: Dsrif) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `DSRIF` reader - Флаг взводится при изме-нении входного сигнала DSR. Флаг сбрасывается записью 1"]
pub type DsrifR = crate::BitReader<Dsrif>;
impl DsrifR {
    #[doc = "Get enumerated values variant"]
    #[inline(always)]
    pub const fn variant(&self) -> Dsrif {
        match self.bits {
            false => Dsrif::_0,
            true => Dsrif::_1,
        }
    }
    #[doc = "Изменений сигнала не обнаружено с момента сброса флага"]
    #[inline(always)]
    pub fn is_0(&self) -> bool {
        *self == Dsrif::_0
    }
    #[doc = "Сигнал изменен с момента сброса флага"]
    #[inline(always)]
    pub fn is_1(&self) -> bool {
        *self == Dsrif::_1
    }
}
#[doc = "Field `DSRIF` writer - Флаг взводится при изме-нении входного сигнала DSR. Флаг сбрасывается записью 1"]
pub type DsrifW<'a, REG> = crate::BitWriter1C<'a, REG, Dsrif>;
impl<'a, REG> DsrifW<'a, REG>
where
    REG: crate::Writable + crate::RegisterSpec,
{
    #[doc = "Изменений сигнала не обнаружено с момента сброса флага"]
    #[inline(always)]
    pub fn _0(self) -> &'a mut crate::W<REG> {
        self.variant(Dsrif::_0)
    }
    #[doc = "Сигнал изменен с момента сброса флага"]
    #[inline(always)]
    pub fn _1(self) -> &'a mut crate::W<REG> {
        self.variant(Dsrif::_1)
    }
}
#[doc = "Флаг взводится при изме-нении входного сигнала RI с 0 на 1. Флаг сбрасывается записью 1\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Riif {
    #[doc = "0: Изменений сигнала с 0 на 1 не обнаружено с момента сброса флага"]
    _0 = 0,
    #[doc = "1: Сигнал изменен с момента сброса флага"]
    _1 = 1,
}
impl From<Riif> for bool {
    #[inline(always)]
    fn from(variant: Riif) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `RIIF` reader - Флаг взводится при изме-нении входного сигнала RI с 0 на 1. Флаг сбрасывается записью 1"]
pub type RiifR = crate::BitReader<Riif>;
impl RiifR {
    #[doc = "Get enumerated values variant"]
    #[inline(always)]
    pub const fn variant(&self) -> Riif {
        match self.bits {
            false => Riif::_0,
            true => Riif::_1,
        }
    }
    #[doc = "Изменений сигнала с 0 на 1 не обнаружено с момента сброса флага"]
    #[inline(always)]
    pub fn is_0(&self) -> bool {
        *self == Riif::_0
    }
    #[doc = "Сигнал изменен с момента сброса флага"]
    #[inline(always)]
    pub fn is_1(&self) -> bool {
        *self == Riif::_1
    }
}
#[doc = "Field `RIIF` writer - Флаг взводится при изме-нении входного сигнала RI с 0 на 1. Флаг сбрасывается записью 1"]
pub type RiifW<'a, REG> = crate::BitWriter1C<'a, REG, Riif>;
impl<'a, REG> RiifW<'a, REG>
where
    REG: crate::Writable + crate::RegisterSpec,
{
    #[doc = "Изменений сигнала с 0 на 1 не обнаружено с момента сброса флага"]
    #[inline(always)]
    pub fn _0(self) -> &'a mut crate::W<REG> {
        self.variant(Riif::_0)
    }
    #[doc = "Сигнал изменен с момента сброса флага"]
    #[inline(always)]
    pub fn _1(self) -> &'a mut crate::W<REG> {
        self.variant(Riif::_1)
    }
}
#[doc = "Флаг взводится при изменении входного сигнала DCD. Флаг сбрасывается записью 1\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Dcdif {
    #[doc = "0: Изменений сигнала не обнаружено с момента сброса флага"]
    _0 = 0,
    #[doc = "1: Сигнал изменен с момента сброса флага"]
    _1 = 1,
}
impl From<Dcdif> for bool {
    #[inline(always)]
    fn from(variant: Dcdif) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `DCDIF` reader - Флаг взводится при изменении входного сигнала DCD. Флаг сбрасывается записью 1"]
pub type DcdifR = crate::BitReader<Dcdif>;
impl DcdifR {
    #[doc = "Get enumerated values variant"]
    #[inline(always)]
    pub const fn variant(&self) -> Dcdif {
        match self.bits {
            false => Dcdif::_0,
            true => Dcdif::_1,
        }
    }
    #[doc = "Изменений сигнала не обнаружено с момента сброса флага"]
    #[inline(always)]
    pub fn is_0(&self) -> bool {
        *self == Dcdif::_0
    }
    #[doc = "Сигнал изменен с момента сброса флага"]
    #[inline(always)]
    pub fn is_1(&self) -> bool {
        *self == Dcdif::_1
    }
}
#[doc = "Field `DCDIF` writer - Флаг взводится при изменении входного сигнала DCD. Флаг сбрасывается записью 1"]
pub type DcdifW<'a, REG> = crate::BitWriter1C<'a, REG, Dcdif>;
impl<'a, REG> DcdifW<'a, REG>
where
    REG: crate::Writable + crate::RegisterSpec,
{
    #[doc = "Изменений сигнала не обнаружено с момента сброса флага"]
    #[inline(always)]
    pub fn _0(self) -> &'a mut crate::W<REG> {
        self.variant(Dcdif::_0)
    }
    #[doc = "Сигнал изменен с момента сброса флага"]
    #[inline(always)]
    pub fn _1(self) -> &'a mut crate::W<REG> {
        self.variant(Dcdif::_1)
    }
}
#[doc = "Регистр содержит текущее значение сигнала DSR\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Dsr {
    #[doc = "0: Источник данных не готов"]
    Unready = 0,
    #[doc = "1: Источник данных готов"]
    Ready = 1,
}
impl From<Dsr> for bool {
    #[inline(always)]
    fn from(variant: Dsr) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `DSR` reader - Регистр содержит текущее значение сигнала DSR"]
pub type DsrR = crate::BitReader<Dsr>;
impl DsrR {
    #[doc = "Get enumerated values variant"]
    #[inline(always)]
    pub const fn variant(&self) -> Dsr {
        match self.bits {
            false => Dsr::Unready,
            true => Dsr::Ready,
        }
    }
    #[doc = "Источник данных не готов"]
    #[inline(always)]
    pub fn is_unready(&self) -> bool {
        *self == Dsr::Unready
    }
    #[doc = "Источник данных готов"]
    #[inline(always)]
    pub fn is_ready(&self) -> bool {
        *self == Dsr::Ready
    }
}
#[doc = "Регистр содержит текущее значение сигнала RI\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Ri {
    #[doc = "0: Отсутствие звонка"]
    _0 = 0,
    #[doc = "1: Звонок (вызов) на телефон-ной линии"]
    _1 = 1,
}
impl From<Ri> for bool {
    #[inline(always)]
    fn from(variant: Ri) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `RI` reader - Регистр содержит текущее значение сигнала RI"]
pub type RiR = crate::BitReader<Ri>;
impl RiR {
    #[doc = "Get enumerated values variant"]
    #[inline(always)]
    pub const fn variant(&self) -> Ri {
        match self.bits {
            false => Ri::_0,
            true => Ri::_1,
        }
    }
    #[doc = "Отсутствие звонка"]
    #[inline(always)]
    pub fn is_0(&self) -> bool {
        *self == Ri::_0
    }
    #[doc = "Звонок (вызов) на телефон-ной линии"]
    #[inline(always)]
    pub fn is_1(&self) -> bool {
        *self == Ri::_1
    }
}
#[doc = "Регистр содержит текущее значение сигнала DCD\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Dcd {
    #[doc = "0: Отсутствие несущей"]
    _0 = 0,
    #[doc = "1: Обнаружение несущей"]
    _1 = 1,
}
impl From<Dcd> for bool {
    #[inline(always)]
    fn from(variant: Dcd) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `DCD` reader - Регистр содержит текущее значение сигнала DCD"]
pub type DcdR = crate::BitReader<Dcd>;
impl DcdR {
    #[doc = "Get enumerated values variant"]
    #[inline(always)]
    pub const fn variant(&self) -> Dcd {
        match self.bits {
            false => Dcd::_0,
            true => Dcd::_1,
        }
    }
    #[doc = "Отсутствие несущей"]
    #[inline(always)]
    pub fn is_0(&self) -> bool {
        *self == Dcd::_0
    }
    #[doc = "Обнаружение несущей"]
    #[inline(always)]
    pub fn is_1(&self) -> bool {
        *self == Dcd::_1
    }
}
#[doc = "Регистр управления сигналом DTR\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Dtr {
    #[doc = "0: Отсутствие сигнала готов-ности"]
    Unready = 0,
    #[doc = "1: Готовность к приему дан-ных"]
    Ready = 1,
}
impl From<Dtr> for bool {
    #[inline(always)]
    fn from(variant: Dtr) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `DTR` reader - Регистр управления сигналом DTR"]
pub type DtrR = crate::BitReader<Dtr>;
impl DtrR {
    #[doc = "Get enumerated values variant"]
    #[inline(always)]
    pub const fn variant(&self) -> Dtr {
        match self.bits {
            false => Dtr::Unready,
            true => Dtr::Ready,
        }
    }
    #[doc = "Отсутствие сигнала готов-ности"]
    #[inline(always)]
    pub fn is_unready(&self) -> bool {
        *self == Dtr::Unready
    }
    #[doc = "Готовность к приему дан-ных"]
    #[inline(always)]
    pub fn is_ready(&self) -> bool {
        *self == Dtr::Ready
    }
}
#[doc = "Field `DTR` writer - Регистр управления сигналом DTR"]
pub type DtrW<'a, REG> = crate::BitWriter<'a, REG, Dtr>;
impl<'a, REG> DtrW<'a, REG>
where
    REG: crate::Writable + crate::RegisterSpec,
{
    #[doc = "Отсутствие сигнала готов-ности"]
    #[inline(always)]
    pub fn unready(self) -> &'a mut crate::W<REG> {
        self.variant(Dtr::Unready)
    }
    #[doc = "Готовность к приему дан-ных"]
    #[inline(always)]
    pub fn ready(self) -> &'a mut crate::W<REG> {
        self.variant(Dtr::Ready)
    }
}
impl R {
    #[doc = "Bit 1 - Флаг взводится при изме-нении входного сигнала DSR. Флаг сбрасывается записью 1"]
    #[inline(always)]
    pub fn dsrif(&self) -> DsrifR {
        DsrifR::new(((self.bits >> 1) & 1) != 0)
    }
    #[doc = "Bit 2 - Флаг взводится при изме-нении входного сигнала RI с 0 на 1. Флаг сбрасывается записью 1"]
    #[inline(always)]
    pub fn riif(&self) -> RiifR {
        RiifR::new(((self.bits >> 2) & 1) != 0)
    }
    #[doc = "Bit 3 - Флаг взводится при изменении входного сигнала DCD. Флаг сбрасывается записью 1"]
    #[inline(always)]
    pub fn dcdif(&self) -> DcdifR {
        DcdifR::new(((self.bits >> 3) & 1) != 0)
    }
    #[doc = "Bit 5 - Регистр содержит текущее значение сигнала DSR"]
    #[inline(always)]
    pub fn dsr(&self) -> DsrR {
        DsrR::new(((self.bits >> 5) & 1) != 0)
    }
    #[doc = "Bit 6 - Регистр содержит текущее значение сигнала RI"]
    #[inline(always)]
    pub fn ri(&self) -> RiR {
        RiR::new(((self.bits >> 6) & 1) != 0)
    }
    #[doc = "Bit 7 - Регистр содержит текущее значение сигнала DCD"]
    #[inline(always)]
    pub fn dcd(&self) -> DcdR {
        DcdR::new(((self.bits >> 7) & 1) != 0)
    }
    #[doc = "Bit 12 - Регистр управления сигналом DTR"]
    #[inline(always)]
    pub fn dtr(&self) -> DtrR {
        DtrR::new(((self.bits >> 12) & 1) != 0)
    }
}
impl W {
    #[doc = "Bit 1 - Флаг взводится при изме-нении входного сигнала DSR. Флаг сбрасывается записью 1"]
    #[inline(always)]
    pub fn dsrif(&mut self) -> DsrifW<'_, ModemSpec> {
        DsrifW::new(self, 1)
    }
    #[doc = "Bit 2 - Флаг взводится при изме-нении входного сигнала RI с 0 на 1. Флаг сбрасывается записью 1"]
    #[inline(always)]
    pub fn riif(&mut self) -> RiifW<'_, ModemSpec> {
        RiifW::new(self, 2)
    }
    #[doc = "Bit 3 - Флаг взводится при изменении входного сигнала DCD. Флаг сбрасывается записью 1"]
    #[inline(always)]
    pub fn dcdif(&mut self) -> DcdifW<'_, ModemSpec> {
        DcdifW::new(self, 3)
    }
    #[doc = "Bit 12 - Регистр управления сигналом DTR"]
    #[inline(always)]
    pub fn dtr(&mut self) -> DtrW<'_, ModemSpec> {
        DtrW::new(self, 12)
    }
}
#[doc = "Регистр управления модемом\n\nYou can [`read`](crate::Reg::read) this register and get [`modem::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`modem::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
pub struct ModemSpec;
impl crate::RegisterSpec for ModemSpec {
    type Ux = u32;
}
#[doc = "`read()` method returns [`modem::R`](R) reader structure"]
impl crate::Readable for ModemSpec {}
#[doc = "`write(|w| ..)` method takes [`modem::W`](W) writer structure"]
impl crate::Writable for ModemSpec {
    type Safety = crate::Unsafe;
    const ONE_TO_MODIFY_FIELDS_BITMAP: u32 = 0x0e;
}
#[doc = "`reset()` method sets MODEM to value 0"]
impl crate::Resettable for ModemSpec {}