atsamd11d/
tcc0.rs

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;