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; 0x10],
27 _reserved19: [u8; 0x10],
28 pattb: Pattb,
29 _reserved20: [u8; 0x02],
30 waveb: Waveb,
31 _reserved_21_perb: [u8; 0x04],
32 _reserved_22_ccb: [u8; 0x10],
33}
34impl RegisterBlock {
35 #[doc = "0x00 - Control A"]
36 #[inline(always)]
37 pub const fn ctrla(&self) -> &Ctrla {
38 &self.ctrla
39 }
40 #[doc = "0x04 - Control B Clear"]
41 #[inline(always)]
42 pub const fn ctrlbclr(&self) -> &Ctrlbclr {
43 &self.ctrlbclr
44 }
45 #[doc = "0x05 - Control B Set"]
46 #[inline(always)]
47 pub const fn ctrlbset(&self) -> &Ctrlbset {
48 &self.ctrlbset
49 }
50 #[doc = "0x08 - Synchronization Busy"]
51 #[inline(always)]
52 pub const fn syncbusy(&self) -> &Syncbusy {
53 &self.syncbusy
54 }
55 #[doc = "0x0c - Recoverable Fault A Configuration"]
56 #[inline(always)]
57 pub const fn fctrla(&self) -> &Fctrla {
58 &self.fctrla
59 }
60 #[doc = "0x10 - Recoverable Fault B Configuration"]
61 #[inline(always)]
62 pub const fn fctrlb(&self) -> &Fctrlb {
63 &self.fctrlb
64 }
65 #[doc = "0x14 - Waveform Extension Configuration"]
66 #[inline(always)]
67 pub const fn wexctrl(&self) -> &Wexctrl {
68 &self.wexctrl
69 }
70 #[doc = "0x18 - Driver Control"]
71 #[inline(always)]
72 pub const fn drvctrl(&self) -> &Drvctrl {
73 &self.drvctrl
74 }
75 #[doc = "0x1e - Debug Control"]
76 #[inline(always)]
77 pub const fn dbgctrl(&self) -> &Dbgctrl {
78 &self.dbgctrl
79 }
80 #[doc = "0x20 - Event Control"]
81 #[inline(always)]
82 pub const fn evctrl(&self) -> &Evctrl {
83 &self.evctrl
84 }
85 #[doc = "0x24 - Interrupt Enable Clear"]
86 #[inline(always)]
87 pub const fn intenclr(&self) -> &Intenclr {
88 &self.intenclr
89 }
90 #[doc = "0x28 - Interrupt Enable Set"]
91 #[inline(always)]
92 pub const fn intenset(&self) -> &Intenset {
93 &self.intenset
94 }
95 #[doc = "0x2c - Interrupt Flag Status and Clear"]
96 #[inline(always)]
97 pub const fn intflag(&self) -> &Intflag {
98 &self.intflag
99 }
100 #[doc = "0x30 - Status"]
101 #[inline(always)]
102 pub const fn status(&self) -> &Status {
103 &self.status
104 }
105 #[doc = "0x34 - Count"]
106 #[inline(always)]
107 pub const fn count_dith6(&self) -> &CountDith6 {
108 unsafe { &*(self as *const Self).cast::<u8>().add(52).cast() }
109 }
110 #[doc = "0x34 - Count"]
111 #[inline(always)]
112 pub const fn count_dith5(&self) -> &CountDith5 {
113 unsafe { &*(self as *const Self).cast::<u8>().add(52).cast() }
114 }
115 #[doc = "0x34 - Count"]
116 #[inline(always)]
117 pub const fn count_dith4(&self) -> &CountDith4 {
118 unsafe { &*(self as *const Self).cast::<u8>().add(52).cast() }
119 }
120 #[doc = "0x34 - Count"]
121 #[inline(always)]
122 pub const fn count(&self) -> &Count {
123 unsafe { &*(self as *const Self).cast::<u8>().add(52).cast() }
124 }
125 #[doc = "0x38 - Pattern"]
126 #[inline(always)]
127 pub const fn patt(&self) -> &Patt {
128 &self.patt
129 }
130 #[doc = "0x3c - Waveform Control"]
131 #[inline(always)]
132 pub const fn wave(&self) -> &Wave {
133 &self.wave
134 }
135 #[doc = "0x40 - Period"]
136 #[inline(always)]
137 pub const fn per_dith6(&self) -> &PerDith6 {
138 unsafe { &*(self as *const Self).cast::<u8>().add(64).cast() }
139 }
140 #[doc = "0x40 - Period"]
141 #[inline(always)]
142 pub const fn per_dith5(&self) -> &PerDith5 {
143 unsafe { &*(self as *const Self).cast::<u8>().add(64).cast() }
144 }
145 #[doc = "0x40 - Period"]
146 #[inline(always)]
147 pub const fn per_dith4(&self) -> &PerDith4 {
148 unsafe { &*(self as *const Self).cast::<u8>().add(64).cast() }
149 }
150 #[doc = "0x40 - Period"]
151 #[inline(always)]
152 pub const fn per(&self) -> &Per {
153 unsafe { &*(self as *const Self).cast::<u8>().add(64).cast() }
154 }
155 #[doc = "0x44..0x54 - Compare and Capture"]
156 #[inline(always)]
157 pub const fn cc_dith6(&self, n: usize) -> &CcDith6 {
158 #[allow(clippy::no_effect)]
159 [(); 4][n];
160 unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() }
161 }
162 #[doc = "Iterator for array of:"]
163 #[doc = "0x44..0x54 - Compare and Capture"]
164 #[inline(always)]
165 pub fn cc_dith6_iter(&self) -> impl Iterator<Item = &CcDith6> {
166 (0..4)
167 .map(move |n| unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() })
168 }
169 #[doc = "0x44 - Compare and Capture"]
170 #[inline(always)]
171 pub const fn cc0_dith6(&self) -> &CcDith6 {
172 self.cc_dith6(0)
173 }
174 #[doc = "0x48 - Compare and Capture"]
175 #[inline(always)]
176 pub const fn cc1_dith6(&self) -> &CcDith6 {
177 self.cc_dith6(1)
178 }
179 #[doc = "0x4c - Compare and Capture"]
180 #[inline(always)]
181 pub const fn cc2_dith6(&self) -> &CcDith6 {
182 self.cc_dith6(2)
183 }
184 #[doc = "0x50 - Compare and Capture"]
185 #[inline(always)]
186 pub const fn cc3_dith6(&self) -> &CcDith6 {
187 self.cc_dith6(3)
188 }
189 #[doc = "0x44..0x54 - Compare and Capture"]
190 #[inline(always)]
191 pub const fn cc_dith5(&self, n: usize) -> &CcDith5 {
192 #[allow(clippy::no_effect)]
193 [(); 4][n];
194 unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() }
195 }
196 #[doc = "Iterator for array of:"]
197 #[doc = "0x44..0x54 - Compare and Capture"]
198 #[inline(always)]
199 pub fn cc_dith5_iter(&self) -> impl Iterator<Item = &CcDith5> {
200 (0..4)
201 .map(move |n| unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() })
202 }
203 #[doc = "0x44 - Compare and Capture"]
204 #[inline(always)]
205 pub const fn cc0_dith5(&self) -> &CcDith5 {
206 self.cc_dith5(0)
207 }
208 #[doc = "0x48 - Compare and Capture"]
209 #[inline(always)]
210 pub const fn cc1_dith5(&self) -> &CcDith5 {
211 self.cc_dith5(1)
212 }
213 #[doc = "0x4c - Compare and Capture"]
214 #[inline(always)]
215 pub const fn cc2_dith5(&self) -> &CcDith5 {
216 self.cc_dith5(2)
217 }
218 #[doc = "0x50 - Compare and Capture"]
219 #[inline(always)]
220 pub const fn cc3_dith5(&self) -> &CcDith5 {
221 self.cc_dith5(3)
222 }
223 #[doc = "0x44..0x54 - Compare and Capture"]
224 #[inline(always)]
225 pub const fn cc_dith4(&self, n: usize) -> &CcDith4 {
226 #[allow(clippy::no_effect)]
227 [(); 4][n];
228 unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() }
229 }
230 #[doc = "Iterator for array of:"]
231 #[doc = "0x44..0x54 - Compare and Capture"]
232 #[inline(always)]
233 pub fn cc_dith4_iter(&self) -> impl Iterator<Item = &CcDith4> {
234 (0..4)
235 .map(move |n| unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() })
236 }
237 #[doc = "0x44 - Compare and Capture"]
238 #[inline(always)]
239 pub const fn cc0_dith4(&self) -> &CcDith4 {
240 self.cc_dith4(0)
241 }
242 #[doc = "0x48 - Compare and Capture"]
243 #[inline(always)]
244 pub const fn cc1_dith4(&self) -> &CcDith4 {
245 self.cc_dith4(1)
246 }
247 #[doc = "0x4c - Compare and Capture"]
248 #[inline(always)]
249 pub const fn cc2_dith4(&self) -> &CcDith4 {
250 self.cc_dith4(2)
251 }
252 #[doc = "0x50 - Compare and Capture"]
253 #[inline(always)]
254 pub const fn cc3_dith4(&self) -> &CcDith4 {
255 self.cc_dith4(3)
256 }
257 #[doc = "0x44..0x54 - Compare and Capture"]
258 #[inline(always)]
259 pub const fn cc(&self, n: usize) -> &Cc {
260 #[allow(clippy::no_effect)]
261 [(); 4][n];
262 unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() }
263 }
264 #[doc = "Iterator for array of:"]
265 #[doc = "0x44..0x54 - Compare and Capture"]
266 #[inline(always)]
267 pub fn cc_iter(&self) -> impl Iterator<Item = &Cc> {
268 (0..4)
269 .map(move |n| unsafe { &*(self as *const Self).cast::<u8>().add(68).add(4 * n).cast() })
270 }
271 #[doc = "0x64 - Pattern Buffer"]
272 #[inline(always)]
273 pub const fn pattb(&self) -> &Pattb {
274 &self.pattb
275 }
276 #[doc = "0x68 - Waveform Control Buffer"]
277 #[inline(always)]
278 pub const fn waveb(&self) -> &Waveb {
279 &self.waveb
280 }
281 #[doc = "0x6c - Period Buffer"]
282 #[inline(always)]
283 pub const fn perb_dith6(&self) -> &PerbDith6 {
284 unsafe { &*(self as *const Self).cast::<u8>().add(108).cast() }
285 }
286 #[doc = "0x6c - Period Buffer"]
287 #[inline(always)]
288 pub const fn perb_dith5(&self) -> &PerbDith5 {
289 unsafe { &*(self as *const Self).cast::<u8>().add(108).cast() }
290 }
291 #[doc = "0x6c - Period Buffer"]
292 #[inline(always)]
293 pub const fn perb_dith4(&self) -> &PerbDith4 {
294 unsafe { &*(self as *const Self).cast::<u8>().add(108).cast() }
295 }
296 #[doc = "0x6c - Period Buffer"]
297 #[inline(always)]
298 pub const fn perb(&self) -> &Perb {
299 unsafe { &*(self as *const Self).cast::<u8>().add(108).cast() }
300 }
301 #[doc = "0x70..0x80 - Compare and Capture Buffer"]
302 #[inline(always)]
303 pub const fn ccb_dith6(&self, n: usize) -> &CcbDith6 {
304 #[allow(clippy::no_effect)]
305 [(); 4][n];
306 unsafe {
307 &*(self as *const Self)
308 .cast::<u8>()
309 .add(112)
310 .add(4 * n)
311 .cast()
312 }
313 }
314 #[doc = "Iterator for array of:"]
315 #[doc = "0x70..0x80 - Compare and Capture Buffer"]
316 #[inline(always)]
317 pub fn ccb_dith6_iter(&self) -> impl Iterator<Item = &CcbDith6> {
318 (0..4).map(move |n| unsafe {
319 &*(self as *const Self)
320 .cast::<u8>()
321 .add(112)
322 .add(4 * n)
323 .cast()
324 })
325 }
326 #[doc = "0x70 - Compare and Capture Buffer"]
327 #[inline(always)]
328 pub const fn ccb0_dith6(&self) -> &CcbDith6 {
329 self.ccb_dith6(0)
330 }
331 #[doc = "0x74 - Compare and Capture Buffer"]
332 #[inline(always)]
333 pub const fn ccb1_dith6(&self) -> &CcbDith6 {
334 self.ccb_dith6(1)
335 }
336 #[doc = "0x78 - Compare and Capture Buffer"]
337 #[inline(always)]
338 pub const fn ccb2_dith6(&self) -> &CcbDith6 {
339 self.ccb_dith6(2)
340 }
341 #[doc = "0x7c - Compare and Capture Buffer"]
342 #[inline(always)]
343 pub const fn ccb3_dith6(&self) -> &CcbDith6 {
344 self.ccb_dith6(3)
345 }
346 #[doc = "0x70..0x80 - Compare and Capture Buffer"]
347 #[inline(always)]
348 pub const fn ccb_dith5(&self, n: usize) -> &CcbDith5 {
349 #[allow(clippy::no_effect)]
350 [(); 4][n];
351 unsafe {
352 &*(self as *const Self)
353 .cast::<u8>()
354 .add(112)
355 .add(4 * n)
356 .cast()
357 }
358 }
359 #[doc = "Iterator for array of:"]
360 #[doc = "0x70..0x80 - Compare and Capture Buffer"]
361 #[inline(always)]
362 pub fn ccb_dith5_iter(&self) -> impl Iterator<Item = &CcbDith5> {
363 (0..4).map(move |n| unsafe {
364 &*(self as *const Self)
365 .cast::<u8>()
366 .add(112)
367 .add(4 * n)
368 .cast()
369 })
370 }
371 #[doc = "0x70 - Compare and Capture Buffer"]
372 #[inline(always)]
373 pub const fn ccb0_dith5(&self) -> &CcbDith5 {
374 self.ccb_dith5(0)
375 }
376 #[doc = "0x74 - Compare and Capture Buffer"]
377 #[inline(always)]
378 pub const fn ccb1_dith5(&self) -> &CcbDith5 {
379 self.ccb_dith5(1)
380 }
381 #[doc = "0x78 - Compare and Capture Buffer"]
382 #[inline(always)]
383 pub const fn ccb2_dith5(&self) -> &CcbDith5 {
384 self.ccb_dith5(2)
385 }
386 #[doc = "0x7c - Compare and Capture Buffer"]
387 #[inline(always)]
388 pub const fn ccb3_dith5(&self) -> &CcbDith5 {
389 self.ccb_dith5(3)
390 }
391 #[doc = "0x70..0x80 - Compare and Capture Buffer"]
392 #[inline(always)]
393 pub const fn ccb_dith4(&self, n: usize) -> &CcbDith4 {
394 #[allow(clippy::no_effect)]
395 [(); 4][n];
396 unsafe {
397 &*(self as *const Self)
398 .cast::<u8>()
399 .add(112)
400 .add(4 * n)
401 .cast()
402 }
403 }
404 #[doc = "Iterator for array of:"]
405 #[doc = "0x70..0x80 - Compare and Capture Buffer"]
406 #[inline(always)]
407 pub fn ccb_dith4_iter(&self) -> impl Iterator<Item = &CcbDith4> {
408 (0..4).map(move |n| unsafe {
409 &*(self as *const Self)
410 .cast::<u8>()
411 .add(112)
412 .add(4 * n)
413 .cast()
414 })
415 }
416 #[doc = "0x70 - Compare and Capture Buffer"]
417 #[inline(always)]
418 pub const fn ccb0_dith4(&self) -> &CcbDith4 {
419 self.ccb_dith4(0)
420 }
421 #[doc = "0x74 - Compare and Capture Buffer"]
422 #[inline(always)]
423 pub const fn ccb1_dith4(&self) -> &CcbDith4 {
424 self.ccb_dith4(1)
425 }
426 #[doc = "0x78 - Compare and Capture Buffer"]
427 #[inline(always)]
428 pub const fn ccb2_dith4(&self) -> &CcbDith4 {
429 self.ccb_dith4(2)
430 }
431 #[doc = "0x7c - Compare and Capture Buffer"]
432 #[inline(always)]
433 pub const fn ccb3_dith4(&self) -> &CcbDith4 {
434 self.ccb_dith4(3)
435 }
436 #[doc = "0x70..0x80 - Compare and Capture Buffer"]
437 #[inline(always)]
438 pub const fn ccb(&self, n: usize) -> &Ccb {
439 #[allow(clippy::no_effect)]
440 [(); 4][n];
441 unsafe {
442 &*(self as *const Self)
443 .cast::<u8>()
444 .add(112)
445 .add(4 * n)
446 .cast()
447 }
448 }
449 #[doc = "Iterator for array of:"]
450 #[doc = "0x70..0x80 - Compare and Capture Buffer"]
451 #[inline(always)]
452 pub fn ccb_iter(&self) -> impl Iterator<Item = &Ccb> {
453 (0..4).map(move |n| unsafe {
454 &*(self as *const Self)
455 .cast::<u8>()
456 .add(112)
457 .add(4 * n)
458 .cast()
459 })
460 }
461}
462#[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`]
463module"]
464#[doc(alias = "CTRLA")]
465pub type Ctrla = crate::Reg<ctrla::CtrlaSpec>;
466#[doc = "Control A"]
467pub mod ctrla;
468#[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`]
469module"]
470#[doc(alias = "CTRLBCLR")]
471pub type Ctrlbclr = crate::Reg<ctrlbclr::CtrlbclrSpec>;
472#[doc = "Control B Clear"]
473pub mod ctrlbclr;
474#[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`]
475module"]
476#[doc(alias = "CTRLBSET")]
477pub type Ctrlbset = crate::Reg<ctrlbset::CtrlbsetSpec>;
478#[doc = "Control B Set"]
479pub mod ctrlbset;
480#[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`]
481module"]
482#[doc(alias = "SYNCBUSY")]
483pub type Syncbusy = crate::Reg<syncbusy::SyncbusySpec>;
484#[doc = "Synchronization Busy"]
485pub mod syncbusy;
486#[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`]
487module"]
488#[doc(alias = "FCTRLA")]
489pub type Fctrla = crate::Reg<fctrla::FctrlaSpec>;
490#[doc = "Recoverable Fault A Configuration"]
491pub mod fctrla;
492#[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`]
493module"]
494#[doc(alias = "FCTRLB")]
495pub type Fctrlb = crate::Reg<fctrlb::FctrlbSpec>;
496#[doc = "Recoverable Fault B Configuration"]
497pub mod fctrlb;
498#[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`]
499module"]
500#[doc(alias = "WEXCTRL")]
501pub type Wexctrl = crate::Reg<wexctrl::WexctrlSpec>;
502#[doc = "Waveform Extension Configuration"]
503pub mod wexctrl;
504#[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`]
505module"]
506#[doc(alias = "DRVCTRL")]
507pub type Drvctrl = crate::Reg<drvctrl::DrvctrlSpec>;
508#[doc = "Driver Control"]
509pub mod drvctrl;
510#[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`]
511module"]
512#[doc(alias = "DBGCTRL")]
513pub type Dbgctrl = crate::Reg<dbgctrl::DbgctrlSpec>;
514#[doc = "Debug Control"]
515pub mod dbgctrl;
516#[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`]
517module"]
518#[doc(alias = "EVCTRL")]
519pub type Evctrl = crate::Reg<evctrl::EvctrlSpec>;
520#[doc = "Event Control"]
521pub mod evctrl;
522#[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`]
523module"]
524#[doc(alias = "INTENCLR")]
525pub type Intenclr = crate::Reg<intenclr::IntenclrSpec>;
526#[doc = "Interrupt Enable Clear"]
527pub mod intenclr;
528#[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`]
529module"]
530#[doc(alias = "INTENSET")]
531pub type Intenset = crate::Reg<intenset::IntensetSpec>;
532#[doc = "Interrupt Enable Set"]
533pub mod intenset;
534#[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`]
535module"]
536#[doc(alias = "INTFLAG")]
537pub type Intflag = crate::Reg<intflag::IntflagSpec>;
538#[doc = "Interrupt Flag Status and Clear"]
539pub mod intflag;
540#[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`]
541module"]
542#[doc(alias = "STATUS")]
543pub type Status = crate::Reg<status::StatusSpec>;
544#[doc = "Status"]
545pub mod status;
546#[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`]
547module"]
548#[doc(alias = "COUNT")]
549pub type Count = crate::Reg<count::CountSpec>;
550#[doc = "Count"]
551pub mod count;
552#[doc = "COUNT_DITH4 (rw) register accessor: Count\n\nYou can [`read`](crate::Reg::read) this register and get [`count_dith4::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`count_dith4::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`]
553module"]
554#[doc(alias = "COUNT_DITH4")]
555pub type CountDith4 = crate::Reg<count_dith4::CountDith4Spec>;
556#[doc = "Count"]
557pub mod count_dith4;
558#[doc = "COUNT_DITH5 (rw) register accessor: Count\n\nYou can [`read`](crate::Reg::read) this register and get [`count_dith5::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`count_dith5::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`]
559module"]
560#[doc(alias = "COUNT_DITH5")]
561pub type CountDith5 = crate::Reg<count_dith5::CountDith5Spec>;
562#[doc = "Count"]
563pub mod count_dith5;
564#[doc = "COUNT_DITH6 (rw) register accessor: Count\n\nYou can [`read`](crate::Reg::read) this register and get [`count_dith6::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`count_dith6::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`]
565module"]
566#[doc(alias = "COUNT_DITH6")]
567pub type CountDith6 = crate::Reg<count_dith6::CountDith6Spec>;
568#[doc = "Count"]
569pub mod count_dith6;
570#[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`]
571module"]
572#[doc(alias = "PATT")]
573pub type Patt = crate::Reg<patt::PattSpec>;
574#[doc = "Pattern"]
575pub mod patt;
576#[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`]
577module"]
578#[doc(alias = "WAVE")]
579pub type Wave = crate::Reg<wave::WaveSpec>;
580#[doc = "Waveform Control"]
581pub mod wave;
582#[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`]
583module"]
584#[doc(alias = "PER")]
585pub type Per = crate::Reg<per::PerSpec>;
586#[doc = "Period"]
587pub mod per;
588#[doc = "PER_DITH4 (rw) register accessor: Period\n\nYou can [`read`](crate::Reg::read) this register and get [`per_dith4::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`per_dith4::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`]
589module"]
590#[doc(alias = "PER_DITH4")]
591pub type PerDith4 = crate::Reg<per_dith4::PerDith4Spec>;
592#[doc = "Period"]
593pub mod per_dith4;
594#[doc = "PER_DITH5 (rw) register accessor: Period\n\nYou can [`read`](crate::Reg::read) this register and get [`per_dith5::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`per_dith5::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`]
595module"]
596#[doc(alias = "PER_DITH5")]
597pub type PerDith5 = crate::Reg<per_dith5::PerDith5Spec>;
598#[doc = "Period"]
599pub mod per_dith5;
600#[doc = "PER_DITH6 (rw) register accessor: Period\n\nYou can [`read`](crate::Reg::read) this register and get [`per_dith6::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`per_dith6::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`]
601module"]
602#[doc(alias = "PER_DITH6")]
603pub type PerDith6 = crate::Reg<per_dith6::PerDith6Spec>;
604#[doc = "Period"]
605pub mod per_dith6;
606#[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`]
607module"]
608#[doc(alias = "CC")]
609pub type Cc = crate::Reg<cc::CcSpec>;
610#[doc = "Compare and Capture"]
611pub mod cc;
612#[doc = "CC_DITH4 (rw) register accessor: Compare and Capture\n\nYou can [`read`](crate::Reg::read) this register and get [`cc_dith4::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cc_dith4::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`]
613module"]
614#[doc(alias = "CC_DITH4")]
615pub type CcDith4 = crate::Reg<cc_dith4::CcDith4Spec>;
616#[doc = "Compare and Capture"]
617pub mod cc_dith4;
618#[doc = "CC_DITH5 (rw) register accessor: Compare and Capture\n\nYou can [`read`](crate::Reg::read) this register and get [`cc_dith5::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cc_dith5::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`]
619module"]
620#[doc(alias = "CC_DITH5")]
621pub type CcDith5 = crate::Reg<cc_dith5::CcDith5Spec>;
622#[doc = "Compare and Capture"]
623pub mod cc_dith5;
624#[doc = "CC_DITH6 (rw) register accessor: Compare and Capture\n\nYou can [`read`](crate::Reg::read) this register and get [`cc_dith6::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cc_dith6::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`]
625module"]
626#[doc(alias = "CC_DITH6")]
627pub type CcDith6 = crate::Reg<cc_dith6::CcDith6Spec>;
628#[doc = "Compare and Capture"]
629pub mod cc_dith6;
630#[doc = "PATTB (rw) register accessor: Pattern Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`pattb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pattb::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@pattb`]
631module"]
632#[doc(alias = "PATTB")]
633pub type Pattb = crate::Reg<pattb::PattbSpec>;
634#[doc = "Pattern Buffer"]
635pub mod pattb;
636#[doc = "WAVEB (rw) register accessor: Waveform Control Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`waveb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`waveb::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@waveb`]
637module"]
638#[doc(alias = "WAVEB")]
639pub type Waveb = crate::Reg<waveb::WavebSpec>;
640#[doc = "Waveform Control Buffer"]
641pub mod waveb;
642#[doc = "PERB (rw) register accessor: Period Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`perb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`perb::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@perb`]
643module"]
644#[doc(alias = "PERB")]
645pub type Perb = crate::Reg<perb::PerbSpec>;
646#[doc = "Period Buffer"]
647pub mod perb;
648#[doc = "PERB_DITH4 (rw) register accessor: Period Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`perb_dith4::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`perb_dith4::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@perb_dith4`]
649module"]
650#[doc(alias = "PERB_DITH4")]
651pub type PerbDith4 = crate::Reg<perb_dith4::PerbDith4Spec>;
652#[doc = "Period Buffer"]
653pub mod perb_dith4;
654#[doc = "PERB_DITH5 (rw) register accessor: Period Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`perb_dith5::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`perb_dith5::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@perb_dith5`]
655module"]
656#[doc(alias = "PERB_DITH5")]
657pub type PerbDith5 = crate::Reg<perb_dith5::PerbDith5Spec>;
658#[doc = "Period Buffer"]
659pub mod perb_dith5;
660#[doc = "PERB_DITH6 (rw) register accessor: Period Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`perb_dith6::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`perb_dith6::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@perb_dith6`]
661module"]
662#[doc(alias = "PERB_DITH6")]
663pub type PerbDith6 = crate::Reg<perb_dith6::PerbDith6Spec>;
664#[doc = "Period Buffer"]
665pub mod perb_dith6;
666#[doc = "CCB (rw) register accessor: Compare and Capture Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`ccb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ccb::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@ccb`]
667module"]
668#[doc(alias = "CCB")]
669pub type Ccb = crate::Reg<ccb::CcbSpec>;
670#[doc = "Compare and Capture Buffer"]
671pub mod ccb;
672#[doc = "CCB_DITH4 (rw) register accessor: Compare and Capture Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`ccb_dith4::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ccb_dith4::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@ccb_dith4`]
673module"]
674#[doc(alias = "CCB_DITH4")]
675pub type CcbDith4 = crate::Reg<ccb_dith4::CcbDith4Spec>;
676#[doc = "Compare and Capture Buffer"]
677pub mod ccb_dith4;
678#[doc = "CCB_DITH5 (rw) register accessor: Compare and Capture Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`ccb_dith5::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ccb_dith5::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@ccb_dith5`]
679module"]
680#[doc(alias = "CCB_DITH5")]
681pub type CcbDith5 = crate::Reg<ccb_dith5::CcbDith5Spec>;
682#[doc = "Compare and Capture Buffer"]
683pub mod ccb_dith5;
684#[doc = "CCB_DITH6 (rw) register accessor: Compare and Capture Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`ccb_dith6::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ccb_dith6::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@ccb_dith6`]
685module"]
686#[doc(alias = "CCB_DITH6")]
687pub type CcbDith6 = crate::Reg<ccb_dith6::CcbDith6Spec>;
688#[doc = "Compare and Capture Buffer"]
689pub mod ccb_dith6;