#[doc = "Register `ENR2` reader"]
pub type R = crate::R<Enr2Spec>;
#[doc = "Register `ENR2` writer"]
pub type W = crate::W<Enr2Spec>;
#[doc = "Field `P2_0ER` reader - Enable rising edge interrupt for P2\\[0\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_0erR = crate::BitReader;
#[doc = "Field `P2_0ER` writer - Enable rising edge interrupt for P2\\[0\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_0erW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_1ER` reader - Enable rising edge interrupt for P2\\[1\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_1erR = crate::BitReader;
#[doc = "Field `P2_1ER` writer - Enable rising edge interrupt for P2\\[1\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_1erW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_2ER` reader - Enable rising edge interrupt for P2\\[2\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_2erR = crate::BitReader;
#[doc = "Field `P2_2ER` writer - Enable rising edge interrupt for P2\\[2\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_2erW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_3ER` reader - Enable rising edge interrupt for P2\\[3\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_3erR = crate::BitReader;
#[doc = "Field `P2_3ER` writer - Enable rising edge interrupt for P2\\[3\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_3erW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_4ER` reader - Enable rising edge interrupt for P2\\[4\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_4erR = crate::BitReader;
#[doc = "Field `P2_4ER` writer - Enable rising edge interrupt for P2\\[4\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_4erW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_5ER` reader - Enable rising edge interrupt for P2\\[5\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_5erR = crate::BitReader;
#[doc = "Field `P2_5ER` writer - Enable rising edge interrupt for P2\\[5\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_5erW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_6ER` reader - Enable rising edge interrupt for P2\\[6\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_6erR = crate::BitReader;
#[doc = "Field `P2_6ER` writer - Enable rising edge interrupt for P2\\[6\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_6erW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_7ER` reader - Enable rising edge interrupt for P2\\[7\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_7erR = crate::BitReader;
#[doc = "Field `P2_7ER` writer - Enable rising edge interrupt for P2\\[7\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_7erW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_8ER` reader - Enable rising edge interrupt for P2\\[8\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_8erR = crate::BitReader;
#[doc = "Field `P2_8ER` writer - Enable rising edge interrupt for P2\\[8\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_8erW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_9ER` reader - Enable rising edge interrupt for P2\\[9\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_9erR = crate::BitReader;
#[doc = "Field `P2_9ER` writer - Enable rising edge interrupt for P2\\[9\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_9erW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_10ER` reader - Enable rising edge interrupt for P2\\[10\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_10erR = crate::BitReader;
#[doc = "Field `P2_10ER` writer - Enable rising edge interrupt for P2\\[10\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_10erW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_11ER` reader - Enable rising edge interrupt for P2\\[11\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_11erR = crate::BitReader;
#[doc = "Field `P2_11ER` writer - Enable rising edge interrupt for P2\\[11\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_11erW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_12ER` reader - Enable rising edge interrupt for P2\\[12\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_12erR = crate::BitReader;
#[doc = "Field `P2_12ER` writer - Enable rising edge interrupt for P2\\[12\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_12erW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `P2_13ER` reader - Enable rising edge interrupt for P2\\[13\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_13erR = crate::BitReader;
#[doc = "Field `P2_13ER` writer - Enable rising edge interrupt for P2\\[13\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
pub type P2_13erW<'a, REG> = crate::BitWriter<'a, REG>;
impl R {
    #[doc = "Bit 0 - Enable rising edge interrupt for P2\\[0\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_0er(&self) -> P2_0erR {
        P2_0erR::new((self.bits & 1) != 0)
    }
    #[doc = "Bit 1 - Enable rising edge interrupt for P2\\[1\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_1er(&self) -> P2_1erR {
        P2_1erR::new(((self.bits >> 1) & 1) != 0)
    }
    #[doc = "Bit 2 - Enable rising edge interrupt for P2\\[2\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_2er(&self) -> P2_2erR {
        P2_2erR::new(((self.bits >> 2) & 1) != 0)
    }
    #[doc = "Bit 3 - Enable rising edge interrupt for P2\\[3\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_3er(&self) -> P2_3erR {
        P2_3erR::new(((self.bits >> 3) & 1) != 0)
    }
    #[doc = "Bit 4 - Enable rising edge interrupt for P2\\[4\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_4er(&self) -> P2_4erR {
        P2_4erR::new(((self.bits >> 4) & 1) != 0)
    }
    #[doc = "Bit 5 - Enable rising edge interrupt for P2\\[5\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_5er(&self) -> P2_5erR {
        P2_5erR::new(((self.bits >> 5) & 1) != 0)
    }
    #[doc = "Bit 6 - Enable rising edge interrupt for P2\\[6\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_6er(&self) -> P2_6erR {
        P2_6erR::new(((self.bits >> 6) & 1) != 0)
    }
    #[doc = "Bit 7 - Enable rising edge interrupt for P2\\[7\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_7er(&self) -> P2_7erR {
        P2_7erR::new(((self.bits >> 7) & 1) != 0)
    }
    #[doc = "Bit 8 - Enable rising edge interrupt for P2\\[8\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_8er(&self) -> P2_8erR {
        P2_8erR::new(((self.bits >> 8) & 1) != 0)
    }
    #[doc = "Bit 9 - Enable rising edge interrupt for P2\\[9\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_9er(&self) -> P2_9erR {
        P2_9erR::new(((self.bits >> 9) & 1) != 0)
    }
    #[doc = "Bit 10 - Enable rising edge interrupt for P2\\[10\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_10er(&self) -> P2_10erR {
        P2_10erR::new(((self.bits >> 10) & 1) != 0)
    }
    #[doc = "Bit 11 - Enable rising edge interrupt for P2\\[11\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_11er(&self) -> P2_11erR {
        P2_11erR::new(((self.bits >> 11) & 1) != 0)
    }
    #[doc = "Bit 12 - Enable rising edge interrupt for P2\\[12\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_12er(&self) -> P2_12erR {
        P2_12erR::new(((self.bits >> 12) & 1) != 0)
    }
    #[doc = "Bit 13 - Enable rising edge interrupt for P2\\[13\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_13er(&self) -> P2_13erR {
        P2_13erR::new(((self.bits >> 13) & 1) != 0)
    }
}
impl W {
    #[doc = "Bit 0 - Enable rising edge interrupt for P2\\[0\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_0er(&mut self) -> P2_0erW<'_, Enr2Spec> {
        P2_0erW::new(self, 0)
    }
    #[doc = "Bit 1 - Enable rising edge interrupt for P2\\[1\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_1er(&mut self) -> P2_1erW<'_, Enr2Spec> {
        P2_1erW::new(self, 1)
    }
    #[doc = "Bit 2 - Enable rising edge interrupt for P2\\[2\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_2er(&mut self) -> P2_2erW<'_, Enr2Spec> {
        P2_2erW::new(self, 2)
    }
    #[doc = "Bit 3 - Enable rising edge interrupt for P2\\[3\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_3er(&mut self) -> P2_3erW<'_, Enr2Spec> {
        P2_3erW::new(self, 3)
    }
    #[doc = "Bit 4 - Enable rising edge interrupt for P2\\[4\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_4er(&mut self) -> P2_4erW<'_, Enr2Spec> {
        P2_4erW::new(self, 4)
    }
    #[doc = "Bit 5 - Enable rising edge interrupt for P2\\[5\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_5er(&mut self) -> P2_5erW<'_, Enr2Spec> {
        P2_5erW::new(self, 5)
    }
    #[doc = "Bit 6 - Enable rising edge interrupt for P2\\[6\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_6er(&mut self) -> P2_6erW<'_, Enr2Spec> {
        P2_6erW::new(self, 6)
    }
    #[doc = "Bit 7 - Enable rising edge interrupt for P2\\[7\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_7er(&mut self) -> P2_7erW<'_, Enr2Spec> {
        P2_7erW::new(self, 7)
    }
    #[doc = "Bit 8 - Enable rising edge interrupt for P2\\[8\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_8er(&mut self) -> P2_8erW<'_, Enr2Spec> {
        P2_8erW::new(self, 8)
    }
    #[doc = "Bit 9 - Enable rising edge interrupt for P2\\[9\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_9er(&mut self) -> P2_9erW<'_, Enr2Spec> {
        P2_9erW::new(self, 9)
    }
    #[doc = "Bit 10 - Enable rising edge interrupt for P2\\[10\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_10er(&mut self) -> P2_10erW<'_, Enr2Spec> {
        P2_10erW::new(self, 10)
    }
    #[doc = "Bit 11 - Enable rising edge interrupt for P2\\[11\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_11er(&mut self) -> P2_11erW<'_, Enr2Spec> {
        P2_11erW::new(self, 11)
    }
    #[doc = "Bit 12 - Enable rising edge interrupt for P2\\[12\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_12er(&mut self) -> P2_12erW<'_, Enr2Spec> {
        P2_12erW::new(self, 12)
    }
    #[doc = "Bit 13 - Enable rising edge interrupt for P2\\[13\\]. 0 = Disable rising edge interrupt. 1 = Enable rising edge interrupt."]
    #[inline(always)]
    pub fn p2_13er(&mut self) -> P2_13erW<'_, Enr2Spec> {
        P2_13erW::new(self, 13)
    }
}
#[doc = "GPIO Interrupt Enable for Rising edge for Port 0.\n\nYou can [`read`](crate::Reg::read) this register and get [`enr2::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`enr2::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
pub struct Enr2Spec;
impl crate::RegisterSpec for Enr2Spec {
    type Ux = u32;
}
#[doc = "`read()` method returns [`enr2::R`](R) reader structure"]
impl crate::Readable for Enr2Spec {}
#[doc = "`write(|w| ..)` method takes [`enr2::W`](W) writer structure"]
impl crate::Writable for Enr2Spec {
    type Safety = crate::Unsafe;
}
#[doc = "`reset()` method sets ENR2 to value 0"]
impl crate::Resettable for Enr2Spec {}
