pub type R = crate::R<CR1rs>;
pub type W = crate::W<CR1rs>;
pub type TAMP1E_R = crate::BitReader;
pub type TAMP1E_W<'a, REG> = crate::BitWriter<'a, REG>;
pub type TAMP2E_R = crate::BitReader;
pub type TAMP2E_W<'a, REG> = crate::BitWriter<'a, REG>;
pub type TAMP3E_R = crate::BitReader;
pub type TAMP3E_W<'a, REG> = crate::BitWriter<'a, REG>;
pub type TAMP4E_R = crate::BitReader;
pub type TAMP4E_W<'a, REG> = crate::BitWriter<'a, REG>;
pub type TAMP5E_R = crate::BitReader;
pub type TAMP5E_W<'a, REG> = crate::BitWriter<'a, REG>;
pub type TAMP6E_R = crate::BitReader;
pub type TAMP6E_W<'a, REG> = crate::BitWriter<'a, REG>;
pub type TAMP7E_R = crate::BitReader;
pub type TAMP7E_W<'a, REG> = crate::BitWriter<'a, REG>;
pub type TAMP8E_R = crate::BitReader;
pub type TAMP8E_W<'a, REG> = crate::BitWriter<'a, REG>;
pub type ITAMP1E_R = crate::BitReader;
pub type ITAMP1E_W<'a, REG> = crate::BitWriter<'a, REG>;
pub type ITAMP2E_R = crate::BitReader;
pub type ITAMP2E_W<'a, REG> = crate::BitWriter<'a, REG>;
pub type ITAMP3E_R = crate::BitReader;
pub type ITAMP3E_W<'a, REG> = crate::BitWriter<'a, REG>;
pub type ITAMP5E_R = crate::BitReader;
pub type ITAMP5E_W<'a, REG> = crate::BitWriter<'a, REG>;
pub type ITAMP8E_R = crate::BitReader;
pub type ITAMP8E_W<'a, REG> = crate::BitWriter<'a, REG>;
impl R {
        #[inline(always)]
    pub fn tamp1e(&self) -> TAMP1E_R {
        TAMP1E_R::new((self.bits & 1) != 0)
    }
        #[inline(always)]
    pub fn tamp2e(&self) -> TAMP2E_R {
        TAMP2E_R::new(((self.bits >> 1) & 1) != 0)
    }
        #[inline(always)]
    pub fn tamp3e(&self) -> TAMP3E_R {
        TAMP3E_R::new(((self.bits >> 2) & 1) != 0)
    }
        #[inline(always)]
    pub fn tamp4e(&self) -> TAMP4E_R {
        TAMP4E_R::new(((self.bits >> 3) & 1) != 0)
    }
        #[inline(always)]
    pub fn tamp5e(&self) -> TAMP5E_R {
        TAMP5E_R::new(((self.bits >> 4) & 1) != 0)
    }
        #[inline(always)]
    pub fn tamp6e(&self) -> TAMP6E_R {
        TAMP6E_R::new(((self.bits >> 5) & 1) != 0)
    }
        #[inline(always)]
    pub fn tamp7e(&self) -> TAMP7E_R {
        TAMP7E_R::new(((self.bits >> 6) & 1) != 0)
    }
        #[inline(always)]
    pub fn tamp8e(&self) -> TAMP8E_R {
        TAMP8E_R::new(((self.bits >> 7) & 1) != 0)
    }
        #[inline(always)]
    pub fn itamp1e(&self) -> ITAMP1E_R {
        ITAMP1E_R::new(((self.bits >> 16) & 1) != 0)
    }
        #[inline(always)]
    pub fn itamp2e(&self) -> ITAMP2E_R {
        ITAMP2E_R::new(((self.bits >> 17) & 1) != 0)
    }
        #[inline(always)]
    pub fn itamp3e(&self) -> ITAMP3E_R {
        ITAMP3E_R::new(((self.bits >> 18) & 1) != 0)
    }
        #[inline(always)]
    pub fn itamp5e(&self) -> ITAMP5E_R {
        ITAMP5E_R::new(((self.bits >> 20) & 1) != 0)
    }
        #[inline(always)]
    pub fn itamp8e(&self) -> ITAMP8E_R {
        ITAMP8E_R::new(((self.bits >> 23) & 1) != 0)
    }
}
impl core::fmt::Debug for R {
    fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
        f.debug_struct("CR1")
            .field("tamp1e", &self.tamp1e())
            .field("tamp2e", &self.tamp2e())
            .field("tamp3e", &self.tamp3e())
            .field("tamp4e", &self.tamp4e())
            .field("tamp5e", &self.tamp5e())
            .field("tamp6e", &self.tamp6e())
            .field("tamp7e", &self.tamp7e())
            .field("tamp8e", &self.tamp8e())
            .field("itamp1e", &self.itamp1e())
            .field("itamp2e", &self.itamp2e())
            .field("itamp3e", &self.itamp3e())
            .field("itamp5e", &self.itamp5e())
            .field("itamp8e", &self.itamp8e())
            .finish()
    }
}
impl W {
        #[inline(always)]
    pub fn tamp1e(&mut self) -> TAMP1E_W<CR1rs> {
        TAMP1E_W::new(self, 0)
    }
        #[inline(always)]
    pub fn tamp2e(&mut self) -> TAMP2E_W<CR1rs> {
        TAMP2E_W::new(self, 1)
    }
        #[inline(always)]
    pub fn tamp3e(&mut self) -> TAMP3E_W<CR1rs> {
        TAMP3E_W::new(self, 2)
    }
        #[inline(always)]
    pub fn tamp4e(&mut self) -> TAMP4E_W<CR1rs> {
        TAMP4E_W::new(self, 3)
    }
        #[inline(always)]
    pub fn tamp5e(&mut self) -> TAMP5E_W<CR1rs> {
        TAMP5E_W::new(self, 4)
    }
        #[inline(always)]
    pub fn tamp6e(&mut self) -> TAMP6E_W<CR1rs> {
        TAMP6E_W::new(self, 5)
    }
        #[inline(always)]
    pub fn tamp7e(&mut self) -> TAMP7E_W<CR1rs> {
        TAMP7E_W::new(self, 6)
    }
        #[inline(always)]
    pub fn tamp8e(&mut self) -> TAMP8E_W<CR1rs> {
        TAMP8E_W::new(self, 7)
    }
        #[inline(always)]
    pub fn itamp1e(&mut self) -> ITAMP1E_W<CR1rs> {
        ITAMP1E_W::new(self, 16)
    }
        #[inline(always)]
    pub fn itamp2e(&mut self) -> ITAMP2E_W<CR1rs> {
        ITAMP2E_W::new(self, 17)
    }
        #[inline(always)]
    pub fn itamp3e(&mut self) -> ITAMP3E_W<CR1rs> {
        ITAMP3E_W::new(self, 18)
    }
        #[inline(always)]
    pub fn itamp5e(&mut self) -> ITAMP5E_W<CR1rs> {
        ITAMP5E_W::new(self, 20)
    }
        #[inline(always)]
    pub fn itamp8e(&mut self) -> ITAMP8E_W<CR1rs> {
        ITAMP8E_W::new(self, 23)
    }
}
pub struct CR1rs;
impl crate::RegisterSpec for CR1rs {
    type Ux = u32;
}
impl crate::Readable for CR1rs {}
impl crate::Writable for CR1rs {
    type Safety = crate::Unsafe;
}
impl crate::Resettable for CR1rs {
    const RESET_VALUE: u32 = 0xffff_0000;
}