#[doc = "Register `FDCAN_IE` reader"]
pub struct R(crate::R<FDCAN_IE_SPEC>);
impl core::ops::Deref for R {
type Target = crate::R<FDCAN_IE_SPEC>;
#[inline(always)]
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl From<crate::R<FDCAN_IE_SPEC>> for R {
#[inline(always)]
fn from(reader: crate::R<FDCAN_IE_SPEC>) -> Self {
R(reader)
}
}
#[doc = "Register `FDCAN_IE` writer"]
pub struct W(crate::W<FDCAN_IE_SPEC>);
impl core::ops::Deref for W {
type Target = crate::W<FDCAN_IE_SPEC>;
#[inline(always)]
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl core::ops::DerefMut for W {
#[inline(always)]
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.0
}
}
impl From<crate::W<FDCAN_IE_SPEC>> for W {
#[inline(always)]
fn from(writer: crate::W<FDCAN_IE_SPEC>) -> Self {
W(writer)
}
}
#[doc = "Field `RF0NE` reader - RF0NE"]
pub type RF0NE_R = crate::BitReader<bool>;
#[doc = "Field `RF0NE` writer - RF0NE"]
pub type RF0NE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `RF0WE` reader - RF0WE"]
pub type RF0WE_R = crate::BitReader<bool>;
#[doc = "Field `RF0WE` writer - RF0WE"]
pub type RF0WE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `RF0FE` reader - RF0FE"]
pub type RF0FE_R = crate::BitReader<bool>;
#[doc = "Field `RF0FE` writer - RF0FE"]
pub type RF0FE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `RF0LE` reader - RF0LE"]
pub type RF0LE_R = crate::BitReader<bool>;
#[doc = "Field `RF0LE` writer - RF0LE"]
pub type RF0LE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `RF1NE` reader - RF1NE"]
pub type RF1NE_R = crate::BitReader<bool>;
#[doc = "Field `RF1NE` writer - RF1NE"]
pub type RF1NE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `RF1WE` reader - RF1WE"]
pub type RF1WE_R = crate::BitReader<bool>;
#[doc = "Field `RF1WE` writer - RF1WE"]
pub type RF1WE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `RF1FE` reader - RF1FE"]
pub type RF1FE_R = crate::BitReader<bool>;
#[doc = "Field `RF1FE` writer - RF1FE"]
pub type RF1FE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `RF1LE` reader - RF1LE"]
pub type RF1LE_R = crate::BitReader<bool>;
#[doc = "Field `RF1LE` writer - RF1LE"]
pub type RF1LE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `HPME` reader - HPME"]
pub type HPME_R = crate::BitReader<bool>;
#[doc = "Field `HPME` writer - HPME"]
pub type HPME_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `TCE` reader - TCE"]
pub type TCE_R = crate::BitReader<bool>;
#[doc = "Field `TCE` writer - TCE"]
pub type TCE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `TCFE` reader - TCFE"]
pub type TCFE_R = crate::BitReader<bool>;
#[doc = "Field `TCFE` writer - TCFE"]
pub type TCFE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `TFEE` reader - TFEE"]
pub type TFEE_R = crate::BitReader<bool>;
#[doc = "Field `TFEE` writer - TFEE"]
pub type TFEE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `TEFNE` reader - TEFNE"]
pub type TEFNE_R = crate::BitReader<bool>;
#[doc = "Field `TEFNE` writer - TEFNE"]
pub type TEFNE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `TEFWE` reader - TEFWE"]
pub type TEFWE_R = crate::BitReader<bool>;
#[doc = "Field `TEFWE` writer - TEFWE"]
pub type TEFWE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `TEFFE` reader - TEFFE"]
pub type TEFFE_R = crate::BitReader<bool>;
#[doc = "Field `TEFFE` writer - TEFFE"]
pub type TEFFE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `TEFLE` reader - TEFLE"]
pub type TEFLE_R = crate::BitReader<bool>;
#[doc = "Field `TEFLE` writer - TEFLE"]
pub type TEFLE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `TSWE` reader - TSWE"]
pub type TSWE_R = crate::BitReader<bool>;
#[doc = "Field `TSWE` writer - TSWE"]
pub type TSWE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `MRAFE` reader - MRAFE"]
pub type MRAFE_R = crate::BitReader<bool>;
#[doc = "Field `MRAFE` writer - MRAFE"]
pub type MRAFE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `TOOE` reader - TOOE"]
pub type TOOE_R = crate::BitReader<bool>;
#[doc = "Field `TOOE` writer - TOOE"]
pub type TOOE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `DRXE` reader - DRXE"]
pub type DRXE_R = crate::BitReader<bool>;
#[doc = "Field `DRXE` writer - DRXE"]
pub type DRXE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `BECE` reader - BECE"]
pub type BECE_R = crate::BitReader<bool>;
#[doc = "Field `BECE` writer - BECE"]
pub type BECE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `BEUE` reader - BEUE"]
pub type BEUE_R = crate::BitReader<bool>;
#[doc = "Field `BEUE` writer - BEUE"]
pub type BEUE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `ELOE` reader - ELOE"]
pub type ELOE_R = crate::BitReader<bool>;
#[doc = "Field `ELOE` writer - ELOE"]
pub type ELOE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `EPE` reader - EPE"]
pub type EPE_R = crate::BitReader<bool>;
#[doc = "Field `EPE` writer - EPE"]
pub type EPE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `EWE` reader - EWE"]
pub type EWE_R = crate::BitReader<bool>;
#[doc = "Field `EWE` writer - EWE"]
pub type EWE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `BOE` reader - BOE"]
pub type BOE_R = crate::BitReader<bool>;
#[doc = "Field `BOE` writer - BOE"]
pub type BOE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `WDIE` reader - WDIE"]
pub type WDIE_R = crate::BitReader<bool>;
#[doc = "Field `WDIE` writer - WDIE"]
pub type WDIE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `PEAE` reader - PEAE"]
pub type PEAE_R = crate::BitReader<bool>;
#[doc = "Field `PEAE` writer - PEAE"]
pub type PEAE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `PEDE` reader - PEDE"]
pub type PEDE_R = crate::BitReader<bool>;
#[doc = "Field `PEDE` writer - PEDE"]
pub type PEDE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
#[doc = "Field `ARAE` reader - ARAE"]
pub type ARAE_R = crate::BitReader<bool>;
#[doc = "Field `ARAE` writer - ARAE"]
pub type ARAE_W<'a, const O: u8> = crate::BitWriter<'a, u32, FDCAN_IE_SPEC, bool, O>;
impl R {
#[doc = "Bit 0 - RF0NE"]
#[inline(always)]
pub fn rf0ne(&self) -> RF0NE_R {
RF0NE_R::new((self.bits & 1) != 0)
}
#[doc = "Bit 1 - RF0WE"]
#[inline(always)]
pub fn rf0we(&self) -> RF0WE_R {
RF0WE_R::new(((self.bits >> 1) & 1) != 0)
}
#[doc = "Bit 2 - RF0FE"]
#[inline(always)]
pub fn rf0fe(&self) -> RF0FE_R {
RF0FE_R::new(((self.bits >> 2) & 1) != 0)
}
#[doc = "Bit 3 - RF0LE"]
#[inline(always)]
pub fn rf0le(&self) -> RF0LE_R {
RF0LE_R::new(((self.bits >> 3) & 1) != 0)
}
#[doc = "Bit 4 - RF1NE"]
#[inline(always)]
pub fn rf1ne(&self) -> RF1NE_R {
RF1NE_R::new(((self.bits >> 4) & 1) != 0)
}
#[doc = "Bit 5 - RF1WE"]
#[inline(always)]
pub fn rf1we(&self) -> RF1WE_R {
RF1WE_R::new(((self.bits >> 5) & 1) != 0)
}
#[doc = "Bit 6 - RF1FE"]
#[inline(always)]
pub fn rf1fe(&self) -> RF1FE_R {
RF1FE_R::new(((self.bits >> 6) & 1) != 0)
}
#[doc = "Bit 7 - RF1LE"]
#[inline(always)]
pub fn rf1le(&self) -> RF1LE_R {
RF1LE_R::new(((self.bits >> 7) & 1) != 0)
}
#[doc = "Bit 8 - HPME"]
#[inline(always)]
pub fn hpme(&self) -> HPME_R {
HPME_R::new(((self.bits >> 8) & 1) != 0)
}
#[doc = "Bit 9 - TCE"]
#[inline(always)]
pub fn tce(&self) -> TCE_R {
TCE_R::new(((self.bits >> 9) & 1) != 0)
}
#[doc = "Bit 10 - TCFE"]
#[inline(always)]
pub fn tcfe(&self) -> TCFE_R {
TCFE_R::new(((self.bits >> 10) & 1) != 0)
}
#[doc = "Bit 11 - TFEE"]
#[inline(always)]
pub fn tfee(&self) -> TFEE_R {
TFEE_R::new(((self.bits >> 11) & 1) != 0)
}
#[doc = "Bit 12 - TEFNE"]
#[inline(always)]
pub fn tefne(&self) -> TEFNE_R {
TEFNE_R::new(((self.bits >> 12) & 1) != 0)
}
#[doc = "Bit 13 - TEFWE"]
#[inline(always)]
pub fn tefwe(&self) -> TEFWE_R {
TEFWE_R::new(((self.bits >> 13) & 1) != 0)
}
#[doc = "Bit 14 - TEFFE"]
#[inline(always)]
pub fn teffe(&self) -> TEFFE_R {
TEFFE_R::new(((self.bits >> 14) & 1) != 0)
}
#[doc = "Bit 15 - TEFLE"]
#[inline(always)]
pub fn tefle(&self) -> TEFLE_R {
TEFLE_R::new(((self.bits >> 15) & 1) != 0)
}
#[doc = "Bit 16 - TSWE"]
#[inline(always)]
pub fn tswe(&self) -> TSWE_R {
TSWE_R::new(((self.bits >> 16) & 1) != 0)
}
#[doc = "Bit 17 - MRAFE"]
#[inline(always)]
pub fn mrafe(&self) -> MRAFE_R {
MRAFE_R::new(((self.bits >> 17) & 1) != 0)
}
#[doc = "Bit 18 - TOOE"]
#[inline(always)]
pub fn tooe(&self) -> TOOE_R {
TOOE_R::new(((self.bits >> 18) & 1) != 0)
}
#[doc = "Bit 19 - DRXE"]
#[inline(always)]
pub fn drxe(&self) -> DRXE_R {
DRXE_R::new(((self.bits >> 19) & 1) != 0)
}
#[doc = "Bit 20 - BECE"]
#[inline(always)]
pub fn bece(&self) -> BECE_R {
BECE_R::new(((self.bits >> 20) & 1) != 0)
}
#[doc = "Bit 21 - BEUE"]
#[inline(always)]
pub fn beue(&self) -> BEUE_R {
BEUE_R::new(((self.bits >> 21) & 1) != 0)
}
#[doc = "Bit 22 - ELOE"]
#[inline(always)]
pub fn eloe(&self) -> ELOE_R {
ELOE_R::new(((self.bits >> 22) & 1) != 0)
}
#[doc = "Bit 23 - EPE"]
#[inline(always)]
pub fn epe(&self) -> EPE_R {
EPE_R::new(((self.bits >> 23) & 1) != 0)
}
#[doc = "Bit 24 - EWE"]
#[inline(always)]
pub fn ewe(&self) -> EWE_R {
EWE_R::new(((self.bits >> 24) & 1) != 0)
}
#[doc = "Bit 25 - BOE"]
#[inline(always)]
pub fn boe(&self) -> BOE_R {
BOE_R::new(((self.bits >> 25) & 1) != 0)
}
#[doc = "Bit 26 - WDIE"]
#[inline(always)]
pub fn wdie(&self) -> WDIE_R {
WDIE_R::new(((self.bits >> 26) & 1) != 0)
}
#[doc = "Bit 27 - PEAE"]
#[inline(always)]
pub fn peae(&self) -> PEAE_R {
PEAE_R::new(((self.bits >> 27) & 1) != 0)
}
#[doc = "Bit 28 - PEDE"]
#[inline(always)]
pub fn pede(&self) -> PEDE_R {
PEDE_R::new(((self.bits >> 28) & 1) != 0)
}
#[doc = "Bit 29 - ARAE"]
#[inline(always)]
pub fn arae(&self) -> ARAE_R {
ARAE_R::new(((self.bits >> 29) & 1) != 0)
}
}
impl W {
#[doc = "Bit 0 - RF0NE"]
#[inline(always)]
pub fn rf0ne(&mut self) -> RF0NE_W<0> {
RF0NE_W::new(self)
}
#[doc = "Bit 1 - RF0WE"]
#[inline(always)]
pub fn rf0we(&mut self) -> RF0WE_W<1> {
RF0WE_W::new(self)
}
#[doc = "Bit 2 - RF0FE"]
#[inline(always)]
pub fn rf0fe(&mut self) -> RF0FE_W<2> {
RF0FE_W::new(self)
}
#[doc = "Bit 3 - RF0LE"]
#[inline(always)]
pub fn rf0le(&mut self) -> RF0LE_W<3> {
RF0LE_W::new(self)
}
#[doc = "Bit 4 - RF1NE"]
#[inline(always)]
pub fn rf1ne(&mut self) -> RF1NE_W<4> {
RF1NE_W::new(self)
}
#[doc = "Bit 5 - RF1WE"]
#[inline(always)]
pub fn rf1we(&mut self) -> RF1WE_W<5> {
RF1WE_W::new(self)
}
#[doc = "Bit 6 - RF1FE"]
#[inline(always)]
pub fn rf1fe(&mut self) -> RF1FE_W<6> {
RF1FE_W::new(self)
}
#[doc = "Bit 7 - RF1LE"]
#[inline(always)]
pub fn rf1le(&mut self) -> RF1LE_W<7> {
RF1LE_W::new(self)
}
#[doc = "Bit 8 - HPME"]
#[inline(always)]
pub fn hpme(&mut self) -> HPME_W<8> {
HPME_W::new(self)
}
#[doc = "Bit 9 - TCE"]
#[inline(always)]
pub fn tce(&mut self) -> TCE_W<9> {
TCE_W::new(self)
}
#[doc = "Bit 10 - TCFE"]
#[inline(always)]
pub fn tcfe(&mut self) -> TCFE_W<10> {
TCFE_W::new(self)
}
#[doc = "Bit 11 - TFEE"]
#[inline(always)]
pub fn tfee(&mut self) -> TFEE_W<11> {
TFEE_W::new(self)
}
#[doc = "Bit 12 - TEFNE"]
#[inline(always)]
pub fn tefne(&mut self) -> TEFNE_W<12> {
TEFNE_W::new(self)
}
#[doc = "Bit 13 - TEFWE"]
#[inline(always)]
pub fn tefwe(&mut self) -> TEFWE_W<13> {
TEFWE_W::new(self)
}
#[doc = "Bit 14 - TEFFE"]
#[inline(always)]
pub fn teffe(&mut self) -> TEFFE_W<14> {
TEFFE_W::new(self)
}
#[doc = "Bit 15 - TEFLE"]
#[inline(always)]
pub fn tefle(&mut self) -> TEFLE_W<15> {
TEFLE_W::new(self)
}
#[doc = "Bit 16 - TSWE"]
#[inline(always)]
pub fn tswe(&mut self) -> TSWE_W<16> {
TSWE_W::new(self)
}
#[doc = "Bit 17 - MRAFE"]
#[inline(always)]
pub fn mrafe(&mut self) -> MRAFE_W<17> {
MRAFE_W::new(self)
}
#[doc = "Bit 18 - TOOE"]
#[inline(always)]
pub fn tooe(&mut self) -> TOOE_W<18> {
TOOE_W::new(self)
}
#[doc = "Bit 19 - DRXE"]
#[inline(always)]
pub fn drxe(&mut self) -> DRXE_W<19> {
DRXE_W::new(self)
}
#[doc = "Bit 20 - BECE"]
#[inline(always)]
pub fn bece(&mut self) -> BECE_W<20> {
BECE_W::new(self)
}
#[doc = "Bit 21 - BEUE"]
#[inline(always)]
pub fn beue(&mut self) -> BEUE_W<21> {
BEUE_W::new(self)
}
#[doc = "Bit 22 - ELOE"]
#[inline(always)]
pub fn eloe(&mut self) -> ELOE_W<22> {
ELOE_W::new(self)
}
#[doc = "Bit 23 - EPE"]
#[inline(always)]
pub fn epe(&mut self) -> EPE_W<23> {
EPE_W::new(self)
}
#[doc = "Bit 24 - EWE"]
#[inline(always)]
pub fn ewe(&mut self) -> EWE_W<24> {
EWE_W::new(self)
}
#[doc = "Bit 25 - BOE"]
#[inline(always)]
pub fn boe(&mut self) -> BOE_W<25> {
BOE_W::new(self)
}
#[doc = "Bit 26 - WDIE"]
#[inline(always)]
pub fn wdie(&mut self) -> WDIE_W<26> {
WDIE_W::new(self)
}
#[doc = "Bit 27 - PEAE"]
#[inline(always)]
pub fn peae(&mut self) -> PEAE_W<27> {
PEAE_W::new(self)
}
#[doc = "Bit 28 - PEDE"]
#[inline(always)]
pub fn pede(&mut self) -> PEDE_W<28> {
PEDE_W::new(self)
}
#[doc = "Bit 29 - ARAE"]
#[inline(always)]
pub fn arae(&mut self) -> ARAE_W<29> {
ARAE_W::new(self)
}
#[doc = "Writes raw bits to the register."]
#[inline(always)]
pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
self.0.bits(bits);
self
}
}
#[doc = "The settings in the interrupt enable register determine which status changes in the interrupt register will be signaled on an interrupt line.\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [fdcan_ie](index.html) module"]
pub struct FDCAN_IE_SPEC;
impl crate::RegisterSpec for FDCAN_IE_SPEC {
type Ux = u32;
}
#[doc = "`read()` method returns [fdcan_ie::R](R) reader structure"]
impl crate::Readable for FDCAN_IE_SPEC {
type Reader = R;
}
#[doc = "`write(|w| ..)` method takes [fdcan_ie::W](W) writer structure"]
impl crate::Writable for FDCAN_IE_SPEC {
type Writer = W;
}
#[doc = "`reset()` method sets FDCAN_IE to value 0"]
impl crate::Resettable for FDCAN_IE_SPEC {
#[inline(always)]
fn reset_value() -> Self::Ux {
0
}
}