1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#[doc = "Register `IFCR` writer"]
pub struct W(crate::W<IFCR_SPEC>);
impl core::ops::Deref for W {
    type Target = crate::W<IFCR_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<IFCR_SPEC>> for W {
    #[inline(always)]
    fn from(writer: crate::W<IFCR_SPEC>) -> Self {
        W(writer)
    }
}
#[doc = "SUSPend flag clear"]
pub use EOTC_AW as SUSPC_AW;
#[doc = "TSERFC flag clear"]
pub use EOTC_AW as TSERFC_AW;
#[doc = "Mode Fault flag clear"]
pub use EOTC_AW as MODFC_AW;
#[doc = "TI frame format error flag clear"]
pub use EOTC_AW as TIFREC_AW;
#[doc = "CRC Error flag clear"]
pub use EOTC_AW as CRCEC_AW;
#[doc = "Overrun flag clear"]
pub use EOTC_AW as OVRC_AW;
#[doc = "Underrun flag clear"]
pub use EOTC_AW as UDRC_AW;
#[doc = "Transmission Transfer Filled flag clear"]
pub use EOTC_AW as TXTFC_AW;
#[doc = "Field `SUSPC` writer - SUSPend flag clear"]
pub use EOTC_W as SUSPC_W;
#[doc = "Field `TSERFC` writer - TSERFC flag clear"]
pub use EOTC_W as TSERFC_W;
#[doc = "Field `MODFC` writer - Mode Fault flag clear"]
pub use EOTC_W as MODFC_W;
#[doc = "Field `TIFREC` writer - TI frame format error flag clear"]
pub use EOTC_W as TIFREC_W;
#[doc = "Field `CRCEC` writer - CRC Error flag clear"]
pub use EOTC_W as CRCEC_W;
#[doc = "Field `OVRC` writer - Overrun flag clear"]
pub use EOTC_W as OVRC_W;
#[doc = "Field `UDRC` writer - Underrun flag clear"]
pub use EOTC_W as UDRC_W;
#[doc = "Field `TXTFC` writer - Transmission Transfer Filled flag clear"]
pub use EOTC_W as TXTFC_W;
#[doc = "End Of Transfer flag clear\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq)]
pub enum EOTC_AW {
    #[doc = "1: Clear interrupt flag"]
    Clear = 1,
}
impl From<EOTC_AW> for bool {
    #[inline(always)]
    fn from(variant: EOTC_AW) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `EOTC` writer - End Of Transfer flag clear"]
pub type EOTC_W<'a, const O: u8> = crate::BitWriter<'a, u32, IFCR_SPEC, EOTC_AW, O>;
impl<'a, const O: u8> EOTC_W<'a, O> {
    #[doc = "Clear interrupt flag"]
    #[inline(always)]
    pub fn clear(self) -> &'a mut W {
        self.variant(EOTC_AW::Clear)
    }
}
impl W {
    #[doc = "Bit 11 - SUSPend flag clear"]
    #[inline(always)]
    pub fn suspc(&mut self) -> SUSPC_W<11> {
        SUSPC_W::new(self)
    }
    #[doc = "Bit 10 - TSERFC flag clear"]
    #[inline(always)]
    pub fn tserfc(&mut self) -> TSERFC_W<10> {
        TSERFC_W::new(self)
    }
    #[doc = "Bit 9 - Mode Fault flag clear"]
    #[inline(always)]
    pub fn modfc(&mut self) -> MODFC_W<9> {
        MODFC_W::new(self)
    }
    #[doc = "Bit 8 - TI frame format error flag clear"]
    #[inline(always)]
    pub fn tifrec(&mut self) -> TIFREC_W<8> {
        TIFREC_W::new(self)
    }
    #[doc = "Bit 7 - CRC Error flag clear"]
    #[inline(always)]
    pub fn crcec(&mut self) -> CRCEC_W<7> {
        CRCEC_W::new(self)
    }
    #[doc = "Bit 6 - Overrun flag clear"]
    #[inline(always)]
    pub fn ovrc(&mut self) -> OVRC_W<6> {
        OVRC_W::new(self)
    }
    #[doc = "Bit 5 - Underrun flag clear"]
    #[inline(always)]
    pub fn udrc(&mut self) -> UDRC_W<5> {
        UDRC_W::new(self)
    }
    #[doc = "Bit 4 - Transmission Transfer Filled flag clear"]
    #[inline(always)]
    pub fn txtfc(&mut self) -> TXTFC_W<4> {
        TXTFC_W::new(self)
    }
    #[doc = "Bit 3 - End Of Transfer flag clear"]
    #[inline(always)]
    pub fn eotc(&mut self) -> EOTC_W<3> {
        EOTC_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 = "Interrupt/Status Flags Clear Register\n\nThis register you can [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ifcr](index.html) module"]
pub struct IFCR_SPEC;
impl crate::RegisterSpec for IFCR_SPEC {
    type Ux = u32;
}
#[doc = "`write(|w| ..)` method takes [ifcr::W](W) writer structure"]
impl crate::Writable for IFCR_SPEC {
    type Writer = W;
}
#[doc = "`reset()` method sets IFCR to value 0"]
impl crate::Resettable for IFCR_SPEC {
    #[inline(always)]
    fn reset_value() -> Self::Ux {
        0
    }
}