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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
#[doc = "Register `IER2` writer"]
pub struct W(crate::W<IER2_SPEC>);
impl core::ops::Deref for W {
    type Target = crate::W<IER2_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<IER2_SPEC>> for W {
    #[inline(always)]
    fn from(writer: crate::W<IER2_SPEC>) -> Self {
        W(writer)
    }
}
#[doc = "Field `WRDY` writer - Write Ready for Synchronous Channels Update Interrupt Enable"]
pub type WRDY_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `ENDTX` writer - PDC End of TX Buffer Interrupt Enable"]
pub type ENDTX_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `TXBUFE` writer - PDC TX Buffer Empty Interrupt Enable"]
pub type TXBUFE_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `UNRE` writer - Synchronous Channels Update Underrun Error Interrupt Enable"]
pub type UNRE_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPM0` writer - Comparison 0 Match Interrupt Enable"]
pub type CMPM0_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPM1` writer - Comparison 1 Match Interrupt Enable"]
pub type CMPM1_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPM2` writer - Comparison 2 Match Interrupt Enable"]
pub type CMPM2_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPM3` writer - Comparison 3 Match Interrupt Enable"]
pub type CMPM3_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPM4` writer - Comparison 4 Match Interrupt Enable"]
pub type CMPM4_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPM5` writer - Comparison 5 Match Interrupt Enable"]
pub type CMPM5_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPM6` writer - Comparison 6 Match Interrupt Enable"]
pub type CMPM6_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPM7` writer - Comparison 7 Match Interrupt Enable"]
pub type CMPM7_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPU0` writer - Comparison 0 Update Interrupt Enable"]
pub type CMPU0_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPU1` writer - Comparison 1 Update Interrupt Enable"]
pub type CMPU1_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPU2` writer - Comparison 2 Update Interrupt Enable"]
pub type CMPU2_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPU3` writer - Comparison 3 Update Interrupt Enable"]
pub type CMPU3_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPU4` writer - Comparison 4 Update Interrupt Enable"]
pub type CMPU4_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPU5` writer - Comparison 5 Update Interrupt Enable"]
pub type CMPU5_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPU6` writer - Comparison 6 Update Interrupt Enable"]
pub type CMPU6_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
#[doc = "Field `CMPU7` writer - Comparison 7 Update Interrupt Enable"]
pub type CMPU7_W<'a, const O: u8> = crate::BitWriter<'a, u32, IER2_SPEC, bool, O>;
impl W {
    #[doc = "Bit 0 - Write Ready for Synchronous Channels Update Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn wrdy(&mut self) -> WRDY_W<0> {
        WRDY_W::new(self)
    }
    #[doc = "Bit 1 - PDC End of TX Buffer Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn endtx(&mut self) -> ENDTX_W<1> {
        ENDTX_W::new(self)
    }
    #[doc = "Bit 2 - PDC TX Buffer Empty Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn txbufe(&mut self) -> TXBUFE_W<2> {
        TXBUFE_W::new(self)
    }
    #[doc = "Bit 3 - Synchronous Channels Update Underrun Error Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn unre(&mut self) -> UNRE_W<3> {
        UNRE_W::new(self)
    }
    #[doc = "Bit 8 - Comparison 0 Match Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpm0(&mut self) -> CMPM0_W<8> {
        CMPM0_W::new(self)
    }
    #[doc = "Bit 9 - Comparison 1 Match Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpm1(&mut self) -> CMPM1_W<9> {
        CMPM1_W::new(self)
    }
    #[doc = "Bit 10 - Comparison 2 Match Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpm2(&mut self) -> CMPM2_W<10> {
        CMPM2_W::new(self)
    }
    #[doc = "Bit 11 - Comparison 3 Match Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpm3(&mut self) -> CMPM3_W<11> {
        CMPM3_W::new(self)
    }
    #[doc = "Bit 12 - Comparison 4 Match Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpm4(&mut self) -> CMPM4_W<12> {
        CMPM4_W::new(self)
    }
    #[doc = "Bit 13 - Comparison 5 Match Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpm5(&mut self) -> CMPM5_W<13> {
        CMPM5_W::new(self)
    }
    #[doc = "Bit 14 - Comparison 6 Match Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpm6(&mut self) -> CMPM6_W<14> {
        CMPM6_W::new(self)
    }
    #[doc = "Bit 15 - Comparison 7 Match Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpm7(&mut self) -> CMPM7_W<15> {
        CMPM7_W::new(self)
    }
    #[doc = "Bit 16 - Comparison 0 Update Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpu0(&mut self) -> CMPU0_W<16> {
        CMPU0_W::new(self)
    }
    #[doc = "Bit 17 - Comparison 1 Update Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpu1(&mut self) -> CMPU1_W<17> {
        CMPU1_W::new(self)
    }
    #[doc = "Bit 18 - Comparison 2 Update Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpu2(&mut self) -> CMPU2_W<18> {
        CMPU2_W::new(self)
    }
    #[doc = "Bit 19 - Comparison 3 Update Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpu3(&mut self) -> CMPU3_W<19> {
        CMPU3_W::new(self)
    }
    #[doc = "Bit 20 - Comparison 4 Update Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpu4(&mut self) -> CMPU4_W<20> {
        CMPU4_W::new(self)
    }
    #[doc = "Bit 21 - Comparison 5 Update Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpu5(&mut self) -> CMPU5_W<21> {
        CMPU5_W::new(self)
    }
    #[doc = "Bit 22 - Comparison 6 Update Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpu6(&mut self) -> CMPU6_W<22> {
        CMPU6_W::new(self)
    }
    #[doc = "Bit 23 - Comparison 7 Update Interrupt Enable"]
    #[inline(always)]
    #[must_use]
    pub fn cmpu7(&mut self) -> CMPU7_W<23> {
        CMPU7_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 = "PWM Interrupt Enable Register 2\n\nThis register you can [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ier2](index.html) module"]
pub struct IER2_SPEC;
impl crate::RegisterSpec for IER2_SPEC {
    type Ux = u32;
}
#[doc = "`write(|w| ..)` method takes [ier2::W](W) writer structure"]
impl crate::Writable for IER2_SPEC {
    type Writer = W;
    const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
    const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
}