atsamd51n/
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; 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;