1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4 ctrla: Ctrla,
5 ctrlbclr: Ctrlbclr,
6 ctrlbset: Ctrlbset,
7 _reserved3: [u8; 0x02],
8 syncbusy: Syncbusy,
9 fctrla: Fctrla,
10 fctrlb: Fctrlb,
11 wexctrl: Wexctrl,
12 drvctrl: Drvctrl,
13 _reserved8: [u8; 0x02],
14 dbgctrl: Dbgctrl,
15 _reserved9: [u8; 0x01],
16 evctrl: Evctrl,
17 intenclr: Intenclr,
18 intenset: Intenset,
19 intflag: Intflag,
20 status: Status,
21 _reserved_14_count: [u8; 0x04],
22 patt: Patt,
23 _reserved16: [u8; 0x02],
24 wave: Wave,
25 _reserved_17_per: [u8; 0x04],
26 _reserved_18_cc: [u8; 0x18],
27 _reserved19: [u8; 0x08],
28 pattbuf: Pattbuf,
29 _reserved20: [u8; 0x06],
30 _reserved_20_perbuf: [u8; 0x04],
31 _reserved_21_ccbuf: [u8; 0x18],
32}
33impl RegisterBlock {
34 #[doc = "0x00 - Control A"]
35 #[inline(always)]
36 pub const fn ctrla(&self) -> &Ctrla {
37 &self.ctrla
38 }
39 #[doc = "0x04 - Control B Clear"]
40 #[inline(always)]
41 pub const fn ctrlbclr(&self) -> &Ctrlbclr {
42 &self.ctrlbclr
43 }
44 #[doc = "0x05 - Control B Set"]
45 #[inline(always)]
46 pub const fn ctrlbset(&self) -> &Ctrlbset {
47 &self.ctrlbset
48 }
49 #[doc = "0x08 - Synchronization Busy"]
50 #[inline(always)]
51 pub const fn syncbusy(&self) -> &Syncbusy {
52 &self.syncbusy
53 }
54 #[doc = "0x0c - Recoverable Fault A Configuration"]
55 #[inline(always)]
56 pub const fn fctrla(&self) -> &Fctrla {
57 &self.fctrla
58 }
59 #[doc = "0x10 - Recoverable Fault B Configuration"]
60 #[inline(always)]
61 pub const fn fctrlb(&self) -> &Fctrlb {
62 &self.fctrlb
63 }
64 #[doc = "0x14 - Waveform Extension Configuration"]
65 #[inline(always)]
66 pub const fn wexctrl(&self) -> &Wexctrl {
67 &self.wexctrl
68 }
69 #[doc = "0x18 - Driver Control"]
70 #[inline(always)]
71 pub const fn drvctrl(&self) -> &Drvctrl {
72 &self.drvctrl
73 }
74 #[doc = "0x1e - Debug Control"]
75 #[inline(always)]
76 pub const fn dbgctrl(&self) -> &Dbgctrl {
77 &self.dbgctrl
78 }
79 #[doc = "0x20 - Event Control"]
80 #[inline(always)]
81 pub const fn evctrl(&self) -> &Evctrl {
82 &self.evctrl
83 }
84 #[doc = "0x24 - Interrupt Enable Clear"]
85 #[inline(always)]
86 pub const fn intenclr(&self) -> &Intenclr {
87 &self.intenclr
88 }
89 #[doc = "0x28 - Interrupt Enable Set"]
90 #[inline(always)]
91 pub const fn intenset(&self) -> &Intenset {
92 &self.intenset
93 }
94 #[doc = "0x2c - Interrupt Flag Status and Clear"]
95 #[inline(always)]
96 pub const fn intflag(&self) -> &Intflag {
97 &self.intflag
98 }
99 #[doc = "0x30 - Status"]
100 #[inline(always)]
101 pub const fn status(&self) -> &Status {
102 &self.status
103 }
104 #[doc = "0x34 - Count"]
105 #[inline(always)]
106 pub const fn count_dith6_mode(&self) -> &CountDith6Mode {
107 unsafe { &*(self as *const Self).cast::<u8>().add(52).cast() }
108 }
109 #[doc = "0x34 - Count"]
110 #[inline(always)]
111 pub const fn count_dith5_mode(&self) -> &CountDith5Mode {
112 unsafe { &*(self as *const Self).cast::<u8>().add(52).cast() }
113 }
114 #[doc = "0x34 - Count"]
115 #[inline(always)]
116 pub const fn count_dith4_mode(&self) -> &CountDith4Mode {
117 unsafe { &*(self as *const Self).cast::<u8>().add(52).cast() }
118 }
119 #[doc = "0x34 - Count"]
120 #[inline(always)]
121 pub const fn count(&self) -> &Count {
122 unsafe { &*(self as *const Self).cast::<u8>().add(52).cast() }
123 }
124 #[doc = "0x38 - Pattern"]
125 #[inline(always)]
126 pub const fn patt(&self) -> &Patt {
127 &self.patt
128 }
129 #[doc = "0x3c - Waveform Control"]
130 #[inline(always)]
131 pub const fn wave(&self) -> &Wave {
132 &self.wave
133 }
134 #[doc = "0x40 - Period"]
135 #[inline(always)]
136 pub const fn per_dith6_mode(&self) -> &PerDith6Mode {
137 unsafe { &*(self as *const Self).cast::<u8>().add(64).cast() }
138 }
139 #[doc = "0x40 - Period"]
140 #[inline(always)]
141 pub const fn per_dith5_mode(&self) -> &PerDith5Mode {
142 unsafe { &*(self as *const Self).cast::<u8>().add(64).cast() }
143 }
144 #[doc = "0x40 - Period"]
145 #[inline(always)]
146 pub const fn per_dith4_mode(&self) -> &PerDith4Mode {
147 unsafe { &*(self as *const Self).cast::<u8>().add(64).cast() }
148 }
149 #[doc = "0x40 - Period"]
150 #[inline(always)]
151 pub const fn per(&self) -> &Per {
152 unsafe { &*(self as *const Self).cast::<u8>().add(64).cast() }
153 }
154 #[doc = "0x44..0x5c - Compare and Capture"]
155 #[inline(always)]
156 pub const fn cc_dith6_mode(&self, n: usize) -> &CcDith6Mode {
157 #[allow(clippy::no_effect)]
158 [(); 6][n];
159 unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() }
160 }
161 #[doc = "Iterator for array of:"]
162 #[doc = "0x44..0x5c - Compare and Capture"]
163 #[inline(always)]
164 pub fn cc_dith6_mode_iter(&self) -> impl Iterator<Item = &CcDith6Mode> {
165 (0..6)
166 .map(move |n| unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() })
167 }
168 #[doc = "0x44..0x5c - Compare and Capture"]
169 #[inline(always)]
170 pub const fn cc_dith5_mode(&self, n: usize) -> &CcDith5Mode {
171 #[allow(clippy::no_effect)]
172 [(); 6][n];
173 unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() }
174 }
175 #[doc = "Iterator for array of:"]
176 #[doc = "0x44..0x5c - Compare and Capture"]
177 #[inline(always)]
178 pub fn cc_dith5_mode_iter(&self) -> impl Iterator<Item = &CcDith5Mode> {
179 (0..6)
180 .map(move |n| unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() })
181 }
182 #[doc = "0x44..0x5c - Compare and Capture"]
183 #[inline(always)]
184 pub const fn cc_dith4_mode(&self, n: usize) -> &CcDith4Mode {
185 #[allow(clippy::no_effect)]
186 [(); 6][n];
187 unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() }
188 }
189 #[doc = "Iterator for array of:"]
190 #[doc = "0x44..0x5c - Compare and Capture"]
191 #[inline(always)]
192 pub fn cc_dith4_mode_iter(&self) -> impl Iterator<Item = &CcDith4Mode> {
193 (0..6)
194 .map(move |n| unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() })
195 }
196 #[doc = "0x44..0x5c - Compare and Capture"]
197 #[inline(always)]
198 pub const fn cc(&self, n: usize) -> &Cc {
199 #[allow(clippy::no_effect)]
200 [(); 6][n];
201 unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() }
202 }
203 #[doc = "Iterator for array of:"]
204 #[doc = "0x44..0x5c - Compare and Capture"]
205 #[inline(always)]
206 pub fn cc_iter(&self) -> impl Iterator<Item = &Cc> {
207 (0..6)
208 .map(move |n| unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() })
209 }
210 #[doc = "0x64 - Pattern Buffer"]
211 #[inline(always)]
212 pub const fn pattbuf(&self) -> &Pattbuf {
213 &self.pattbuf
214 }
215 #[doc = "0x6c - Period Buffer"]
216 #[inline(always)]
217 pub const fn perbuf_dith6_mode(&self) -> &PerbufDith6Mode {
218 unsafe { &*(self as *const Self).cast::<u8>().add(108).cast() }
219 }
220 #[doc = "0x6c - Period Buffer"]
221 #[inline(always)]
222 pub const fn perbuf_dith5_mode(&self) -> &PerbufDith5Mode {
223 unsafe { &*(self as *const Self).cast::<u8>().add(108).cast() }
224 }
225 #[doc = "0x6c - Period Buffer"]
226 #[inline(always)]
227 pub const fn perbuf_dith4_mode(&self) -> &PerbufDith4Mode {
228 unsafe { &*(self as *const Self).cast::<u8>().add(108).cast() }
229 }
230 #[doc = "0x6c - Period Buffer"]
231 #[inline(always)]
232 pub const fn perbuf(&self) -> &Perbuf {
233 unsafe { &*(self as *const Self).cast::<u8>().add(108).cast() }
234 }
235 #[doc = "0x70..0x88 - Compare and Capture Buffer"]
236 #[inline(always)]
237 pub const fn ccbuf_dith6_mode(&self, n: usize) -> &CcbufDith6Mode {
238 #[allow(clippy::no_effect)]
239 [(); 6][n];
240 unsafe {
241 &*(self as *const Self)
242 .cast::<u8>()
243 .add(112)
244 .add(4 * n)
245 .cast()
246 }
247 }
248 #[doc = "Iterator for array of:"]
249 #[doc = "0x70..0x88 - Compare and Capture Buffer"]
250 #[inline(always)]
251 pub fn ccbuf_dith6_mode_iter(&self) -> impl Iterator<Item = &CcbufDith6Mode> {
252 (0..6).map(move |n| unsafe {
253 &*(self as *const Self)
254 .cast::<u8>()
255 .add(112)
256 .add(4 * n)
257 .cast()
258 })
259 }
260 #[doc = "0x70..0x88 - Compare and Capture Buffer"]
261 #[inline(always)]
262 pub const fn ccbuf_dith5_mode(&self, n: usize) -> &CcbufDith5Mode {
263 #[allow(clippy::no_effect)]
264 [(); 6][n];
265 unsafe {
266 &*(self as *const Self)
267 .cast::<u8>()
268 .add(112)
269 .add(4 * n)
270 .cast()
271 }
272 }
273 #[doc = "Iterator for array of:"]
274 #[doc = "0x70..0x88 - Compare and Capture Buffer"]
275 #[inline(always)]
276 pub fn ccbuf_dith5_mode_iter(&self) -> impl Iterator<Item = &CcbufDith5Mode> {
277 (0..6).map(move |n| unsafe {
278 &*(self as *const Self)
279 .cast::<u8>()
280 .add(112)
281 .add(4 * n)
282 .cast()
283 })
284 }
285 #[doc = "0x70..0x88 - Compare and Capture Buffer"]
286 #[inline(always)]
287 pub const fn ccbuf_dith4_mode(&self, n: usize) -> &CcbufDith4Mode {
288 #[allow(clippy::no_effect)]
289 [(); 6][n];
290 unsafe {
291 &*(self as *const Self)
292 .cast::<u8>()
293 .add(112)
294 .add(4 * n)
295 .cast()
296 }
297 }
298 #[doc = "Iterator for array of:"]
299 #[doc = "0x70..0x88 - Compare and Capture Buffer"]
300 #[inline(always)]
301 pub fn ccbuf_dith4_mode_iter(&self) -> impl Iterator<Item = &CcbufDith4Mode> {
302 (0..6).map(move |n| unsafe {
303 &*(self as *const Self)
304 .cast::<u8>()
305 .add(112)
306 .add(4 * n)
307 .cast()
308 })
309 }
310 #[doc = "0x70..0x88 - Compare and Capture Buffer"]
311 #[inline(always)]
312 pub const fn ccbuf(&self, n: usize) -> &Ccbuf {
313 #[allow(clippy::no_effect)]
314 [(); 6][n];
315 unsafe {
316 &*(self as *const Self)
317 .cast::<u8>()
318 .add(112)
319 .add(4 * n)
320 .cast()
321 }
322 }
323 #[doc = "Iterator for array of:"]
324 #[doc = "0x70..0x88 - Compare and Capture Buffer"]
325 #[inline(always)]
326 pub fn ccbuf_iter(&self) -> impl Iterator<Item = &Ccbuf> {
327 (0..6).map(move |n| unsafe {
328 &*(self as *const Self)
329 .cast::<u8>()
330 .add(112)
331 .add(4 * n)
332 .cast()
333 })
334 }
335}
336#[doc = "CTRLA (rw) register accessor: Control A\n\nYou can [`read`](crate::Reg::read) this register and get [`ctrla::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrla::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctrla`]
337module"]
338#[doc(alias = "CTRLA")]
339pub type Ctrla = crate::Reg<ctrla::CtrlaSpec>;
340#[doc = "Control A"]
341pub mod ctrla;
342#[doc = "CTRLBCLR (rw) register accessor: Control B Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`ctrlbclr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrlbclr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctrlbclr`]
343module"]
344#[doc(alias = "CTRLBCLR")]
345pub type Ctrlbclr = crate::Reg<ctrlbclr::CtrlbclrSpec>;
346#[doc = "Control B Clear"]
347pub mod ctrlbclr;
348#[doc = "CTRLBSET (rw) register accessor: Control B Set\n\nYou can [`read`](crate::Reg::read) this register and get [`ctrlbset::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrlbset::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctrlbset`]
349module"]
350#[doc(alias = "CTRLBSET")]
351pub type Ctrlbset = crate::Reg<ctrlbset::CtrlbsetSpec>;
352#[doc = "Control B Set"]
353pub mod ctrlbset;
354#[doc = "SYNCBUSY (r) register accessor: Synchronization Busy\n\nYou can [`read`](crate::Reg::read) this register and get [`syncbusy::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@syncbusy`]
355module"]
356#[doc(alias = "SYNCBUSY")]
357pub type Syncbusy = crate::Reg<syncbusy::SyncbusySpec>;
358#[doc = "Synchronization Busy"]
359pub mod syncbusy;
360#[doc = "FCTRLA (rw) register accessor: Recoverable Fault A Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`fctrla::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`fctrla::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fctrla`]
361module"]
362#[doc(alias = "FCTRLA")]
363pub type Fctrla = crate::Reg<fctrla::FctrlaSpec>;
364#[doc = "Recoverable Fault A Configuration"]
365pub mod fctrla;
366#[doc = "FCTRLB (rw) register accessor: Recoverable Fault B Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`fctrlb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`fctrlb::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fctrlb`]
367module"]
368#[doc(alias = "FCTRLB")]
369pub type Fctrlb = crate::Reg<fctrlb::FctrlbSpec>;
370#[doc = "Recoverable Fault B Configuration"]
371pub mod fctrlb;
372#[doc = "WEXCTRL (rw) register accessor: Waveform Extension Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`wexctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`wexctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@wexctrl`]
373module"]
374#[doc(alias = "WEXCTRL")]
375pub type Wexctrl = crate::Reg<wexctrl::WexctrlSpec>;
376#[doc = "Waveform Extension Configuration"]
377pub mod wexctrl;
378#[doc = "DRVCTRL (rw) register accessor: Driver Control\n\nYou can [`read`](crate::Reg::read) this register and get [`drvctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`drvctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@drvctrl`]
379module"]
380#[doc(alias = "DRVCTRL")]
381pub type Drvctrl = crate::Reg<drvctrl::DrvctrlSpec>;
382#[doc = "Driver Control"]
383pub mod drvctrl;
384#[doc = "DBGCTRL (rw) register accessor: Debug Control\n\nYou can [`read`](crate::Reg::read) this register and get [`dbgctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dbgctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dbgctrl`]
385module"]
386#[doc(alias = "DBGCTRL")]
387pub type Dbgctrl = crate::Reg<dbgctrl::DbgctrlSpec>;
388#[doc = "Debug Control"]
389pub mod dbgctrl;
390#[doc = "EVCTRL (rw) register accessor: Event Control\n\nYou can [`read`](crate::Reg::read) this register and get [`evctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`evctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@evctrl`]
391module"]
392#[doc(alias = "EVCTRL")]
393pub type Evctrl = crate::Reg<evctrl::EvctrlSpec>;
394#[doc = "Event Control"]
395pub mod evctrl;
396#[doc = "INTENCLR (rw) register accessor: Interrupt Enable Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`intenclr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intenclr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@intenclr`]
397module"]
398#[doc(alias = "INTENCLR")]
399pub type Intenclr = crate::Reg<intenclr::IntenclrSpec>;
400#[doc = "Interrupt Enable Clear"]
401pub mod intenclr;
402#[doc = "INTENSET (rw) register accessor: Interrupt Enable Set\n\nYou can [`read`](crate::Reg::read) this register and get [`intenset::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intenset::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@intenset`]
403module"]
404#[doc(alias = "INTENSET")]
405pub type Intenset = crate::Reg<intenset::IntensetSpec>;
406#[doc = "Interrupt Enable Set"]
407pub mod intenset;
408#[doc = "INTFLAG (rw) register accessor: Interrupt Flag Status and Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`intflag::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intflag::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@intflag`]
409module"]
410#[doc(alias = "INTFLAG")]
411pub type Intflag = crate::Reg<intflag::IntflagSpec>;
412#[doc = "Interrupt Flag Status and Clear"]
413pub mod intflag;
414#[doc = "STATUS (rw) register accessor: Status\n\nYou can [`read`](crate::Reg::read) this register and get [`status::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`status::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status`]
415module"]
416#[doc(alias = "STATUS")]
417pub type Status = crate::Reg<status::StatusSpec>;
418#[doc = "Status"]
419pub mod status;
420#[doc = "COUNT (rw) register accessor: Count\n\nYou can [`read`](crate::Reg::read) this register and get [`count::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`count::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@count`]
421module"]
422#[doc(alias = "COUNT")]
423pub type Count = crate::Reg<count::CountSpec>;
424#[doc = "Count"]
425pub mod count;
426#[doc = "COUNT_DITH4_MODE (rw) register accessor: Count\n\nYou can [`read`](crate::Reg::read) this register and get [`count_dith4_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`count_dith4_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@count_dith4_mode`]
427module"]
428#[doc(alias = "COUNT_DITH4_MODE")]
429pub type CountDith4Mode = crate::Reg<count_dith4_mode::CountDith4ModeSpec>;
430#[doc = "Count"]
431pub mod count_dith4_mode;
432#[doc = "COUNT_DITH5_MODE (rw) register accessor: Count\n\nYou can [`read`](crate::Reg::read) this register and get [`count_dith5_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`count_dith5_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@count_dith5_mode`]
433module"]
434#[doc(alias = "COUNT_DITH5_MODE")]
435pub type CountDith5Mode = crate::Reg<count_dith5_mode::CountDith5ModeSpec>;
436#[doc = "Count"]
437pub mod count_dith5_mode;
438#[doc = "COUNT_DITH6_MODE (rw) register accessor: Count\n\nYou can [`read`](crate::Reg::read) this register and get [`count_dith6_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`count_dith6_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@count_dith6_mode`]
439module"]
440#[doc(alias = "COUNT_DITH6_MODE")]
441pub type CountDith6Mode = crate::Reg<count_dith6_mode::CountDith6ModeSpec>;
442#[doc = "Count"]
443pub mod count_dith6_mode;
444#[doc = "PATT (rw) register accessor: Pattern\n\nYou can [`read`](crate::Reg::read) this register and get [`patt::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`patt::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@patt`]
445module"]
446#[doc(alias = "PATT")]
447pub type Patt = crate::Reg<patt::PattSpec>;
448#[doc = "Pattern"]
449pub mod patt;
450#[doc = "WAVE (rw) register accessor: Waveform Control\n\nYou can [`read`](crate::Reg::read) this register and get [`wave::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`wave::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@wave`]
451module"]
452#[doc(alias = "WAVE")]
453pub type Wave = crate::Reg<wave::WaveSpec>;
454#[doc = "Waveform Control"]
455pub mod wave;
456#[doc = "PER (rw) register accessor: Period\n\nYou can [`read`](crate::Reg::read) this register and get [`per::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`per::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@per`]
457module"]
458#[doc(alias = "PER")]
459pub type Per = crate::Reg<per::PerSpec>;
460#[doc = "Period"]
461pub mod per;
462#[doc = "PER_DITH4_MODE (rw) register accessor: Period\n\nYou can [`read`](crate::Reg::read) this register and get [`per_dith4_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`per_dith4_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@per_dith4_mode`]
463module"]
464#[doc(alias = "PER_DITH4_MODE")]
465pub type PerDith4Mode = crate::Reg<per_dith4_mode::PerDith4ModeSpec>;
466#[doc = "Period"]
467pub mod per_dith4_mode;
468#[doc = "PER_DITH5_MODE (rw) register accessor: Period\n\nYou can [`read`](crate::Reg::read) this register and get [`per_dith5_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`per_dith5_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@per_dith5_mode`]
469module"]
470#[doc(alias = "PER_DITH5_MODE")]
471pub type PerDith5Mode = crate::Reg<per_dith5_mode::PerDith5ModeSpec>;
472#[doc = "Period"]
473pub mod per_dith5_mode;
474#[doc = "PER_DITH6_MODE (rw) register accessor: Period\n\nYou can [`read`](crate::Reg::read) this register and get [`per_dith6_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`per_dith6_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@per_dith6_mode`]
475module"]
476#[doc(alias = "PER_DITH6_MODE")]
477pub type PerDith6Mode = crate::Reg<per_dith6_mode::PerDith6ModeSpec>;
478#[doc = "Period"]
479pub mod per_dith6_mode;
480#[doc = "CC (rw) register accessor: Compare and Capture\n\nYou can [`read`](crate::Reg::read) this register and get [`cc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cc::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cc`]
481module"]
482#[doc(alias = "CC")]
483pub type Cc = crate::Reg<cc::CcSpec>;
484#[doc = "Compare and Capture"]
485pub mod cc;
486#[doc = "CC_DITH4_MODE (rw) register accessor: Compare and Capture\n\nYou can [`read`](crate::Reg::read) this register and get [`cc_dith4_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cc_dith4_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cc_dith4_mode`]
487module"]
488#[doc(alias = "CC_DITH4_MODE")]
489pub type CcDith4Mode = crate::Reg<cc_dith4_mode::CcDith4ModeSpec>;
490#[doc = "Compare and Capture"]
491pub mod cc_dith4_mode;
492#[doc = "CC_DITH5_MODE (rw) register accessor: Compare and Capture\n\nYou can [`read`](crate::Reg::read) this register and get [`cc_dith5_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cc_dith5_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cc_dith5_mode`]
493module"]
494#[doc(alias = "CC_DITH5_MODE")]
495pub type CcDith5Mode = crate::Reg<cc_dith5_mode::CcDith5ModeSpec>;
496#[doc = "Compare and Capture"]
497pub mod cc_dith5_mode;
498#[doc = "CC_DITH6_MODE (rw) register accessor: Compare and Capture\n\nYou can [`read`](crate::Reg::read) this register and get [`cc_dith6_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cc_dith6_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cc_dith6_mode`]
499module"]
500#[doc(alias = "CC_DITH6_MODE")]
501pub type CcDith6Mode = crate::Reg<cc_dith6_mode::CcDith6ModeSpec>;
502#[doc = "Compare and Capture"]
503pub mod cc_dith6_mode;
504#[doc = "PATTBUF (rw) register accessor: Pattern Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`pattbuf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pattbuf::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pattbuf`]
505module"]
506#[doc(alias = "PATTBUF")]
507pub type Pattbuf = crate::Reg<pattbuf::PattbufSpec>;
508#[doc = "Pattern Buffer"]
509pub mod pattbuf;
510#[doc = "PERBUF (rw) register accessor: Period Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`perbuf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`perbuf::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@perbuf`]
511module"]
512#[doc(alias = "PERBUF")]
513pub type Perbuf = crate::Reg<perbuf::PerbufSpec>;
514#[doc = "Period Buffer"]
515pub mod perbuf;
516#[doc = "PERBUF_DITH4_MODE (rw) register accessor: Period Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`perbuf_dith4_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`perbuf_dith4_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@perbuf_dith4_mode`]
517module"]
518#[doc(alias = "PERBUF_DITH4_MODE")]
519pub type PerbufDith4Mode = crate::Reg<perbuf_dith4_mode::PerbufDith4ModeSpec>;
520#[doc = "Period Buffer"]
521pub mod perbuf_dith4_mode;
522#[doc = "PERBUF_DITH5_MODE (rw) register accessor: Period Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`perbuf_dith5_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`perbuf_dith5_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@perbuf_dith5_mode`]
523module"]
524#[doc(alias = "PERBUF_DITH5_MODE")]
525pub type PerbufDith5Mode = crate::Reg<perbuf_dith5_mode::PerbufDith5ModeSpec>;
526#[doc = "Period Buffer"]
527pub mod perbuf_dith5_mode;
528#[doc = "PERBUF_DITH6_MODE (rw) register accessor: Period Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`perbuf_dith6_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`perbuf_dith6_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@perbuf_dith6_mode`]
529module"]
530#[doc(alias = "PERBUF_DITH6_MODE")]
531pub type PerbufDith6Mode = crate::Reg<perbuf_dith6_mode::PerbufDith6ModeSpec>;
532#[doc = "Period Buffer"]
533pub mod perbuf_dith6_mode;
534#[doc = "CCBUF (rw) register accessor: Compare and Capture Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`ccbuf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ccbuf::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ccbuf`]
535module"]
536#[doc(alias = "CCBUF")]
537pub type Ccbuf = crate::Reg<ccbuf::CcbufSpec>;
538#[doc = "Compare and Capture Buffer"]
539pub mod ccbuf;
540#[doc = "CCBUF_DITH4_MODE (rw) register accessor: Compare and Capture Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`ccbuf_dith4_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ccbuf_dith4_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ccbuf_dith4_mode`]
541module"]
542#[doc(alias = "CCBUF_DITH4_MODE")]
543pub type CcbufDith4Mode = crate::Reg<ccbuf_dith4_mode::CcbufDith4ModeSpec>;
544#[doc = "Compare and Capture Buffer"]
545pub mod ccbuf_dith4_mode;
546#[doc = "CCBUF_DITH5_MODE (rw) register accessor: Compare and Capture Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`ccbuf_dith5_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ccbuf_dith5_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ccbuf_dith5_mode`]
547module"]
548#[doc(alias = "CCBUF_DITH5_MODE")]
549pub type CcbufDith5Mode = crate::Reg<ccbuf_dith5_mode::CcbufDith5ModeSpec>;
550#[doc = "Compare and Capture Buffer"]
551pub mod ccbuf_dith5_mode;
552#[doc = "CCBUF_DITH6_MODE (rw) register accessor: Compare and Capture Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`ccbuf_dith6_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ccbuf_dith6_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ccbuf_dith6_mode`]
553module"]
554#[doc(alias = "CCBUF_DITH6_MODE")]
555pub type CcbufDith6Mode = crate::Reg<ccbuf_dith6_mode::CcbufDith6ModeSpec>;
556#[doc = "Compare and Capture Buffer"]
557pub mod ccbuf_dith6_mode;