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
144
145
146
147
148
149
#[doc = "Register `ICR` writer"]
pub struct W(crate::W<ICR_SPEC>);
impl core::ops::Deref for W {
    type Target = crate::W<ICR_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<ICR_SPEC>> for W {
    #[inline(always)]
    fn from(writer: crate::W<ICR_SPEC>) -> Self {
        W(writer)
    }
}
#[doc = "Clears Register Reload Interrupt Flag\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq)]
pub enum CRRIF_AW {
    #[doc = "1: Clears the RRIF flag in the ISR register"]
    Clear = 1,
}
impl From<CRRIF_AW> for bool {
    #[inline(always)]
    fn from(variant: CRRIF_AW) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `CRRIF` writer - Clears Register Reload Interrupt Flag"]
pub type CRRIF_W<'a, const O: u8> = crate::BitWriter<'a, u32, ICR_SPEC, CRRIF_AW, O>;
impl<'a, const O: u8> CRRIF_W<'a, O> {
    #[doc = "Clears the RRIF flag in the ISR register"]
    #[inline(always)]
    pub fn clear(self) -> &'a mut W {
        self.variant(CRRIF_AW::Clear)
    }
}
#[doc = "Clears the Transfer Error Interrupt Flag\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq)]
pub enum CTERRIF_AW {
    #[doc = "1: Clears the TERRIF flag in the ISR register"]
    Clear = 1,
}
impl From<CTERRIF_AW> for bool {
    #[inline(always)]
    fn from(variant: CTERRIF_AW) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `CTERRIF` writer - Clears the Transfer Error Interrupt Flag"]
pub type CTERRIF_W<'a, const O: u8> = crate::BitWriter<'a, u32, ICR_SPEC, CTERRIF_AW, O>;
impl<'a, const O: u8> CTERRIF_W<'a, O> {
    #[doc = "Clears the TERRIF flag in the ISR register"]
    #[inline(always)]
    pub fn clear(self) -> &'a mut W {
        self.variant(CTERRIF_AW::Clear)
    }
}
#[doc = "Clears the FIFO Underrun Interrupt flag\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq)]
pub enum CFUIF_AW {
    #[doc = "1: Clears the FUIF flag in the ISR register"]
    Clear = 1,
}
impl From<CFUIF_AW> for bool {
    #[inline(always)]
    fn from(variant: CFUIF_AW) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `CFUIF` writer - Clears the FIFO Underrun Interrupt flag"]
pub type CFUIF_W<'a, const O: u8> = crate::BitWriter<'a, u32, ICR_SPEC, CFUIF_AW, O>;
impl<'a, const O: u8> CFUIF_W<'a, O> {
    #[doc = "Clears the FUIF flag in the ISR register"]
    #[inline(always)]
    pub fn clear(self) -> &'a mut W {
        self.variant(CFUIF_AW::Clear)
    }
}
#[doc = "Clears the Line Interrupt Flag\n\nValue on reset: 0"]
#[derive(Clone, Copy, Debug, PartialEq)]
pub enum CLIF_AW {
    #[doc = "1: Clears the LIF flag in the ISR register"]
    Clear = 1,
}
impl From<CLIF_AW> for bool {
    #[inline(always)]
    fn from(variant: CLIF_AW) -> Self {
        variant as u8 != 0
    }
}
#[doc = "Field `CLIF` writer - Clears the Line Interrupt Flag"]
pub type CLIF_W<'a, const O: u8> = crate::BitWriter<'a, u32, ICR_SPEC, CLIF_AW, O>;
impl<'a, const O: u8> CLIF_W<'a, O> {
    #[doc = "Clears the LIF flag in the ISR register"]
    #[inline(always)]
    pub fn clear(self) -> &'a mut W {
        self.variant(CLIF_AW::Clear)
    }
}
impl W {
    #[doc = "Bit 3 - Clears Register Reload Interrupt Flag"]
    #[inline(always)]
    pub fn crrif(&mut self) -> CRRIF_W<3> {
        CRRIF_W::new(self)
    }
    #[doc = "Bit 2 - Clears the Transfer Error Interrupt Flag"]
    #[inline(always)]
    pub fn cterrif(&mut self) -> CTERRIF_W<2> {
        CTERRIF_W::new(self)
    }
    #[doc = "Bit 1 - Clears the FIFO Underrun Interrupt flag"]
    #[inline(always)]
    pub fn cfuif(&mut self) -> CFUIF_W<1> {
        CFUIF_W::new(self)
    }
    #[doc = "Bit 0 - Clears the Line Interrupt Flag"]
    #[inline(always)]
    pub fn clif(&mut self) -> CLIF_W<0> {
        CLIF_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 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 [icr](index.html) module"]
pub struct ICR_SPEC;
impl crate::RegisterSpec for ICR_SPEC {
    type Ux = u32;
}
#[doc = "`write(|w| ..)` method takes [icr::W](W) writer structure"]
impl crate::Writable for ICR_SPEC {
    type Writer = W;
}
#[doc = "`reset()` method sets ICR to value 0"]
impl crate::Resettable for ICR_SPEC {
    #[inline(always)]
    fn reset_value() -> Self::Ux {
        0
    }
}