ra4e2_pac/
adc120.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.30.00, with svd2pac 0.4.0 on Sat, 12 Apr 2025 22:15:35 +0000
19
20#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"12-bit A/D Converter"]
28unsafe impl ::core::marker::Send for super::Adc120 {}
29unsafe impl ::core::marker::Sync for super::Adc120 {}
30impl super::Adc120 {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36    #[doc = "A/D Control Register"]
37    #[inline(always)]
38    pub const fn adcsr(&self) -> &'static crate::common::Reg<self::Adcsr_SPEC, crate::common::RW> {
39        unsafe {
40            crate::common::Reg::<self::Adcsr_SPEC, crate::common::RW>::from_ptr(
41                self._svd2pac_as_ptr().add(0usize),
42            )
43        }
44    }
45
46    #[doc = "A/D Channel Select Register A0"]
47    #[inline(always)]
48    pub const fn adansa0(
49        &self,
50    ) -> &'static crate::common::Reg<self::Adansa0_SPEC, crate::common::RW> {
51        unsafe {
52            crate::common::Reg::<self::Adansa0_SPEC, crate::common::RW>::from_ptr(
53                self._svd2pac_as_ptr().add(4usize),
54            )
55        }
56    }
57
58    #[doc = "A/D Channel Select Register A1"]
59    #[inline(always)]
60    pub const fn adansa1(
61        &self,
62    ) -> &'static crate::common::Reg<self::Adansa1_SPEC, crate::common::RW> {
63        unsafe {
64            crate::common::Reg::<self::Adansa1_SPEC, crate::common::RW>::from_ptr(
65                self._svd2pac_as_ptr().add(6usize),
66            )
67        }
68    }
69
70    #[doc = "A/D-Converted Value Addition/Average Channel Select Register 0"]
71    #[inline(always)]
72    pub const fn adads0(
73        &self,
74    ) -> &'static crate::common::Reg<self::Adads0_SPEC, crate::common::RW> {
75        unsafe {
76            crate::common::Reg::<self::Adads0_SPEC, crate::common::RW>::from_ptr(
77                self._svd2pac_as_ptr().add(8usize),
78            )
79        }
80    }
81
82    #[doc = "A/D-Converted Value Addition/Average Channel Select Register 1"]
83    #[inline(always)]
84    pub const fn adads1(
85        &self,
86    ) -> &'static crate::common::Reg<self::Adads1_SPEC, crate::common::RW> {
87        unsafe {
88            crate::common::Reg::<self::Adads1_SPEC, crate::common::RW>::from_ptr(
89                self._svd2pac_as_ptr().add(10usize),
90            )
91        }
92    }
93
94    #[doc = "A/D-Converted Value Addition/Average Count Select Register"]
95    #[inline(always)]
96    pub const fn adadc(&self) -> &'static crate::common::Reg<self::Adadc_SPEC, crate::common::RW> {
97        unsafe {
98            crate::common::Reg::<self::Adadc_SPEC, crate::common::RW>::from_ptr(
99                self._svd2pac_as_ptr().add(12usize),
100            )
101        }
102    }
103
104    #[doc = "A/D Control Extended Register"]
105    #[inline(always)]
106    pub const fn adcer(&self) -> &'static crate::common::Reg<self::Adcer_SPEC, crate::common::RW> {
107        unsafe {
108            crate::common::Reg::<self::Adcer_SPEC, crate::common::RW>::from_ptr(
109                self._svd2pac_as_ptr().add(14usize),
110            )
111        }
112    }
113
114    #[doc = "A/D Conversion Start Trigger Select Register"]
115    #[inline(always)]
116    pub const fn adstrgr(
117        &self,
118    ) -> &'static crate::common::Reg<self::Adstrgr_SPEC, crate::common::RW> {
119        unsafe {
120            crate::common::Reg::<self::Adstrgr_SPEC, crate::common::RW>::from_ptr(
121                self._svd2pac_as_ptr().add(16usize),
122            )
123        }
124    }
125
126    #[doc = "A/D Conversion Extended Input Control Registers"]
127    #[inline(always)]
128    pub const fn adexicr(
129        &self,
130    ) -> &'static crate::common::Reg<self::Adexicr_SPEC, crate::common::RW> {
131        unsafe {
132            crate::common::Reg::<self::Adexicr_SPEC, crate::common::RW>::from_ptr(
133                self._svd2pac_as_ptr().add(18usize),
134            )
135        }
136    }
137
138    #[doc = "A/D Channel Select Register B0"]
139    #[inline(always)]
140    pub const fn adansb0(
141        &self,
142    ) -> &'static crate::common::Reg<self::Adansb0_SPEC, crate::common::RW> {
143        unsafe {
144            crate::common::Reg::<self::Adansb0_SPEC, crate::common::RW>::from_ptr(
145                self._svd2pac_as_ptr().add(20usize),
146            )
147        }
148    }
149
150    #[doc = "A/D Channel Select Register B1"]
151    #[inline(always)]
152    pub const fn adansb1(
153        &self,
154    ) -> &'static crate::common::Reg<self::Adansb1_SPEC, crate::common::RW> {
155        unsafe {
156            crate::common::Reg::<self::Adansb1_SPEC, crate::common::RW>::from_ptr(
157                self._svd2pac_as_ptr().add(22usize),
158            )
159        }
160    }
161
162    #[doc = "A/D Data Duplexing Register"]
163    #[inline(always)]
164    pub const fn addbldr(
165        &self,
166    ) -> &'static crate::common::Reg<self::Addbldr_SPEC, crate::common::R> {
167        unsafe {
168            crate::common::Reg::<self::Addbldr_SPEC, crate::common::R>::from_ptr(
169                self._svd2pac_as_ptr().add(24usize),
170            )
171        }
172    }
173
174    #[doc = "A/D Temperature Sensor Data Register"]
175    #[inline(always)]
176    pub const fn adtsdr(&self) -> &'static crate::common::Reg<self::Adtsdr_SPEC, crate::common::R> {
177        unsafe {
178            crate::common::Reg::<self::Adtsdr_SPEC, crate::common::R>::from_ptr(
179                self._svd2pac_as_ptr().add(26usize),
180            )
181        }
182    }
183
184    #[doc = "A/D Internal Reference Voltage Data Register"]
185    #[inline(always)]
186    pub const fn adocdr(&self) -> &'static crate::common::Reg<self::Adocdr_SPEC, crate::common::R> {
187        unsafe {
188            crate::common::Reg::<self::Adocdr_SPEC, crate::common::R>::from_ptr(
189                self._svd2pac_as_ptr().add(28usize),
190            )
191        }
192    }
193
194    #[doc = "A/D Self-Diagnosis Data Register"]
195    #[inline(always)]
196    pub const fn adrd(&self) -> &'static crate::common::Reg<self::Adrd_SPEC, crate::common::R> {
197        unsafe {
198            crate::common::Reg::<self::Adrd_SPEC, crate::common::R>::from_ptr(
199                self._svd2pac_as_ptr().add(30usize),
200            )
201        }
202    }
203
204    #[doc = "A/D Data Registers %s"]
205    #[inline(always)]
206    pub const fn addr(
207        &self,
208    ) -> &'static crate::common::ClusterRegisterArray<
209        crate::common::Reg<self::Addr_SPEC, crate::common::R>,
210        3,
211        0x2,
212    > {
213        unsafe {
214            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x36usize))
215        }
216    }
217
218    #[doc = "A/D Data Registers 16"]
219    #[inline(always)]
220    pub const fn addr16(&self) -> &'static crate::common::Reg<self::Addr16_SPEC, crate::common::R> {
221        unsafe {
222            crate::common::Reg::<self::Addr16_SPEC, crate::common::R>::from_ptr(
223                self._svd2pac_as_ptr().add(64usize),
224            )
225        }
226    }
227
228    #[doc = "A/D Disconnection Detection Control Register"]
229    #[inline(always)]
230    pub const fn addiscr(
231        &self,
232    ) -> &'static crate::common::Reg<self::Addiscr_SPEC, crate::common::RW> {
233        unsafe {
234            crate::common::Reg::<self::Addiscr_SPEC, crate::common::RW>::from_ptr(
235                self._svd2pac_as_ptr().add(122usize),
236            )
237        }
238    }
239
240    #[doc = "A/D Group Scan Priority Control Register"]
241    #[inline(always)]
242    pub const fn adgspcr(
243        &self,
244    ) -> &'static crate::common::Reg<self::Adgspcr_SPEC, crate::common::RW> {
245        unsafe {
246            crate::common::Reg::<self::Adgspcr_SPEC, crate::common::RW>::from_ptr(
247                self._svd2pac_as_ptr().add(128usize),
248            )
249        }
250    }
251
252    #[doc = "A/D Data Duplexing Register A"]
253    #[inline(always)]
254    pub const fn addbldra(
255        &self,
256    ) -> &'static crate::common::Reg<self::Addbldra_SPEC, crate::common::R> {
257        unsafe {
258            crate::common::Reg::<self::Addbldra_SPEC, crate::common::R>::from_ptr(
259                self._svd2pac_as_ptr().add(132usize),
260            )
261        }
262    }
263
264    #[doc = "A/D Data Duplexing Register B"]
265    #[inline(always)]
266    pub const fn addbldrb(
267        &self,
268    ) -> &'static crate::common::Reg<self::Addbldrb_SPEC, crate::common::R> {
269        unsafe {
270            crate::common::Reg::<self::Addbldrb_SPEC, crate::common::R>::from_ptr(
271                self._svd2pac_as_ptr().add(134usize),
272            )
273        }
274    }
275
276    #[doc = "A/D Compare Function Window A/B Status Monitor Register"]
277    #[inline(always)]
278    pub const fn adwinmon(
279        &self,
280    ) -> &'static crate::common::Reg<self::Adwinmon_SPEC, crate::common::R> {
281        unsafe {
282            crate::common::Reg::<self::Adwinmon_SPEC, crate::common::R>::from_ptr(
283                self._svd2pac_as_ptr().add(140usize),
284            )
285        }
286    }
287
288    #[doc = "A/D Compare Function Control Register"]
289    #[inline(always)]
290    pub const fn adcmpcr(
291        &self,
292    ) -> &'static crate::common::Reg<self::Adcmpcr_SPEC, crate::common::RW> {
293        unsafe {
294            crate::common::Reg::<self::Adcmpcr_SPEC, crate::common::RW>::from_ptr(
295                self._svd2pac_as_ptr().add(144usize),
296            )
297        }
298    }
299
300    #[doc = "A/D Compare Function Window A Extended Input Select Register"]
301    #[inline(always)]
302    pub const fn adcmpanser(
303        &self,
304    ) -> &'static crate::common::Reg<self::Adcmpanser_SPEC, crate::common::RW> {
305        unsafe {
306            crate::common::Reg::<self::Adcmpanser_SPEC, crate::common::RW>::from_ptr(
307                self._svd2pac_as_ptr().add(146usize),
308            )
309        }
310    }
311
312    #[doc = "A/D Compare Function Window A Extended Input Comparison Condition Setting Register"]
313    #[inline(always)]
314    pub const fn adcmpler(
315        &self,
316    ) -> &'static crate::common::Reg<self::Adcmpler_SPEC, crate::common::RW> {
317        unsafe {
318            crate::common::Reg::<self::Adcmpler_SPEC, crate::common::RW>::from_ptr(
319                self._svd2pac_as_ptr().add(147usize),
320            )
321        }
322    }
323
324    #[doc = "A/D Compare Function Window A Channel Select Register 0"]
325    #[inline(always)]
326    pub const fn adcmpansr0(
327        &self,
328    ) -> &'static crate::common::Reg<self::Adcmpansr0_SPEC, crate::common::RW> {
329        unsafe {
330            crate::common::Reg::<self::Adcmpansr0_SPEC, crate::common::RW>::from_ptr(
331                self._svd2pac_as_ptr().add(148usize),
332            )
333        }
334    }
335
336    #[doc = "A/D Compare Function Window A Channel Select Register 1"]
337    #[inline(always)]
338    pub const fn adcmpansr1(
339        &self,
340    ) -> &'static crate::common::Reg<self::Adcmpansr1_SPEC, crate::common::RW> {
341        unsafe {
342            crate::common::Reg::<self::Adcmpansr1_SPEC, crate::common::RW>::from_ptr(
343                self._svd2pac_as_ptr().add(150usize),
344            )
345        }
346    }
347
348    #[doc = "A/D Compare Function Window A Comparison Condition Setting Register 0"]
349    #[inline(always)]
350    pub const fn adcmplr0(
351        &self,
352    ) -> &'static crate::common::Reg<self::Adcmplr0_SPEC, crate::common::RW> {
353        unsafe {
354            crate::common::Reg::<self::Adcmplr0_SPEC, crate::common::RW>::from_ptr(
355                self._svd2pac_as_ptr().add(152usize),
356            )
357        }
358    }
359
360    #[doc = "A/D Compare Function Window A Comparison Condition Setting Register 1"]
361    #[inline(always)]
362    pub const fn adcmplr1(
363        &self,
364    ) -> &'static crate::common::Reg<self::Adcmplr1_SPEC, crate::common::RW> {
365        unsafe {
366            crate::common::Reg::<self::Adcmplr1_SPEC, crate::common::RW>::from_ptr(
367                self._svd2pac_as_ptr().add(154usize),
368            )
369        }
370    }
371
372    #[doc = "A/D Compare Function Window A Lower-Side/Upper-Side Level Setting Register %s"]
373    #[inline(always)]
374    pub const fn adcmpdr(
375        &self,
376    ) -> &'static crate::common::ClusterRegisterArray<
377        crate::common::Reg<self::Adcmpdr_SPEC, crate::common::RW>,
378        2,
379        0x2,
380    > {
381        unsafe {
382            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x9cusize))
383        }
384    }
385
386    #[doc = "A/D Compare Function Window A Channel Status Register 0"]
387    #[inline(always)]
388    pub const fn adcmpsr0(
389        &self,
390    ) -> &'static crate::common::Reg<self::Adcmpsr0_SPEC, crate::common::RW> {
391        unsafe {
392            crate::common::Reg::<self::Adcmpsr0_SPEC, crate::common::RW>::from_ptr(
393                self._svd2pac_as_ptr().add(160usize),
394            )
395        }
396    }
397
398    #[doc = "A/D Compare Function Window A Channel Status Register1"]
399    #[inline(always)]
400    pub const fn adcmpsr1(
401        &self,
402    ) -> &'static crate::common::Reg<self::Adcmpsr1_SPEC, crate::common::RW> {
403        unsafe {
404            crate::common::Reg::<self::Adcmpsr1_SPEC, crate::common::RW>::from_ptr(
405                self._svd2pac_as_ptr().add(162usize),
406            )
407        }
408    }
409
410    #[doc = "A/D Compare Function Window A Extended Input Channel Status Register"]
411    #[inline(always)]
412    pub const fn adcmpser(
413        &self,
414    ) -> &'static crate::common::Reg<self::Adcmpser_SPEC, crate::common::RW> {
415        unsafe {
416            crate::common::Reg::<self::Adcmpser_SPEC, crate::common::RW>::from_ptr(
417                self._svd2pac_as_ptr().add(164usize),
418            )
419        }
420    }
421
422    #[doc = "A/D Compare Function Window B Channel Select Register"]
423    #[inline(always)]
424    pub const fn adcmpbnsr(
425        &self,
426    ) -> &'static crate::common::Reg<self::Adcmpbnsr_SPEC, crate::common::RW> {
427        unsafe {
428            crate::common::Reg::<self::Adcmpbnsr_SPEC, crate::common::RW>::from_ptr(
429                self._svd2pac_as_ptr().add(166usize),
430            )
431        }
432    }
433
434    #[doc = "A/D Compare Function Window B Lower-Side/Upper-Side Level Setting Register L"]
435    #[inline(always)]
436    pub const fn adwinllb(
437        &self,
438    ) -> &'static crate::common::Reg<self::Adwinllb_SPEC, crate::common::RW> {
439        unsafe {
440            crate::common::Reg::<self::Adwinllb_SPEC, crate::common::RW>::from_ptr(
441                self._svd2pac_as_ptr().add(168usize),
442            )
443        }
444    }
445
446    #[doc = "A/D Compare Function Window B Lower-Side/Upper-Side Level Setting Register U"]
447    #[inline(always)]
448    pub const fn adwinulb(
449        &self,
450    ) -> &'static crate::common::Reg<self::Adwinulb_SPEC, crate::common::RW> {
451        unsafe {
452            crate::common::Reg::<self::Adwinulb_SPEC, crate::common::RW>::from_ptr(
453                self._svd2pac_as_ptr().add(170usize),
454            )
455        }
456    }
457
458    #[doc = "A/D Compare Function Window B Status Register"]
459    #[inline(always)]
460    pub const fn adcmpbsr(
461        &self,
462    ) -> &'static crate::common::Reg<self::Adcmpbsr_SPEC, crate::common::RW> {
463        unsafe {
464            crate::common::Reg::<self::Adcmpbsr_SPEC, crate::common::RW>::from_ptr(
465                self._svd2pac_as_ptr().add(172usize),
466            )
467        }
468    }
469
470    #[doc = "A/D Data Buffer Registers %s"]
471    #[inline(always)]
472    pub const fn adbuf(
473        &self,
474    ) -> &'static crate::common::ClusterRegisterArray<
475        crate::common::Reg<self::Adbuf_SPEC, crate::common::R>,
476        16,
477        0x2,
478    > {
479        unsafe {
480            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xb0usize))
481        }
482    }
483
484    #[doc = "A/D Data Buffer Enable Register"]
485    #[inline(always)]
486    pub const fn adbufen(
487        &self,
488    ) -> &'static crate::common::Reg<self::Adbufen_SPEC, crate::common::RW> {
489        unsafe {
490            crate::common::Reg::<self::Adbufen_SPEC, crate::common::RW>::from_ptr(
491                self._svd2pac_as_ptr().add(208usize),
492            )
493        }
494    }
495
496    #[doc = "A/D Data Buffer Pointer Register"]
497    #[inline(always)]
498    pub const fn adbufptr(
499        &self,
500    ) -> &'static crate::common::Reg<self::Adbufptr_SPEC, crate::common::RW> {
501        unsafe {
502            crate::common::Reg::<self::Adbufptr_SPEC, crate::common::RW>::from_ptr(
503                self._svd2pac_as_ptr().add(210usize),
504            )
505        }
506    }
507
508    #[doc = "A/D Sampling State Register"]
509    #[inline(always)]
510    pub const fn adsstrl(
511        &self,
512    ) -> &'static crate::common::Reg<self::Adsstrl_SPEC, crate::common::RW> {
513        unsafe {
514            crate::common::Reg::<self::Adsstrl_SPEC, crate::common::RW>::from_ptr(
515                self._svd2pac_as_ptr().add(221usize),
516            )
517        }
518    }
519
520    #[doc = "A/D Sampling State Register"]
521    #[inline(always)]
522    pub const fn adsstrt(
523        &self,
524    ) -> &'static crate::common::Reg<self::Adsstrt_SPEC, crate::common::RW> {
525        unsafe {
526            crate::common::Reg::<self::Adsstrt_SPEC, crate::common::RW>::from_ptr(
527                self._svd2pac_as_ptr().add(222usize),
528            )
529        }
530    }
531
532    #[doc = "A/D Sampling State Register"]
533    #[inline(always)]
534    pub const fn adsstro(
535        &self,
536    ) -> &'static crate::common::Reg<self::Adsstro_SPEC, crate::common::RW> {
537        unsafe {
538            crate::common::Reg::<self::Adsstro_SPEC, crate::common::RW>::from_ptr(
539                self._svd2pac_as_ptr().add(223usize),
540            )
541        }
542    }
543
544    #[doc = "A/D Sampling State Register"]
545    #[inline(always)]
546    pub const fn adsstr(
547        &self,
548    ) -> &'static crate::common::ClusterRegisterArray<
549        crate::common::Reg<self::Adsstr_SPEC, crate::common::RW>,
550        3,
551        0x1,
552    > {
553        unsafe {
554            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xebusize))
555        }
556    }
557}
558#[doc(hidden)]
559#[derive(Copy, Clone, Eq, PartialEq)]
560pub struct Adcsr_SPEC;
561impl crate::sealed::RegSpec for Adcsr_SPEC {
562    type DataType = u16;
563}
564#[doc = "A/D Control Register"]
565pub type Adcsr = crate::RegValueT<Adcsr_SPEC>;
566
567impl Adcsr {
568    #[doc = "Double Trigger Channel Select"]
569    #[inline(always)]
570    pub fn dblans(
571        self,
572    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, Adcsr_SPEC, crate::common::RW> {
573        crate::common::RegisterField::<0,0x1f,1,0,u8, Adcsr_SPEC,crate::common::RW>::from_register(self,0)
574    }
575    #[doc = "Group B Scan End Interrupt and ELC Event Enable"]
576    #[inline(always)]
577    pub fn gbadie(
578        self,
579    ) -> crate::common::RegisterField<6, 0x1, 1, 0, adcsr::Gbadie, Adcsr_SPEC, crate::common::RW>
580    {
581        crate::common::RegisterField::<6,0x1,1,0,adcsr::Gbadie, Adcsr_SPEC,crate::common::RW>::from_register(self,0)
582    }
583    #[doc = "Double Trigger Mode Select"]
584    #[inline(always)]
585    pub fn dble(
586        self,
587    ) -> crate::common::RegisterField<7, 0x1, 1, 0, adcsr::Dble, Adcsr_SPEC, crate::common::RW>
588    {
589        crate::common::RegisterField::<7,0x1,1,0,adcsr::Dble, Adcsr_SPEC,crate::common::RW>::from_register(self,0)
590    }
591    #[doc = "Trigger Select"]
592    #[inline(always)]
593    pub fn extrg(
594        self,
595    ) -> crate::common::RegisterField<8, 0x1, 1, 0, adcsr::Extrg, Adcsr_SPEC, crate::common::RW>
596    {
597        crate::common::RegisterField::<8,0x1,1,0,adcsr::Extrg, Adcsr_SPEC,crate::common::RW>::from_register(self,0)
598    }
599    #[doc = "Trigger Start Enable"]
600    #[inline(always)]
601    pub fn trge(
602        self,
603    ) -> crate::common::RegisterField<9, 0x1, 1, 0, adcsr::Trge, Adcsr_SPEC, crate::common::RW>
604    {
605        crate::common::RegisterField::<9,0x1,1,0,adcsr::Trge, Adcsr_SPEC,crate::common::RW>::from_register(self,0)
606    }
607    #[doc = "Scan Mode Select"]
608    #[inline(always)]
609    pub fn adcs(
610        self,
611    ) -> crate::common::RegisterField<13, 0x3, 1, 0, adcsr::Adcs, Adcsr_SPEC, crate::common::RW>
612    {
613        crate::common::RegisterField::<13,0x3,1,0,adcsr::Adcs, Adcsr_SPEC,crate::common::RW>::from_register(self,0)
614    }
615    #[doc = "A/D Conversion Start"]
616    #[inline(always)]
617    pub fn adst(
618        self,
619    ) -> crate::common::RegisterField<15, 0x1, 1, 0, adcsr::Adst, Adcsr_SPEC, crate::common::RW>
620    {
621        crate::common::RegisterField::<15,0x1,1,0,adcsr::Adst, Adcsr_SPEC,crate::common::RW>::from_register(self,0)
622    }
623}
624impl ::core::default::Default for Adcsr {
625    #[inline(always)]
626    fn default() -> Adcsr {
627        <crate::RegValueT<Adcsr_SPEC> as RegisterValue<_>>::new(0)
628    }
629}
630pub mod adcsr {
631
632    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
633    pub struct Gbadie_SPEC;
634    pub type Gbadie = crate::EnumBitfieldStruct<u8, Gbadie_SPEC>;
635    impl Gbadie {
636        #[doc = "Disable ADC120_GBADI interrupt generation on group B scan completion."]
637        pub const _0: Self = Self::new(0);
638        #[doc = "Enable ADC120_GBADI interrupt generation on group B scan completion."]
639        pub const _1: Self = Self::new(1);
640    }
641    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
642    pub struct Dble_SPEC;
643    pub type Dble = crate::EnumBitfieldStruct<u8, Dble_SPEC>;
644    impl Dble {
645        #[doc = "Deselect double-trigger mode."]
646        pub const _0: Self = Self::new(0);
647        #[doc = "Select double-trigger mode."]
648        pub const _1: Self = Self::new(1);
649    }
650    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
651    pub struct Extrg_SPEC;
652    pub type Extrg = crate::EnumBitfieldStruct<u8, Extrg_SPEC>;
653    impl Extrg {
654        #[doc = "Start A/D conversion by the synchronous trigger (ELC)."]
655        pub const _0: Self = Self::new(0);
656        #[doc = "Start A/D conversion by the asynchronous trigger (ADTRG0)."]
657        pub const _1: Self = Self::new(1);
658    }
659    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
660    pub struct Trge_SPEC;
661    pub type Trge = crate::EnumBitfieldStruct<u8, Trge_SPEC>;
662    impl Trge {
663        #[doc = "Disable A/D conversion to be started by the synchronous or asynchronous trigger"]
664        pub const _0: Self = Self::new(0);
665        #[doc = "Enable A/D conversion to be started by the synchronous or asynchronous trigger"]
666        pub const _1: Self = Self::new(1);
667    }
668    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
669    pub struct Adcs_SPEC;
670    pub type Adcs = crate::EnumBitfieldStruct<u8, Adcs_SPEC>;
671    impl Adcs {
672        #[doc = "Single scan mode"]
673        pub const _00: Self = Self::new(0);
674        #[doc = "Group scan mode"]
675        pub const _01: Self = Self::new(1);
676        #[doc = "Continuous scan mode"]
677        pub const _10: Self = Self::new(2);
678        #[doc = "Setting prohibited"]
679        pub const _11: Self = Self::new(3);
680    }
681    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
682    pub struct Adst_SPEC;
683    pub type Adst = crate::EnumBitfieldStruct<u8, Adst_SPEC>;
684    impl Adst {
685        #[doc = "Stop A/D conversion process."]
686        pub const _0: Self = Self::new(0);
687        #[doc = "Start A/D conversion process."]
688        pub const _1: Self = Self::new(1);
689    }
690}
691#[doc(hidden)]
692#[derive(Copy, Clone, Eq, PartialEq)]
693pub struct Adansa0_SPEC;
694impl crate::sealed::RegSpec for Adansa0_SPEC {
695    type DataType = u16;
696}
697#[doc = "A/D Channel Select Register A0"]
698pub type Adansa0 = crate::RegValueT<Adansa0_SPEC>;
699
700impl Adansa0 {
701    #[doc = "A/D Conversion Channels Select"]
702    #[inline(always)]
703    pub fn ansa00(
704        self,
705    ) -> crate::common::RegisterField<0, 0x1, 1, 0, adansa0::Ansa00, Adansa0_SPEC, crate::common::RW>
706    {
707        crate::common::RegisterField::<0,0x1,1,0,adansa0::Ansa00, Adansa0_SPEC,crate::common::RW>::from_register(self,0)
708    }
709    #[doc = "A/D Conversion Channels Select"]
710    #[inline(always)]
711    pub fn ansa01(
712        self,
713    ) -> crate::common::RegisterField<1, 0x1, 1, 0, adansa0::Ansa01, Adansa0_SPEC, crate::common::RW>
714    {
715        crate::common::RegisterField::<1,0x1,1,0,adansa0::Ansa01, Adansa0_SPEC,crate::common::RW>::from_register(self,0)
716    }
717    #[doc = "A/D Conversion Channels Select"]
718    #[inline(always)]
719    pub fn ansa02(
720        self,
721    ) -> crate::common::RegisterField<2, 0x1, 1, 0, adansa0::Ansa02, Adansa0_SPEC, crate::common::RW>
722    {
723        crate::common::RegisterField::<2,0x1,1,0,adansa0::Ansa02, Adansa0_SPEC,crate::common::RW>::from_register(self,0)
724    }
725    #[doc = "A/D Conversion Channels Select"]
726    #[inline(always)]
727    pub fn ansa03(
728        self,
729    ) -> crate::common::RegisterField<3, 0x1, 1, 0, adansa0::Ansa03, Adansa0_SPEC, crate::common::RW>
730    {
731        crate::common::RegisterField::<3,0x1,1,0,adansa0::Ansa03, Adansa0_SPEC,crate::common::RW>::from_register(self,0)
732    }
733    #[doc = "A/D Conversion Channels Select"]
734    #[inline(always)]
735    pub fn ansa04(
736        self,
737    ) -> crate::common::RegisterField<4, 0x1, 1, 0, adansa0::Ansa04, Adansa0_SPEC, crate::common::RW>
738    {
739        crate::common::RegisterField::<4,0x1,1,0,adansa0::Ansa04, Adansa0_SPEC,crate::common::RW>::from_register(self,0)
740    }
741    #[doc = "A/D Conversion Channels Select"]
742    #[inline(always)]
743    pub fn ansa05(
744        self,
745    ) -> crate::common::RegisterField<5, 0x1, 1, 0, adansa0::Ansa05, Adansa0_SPEC, crate::common::RW>
746    {
747        crate::common::RegisterField::<5,0x1,1,0,adansa0::Ansa05, Adansa0_SPEC,crate::common::RW>::from_register(self,0)
748    }
749    #[doc = "A/D Conversion Channels Select"]
750    #[inline(always)]
751    pub fn ansa06(
752        self,
753    ) -> crate::common::RegisterField<6, 0x1, 1, 0, adansa0::Ansa06, Adansa0_SPEC, crate::common::RW>
754    {
755        crate::common::RegisterField::<6,0x1,1,0,adansa0::Ansa06, Adansa0_SPEC,crate::common::RW>::from_register(self,0)
756    }
757    #[doc = "A/D Conversion Channels Select"]
758    #[inline(always)]
759    pub fn ansa07(
760        self,
761    ) -> crate::common::RegisterField<7, 0x1, 1, 0, adansa0::Ansa07, Adansa0_SPEC, crate::common::RW>
762    {
763        crate::common::RegisterField::<7,0x1,1,0,adansa0::Ansa07, Adansa0_SPEC,crate::common::RW>::from_register(self,0)
764    }
765    #[doc = "A/D Conversion Channels Select"]
766    #[inline(always)]
767    pub fn ansa08(
768        self,
769    ) -> crate::common::RegisterField<8, 0x1, 1, 0, adansa0::Ansa08, Adansa0_SPEC, crate::common::RW>
770    {
771        crate::common::RegisterField::<8,0x1,1,0,adansa0::Ansa08, Adansa0_SPEC,crate::common::RW>::from_register(self,0)
772    }
773    #[doc = "A/D Conversion Channels Select"]
774    #[inline(always)]
775    pub fn ansa09(
776        self,
777    ) -> crate::common::RegisterField<9, 0x1, 1, 0, adansa0::Ansa09, Adansa0_SPEC, crate::common::RW>
778    {
779        crate::common::RegisterField::<9,0x1,1,0,adansa0::Ansa09, Adansa0_SPEC,crate::common::RW>::from_register(self,0)
780    }
781    #[doc = "A/D Conversion Channels Select"]
782    #[inline(always)]
783    pub fn ansa10(
784        self,
785    ) -> crate::common::RegisterField<10, 0x1, 1, 0, adansa0::Ansa10, Adansa0_SPEC, crate::common::RW>
786    {
787        crate::common::RegisterField::<
788            10,
789            0x1,
790            1,
791            0,
792            adansa0::Ansa10,
793            Adansa0_SPEC,
794            crate::common::RW,
795        >::from_register(self, 0)
796    }
797    #[doc = "A/D Conversion Channels Select"]
798    #[inline(always)]
799    pub fn ansa11(
800        self,
801    ) -> crate::common::RegisterField<11, 0x1, 1, 0, adansa0::Ansa11, Adansa0_SPEC, crate::common::RW>
802    {
803        crate::common::RegisterField::<
804            11,
805            0x1,
806            1,
807            0,
808            adansa0::Ansa11,
809            Adansa0_SPEC,
810            crate::common::RW,
811        >::from_register(self, 0)
812    }
813    #[doc = "A/D Conversion Channels Select"]
814    #[inline(always)]
815    pub fn ansa12(
816        self,
817    ) -> crate::common::RegisterField<12, 0x1, 1, 0, adansa0::Ansa12, Adansa0_SPEC, crate::common::RW>
818    {
819        crate::common::RegisterField::<
820            12,
821            0x1,
822            1,
823            0,
824            adansa0::Ansa12,
825            Adansa0_SPEC,
826            crate::common::RW,
827        >::from_register(self, 0)
828    }
829    #[doc = "A/D Conversion Channels Select"]
830    #[inline(always)]
831    pub fn ansa13(
832        self,
833    ) -> crate::common::RegisterField<13, 0x1, 1, 0, adansa0::Ansa13, Adansa0_SPEC, crate::common::RW>
834    {
835        crate::common::RegisterField::<
836            13,
837            0x1,
838            1,
839            0,
840            adansa0::Ansa13,
841            Adansa0_SPEC,
842            crate::common::RW,
843        >::from_register(self, 0)
844    }
845    #[doc = "A/D Conversion Channels Select"]
846    #[inline(always)]
847    pub fn ansa14(
848        self,
849    ) -> crate::common::RegisterField<14, 0x1, 1, 0, adansa0::Ansa14, Adansa0_SPEC, crate::common::RW>
850    {
851        crate::common::RegisterField::<
852            14,
853            0x1,
854            1,
855            0,
856            adansa0::Ansa14,
857            Adansa0_SPEC,
858            crate::common::RW,
859        >::from_register(self, 0)
860    }
861    #[doc = "A/D Conversion Channels Select"]
862    #[inline(always)]
863    pub fn ansa15(
864        self,
865    ) -> crate::common::RegisterField<15, 0x1, 1, 0, adansa0::Ansa15, Adansa0_SPEC, crate::common::RW>
866    {
867        crate::common::RegisterField::<
868            15,
869            0x1,
870            1,
871            0,
872            adansa0::Ansa15,
873            Adansa0_SPEC,
874            crate::common::RW,
875        >::from_register(self, 0)
876    }
877}
878impl ::core::default::Default for Adansa0 {
879    #[inline(always)]
880    fn default() -> Adansa0 {
881        <crate::RegValueT<Adansa0_SPEC> as RegisterValue<_>>::new(0)
882    }
883}
884pub mod adansa0 {
885
886    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
887    pub struct Ansa00_SPEC;
888    pub type Ansa00 = crate::EnumBitfieldStruct<u8, Ansa00_SPEC>;
889    impl Ansa00 {
890        #[doc = "Do not select associated input channel."]
891        pub const _0: Self = Self::new(0);
892        #[doc = "Select associated input channel."]
893        pub const _1: Self = Self::new(1);
894    }
895    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
896    pub struct Ansa01_SPEC;
897    pub type Ansa01 = crate::EnumBitfieldStruct<u8, Ansa01_SPEC>;
898    impl Ansa01 {
899        #[doc = "Do not select associated input channel."]
900        pub const _0: Self = Self::new(0);
901        #[doc = "Select associated input channel."]
902        pub const _1: Self = Self::new(1);
903    }
904    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
905    pub struct Ansa02_SPEC;
906    pub type Ansa02 = crate::EnumBitfieldStruct<u8, Ansa02_SPEC>;
907    impl Ansa02 {
908        #[doc = "Do not select associated input channel."]
909        pub const _0: Self = Self::new(0);
910        #[doc = "Select associated input channel."]
911        pub const _1: Self = Self::new(1);
912    }
913    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
914    pub struct Ansa03_SPEC;
915    pub type Ansa03 = crate::EnumBitfieldStruct<u8, Ansa03_SPEC>;
916    impl Ansa03 {
917        #[doc = "Do not select associated input channel."]
918        pub const _0: Self = Self::new(0);
919        #[doc = "Select associated input channel."]
920        pub const _1: Self = Self::new(1);
921    }
922    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
923    pub struct Ansa04_SPEC;
924    pub type Ansa04 = crate::EnumBitfieldStruct<u8, Ansa04_SPEC>;
925    impl Ansa04 {
926        #[doc = "Do not select associated input channel."]
927        pub const _0: Self = Self::new(0);
928        #[doc = "Select associated input channel."]
929        pub const _1: Self = Self::new(1);
930    }
931    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
932    pub struct Ansa05_SPEC;
933    pub type Ansa05 = crate::EnumBitfieldStruct<u8, Ansa05_SPEC>;
934    impl Ansa05 {
935        #[doc = "Do not select associated input channel."]
936        pub const _0: Self = Self::new(0);
937        #[doc = "Select associated input channel."]
938        pub const _1: Self = Self::new(1);
939    }
940    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
941    pub struct Ansa06_SPEC;
942    pub type Ansa06 = crate::EnumBitfieldStruct<u8, Ansa06_SPEC>;
943    impl Ansa06 {
944        #[doc = "Do not select associated input channel."]
945        pub const _0: Self = Self::new(0);
946        #[doc = "Select associated input channel."]
947        pub const _1: Self = Self::new(1);
948    }
949    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
950    pub struct Ansa07_SPEC;
951    pub type Ansa07 = crate::EnumBitfieldStruct<u8, Ansa07_SPEC>;
952    impl Ansa07 {
953        #[doc = "Do not select associated input channel."]
954        pub const _0: Self = Self::new(0);
955        #[doc = "Select associated input channel."]
956        pub const _1: Self = Self::new(1);
957    }
958    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
959    pub struct Ansa08_SPEC;
960    pub type Ansa08 = crate::EnumBitfieldStruct<u8, Ansa08_SPEC>;
961    impl Ansa08 {
962        #[doc = "Do not select associated input channel."]
963        pub const _0: Self = Self::new(0);
964        #[doc = "Select associated input channel."]
965        pub const _1: Self = Self::new(1);
966    }
967    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
968    pub struct Ansa09_SPEC;
969    pub type Ansa09 = crate::EnumBitfieldStruct<u8, Ansa09_SPEC>;
970    impl Ansa09 {
971        #[doc = "Do not select associated input channel."]
972        pub const _0: Self = Self::new(0);
973        #[doc = "Select associated input channel."]
974        pub const _1: Self = Self::new(1);
975    }
976    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
977    pub struct Ansa10_SPEC;
978    pub type Ansa10 = crate::EnumBitfieldStruct<u8, Ansa10_SPEC>;
979    impl Ansa10 {
980        #[doc = "Do not select associated input channel."]
981        pub const _0: Self = Self::new(0);
982        #[doc = "Select associated input channel."]
983        pub const _1: Self = Self::new(1);
984    }
985    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
986    pub struct Ansa11_SPEC;
987    pub type Ansa11 = crate::EnumBitfieldStruct<u8, Ansa11_SPEC>;
988    impl Ansa11 {
989        #[doc = "Do not select associated input channel."]
990        pub const _0: Self = Self::new(0);
991        #[doc = "Select associated input channel."]
992        pub const _1: Self = Self::new(1);
993    }
994    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
995    pub struct Ansa12_SPEC;
996    pub type Ansa12 = crate::EnumBitfieldStruct<u8, Ansa12_SPEC>;
997    impl Ansa12 {
998        #[doc = "Do not select associated input channel."]
999        pub const _0: Self = Self::new(0);
1000        #[doc = "Select associated input channel."]
1001        pub const _1: Self = Self::new(1);
1002    }
1003    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1004    pub struct Ansa13_SPEC;
1005    pub type Ansa13 = crate::EnumBitfieldStruct<u8, Ansa13_SPEC>;
1006    impl Ansa13 {
1007        #[doc = "Do not select associated input channel."]
1008        pub const _0: Self = Self::new(0);
1009        #[doc = "Select associated input channel."]
1010        pub const _1: Self = Self::new(1);
1011    }
1012    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1013    pub struct Ansa14_SPEC;
1014    pub type Ansa14 = crate::EnumBitfieldStruct<u8, Ansa14_SPEC>;
1015    impl Ansa14 {
1016        #[doc = "Do not select associated input channel."]
1017        pub const _0: Self = Self::new(0);
1018        #[doc = "Select associated input channel."]
1019        pub const _1: Self = Self::new(1);
1020    }
1021    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1022    pub struct Ansa15_SPEC;
1023    pub type Ansa15 = crate::EnumBitfieldStruct<u8, Ansa15_SPEC>;
1024    impl Ansa15 {
1025        #[doc = "Do not select associated input channel."]
1026        pub const _0: Self = Self::new(0);
1027        #[doc = "Select associated input channel."]
1028        pub const _1: Self = Self::new(1);
1029    }
1030}
1031#[doc(hidden)]
1032#[derive(Copy, Clone, Eq, PartialEq)]
1033pub struct Adansa1_SPEC;
1034impl crate::sealed::RegSpec for Adansa1_SPEC {
1035    type DataType = u16;
1036}
1037#[doc = "A/D Channel Select Register A1"]
1038pub type Adansa1 = crate::RegValueT<Adansa1_SPEC>;
1039
1040impl Adansa1 {
1041    #[doc = "A/D Conversion Channels Select"]
1042    #[inline(always)]
1043    pub fn ansa16(
1044        self,
1045    ) -> crate::common::RegisterField<0, 0x1, 1, 0, adansa1::Ansa16, Adansa1_SPEC, crate::common::RW>
1046    {
1047        crate::common::RegisterField::<0,0x1,1,0,adansa1::Ansa16, Adansa1_SPEC,crate::common::RW>::from_register(self,0)
1048    }
1049    #[doc = "A/D Conversion Channels Select"]
1050    #[inline(always)]
1051    pub fn ansa17(
1052        self,
1053    ) -> crate::common::RegisterField<1, 0x1, 1, 0, adansa1::Ansa17, Adansa1_SPEC, crate::common::RW>
1054    {
1055        crate::common::RegisterField::<1,0x1,1,0,adansa1::Ansa17, Adansa1_SPEC,crate::common::RW>::from_register(self,0)
1056    }
1057    #[doc = "A/D Conversion Channels Select"]
1058    #[inline(always)]
1059    pub fn ansa18(
1060        self,
1061    ) -> crate::common::RegisterField<2, 0x1, 1, 0, adansa1::Ansa18, Adansa1_SPEC, crate::common::RW>
1062    {
1063        crate::common::RegisterField::<2,0x1,1,0,adansa1::Ansa18, Adansa1_SPEC,crate::common::RW>::from_register(self,0)
1064    }
1065    #[doc = "A/D Conversion Channels Select"]
1066    #[inline(always)]
1067    pub fn ansa19(
1068        self,
1069    ) -> crate::common::RegisterField<3, 0x1, 1, 0, adansa1::Ansa19, Adansa1_SPEC, crate::common::RW>
1070    {
1071        crate::common::RegisterField::<3,0x1,1,0,adansa1::Ansa19, Adansa1_SPEC,crate::common::RW>::from_register(self,0)
1072    }
1073    #[doc = "A/D Conversion Channels Select"]
1074    #[inline(always)]
1075    pub fn ansa20(
1076        self,
1077    ) -> crate::common::RegisterField<4, 0x1, 1, 0, adansa1::Ansa20, Adansa1_SPEC, crate::common::RW>
1078    {
1079        crate::common::RegisterField::<4,0x1,1,0,adansa1::Ansa20, Adansa1_SPEC,crate::common::RW>::from_register(self,0)
1080    }
1081    #[doc = "A/D Conversion Channels Select"]
1082    #[inline(always)]
1083    pub fn ansa21(
1084        self,
1085    ) -> crate::common::RegisterField<5, 0x1, 1, 0, adansa1::Ansa21, Adansa1_SPEC, crate::common::RW>
1086    {
1087        crate::common::RegisterField::<5,0x1,1,0,adansa1::Ansa21, Adansa1_SPEC,crate::common::RW>::from_register(self,0)
1088    }
1089    #[doc = "A/D Conversion Channels Select"]
1090    #[inline(always)]
1091    pub fn ansa22(
1092        self,
1093    ) -> crate::common::RegisterField<6, 0x1, 1, 0, adansa1::Ansa22, Adansa1_SPEC, crate::common::RW>
1094    {
1095        crate::common::RegisterField::<6,0x1,1,0,adansa1::Ansa22, Adansa1_SPEC,crate::common::RW>::from_register(self,0)
1096    }
1097    #[doc = "A/D Conversion Channels Select"]
1098    #[inline(always)]
1099    pub fn ansa23(
1100        self,
1101    ) -> crate::common::RegisterField<7, 0x1, 1, 0, adansa1::Ansa23, Adansa1_SPEC, crate::common::RW>
1102    {
1103        crate::common::RegisterField::<7,0x1,1,0,adansa1::Ansa23, Adansa1_SPEC,crate::common::RW>::from_register(self,0)
1104    }
1105    #[doc = "A/D Conversion Channels Select"]
1106    #[inline(always)]
1107    pub fn ansa24(
1108        self,
1109    ) -> crate::common::RegisterField<8, 0x1, 1, 0, adansa1::Ansa24, Adansa1_SPEC, crate::common::RW>
1110    {
1111        crate::common::RegisterField::<8,0x1,1,0,adansa1::Ansa24, Adansa1_SPEC,crate::common::RW>::from_register(self,0)
1112    }
1113    #[doc = "A/D Conversion Channels Select"]
1114    #[inline(always)]
1115    pub fn ansa25(
1116        self,
1117    ) -> crate::common::RegisterField<9, 0x1, 1, 0, adansa1::Ansa25, Adansa1_SPEC, crate::common::RW>
1118    {
1119        crate::common::RegisterField::<9,0x1,1,0,adansa1::Ansa25, Adansa1_SPEC,crate::common::RW>::from_register(self,0)
1120    }
1121    #[doc = "A/D Conversion Channels Select"]
1122    #[inline(always)]
1123    pub fn ansa26(
1124        self,
1125    ) -> crate::common::RegisterField<10, 0x1, 1, 0, adansa1::Ansa26, Adansa1_SPEC, crate::common::RW>
1126    {
1127        crate::common::RegisterField::<
1128            10,
1129            0x1,
1130            1,
1131            0,
1132            adansa1::Ansa26,
1133            Adansa1_SPEC,
1134            crate::common::RW,
1135        >::from_register(self, 0)
1136    }
1137    #[doc = "A/D Conversion Channels Select"]
1138    #[inline(always)]
1139    pub fn ansa27(
1140        self,
1141    ) -> crate::common::RegisterField<11, 0x1, 1, 0, adansa1::Ansa27, Adansa1_SPEC, crate::common::RW>
1142    {
1143        crate::common::RegisterField::<
1144            11,
1145            0x1,
1146            1,
1147            0,
1148            adansa1::Ansa27,
1149            Adansa1_SPEC,
1150            crate::common::RW,
1151        >::from_register(self, 0)
1152    }
1153    #[doc = "A/D Conversion Channels Select"]
1154    #[inline(always)]
1155    pub fn ansa28(
1156        self,
1157    ) -> crate::common::RegisterField<12, 0x1, 1, 0, adansa1::Ansa28, Adansa1_SPEC, crate::common::RW>
1158    {
1159        crate::common::RegisterField::<
1160            12,
1161            0x1,
1162            1,
1163            0,
1164            adansa1::Ansa28,
1165            Adansa1_SPEC,
1166            crate::common::RW,
1167        >::from_register(self, 0)
1168    }
1169    #[doc = "A/D Conversion Channels Select"]
1170    #[inline(always)]
1171    pub fn ansa29(
1172        self,
1173    ) -> crate::common::RegisterField<13, 0x1, 1, 0, adansa1::Ansa29, Adansa1_SPEC, crate::common::RW>
1174    {
1175        crate::common::RegisterField::<
1176            13,
1177            0x1,
1178            1,
1179            0,
1180            adansa1::Ansa29,
1181            Adansa1_SPEC,
1182            crate::common::RW,
1183        >::from_register(self, 0)
1184    }
1185    #[doc = "A/D Conversion Channels Select"]
1186    #[inline(always)]
1187    pub fn ansa30(
1188        self,
1189    ) -> crate::common::RegisterField<14, 0x1, 1, 0, adansa1::Ansa30, Adansa1_SPEC, crate::common::RW>
1190    {
1191        crate::common::RegisterField::<
1192            14,
1193            0x1,
1194            1,
1195            0,
1196            adansa1::Ansa30,
1197            Adansa1_SPEC,
1198            crate::common::RW,
1199        >::from_register(self, 0)
1200    }
1201    #[doc = "A/D Conversion Channels Select"]
1202    #[inline(always)]
1203    pub fn ansa31(
1204        self,
1205    ) -> crate::common::RegisterField<15, 0x1, 1, 0, adansa1::Ansa31, Adansa1_SPEC, crate::common::RW>
1206    {
1207        crate::common::RegisterField::<
1208            15,
1209            0x1,
1210            1,
1211            0,
1212            adansa1::Ansa31,
1213            Adansa1_SPEC,
1214            crate::common::RW,
1215        >::from_register(self, 0)
1216    }
1217}
1218impl ::core::default::Default for Adansa1 {
1219    #[inline(always)]
1220    fn default() -> Adansa1 {
1221        <crate::RegValueT<Adansa1_SPEC> as RegisterValue<_>>::new(0)
1222    }
1223}
1224pub mod adansa1 {
1225
1226    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1227    pub struct Ansa16_SPEC;
1228    pub type Ansa16 = crate::EnumBitfieldStruct<u8, Ansa16_SPEC>;
1229    impl Ansa16 {
1230        #[doc = "Do not select associated input channel."]
1231        pub const _0: Self = Self::new(0);
1232        #[doc = "Select associated input channel."]
1233        pub const _1: Self = Self::new(1);
1234    }
1235    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1236    pub struct Ansa17_SPEC;
1237    pub type Ansa17 = crate::EnumBitfieldStruct<u8, Ansa17_SPEC>;
1238    impl Ansa17 {
1239        #[doc = "Do not select associated input channel."]
1240        pub const _0: Self = Self::new(0);
1241        #[doc = "Select associated input channel."]
1242        pub const _1: Self = Self::new(1);
1243    }
1244    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1245    pub struct Ansa18_SPEC;
1246    pub type Ansa18 = crate::EnumBitfieldStruct<u8, Ansa18_SPEC>;
1247    impl Ansa18 {
1248        #[doc = "Do not select associated input channel."]
1249        pub const _0: Self = Self::new(0);
1250        #[doc = "Select associated input channel."]
1251        pub const _1: Self = Self::new(1);
1252    }
1253    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1254    pub struct Ansa19_SPEC;
1255    pub type Ansa19 = crate::EnumBitfieldStruct<u8, Ansa19_SPEC>;
1256    impl Ansa19 {
1257        #[doc = "Do not select associated input channel."]
1258        pub const _0: Self = Self::new(0);
1259        #[doc = "Select associated input channel."]
1260        pub const _1: Self = Self::new(1);
1261    }
1262    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1263    pub struct Ansa20_SPEC;
1264    pub type Ansa20 = crate::EnumBitfieldStruct<u8, Ansa20_SPEC>;
1265    impl Ansa20 {
1266        #[doc = "Do not select associated input channel."]
1267        pub const _0: Self = Self::new(0);
1268        #[doc = "Select associated input channel."]
1269        pub const _1: Self = Self::new(1);
1270    }
1271    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1272    pub struct Ansa21_SPEC;
1273    pub type Ansa21 = crate::EnumBitfieldStruct<u8, Ansa21_SPEC>;
1274    impl Ansa21 {
1275        #[doc = "Do not select associated input channel."]
1276        pub const _0: Self = Self::new(0);
1277        #[doc = "Select associated input channel."]
1278        pub const _1: Self = Self::new(1);
1279    }
1280    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1281    pub struct Ansa22_SPEC;
1282    pub type Ansa22 = crate::EnumBitfieldStruct<u8, Ansa22_SPEC>;
1283    impl Ansa22 {
1284        #[doc = "Do not select associated input channel."]
1285        pub const _0: Self = Self::new(0);
1286        #[doc = "Select associated input channel."]
1287        pub const _1: Self = Self::new(1);
1288    }
1289    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1290    pub struct Ansa23_SPEC;
1291    pub type Ansa23 = crate::EnumBitfieldStruct<u8, Ansa23_SPEC>;
1292    impl Ansa23 {
1293        #[doc = "Do not select associated input channel."]
1294        pub const _0: Self = Self::new(0);
1295        #[doc = "Select associated input channel."]
1296        pub const _1: Self = Self::new(1);
1297    }
1298    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1299    pub struct Ansa24_SPEC;
1300    pub type Ansa24 = crate::EnumBitfieldStruct<u8, Ansa24_SPEC>;
1301    impl Ansa24 {
1302        #[doc = "Do not select associated input channel."]
1303        pub const _0: Self = Self::new(0);
1304        #[doc = "Select associated input channel."]
1305        pub const _1: Self = Self::new(1);
1306    }
1307    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1308    pub struct Ansa25_SPEC;
1309    pub type Ansa25 = crate::EnumBitfieldStruct<u8, Ansa25_SPEC>;
1310    impl Ansa25 {
1311        #[doc = "Do not select associated input channel."]
1312        pub const _0: Self = Self::new(0);
1313        #[doc = "Select associated input channel."]
1314        pub const _1: Self = Self::new(1);
1315    }
1316    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1317    pub struct Ansa26_SPEC;
1318    pub type Ansa26 = crate::EnumBitfieldStruct<u8, Ansa26_SPEC>;
1319    impl Ansa26 {
1320        #[doc = "Do not select associated input channel."]
1321        pub const _0: Self = Self::new(0);
1322        #[doc = "Select associated input channel."]
1323        pub const _1: Self = Self::new(1);
1324    }
1325    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1326    pub struct Ansa27_SPEC;
1327    pub type Ansa27 = crate::EnumBitfieldStruct<u8, Ansa27_SPEC>;
1328    impl Ansa27 {
1329        #[doc = "Do not select associated input channel."]
1330        pub const _0: Self = Self::new(0);
1331        #[doc = "Select associated input channel."]
1332        pub const _1: Self = Self::new(1);
1333    }
1334    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1335    pub struct Ansa28_SPEC;
1336    pub type Ansa28 = crate::EnumBitfieldStruct<u8, Ansa28_SPEC>;
1337    impl Ansa28 {
1338        #[doc = "Do not select associated input channel."]
1339        pub const _0: Self = Self::new(0);
1340        #[doc = "Select associated input channel."]
1341        pub const _1: Self = Self::new(1);
1342    }
1343    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1344    pub struct Ansa29_SPEC;
1345    pub type Ansa29 = crate::EnumBitfieldStruct<u8, Ansa29_SPEC>;
1346    impl Ansa29 {
1347        #[doc = "Do not select associated input channel."]
1348        pub const _0: Self = Self::new(0);
1349        #[doc = "Select associated input channel."]
1350        pub const _1: Self = Self::new(1);
1351    }
1352    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1353    pub struct Ansa30_SPEC;
1354    pub type Ansa30 = crate::EnumBitfieldStruct<u8, Ansa30_SPEC>;
1355    impl Ansa30 {
1356        #[doc = "Do not select associated input channel."]
1357        pub const _0: Self = Self::new(0);
1358        #[doc = "Select associated input channel."]
1359        pub const _1: Self = Self::new(1);
1360    }
1361    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1362    pub struct Ansa31_SPEC;
1363    pub type Ansa31 = crate::EnumBitfieldStruct<u8, Ansa31_SPEC>;
1364    impl Ansa31 {
1365        #[doc = "Do not select associated input channel."]
1366        pub const _0: Self = Self::new(0);
1367        #[doc = "Select associated input channel."]
1368        pub const _1: Self = Self::new(1);
1369    }
1370}
1371#[doc(hidden)]
1372#[derive(Copy, Clone, Eq, PartialEq)]
1373pub struct Adads0_SPEC;
1374impl crate::sealed::RegSpec for Adads0_SPEC {
1375    type DataType = u16;
1376}
1377#[doc = "A/D-Converted Value Addition/Average Channel Select Register 0"]
1378pub type Adads0 = crate::RegValueT<Adads0_SPEC>;
1379
1380impl Adads0 {
1381    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1382    #[inline(always)]
1383    pub fn ads00(
1384        self,
1385    ) -> crate::common::RegisterField<0, 0x1, 1, 0, adads0::Ads00, Adads0_SPEC, crate::common::RW>
1386    {
1387        crate::common::RegisterField::<0,0x1,1,0,adads0::Ads00, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1388    }
1389    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1390    #[inline(always)]
1391    pub fn ads01(
1392        self,
1393    ) -> crate::common::RegisterField<1, 0x1, 1, 0, adads0::Ads01, Adads0_SPEC, crate::common::RW>
1394    {
1395        crate::common::RegisterField::<1,0x1,1,0,adads0::Ads01, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1396    }
1397    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1398    #[inline(always)]
1399    pub fn ads02(
1400        self,
1401    ) -> crate::common::RegisterField<2, 0x1, 1, 0, adads0::Ads02, Adads0_SPEC, crate::common::RW>
1402    {
1403        crate::common::RegisterField::<2,0x1,1,0,adads0::Ads02, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1404    }
1405    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1406    #[inline(always)]
1407    pub fn ads03(
1408        self,
1409    ) -> crate::common::RegisterField<3, 0x1, 1, 0, adads0::Ads03, Adads0_SPEC, crate::common::RW>
1410    {
1411        crate::common::RegisterField::<3,0x1,1,0,adads0::Ads03, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1412    }
1413    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1414    #[inline(always)]
1415    pub fn ads04(
1416        self,
1417    ) -> crate::common::RegisterField<4, 0x1, 1, 0, adads0::Ads04, Adads0_SPEC, crate::common::RW>
1418    {
1419        crate::common::RegisterField::<4,0x1,1,0,adads0::Ads04, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1420    }
1421    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1422    #[inline(always)]
1423    pub fn ads05(
1424        self,
1425    ) -> crate::common::RegisterField<5, 0x1, 1, 0, adads0::Ads05, Adads0_SPEC, crate::common::RW>
1426    {
1427        crate::common::RegisterField::<5,0x1,1,0,adads0::Ads05, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1428    }
1429    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1430    #[inline(always)]
1431    pub fn ads06(
1432        self,
1433    ) -> crate::common::RegisterField<6, 0x1, 1, 0, adads0::Ads06, Adads0_SPEC, crate::common::RW>
1434    {
1435        crate::common::RegisterField::<6,0x1,1,0,adads0::Ads06, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1436    }
1437    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1438    #[inline(always)]
1439    pub fn ads07(
1440        self,
1441    ) -> crate::common::RegisterField<7, 0x1, 1, 0, adads0::Ads07, Adads0_SPEC, crate::common::RW>
1442    {
1443        crate::common::RegisterField::<7,0x1,1,0,adads0::Ads07, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1444    }
1445    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1446    #[inline(always)]
1447    pub fn ads08(
1448        self,
1449    ) -> crate::common::RegisterField<8, 0x1, 1, 0, adads0::Ads08, Adads0_SPEC, crate::common::RW>
1450    {
1451        crate::common::RegisterField::<8,0x1,1,0,adads0::Ads08, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1452    }
1453    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1454    #[inline(always)]
1455    pub fn ads09(
1456        self,
1457    ) -> crate::common::RegisterField<9, 0x1, 1, 0, adads0::Ads09, Adads0_SPEC, crate::common::RW>
1458    {
1459        crate::common::RegisterField::<9,0x1,1,0,adads0::Ads09, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1460    }
1461    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1462    #[inline(always)]
1463    pub fn ads10(
1464        self,
1465    ) -> crate::common::RegisterField<10, 0x1, 1, 0, adads0::Ads10, Adads0_SPEC, crate::common::RW>
1466    {
1467        crate::common::RegisterField::<10,0x1,1,0,adads0::Ads10, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1468    }
1469    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1470    #[inline(always)]
1471    pub fn ads11(
1472        self,
1473    ) -> crate::common::RegisterField<11, 0x1, 1, 0, adads0::Ads11, Adads0_SPEC, crate::common::RW>
1474    {
1475        crate::common::RegisterField::<11,0x1,1,0,adads0::Ads11, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1476    }
1477    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1478    #[inline(always)]
1479    pub fn ads12(
1480        self,
1481    ) -> crate::common::RegisterField<12, 0x1, 1, 0, adads0::Ads12, Adads0_SPEC, crate::common::RW>
1482    {
1483        crate::common::RegisterField::<12,0x1,1,0,adads0::Ads12, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1484    }
1485    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1486    #[inline(always)]
1487    pub fn ads13(
1488        self,
1489    ) -> crate::common::RegisterField<13, 0x1, 1, 0, adads0::Ads13, Adads0_SPEC, crate::common::RW>
1490    {
1491        crate::common::RegisterField::<13,0x1,1,0,adads0::Ads13, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1492    }
1493    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1494    #[inline(always)]
1495    pub fn ads14(
1496        self,
1497    ) -> crate::common::RegisterField<14, 0x1, 1, 0, adads0::Ads14, Adads0_SPEC, crate::common::RW>
1498    {
1499        crate::common::RegisterField::<14,0x1,1,0,adads0::Ads14, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1500    }
1501    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1502    #[inline(always)]
1503    pub fn ads15(
1504        self,
1505    ) -> crate::common::RegisterField<15, 0x1, 1, 0, adads0::Ads15, Adads0_SPEC, crate::common::RW>
1506    {
1507        crate::common::RegisterField::<15,0x1,1,0,adads0::Ads15, Adads0_SPEC,crate::common::RW>::from_register(self,0)
1508    }
1509}
1510impl ::core::default::Default for Adads0 {
1511    #[inline(always)]
1512    fn default() -> Adads0 {
1513        <crate::RegValueT<Adads0_SPEC> as RegisterValue<_>>::new(0)
1514    }
1515}
1516pub mod adads0 {
1517
1518    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1519    pub struct Ads00_SPEC;
1520    pub type Ads00 = crate::EnumBitfieldStruct<u8, Ads00_SPEC>;
1521    impl Ads00 {
1522        #[doc = "Do not select associated input channel."]
1523        pub const _0: Self = Self::new(0);
1524        #[doc = "Select associated input channel."]
1525        pub const _1: Self = Self::new(1);
1526    }
1527    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1528    pub struct Ads01_SPEC;
1529    pub type Ads01 = crate::EnumBitfieldStruct<u8, Ads01_SPEC>;
1530    impl Ads01 {
1531        #[doc = "Do not select associated input channel."]
1532        pub const _0: Self = Self::new(0);
1533        #[doc = "Select associated input channel."]
1534        pub const _1: Self = Self::new(1);
1535    }
1536    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1537    pub struct Ads02_SPEC;
1538    pub type Ads02 = crate::EnumBitfieldStruct<u8, Ads02_SPEC>;
1539    impl Ads02 {
1540        #[doc = "Do not select associated input channel."]
1541        pub const _0: Self = Self::new(0);
1542        #[doc = "Select associated input channel."]
1543        pub const _1: Self = Self::new(1);
1544    }
1545    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1546    pub struct Ads03_SPEC;
1547    pub type Ads03 = crate::EnumBitfieldStruct<u8, Ads03_SPEC>;
1548    impl Ads03 {
1549        #[doc = "Do not select associated input channel."]
1550        pub const _0: Self = Self::new(0);
1551        #[doc = "Select associated input channel."]
1552        pub const _1: Self = Self::new(1);
1553    }
1554    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1555    pub struct Ads04_SPEC;
1556    pub type Ads04 = crate::EnumBitfieldStruct<u8, Ads04_SPEC>;
1557    impl Ads04 {
1558        #[doc = "Do not select associated input channel."]
1559        pub const _0: Self = Self::new(0);
1560        #[doc = "Select associated input channel."]
1561        pub const _1: Self = Self::new(1);
1562    }
1563    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1564    pub struct Ads05_SPEC;
1565    pub type Ads05 = crate::EnumBitfieldStruct<u8, Ads05_SPEC>;
1566    impl Ads05 {
1567        #[doc = "Do not select associated input channel."]
1568        pub const _0: Self = Self::new(0);
1569        #[doc = "Select associated input channel."]
1570        pub const _1: Self = Self::new(1);
1571    }
1572    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1573    pub struct Ads06_SPEC;
1574    pub type Ads06 = crate::EnumBitfieldStruct<u8, Ads06_SPEC>;
1575    impl Ads06 {
1576        #[doc = "Do not select associated input channel."]
1577        pub const _0: Self = Self::new(0);
1578        #[doc = "Select associated input channel."]
1579        pub const _1: Self = Self::new(1);
1580    }
1581    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1582    pub struct Ads07_SPEC;
1583    pub type Ads07 = crate::EnumBitfieldStruct<u8, Ads07_SPEC>;
1584    impl Ads07 {
1585        #[doc = "Do not select associated input channel."]
1586        pub const _0: Self = Self::new(0);
1587        #[doc = "Select associated input channel."]
1588        pub const _1: Self = Self::new(1);
1589    }
1590    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1591    pub struct Ads08_SPEC;
1592    pub type Ads08 = crate::EnumBitfieldStruct<u8, Ads08_SPEC>;
1593    impl Ads08 {
1594        #[doc = "Do not select associated input channel."]
1595        pub const _0: Self = Self::new(0);
1596        #[doc = "Select associated input channel."]
1597        pub const _1: Self = Self::new(1);
1598    }
1599    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1600    pub struct Ads09_SPEC;
1601    pub type Ads09 = crate::EnumBitfieldStruct<u8, Ads09_SPEC>;
1602    impl Ads09 {
1603        #[doc = "Do not select associated input channel."]
1604        pub const _0: Self = Self::new(0);
1605        #[doc = "Select associated input channel."]
1606        pub const _1: Self = Self::new(1);
1607    }
1608    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1609    pub struct Ads10_SPEC;
1610    pub type Ads10 = crate::EnumBitfieldStruct<u8, Ads10_SPEC>;
1611    impl Ads10 {
1612        #[doc = "Do not select associated input channel."]
1613        pub const _0: Self = Self::new(0);
1614        #[doc = "Select associated input channel."]
1615        pub const _1: Self = Self::new(1);
1616    }
1617    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1618    pub struct Ads11_SPEC;
1619    pub type Ads11 = crate::EnumBitfieldStruct<u8, Ads11_SPEC>;
1620    impl Ads11 {
1621        #[doc = "Do not select associated input channel."]
1622        pub const _0: Self = Self::new(0);
1623        #[doc = "Select associated input channel."]
1624        pub const _1: Self = Self::new(1);
1625    }
1626    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1627    pub struct Ads12_SPEC;
1628    pub type Ads12 = crate::EnumBitfieldStruct<u8, Ads12_SPEC>;
1629    impl Ads12 {
1630        #[doc = "Do not select associated input channel."]
1631        pub const _0: Self = Self::new(0);
1632        #[doc = "Select associated input channel."]
1633        pub const _1: Self = Self::new(1);
1634    }
1635    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1636    pub struct Ads13_SPEC;
1637    pub type Ads13 = crate::EnumBitfieldStruct<u8, Ads13_SPEC>;
1638    impl Ads13 {
1639        #[doc = "Do not select associated input channel."]
1640        pub const _0: Self = Self::new(0);
1641        #[doc = "Select associated input channel."]
1642        pub const _1: Self = Self::new(1);
1643    }
1644    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1645    pub struct Ads14_SPEC;
1646    pub type Ads14 = crate::EnumBitfieldStruct<u8, Ads14_SPEC>;
1647    impl Ads14 {
1648        #[doc = "Do not select associated input channel."]
1649        pub const _0: Self = Self::new(0);
1650        #[doc = "Select associated input channel."]
1651        pub const _1: Self = Self::new(1);
1652    }
1653    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1654    pub struct Ads15_SPEC;
1655    pub type Ads15 = crate::EnumBitfieldStruct<u8, Ads15_SPEC>;
1656    impl Ads15 {
1657        #[doc = "Do not select associated input channel."]
1658        pub const _0: Self = Self::new(0);
1659        #[doc = "Select associated input channel."]
1660        pub const _1: Self = Self::new(1);
1661    }
1662}
1663#[doc(hidden)]
1664#[derive(Copy, Clone, Eq, PartialEq)]
1665pub struct Adads1_SPEC;
1666impl crate::sealed::RegSpec for Adads1_SPEC {
1667    type DataType = u16;
1668}
1669#[doc = "A/D-Converted Value Addition/Average Channel Select Register 1"]
1670pub type Adads1 = crate::RegValueT<Adads1_SPEC>;
1671
1672impl Adads1 {
1673    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1674    #[inline(always)]
1675    pub fn ads16(
1676        self,
1677    ) -> crate::common::RegisterField<0, 0x1, 1, 0, adads1::Ads16, Adads1_SPEC, crate::common::RW>
1678    {
1679        crate::common::RegisterField::<0,0x1,1,0,adads1::Ads16, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1680    }
1681    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1682    #[inline(always)]
1683    pub fn ads17(
1684        self,
1685    ) -> crate::common::RegisterField<1, 0x1, 1, 0, adads1::Ads17, Adads1_SPEC, crate::common::RW>
1686    {
1687        crate::common::RegisterField::<1,0x1,1,0,adads1::Ads17, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1688    }
1689    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1690    #[inline(always)]
1691    pub fn ads18(
1692        self,
1693    ) -> crate::common::RegisterField<2, 0x1, 1, 0, adads1::Ads18, Adads1_SPEC, crate::common::RW>
1694    {
1695        crate::common::RegisterField::<2,0x1,1,0,adads1::Ads18, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1696    }
1697    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1698    #[inline(always)]
1699    pub fn ads19(
1700        self,
1701    ) -> crate::common::RegisterField<3, 0x1, 1, 0, adads1::Ads19, Adads1_SPEC, crate::common::RW>
1702    {
1703        crate::common::RegisterField::<3,0x1,1,0,adads1::Ads19, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1704    }
1705    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1706    #[inline(always)]
1707    pub fn ads20(
1708        self,
1709    ) -> crate::common::RegisterField<4, 0x1, 1, 0, adads1::Ads20, Adads1_SPEC, crate::common::RW>
1710    {
1711        crate::common::RegisterField::<4,0x1,1,0,adads1::Ads20, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1712    }
1713    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1714    #[inline(always)]
1715    pub fn ads21(
1716        self,
1717    ) -> crate::common::RegisterField<5, 0x1, 1, 0, adads1::Ads21, Adads1_SPEC, crate::common::RW>
1718    {
1719        crate::common::RegisterField::<5,0x1,1,0,adads1::Ads21, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1720    }
1721    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1722    #[inline(always)]
1723    pub fn ads22(
1724        self,
1725    ) -> crate::common::RegisterField<6, 0x1, 1, 0, adads1::Ads22, Adads1_SPEC, crate::common::RW>
1726    {
1727        crate::common::RegisterField::<6,0x1,1,0,adads1::Ads22, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1728    }
1729    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1730    #[inline(always)]
1731    pub fn ads23(
1732        self,
1733    ) -> crate::common::RegisterField<7, 0x1, 1, 0, adads1::Ads23, Adads1_SPEC, crate::common::RW>
1734    {
1735        crate::common::RegisterField::<7,0x1,1,0,adads1::Ads23, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1736    }
1737    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1738    #[inline(always)]
1739    pub fn ads24(
1740        self,
1741    ) -> crate::common::RegisterField<8, 0x1, 1, 0, adads1::Ads24, Adads1_SPEC, crate::common::RW>
1742    {
1743        crate::common::RegisterField::<8,0x1,1,0,adads1::Ads24, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1744    }
1745    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1746    #[inline(always)]
1747    pub fn ads25(
1748        self,
1749    ) -> crate::common::RegisterField<9, 0x1, 1, 0, adads1::Ads25, Adads1_SPEC, crate::common::RW>
1750    {
1751        crate::common::RegisterField::<9,0x1,1,0,adads1::Ads25, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1752    }
1753    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1754    #[inline(always)]
1755    pub fn ads26(
1756        self,
1757    ) -> crate::common::RegisterField<10, 0x1, 1, 0, adads1::Ads26, Adads1_SPEC, crate::common::RW>
1758    {
1759        crate::common::RegisterField::<10,0x1,1,0,adads1::Ads26, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1760    }
1761    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1762    #[inline(always)]
1763    pub fn ads27(
1764        self,
1765    ) -> crate::common::RegisterField<11, 0x1, 1, 0, adads1::Ads27, Adads1_SPEC, crate::common::RW>
1766    {
1767        crate::common::RegisterField::<11,0x1,1,0,adads1::Ads27, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1768    }
1769    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1770    #[inline(always)]
1771    pub fn ads28(
1772        self,
1773    ) -> crate::common::RegisterField<12, 0x1, 1, 0, adads1::Ads28, Adads1_SPEC, crate::common::RW>
1774    {
1775        crate::common::RegisterField::<12,0x1,1,0,adads1::Ads28, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1776    }
1777    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1778    #[inline(always)]
1779    pub fn ads29(
1780        self,
1781    ) -> crate::common::RegisterField<13, 0x1, 1, 0, adads1::Ads29, Adads1_SPEC, crate::common::RW>
1782    {
1783        crate::common::RegisterField::<13,0x1,1,0,adads1::Ads29, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1784    }
1785    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1786    #[inline(always)]
1787    pub fn ads30(
1788        self,
1789    ) -> crate::common::RegisterField<14, 0x1, 1, 0, adads1::Ads30, Adads1_SPEC, crate::common::RW>
1790    {
1791        crate::common::RegisterField::<14,0x1,1,0,adads1::Ads30, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1792    }
1793    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
1794    #[inline(always)]
1795    pub fn ads31(
1796        self,
1797    ) -> crate::common::RegisterField<15, 0x1, 1, 0, adads1::Ads31, Adads1_SPEC, crate::common::RW>
1798    {
1799        crate::common::RegisterField::<15,0x1,1,0,adads1::Ads31, Adads1_SPEC,crate::common::RW>::from_register(self,0)
1800    }
1801}
1802impl ::core::default::Default for Adads1 {
1803    #[inline(always)]
1804    fn default() -> Adads1 {
1805        <crate::RegValueT<Adads1_SPEC> as RegisterValue<_>>::new(0)
1806    }
1807}
1808pub mod adads1 {
1809
1810    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1811    pub struct Ads16_SPEC;
1812    pub type Ads16 = crate::EnumBitfieldStruct<u8, Ads16_SPEC>;
1813    impl Ads16 {
1814        #[doc = "Do not select associated input channel."]
1815        pub const _0: Self = Self::new(0);
1816        #[doc = "Select associated input channel."]
1817        pub const _1: Self = Self::new(1);
1818    }
1819    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1820    pub struct Ads17_SPEC;
1821    pub type Ads17 = crate::EnumBitfieldStruct<u8, Ads17_SPEC>;
1822    impl Ads17 {
1823        #[doc = "Do not select associated input channel."]
1824        pub const _0: Self = Self::new(0);
1825        #[doc = "Select associated input channel."]
1826        pub const _1: Self = Self::new(1);
1827    }
1828    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1829    pub struct Ads18_SPEC;
1830    pub type Ads18 = crate::EnumBitfieldStruct<u8, Ads18_SPEC>;
1831    impl Ads18 {
1832        #[doc = "Do not select associated input channel."]
1833        pub const _0: Self = Self::new(0);
1834        #[doc = "Select associated input channel."]
1835        pub const _1: Self = Self::new(1);
1836    }
1837    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1838    pub struct Ads19_SPEC;
1839    pub type Ads19 = crate::EnumBitfieldStruct<u8, Ads19_SPEC>;
1840    impl Ads19 {
1841        #[doc = "Do not select associated input channel."]
1842        pub const _0: Self = Self::new(0);
1843        #[doc = "Select associated input channel."]
1844        pub const _1: Self = Self::new(1);
1845    }
1846    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1847    pub struct Ads20_SPEC;
1848    pub type Ads20 = crate::EnumBitfieldStruct<u8, Ads20_SPEC>;
1849    impl Ads20 {
1850        #[doc = "Do not select associated input channel."]
1851        pub const _0: Self = Self::new(0);
1852        #[doc = "Select associated input channel."]
1853        pub const _1: Self = Self::new(1);
1854    }
1855    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1856    pub struct Ads21_SPEC;
1857    pub type Ads21 = crate::EnumBitfieldStruct<u8, Ads21_SPEC>;
1858    impl Ads21 {
1859        #[doc = "Do not select associated input channel."]
1860        pub const _0: Self = Self::new(0);
1861        #[doc = "Select associated input channel."]
1862        pub const _1: Self = Self::new(1);
1863    }
1864    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1865    pub struct Ads22_SPEC;
1866    pub type Ads22 = crate::EnumBitfieldStruct<u8, Ads22_SPEC>;
1867    impl Ads22 {
1868        #[doc = "Do not select associated input channel."]
1869        pub const _0: Self = Self::new(0);
1870        #[doc = "Select associated input channel."]
1871        pub const _1: Self = Self::new(1);
1872    }
1873    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1874    pub struct Ads23_SPEC;
1875    pub type Ads23 = crate::EnumBitfieldStruct<u8, Ads23_SPEC>;
1876    impl Ads23 {
1877        #[doc = "Do not select associated input channel."]
1878        pub const _0: Self = Self::new(0);
1879        #[doc = "Select associated input channel."]
1880        pub const _1: Self = Self::new(1);
1881    }
1882    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1883    pub struct Ads24_SPEC;
1884    pub type Ads24 = crate::EnumBitfieldStruct<u8, Ads24_SPEC>;
1885    impl Ads24 {
1886        #[doc = "Do not select associated input channel."]
1887        pub const _0: Self = Self::new(0);
1888        #[doc = "Select associated input channel."]
1889        pub const _1: Self = Self::new(1);
1890    }
1891    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1892    pub struct Ads25_SPEC;
1893    pub type Ads25 = crate::EnumBitfieldStruct<u8, Ads25_SPEC>;
1894    impl Ads25 {
1895        #[doc = "Do not select associated input channel."]
1896        pub const _0: Self = Self::new(0);
1897        #[doc = "Select associated input channel."]
1898        pub const _1: Self = Self::new(1);
1899    }
1900    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1901    pub struct Ads26_SPEC;
1902    pub type Ads26 = crate::EnumBitfieldStruct<u8, Ads26_SPEC>;
1903    impl Ads26 {
1904        #[doc = "Do not select associated input channel."]
1905        pub const _0: Self = Self::new(0);
1906        #[doc = "Select associated input channel."]
1907        pub const _1: Self = Self::new(1);
1908    }
1909    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1910    pub struct Ads27_SPEC;
1911    pub type Ads27 = crate::EnumBitfieldStruct<u8, Ads27_SPEC>;
1912    impl Ads27 {
1913        #[doc = "Do not select associated input channel."]
1914        pub const _0: Self = Self::new(0);
1915        #[doc = "Select associated input channel."]
1916        pub const _1: Self = Self::new(1);
1917    }
1918    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1919    pub struct Ads28_SPEC;
1920    pub type Ads28 = crate::EnumBitfieldStruct<u8, Ads28_SPEC>;
1921    impl Ads28 {
1922        #[doc = "Do not select associated input channel."]
1923        pub const _0: Self = Self::new(0);
1924        #[doc = "Select associated input channel."]
1925        pub const _1: Self = Self::new(1);
1926    }
1927    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1928    pub struct Ads29_SPEC;
1929    pub type Ads29 = crate::EnumBitfieldStruct<u8, Ads29_SPEC>;
1930    impl Ads29 {
1931        #[doc = "Do not select associated input channel."]
1932        pub const _0: Self = Self::new(0);
1933        #[doc = "Select associated input channel."]
1934        pub const _1: Self = Self::new(1);
1935    }
1936    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1937    pub struct Ads30_SPEC;
1938    pub type Ads30 = crate::EnumBitfieldStruct<u8, Ads30_SPEC>;
1939    impl Ads30 {
1940        #[doc = "Do not select associated input channel."]
1941        pub const _0: Self = Self::new(0);
1942        #[doc = "Select associated input channel."]
1943        pub const _1: Self = Self::new(1);
1944    }
1945    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1946    pub struct Ads31_SPEC;
1947    pub type Ads31 = crate::EnumBitfieldStruct<u8, Ads31_SPEC>;
1948    impl Ads31 {
1949        #[doc = "Do not select associated input channel."]
1950        pub const _0: Self = Self::new(0);
1951        #[doc = "Select associated input channel."]
1952        pub const _1: Self = Self::new(1);
1953    }
1954}
1955#[doc(hidden)]
1956#[derive(Copy, Clone, Eq, PartialEq)]
1957pub struct Adadc_SPEC;
1958impl crate::sealed::RegSpec for Adadc_SPEC {
1959    type DataType = u8;
1960}
1961#[doc = "A/D-Converted Value Addition/Average Count Select Register"]
1962pub type Adadc = crate::RegValueT<Adadc_SPEC>;
1963
1964impl Adadc {
1965    #[doc = "Addition/Average Count Select"]
1966    #[inline(always)]
1967    pub fn adc(
1968        self,
1969    ) -> crate::common::RegisterField<0, 0x7, 1, 0, adadc::Adc, Adadc_SPEC, crate::common::RW> {
1970        crate::common::RegisterField::<0,0x7,1,0,adadc::Adc, Adadc_SPEC,crate::common::RW>::from_register(self,0)
1971    }
1972    #[doc = "Average Mode Select"]
1973    #[inline(always)]
1974    pub fn avee(
1975        self,
1976    ) -> crate::common::RegisterField<7, 0x1, 1, 0, adadc::Avee, Adadc_SPEC, crate::common::RW>
1977    {
1978        crate::common::RegisterField::<7,0x1,1,0,adadc::Avee, Adadc_SPEC,crate::common::RW>::from_register(self,0)
1979    }
1980}
1981impl ::core::default::Default for Adadc {
1982    #[inline(always)]
1983    fn default() -> Adadc {
1984        <crate::RegValueT<Adadc_SPEC> as RegisterValue<_>>::new(0)
1985    }
1986}
1987pub mod adadc {
1988
1989    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1990    pub struct Adc_SPEC;
1991    pub type Adc = crate::EnumBitfieldStruct<u8, Adc_SPEC>;
1992    impl Adc {
1993        #[doc = "1-time conversion (no addition, same as normal conversion)"]
1994        pub const _000: Self = Self::new(0);
1995        #[doc = "2-time conversion (1 addition)"]
1996        pub const _001: Self = Self::new(1);
1997        #[doc = "3-time conversion (2 additions)"]
1998        pub const _010: Self = Self::new(2);
1999        #[doc = "4-time conversion (3 additions)"]
2000        pub const _011: Self = Self::new(3);
2001        #[doc = "16-time conversion (15 additions)"]
2002        pub const _101: Self = Self::new(5);
2003        #[doc = "Setting prohibited"]
2004        pub const OTHERS: Self = Self::new(0);
2005    }
2006    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2007    pub struct Avee_SPEC;
2008    pub type Avee = crate::EnumBitfieldStruct<u8, Avee_SPEC>;
2009    impl Avee {
2010        #[doc = "Enable addition mode"]
2011        pub const _0: Self = Self::new(0);
2012        #[doc = "Enable average mode"]
2013        pub const _1: Self = Self::new(1);
2014    }
2015}
2016#[doc(hidden)]
2017#[derive(Copy, Clone, Eq, PartialEq)]
2018pub struct Adcer_SPEC;
2019impl crate::sealed::RegSpec for Adcer_SPEC {
2020    type DataType = u16;
2021}
2022#[doc = "A/D Control Extended Register"]
2023pub type Adcer = crate::RegValueT<Adcer_SPEC>;
2024
2025impl Adcer {
2026    #[doc = ""]
2027    #[inline(always)]
2028    pub fn adprc(
2029        self,
2030    ) -> crate::common::RegisterField<1, 0x3, 1, 0, adcer::Adprc, Adcer_SPEC, crate::common::RW>
2031    {
2032        crate::common::RegisterField::<1,0x3,1,0,adcer::Adprc, Adcer_SPEC,crate::common::RW>::from_register(self,0)
2033    }
2034    #[doc = "A/D Data Register Automatic Clearing Enable"]
2035    #[inline(always)]
2036    pub fn ace(
2037        self,
2038    ) -> crate::common::RegisterField<5, 0x1, 1, 0, adcer::Ace, Adcer_SPEC, crate::common::RW> {
2039        crate::common::RegisterField::<5,0x1,1,0,adcer::Ace, Adcer_SPEC,crate::common::RW>::from_register(self,0)
2040    }
2041    #[doc = "Self-Diagnosis Conversion Voltage Select"]
2042    #[inline(always)]
2043    pub fn diagval(
2044        self,
2045    ) -> crate::common::RegisterField<8, 0x3, 1, 0, adcer::Diagval, Adcer_SPEC, crate::common::RW>
2046    {
2047        crate::common::RegisterField::<8,0x3,1,0,adcer::Diagval, Adcer_SPEC,crate::common::RW>::from_register(self,0)
2048    }
2049    #[doc = "Self-Diagnosis Mode Select"]
2050    #[inline(always)]
2051    pub fn diagld(
2052        self,
2053    ) -> crate::common::RegisterField<10, 0x1, 1, 0, adcer::Diagld, Adcer_SPEC, crate::common::RW>
2054    {
2055        crate::common::RegisterField::<10,0x1,1,0,adcer::Diagld, Adcer_SPEC,crate::common::RW>::from_register(self,0)
2056    }
2057    #[doc = "Self-Diagnosis Enable"]
2058    #[inline(always)]
2059    pub fn diagm(
2060        self,
2061    ) -> crate::common::RegisterField<11, 0x1, 1, 0, adcer::Diagm, Adcer_SPEC, crate::common::RW>
2062    {
2063        crate::common::RegisterField::<11,0x1,1,0,adcer::Diagm, Adcer_SPEC,crate::common::RW>::from_register(self,0)
2064    }
2065    #[doc = "A/D Data Register Format Select"]
2066    #[inline(always)]
2067    pub fn adrfmt(
2068        self,
2069    ) -> crate::common::RegisterField<15, 0x1, 1, 0, adcer::Adrfmt, Adcer_SPEC, crate::common::RW>
2070    {
2071        crate::common::RegisterField::<15,0x1,1,0,adcer::Adrfmt, Adcer_SPEC,crate::common::RW>::from_register(self,0)
2072    }
2073}
2074impl ::core::default::Default for Adcer {
2075    #[inline(always)]
2076    fn default() -> Adcer {
2077        <crate::RegValueT<Adcer_SPEC> as RegisterValue<_>>::new(0)
2078    }
2079}
2080pub mod adcer {
2081
2082    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2083    pub struct Adprc_SPEC;
2084    pub type Adprc = crate::EnumBitfieldStruct<u8, Adprc_SPEC>;
2085    impl Adprc {
2086        #[doc = "12-bit accuracy"]
2087        pub const _00: Self = Self::new(0);
2088        #[doc = "10-bit accuracy"]
2089        pub const _01: Self = Self::new(1);
2090        #[doc = "8-bit accuracy"]
2091        pub const _10: Self = Self::new(2);
2092        #[doc = "Setting prohibited"]
2093        pub const _11: Self = Self::new(3);
2094    }
2095    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2096    pub struct Ace_SPEC;
2097    pub type Ace = crate::EnumBitfieldStruct<u8, Ace_SPEC>;
2098    impl Ace {
2099        #[doc = "Disable automatic clearing"]
2100        pub const _0: Self = Self::new(0);
2101        #[doc = "Enable automatic clearing"]
2102        pub const _1: Self = Self::new(1);
2103    }
2104    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2105    pub struct Diagval_SPEC;
2106    pub type Diagval = crate::EnumBitfieldStruct<u8, Diagval_SPEC>;
2107    impl Diagval {
2108        #[doc = "Setting prohibited when self-diagnosis is enabled"]
2109        pub const _00: Self = Self::new(0);
2110        #[doc = "0 volts"]
2111        pub const _01: Self = Self::new(1);
2112        #[doc = "Reference voltage × 1/2"]
2113        pub const _10: Self = Self::new(2);
2114        #[doc = "Reference voltage"]
2115        pub const _11: Self = Self::new(3);
2116    }
2117    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2118    pub struct Diagld_SPEC;
2119    pub type Diagld = crate::EnumBitfieldStruct<u8, Diagld_SPEC>;
2120    impl Diagld {
2121        #[doc = "Select rotation mode for self-diagnosis voltage"]
2122        pub const _0: Self = Self::new(0);
2123        #[doc = "Select mixed mode for self-diagnosis voltage"]
2124        pub const _1: Self = Self::new(1);
2125    }
2126    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2127    pub struct Diagm_SPEC;
2128    pub type Diagm = crate::EnumBitfieldStruct<u8, Diagm_SPEC>;
2129    impl Diagm {
2130        #[doc = "Disable ADC12 self-diagnosis"]
2131        pub const _0: Self = Self::new(0);
2132        #[doc = "Enable ADC12 self-diagnosis"]
2133        pub const _1: Self = Self::new(1);
2134    }
2135    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2136    pub struct Adrfmt_SPEC;
2137    pub type Adrfmt = crate::EnumBitfieldStruct<u8, Adrfmt_SPEC>;
2138    impl Adrfmt {
2139        #[doc = "Select right-justified for the A/D data register format"]
2140        pub const _0: Self = Self::new(0);
2141        #[doc = "Select left-justified for the A/D data register format"]
2142        pub const _1: Self = Self::new(1);
2143    }
2144}
2145#[doc(hidden)]
2146#[derive(Copy, Clone, Eq, PartialEq)]
2147pub struct Adstrgr_SPEC;
2148impl crate::sealed::RegSpec for Adstrgr_SPEC {
2149    type DataType = u16;
2150}
2151#[doc = "A/D Conversion Start Trigger Select Register"]
2152pub type Adstrgr = crate::RegValueT<Adstrgr_SPEC>;
2153
2154impl Adstrgr {
2155    #[doc = "A/D Conversion Start Trigger Select for Group B"]
2156    #[inline(always)]
2157    pub fn trsb(
2158        self,
2159    ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, Adstrgr_SPEC, crate::common::RW> {
2160        crate::common::RegisterField::<0,0x3f,1,0,u8, Adstrgr_SPEC,crate::common::RW>::from_register(self,0)
2161    }
2162    #[doc = "A/D Conversion Start Trigger Select"]
2163    #[inline(always)]
2164    pub fn trsa(
2165        self,
2166    ) -> crate::common::RegisterField<8, 0x3f, 1, 0, u8, Adstrgr_SPEC, crate::common::RW> {
2167        crate::common::RegisterField::<8,0x3f,1,0,u8, Adstrgr_SPEC,crate::common::RW>::from_register(self,0)
2168    }
2169}
2170impl ::core::default::Default for Adstrgr {
2171    #[inline(always)]
2172    fn default() -> Adstrgr {
2173        <crate::RegValueT<Adstrgr_SPEC> as RegisterValue<_>>::new(0)
2174    }
2175}
2176
2177#[doc(hidden)]
2178#[derive(Copy, Clone, Eq, PartialEq)]
2179pub struct Adexicr_SPEC;
2180impl crate::sealed::RegSpec for Adexicr_SPEC {
2181    type DataType = u16;
2182}
2183#[doc = "A/D Conversion Extended Input Control Registers"]
2184pub type Adexicr = crate::RegValueT<Adexicr_SPEC>;
2185
2186impl Adexicr {
2187    #[doc = "Temperature Sensor Output A/D-Converted Value Addition/Average Mode Select"]
2188    #[inline(always)]
2189    pub fn tssad(
2190        self,
2191    ) -> crate::common::RegisterField<0, 0x1, 1, 0, adexicr::Tssad, Adexicr_SPEC, crate::common::RW>
2192    {
2193        crate::common::RegisterField::<0,0x1,1,0,adexicr::Tssad, Adexicr_SPEC,crate::common::RW>::from_register(self,0)
2194    }
2195    #[doc = "Internal Reference Voltage A/D-Converted Value Addition/Average Mode Select"]
2196    #[inline(always)]
2197    pub fn ocsad(
2198        self,
2199    ) -> crate::common::RegisterField<1, 0x1, 1, 0, adexicr::Ocsad, Adexicr_SPEC, crate::common::RW>
2200    {
2201        crate::common::RegisterField::<1,0x1,1,0,adexicr::Ocsad, Adexicr_SPEC,crate::common::RW>::from_register(self,0)
2202    }
2203    #[doc = "Temperature Sensor Output A/D Conversion Select"]
2204    #[inline(always)]
2205    pub fn tssa(
2206        self,
2207    ) -> crate::common::RegisterField<8, 0x1, 1, 0, adexicr::Tssa, Adexicr_SPEC, crate::common::RW>
2208    {
2209        crate::common::RegisterField::<8,0x1,1,0,adexicr::Tssa, Adexicr_SPEC,crate::common::RW>::from_register(self,0)
2210    }
2211    #[doc = "Internal Reference Voltage A/D Conversion Select"]
2212    #[inline(always)]
2213    pub fn ocsa(
2214        self,
2215    ) -> crate::common::RegisterField<9, 0x1, 1, 0, adexicr::Ocsa, Adexicr_SPEC, crate::common::RW>
2216    {
2217        crate::common::RegisterField::<9,0x1,1,0,adexicr::Ocsa, Adexicr_SPEC,crate::common::RW>::from_register(self,0)
2218    }
2219    #[doc = "Temperature Sensor Output A/D Conversion Select for Group B"]
2220    #[inline(always)]
2221    pub fn tssb(
2222        self,
2223    ) -> crate::common::RegisterField<10, 0x1, 1, 0, adexicr::Tssb, Adexicr_SPEC, crate::common::RW>
2224    {
2225        crate::common::RegisterField::<10,0x1,1,0,adexicr::Tssb, Adexicr_SPEC,crate::common::RW>::from_register(self,0)
2226    }
2227    #[doc = "Internal Reference Voltage A/D Conversion Select for Group B"]
2228    #[inline(always)]
2229    pub fn ocsb(
2230        self,
2231    ) -> crate::common::RegisterField<11, 0x1, 1, 0, adexicr::Ocsb, Adexicr_SPEC, crate::common::RW>
2232    {
2233        crate::common::RegisterField::<11,0x1,1,0,adexicr::Ocsb, Adexicr_SPEC,crate::common::RW>::from_register(self,0)
2234    }
2235}
2236impl ::core::default::Default for Adexicr {
2237    #[inline(always)]
2238    fn default() -> Adexicr {
2239        <crate::RegValueT<Adexicr_SPEC> as RegisterValue<_>>::new(0)
2240    }
2241}
2242pub mod adexicr {
2243
2244    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2245    pub struct Tssad_SPEC;
2246    pub type Tssad = crate::EnumBitfieldStruct<u8, Tssad_SPEC>;
2247    impl Tssad {
2248        #[doc = "Do not select addition/average mode for temperature sensor output."]
2249        pub const _0: Self = Self::new(0);
2250        #[doc = "Select addition/average mode for temperature sensor output."]
2251        pub const _1: Self = Self::new(1);
2252    }
2253    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2254    pub struct Ocsad_SPEC;
2255    pub type Ocsad = crate::EnumBitfieldStruct<u8, Ocsad_SPEC>;
2256    impl Ocsad {
2257        #[doc = "Do not select addition/average mode for internal reference voltage."]
2258        pub const _0: Self = Self::new(0);
2259        #[doc = "Select addition/average mode for internal reference voltage."]
2260        pub const _1: Self = Self::new(1);
2261    }
2262    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2263    pub struct Tssa_SPEC;
2264    pub type Tssa = crate::EnumBitfieldStruct<u8, Tssa_SPEC>;
2265    impl Tssa {
2266        #[doc = "Disable A/D conversion of temperature sensor output"]
2267        pub const _0: Self = Self::new(0);
2268        #[doc = "Enable A/D conversion of temperature sensor output"]
2269        pub const _1: Self = Self::new(1);
2270    }
2271    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2272    pub struct Ocsa_SPEC;
2273    pub type Ocsa = crate::EnumBitfieldStruct<u8, Ocsa_SPEC>;
2274    impl Ocsa {
2275        #[doc = "Disable A/D conversion of internal reference voltage"]
2276        pub const _0: Self = Self::new(0);
2277        #[doc = "Enable A/D conversion of internal reference voltage"]
2278        pub const _1: Self = Self::new(1);
2279    }
2280    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2281    pub struct Tssb_SPEC;
2282    pub type Tssb = crate::EnumBitfieldStruct<u8, Tssb_SPEC>;
2283    impl Tssb {
2284        #[doc = "Disable A/D conversion of temperature sensor output"]
2285        pub const _0: Self = Self::new(0);
2286        #[doc = "Enable A/D conversion of temperature sensor output"]
2287        pub const _1: Self = Self::new(1);
2288    }
2289    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2290    pub struct Ocsb_SPEC;
2291    pub type Ocsb = crate::EnumBitfieldStruct<u8, Ocsb_SPEC>;
2292    impl Ocsb {
2293        #[doc = "Disable A/D conversion of internal reference voltage"]
2294        pub const _0: Self = Self::new(0);
2295        #[doc = "Enable A/D conversion of internal reference voltage"]
2296        pub const _1: Self = Self::new(1);
2297    }
2298}
2299#[doc(hidden)]
2300#[derive(Copy, Clone, Eq, PartialEq)]
2301pub struct Adansb0_SPEC;
2302impl crate::sealed::RegSpec for Adansb0_SPEC {
2303    type DataType = u16;
2304}
2305#[doc = "A/D Channel Select Register B0"]
2306pub type Adansb0 = crate::RegValueT<Adansb0_SPEC>;
2307
2308impl Adansb0 {
2309    #[doc = "A/D Conversion Channels Select"]
2310    #[inline(always)]
2311    pub fn ansb00(
2312        self,
2313    ) -> crate::common::RegisterField<0, 0x1, 1, 0, adansb0::Ansb00, Adansb0_SPEC, crate::common::RW>
2314    {
2315        crate::common::RegisterField::<0,0x1,1,0,adansb0::Ansb00, Adansb0_SPEC,crate::common::RW>::from_register(self,0)
2316    }
2317    #[doc = "A/D Conversion Channels Select"]
2318    #[inline(always)]
2319    pub fn ansb01(
2320        self,
2321    ) -> crate::common::RegisterField<1, 0x1, 1, 0, adansb0::Ansb01, Adansb0_SPEC, crate::common::RW>
2322    {
2323        crate::common::RegisterField::<1,0x1,1,0,adansb0::Ansb01, Adansb0_SPEC,crate::common::RW>::from_register(self,0)
2324    }
2325    #[doc = "A/D Conversion Channels Select"]
2326    #[inline(always)]
2327    pub fn ansb02(
2328        self,
2329    ) -> crate::common::RegisterField<2, 0x1, 1, 0, adansb0::Ansb02, Adansb0_SPEC, crate::common::RW>
2330    {
2331        crate::common::RegisterField::<2,0x1,1,0,adansb0::Ansb02, Adansb0_SPEC,crate::common::RW>::from_register(self,0)
2332    }
2333    #[doc = "A/D Conversion Channels Select"]
2334    #[inline(always)]
2335    pub fn ansb03(
2336        self,
2337    ) -> crate::common::RegisterField<3, 0x1, 1, 0, adansb0::Ansb03, Adansb0_SPEC, crate::common::RW>
2338    {
2339        crate::common::RegisterField::<3,0x1,1,0,adansb0::Ansb03, Adansb0_SPEC,crate::common::RW>::from_register(self,0)
2340    }
2341    #[doc = "A/D Conversion Channels Select"]
2342    #[inline(always)]
2343    pub fn ansb04(
2344        self,
2345    ) -> crate::common::RegisterField<4, 0x1, 1, 0, adansb0::Ansb04, Adansb0_SPEC, crate::common::RW>
2346    {
2347        crate::common::RegisterField::<4,0x1,1,0,adansb0::Ansb04, Adansb0_SPEC,crate::common::RW>::from_register(self,0)
2348    }
2349    #[doc = "A/D Conversion Channels Select"]
2350    #[inline(always)]
2351    pub fn ansb05(
2352        self,
2353    ) -> crate::common::RegisterField<5, 0x1, 1, 0, adansb0::Ansb05, Adansb0_SPEC, crate::common::RW>
2354    {
2355        crate::common::RegisterField::<5,0x1,1,0,adansb0::Ansb05, Adansb0_SPEC,crate::common::RW>::from_register(self,0)
2356    }
2357    #[doc = "A/D Conversion Channels Select"]
2358    #[inline(always)]
2359    pub fn ansb06(
2360        self,
2361    ) -> crate::common::RegisterField<6, 0x1, 1, 0, adansb0::Ansb06, Adansb0_SPEC, crate::common::RW>
2362    {
2363        crate::common::RegisterField::<6,0x1,1,0,adansb0::Ansb06, Adansb0_SPEC,crate::common::RW>::from_register(self,0)
2364    }
2365    #[doc = "A/D Conversion Channels Select"]
2366    #[inline(always)]
2367    pub fn ansb07(
2368        self,
2369    ) -> crate::common::RegisterField<7, 0x1, 1, 0, adansb0::Ansb07, Adansb0_SPEC, crate::common::RW>
2370    {
2371        crate::common::RegisterField::<7,0x1,1,0,adansb0::Ansb07, Adansb0_SPEC,crate::common::RW>::from_register(self,0)
2372    }
2373    #[doc = "A/D Conversion Channels Select"]
2374    #[inline(always)]
2375    pub fn ansb08(
2376        self,
2377    ) -> crate::common::RegisterField<8, 0x1, 1, 0, adansb0::Ansb08, Adansb0_SPEC, crate::common::RW>
2378    {
2379        crate::common::RegisterField::<8,0x1,1,0,adansb0::Ansb08, Adansb0_SPEC,crate::common::RW>::from_register(self,0)
2380    }
2381    #[doc = "A/D Conversion Channels Select"]
2382    #[inline(always)]
2383    pub fn ansb09(
2384        self,
2385    ) -> crate::common::RegisterField<9, 0x1, 1, 0, adansb0::Ansb09, Adansb0_SPEC, crate::common::RW>
2386    {
2387        crate::common::RegisterField::<9,0x1,1,0,adansb0::Ansb09, Adansb0_SPEC,crate::common::RW>::from_register(self,0)
2388    }
2389    #[doc = "A/D Conversion Channels Select"]
2390    #[inline(always)]
2391    pub fn ansb10(
2392        self,
2393    ) -> crate::common::RegisterField<10, 0x1, 1, 0, adansb0::Ansb10, Adansb0_SPEC, crate::common::RW>
2394    {
2395        crate::common::RegisterField::<
2396            10,
2397            0x1,
2398            1,
2399            0,
2400            adansb0::Ansb10,
2401            Adansb0_SPEC,
2402            crate::common::RW,
2403        >::from_register(self, 0)
2404    }
2405    #[doc = "A/D Conversion Channels Select"]
2406    #[inline(always)]
2407    pub fn ansb11(
2408        self,
2409    ) -> crate::common::RegisterField<11, 0x1, 1, 0, adansb0::Ansb11, Adansb0_SPEC, crate::common::RW>
2410    {
2411        crate::common::RegisterField::<
2412            11,
2413            0x1,
2414            1,
2415            0,
2416            adansb0::Ansb11,
2417            Adansb0_SPEC,
2418            crate::common::RW,
2419        >::from_register(self, 0)
2420    }
2421    #[doc = "A/D Conversion Channels Select"]
2422    #[inline(always)]
2423    pub fn ansb12(
2424        self,
2425    ) -> crate::common::RegisterField<12, 0x1, 1, 0, adansb0::Ansb12, Adansb0_SPEC, crate::common::RW>
2426    {
2427        crate::common::RegisterField::<
2428            12,
2429            0x1,
2430            1,
2431            0,
2432            adansb0::Ansb12,
2433            Adansb0_SPEC,
2434            crate::common::RW,
2435        >::from_register(self, 0)
2436    }
2437    #[doc = "A/D Conversion Channels Select"]
2438    #[inline(always)]
2439    pub fn ansb13(
2440        self,
2441    ) -> crate::common::RegisterField<13, 0x1, 1, 0, adansb0::Ansb13, Adansb0_SPEC, crate::common::RW>
2442    {
2443        crate::common::RegisterField::<
2444            13,
2445            0x1,
2446            1,
2447            0,
2448            adansb0::Ansb13,
2449            Adansb0_SPEC,
2450            crate::common::RW,
2451        >::from_register(self, 0)
2452    }
2453    #[doc = "A/D Conversion Channels Select"]
2454    #[inline(always)]
2455    pub fn ansb14(
2456        self,
2457    ) -> crate::common::RegisterField<14, 0x1, 1, 0, adansb0::Ansb14, Adansb0_SPEC, crate::common::RW>
2458    {
2459        crate::common::RegisterField::<
2460            14,
2461            0x1,
2462            1,
2463            0,
2464            adansb0::Ansb14,
2465            Adansb0_SPEC,
2466            crate::common::RW,
2467        >::from_register(self, 0)
2468    }
2469    #[doc = "A/D Conversion Channels Select"]
2470    #[inline(always)]
2471    pub fn ansb15(
2472        self,
2473    ) -> crate::common::RegisterField<15, 0x1, 1, 0, adansb0::Ansb15, Adansb0_SPEC, crate::common::RW>
2474    {
2475        crate::common::RegisterField::<
2476            15,
2477            0x1,
2478            1,
2479            0,
2480            adansb0::Ansb15,
2481            Adansb0_SPEC,
2482            crate::common::RW,
2483        >::from_register(self, 0)
2484    }
2485}
2486impl ::core::default::Default for Adansb0 {
2487    #[inline(always)]
2488    fn default() -> Adansb0 {
2489        <crate::RegValueT<Adansb0_SPEC> as RegisterValue<_>>::new(0)
2490    }
2491}
2492pub mod adansb0 {
2493
2494    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2495    pub struct Ansb00_SPEC;
2496    pub type Ansb00 = crate::EnumBitfieldStruct<u8, Ansb00_SPEC>;
2497    impl Ansb00 {
2498        #[doc = "Do not select associated input channel."]
2499        pub const _0: Self = Self::new(0);
2500        #[doc = "Select associated input channel."]
2501        pub const _1: Self = Self::new(1);
2502    }
2503    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2504    pub struct Ansb01_SPEC;
2505    pub type Ansb01 = crate::EnumBitfieldStruct<u8, Ansb01_SPEC>;
2506    impl Ansb01 {
2507        #[doc = "Do not select associated input channel."]
2508        pub const _0: Self = Self::new(0);
2509        #[doc = "Select associated input channel."]
2510        pub const _1: Self = Self::new(1);
2511    }
2512    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2513    pub struct Ansb02_SPEC;
2514    pub type Ansb02 = crate::EnumBitfieldStruct<u8, Ansb02_SPEC>;
2515    impl Ansb02 {
2516        #[doc = "Do not select associated input channel."]
2517        pub const _0: Self = Self::new(0);
2518        #[doc = "Select associated input channel."]
2519        pub const _1: Self = Self::new(1);
2520    }
2521    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2522    pub struct Ansb03_SPEC;
2523    pub type Ansb03 = crate::EnumBitfieldStruct<u8, Ansb03_SPEC>;
2524    impl Ansb03 {
2525        #[doc = "Do not select associated input channel."]
2526        pub const _0: Self = Self::new(0);
2527        #[doc = "Select associated input channel."]
2528        pub const _1: Self = Self::new(1);
2529    }
2530    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2531    pub struct Ansb04_SPEC;
2532    pub type Ansb04 = crate::EnumBitfieldStruct<u8, Ansb04_SPEC>;
2533    impl Ansb04 {
2534        #[doc = "Do not select associated input channel."]
2535        pub const _0: Self = Self::new(0);
2536        #[doc = "Select associated input channel."]
2537        pub const _1: Self = Self::new(1);
2538    }
2539    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2540    pub struct Ansb05_SPEC;
2541    pub type Ansb05 = crate::EnumBitfieldStruct<u8, Ansb05_SPEC>;
2542    impl Ansb05 {
2543        #[doc = "Do not select associated input channel."]
2544        pub const _0: Self = Self::new(0);
2545        #[doc = "Select associated input channel."]
2546        pub const _1: Self = Self::new(1);
2547    }
2548    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2549    pub struct Ansb06_SPEC;
2550    pub type Ansb06 = crate::EnumBitfieldStruct<u8, Ansb06_SPEC>;
2551    impl Ansb06 {
2552        #[doc = "Do not select associated input channel."]
2553        pub const _0: Self = Self::new(0);
2554        #[doc = "Select associated input channel."]
2555        pub const _1: Self = Self::new(1);
2556    }
2557    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2558    pub struct Ansb07_SPEC;
2559    pub type Ansb07 = crate::EnumBitfieldStruct<u8, Ansb07_SPEC>;
2560    impl Ansb07 {
2561        #[doc = "Do not select associated input channel."]
2562        pub const _0: Self = Self::new(0);
2563        #[doc = "Select associated input channel."]
2564        pub const _1: Self = Self::new(1);
2565    }
2566    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2567    pub struct Ansb08_SPEC;
2568    pub type Ansb08 = crate::EnumBitfieldStruct<u8, Ansb08_SPEC>;
2569    impl Ansb08 {
2570        #[doc = "Do not select associated input channel."]
2571        pub const _0: Self = Self::new(0);
2572        #[doc = "Select associated input channel."]
2573        pub const _1: Self = Self::new(1);
2574    }
2575    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2576    pub struct Ansb09_SPEC;
2577    pub type Ansb09 = crate::EnumBitfieldStruct<u8, Ansb09_SPEC>;
2578    impl Ansb09 {
2579        #[doc = "Do not select associated input channel."]
2580        pub const _0: Self = Self::new(0);
2581        #[doc = "Select associated input channel."]
2582        pub const _1: Self = Self::new(1);
2583    }
2584    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2585    pub struct Ansb10_SPEC;
2586    pub type Ansb10 = crate::EnumBitfieldStruct<u8, Ansb10_SPEC>;
2587    impl Ansb10 {
2588        #[doc = "Do not select associated input channel."]
2589        pub const _0: Self = Self::new(0);
2590        #[doc = "Select associated input channel."]
2591        pub const _1: Self = Self::new(1);
2592    }
2593    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2594    pub struct Ansb11_SPEC;
2595    pub type Ansb11 = crate::EnumBitfieldStruct<u8, Ansb11_SPEC>;
2596    impl Ansb11 {
2597        #[doc = "Do not select associated input channel."]
2598        pub const _0: Self = Self::new(0);
2599        #[doc = "Select associated input channel."]
2600        pub const _1: Self = Self::new(1);
2601    }
2602    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2603    pub struct Ansb12_SPEC;
2604    pub type Ansb12 = crate::EnumBitfieldStruct<u8, Ansb12_SPEC>;
2605    impl Ansb12 {
2606        #[doc = "Do not select associated input channel."]
2607        pub const _0: Self = Self::new(0);
2608        #[doc = "Select associated input channel."]
2609        pub const _1: Self = Self::new(1);
2610    }
2611    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2612    pub struct Ansb13_SPEC;
2613    pub type Ansb13 = crate::EnumBitfieldStruct<u8, Ansb13_SPEC>;
2614    impl Ansb13 {
2615        #[doc = "Do not select associated input channel."]
2616        pub const _0: Self = Self::new(0);
2617        #[doc = "Select associated input channel."]
2618        pub const _1: Self = Self::new(1);
2619    }
2620    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2621    pub struct Ansb14_SPEC;
2622    pub type Ansb14 = crate::EnumBitfieldStruct<u8, Ansb14_SPEC>;
2623    impl Ansb14 {
2624        #[doc = "Do not select associated input channel."]
2625        pub const _0: Self = Self::new(0);
2626        #[doc = "Select associated input channel."]
2627        pub const _1: Self = Self::new(1);
2628    }
2629    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2630    pub struct Ansb15_SPEC;
2631    pub type Ansb15 = crate::EnumBitfieldStruct<u8, Ansb15_SPEC>;
2632    impl Ansb15 {
2633        #[doc = "Do not select associated input channel."]
2634        pub const _0: Self = Self::new(0);
2635        #[doc = "Select associated input channel."]
2636        pub const _1: Self = Self::new(1);
2637    }
2638}
2639#[doc(hidden)]
2640#[derive(Copy, Clone, Eq, PartialEq)]
2641pub struct Adansb1_SPEC;
2642impl crate::sealed::RegSpec for Adansb1_SPEC {
2643    type DataType = u16;
2644}
2645#[doc = "A/D Channel Select Register B1"]
2646pub type Adansb1 = crate::RegValueT<Adansb1_SPEC>;
2647
2648impl Adansb1 {
2649    #[doc = "A/D Conversion Channels Select"]
2650    #[inline(always)]
2651    pub fn ansb16(
2652        self,
2653    ) -> crate::common::RegisterField<0, 0x1, 1, 0, adansb1::Ansb16, Adansb1_SPEC, crate::common::RW>
2654    {
2655        crate::common::RegisterField::<0,0x1,1,0,adansb1::Ansb16, Adansb1_SPEC,crate::common::RW>::from_register(self,0)
2656    }
2657    #[doc = "A/D Conversion Channels Select"]
2658    #[inline(always)]
2659    pub fn ansb17(
2660        self,
2661    ) -> crate::common::RegisterField<1, 0x1, 1, 0, adansb1::Ansb17, Adansb1_SPEC, crate::common::RW>
2662    {
2663        crate::common::RegisterField::<1,0x1,1,0,adansb1::Ansb17, Adansb1_SPEC,crate::common::RW>::from_register(self,0)
2664    }
2665    #[doc = "A/D Conversion Channels Select"]
2666    #[inline(always)]
2667    pub fn ansb18(
2668        self,
2669    ) -> crate::common::RegisterField<2, 0x1, 1, 0, adansb1::Ansb18, Adansb1_SPEC, crate::common::RW>
2670    {
2671        crate::common::RegisterField::<2,0x1,1,0,adansb1::Ansb18, Adansb1_SPEC,crate::common::RW>::from_register(self,0)
2672    }
2673    #[doc = "A/D Conversion Channels Select"]
2674    #[inline(always)]
2675    pub fn ansb19(
2676        self,
2677    ) -> crate::common::RegisterField<3, 0x1, 1, 0, adansb1::Ansb19, Adansb1_SPEC, crate::common::RW>
2678    {
2679        crate::common::RegisterField::<3,0x1,1,0,adansb1::Ansb19, Adansb1_SPEC,crate::common::RW>::from_register(self,0)
2680    }
2681    #[doc = "A/D Conversion Channels Select"]
2682    #[inline(always)]
2683    pub fn ansb20(
2684        self,
2685    ) -> crate::common::RegisterField<4, 0x1, 1, 0, adansb1::Ansb20, Adansb1_SPEC, crate::common::RW>
2686    {
2687        crate::common::RegisterField::<4,0x1,1,0,adansb1::Ansb20, Adansb1_SPEC,crate::common::RW>::from_register(self,0)
2688    }
2689    #[doc = "A/D Conversion Channels Select"]
2690    #[inline(always)]
2691    pub fn ansb21(
2692        self,
2693    ) -> crate::common::RegisterField<5, 0x1, 1, 0, adansb1::Ansb21, Adansb1_SPEC, crate::common::RW>
2694    {
2695        crate::common::RegisterField::<5,0x1,1,0,adansb1::Ansb21, Adansb1_SPEC,crate::common::RW>::from_register(self,0)
2696    }
2697    #[doc = "A/D Conversion Channels Select"]
2698    #[inline(always)]
2699    pub fn ansb22(
2700        self,
2701    ) -> crate::common::RegisterField<6, 0x1, 1, 0, adansb1::Ansb22, Adansb1_SPEC, crate::common::RW>
2702    {
2703        crate::common::RegisterField::<6,0x1,1,0,adansb1::Ansb22, Adansb1_SPEC,crate::common::RW>::from_register(self,0)
2704    }
2705    #[doc = "A/D Conversion Channels Select"]
2706    #[inline(always)]
2707    pub fn ansb23(
2708        self,
2709    ) -> crate::common::RegisterField<7, 0x1, 1, 0, adansb1::Ansb23, Adansb1_SPEC, crate::common::RW>
2710    {
2711        crate::common::RegisterField::<7,0x1,1,0,adansb1::Ansb23, Adansb1_SPEC,crate::common::RW>::from_register(self,0)
2712    }
2713    #[doc = "A/D Conversion Channels Select"]
2714    #[inline(always)]
2715    pub fn ansb24(
2716        self,
2717    ) -> crate::common::RegisterField<8, 0x1, 1, 0, adansb1::Ansb24, Adansb1_SPEC, crate::common::RW>
2718    {
2719        crate::common::RegisterField::<8,0x1,1,0,adansb1::Ansb24, Adansb1_SPEC,crate::common::RW>::from_register(self,0)
2720    }
2721    #[doc = "A/D Conversion Channels Select"]
2722    #[inline(always)]
2723    pub fn ansb25(
2724        self,
2725    ) -> crate::common::RegisterField<9, 0x1, 1, 0, adansb1::Ansb25, Adansb1_SPEC, crate::common::RW>
2726    {
2727        crate::common::RegisterField::<9,0x1,1,0,adansb1::Ansb25, Adansb1_SPEC,crate::common::RW>::from_register(self,0)
2728    }
2729    #[doc = "A/D Conversion Channels Select"]
2730    #[inline(always)]
2731    pub fn ansb26(
2732        self,
2733    ) -> crate::common::RegisterField<10, 0x1, 1, 0, adansb1::Ansb26, Adansb1_SPEC, crate::common::RW>
2734    {
2735        crate::common::RegisterField::<
2736            10,
2737            0x1,
2738            1,
2739            0,
2740            adansb1::Ansb26,
2741            Adansb1_SPEC,
2742            crate::common::RW,
2743        >::from_register(self, 0)
2744    }
2745    #[doc = "A/D Conversion Channels Select"]
2746    #[inline(always)]
2747    pub fn ansb27(
2748        self,
2749    ) -> crate::common::RegisterField<11, 0x1, 1, 0, adansb1::Ansb27, Adansb1_SPEC, crate::common::RW>
2750    {
2751        crate::common::RegisterField::<
2752            11,
2753            0x1,
2754            1,
2755            0,
2756            adansb1::Ansb27,
2757            Adansb1_SPEC,
2758            crate::common::RW,
2759        >::from_register(self, 0)
2760    }
2761    #[doc = "A/D Conversion Channels Select"]
2762    #[inline(always)]
2763    pub fn ansb28(
2764        self,
2765    ) -> crate::common::RegisterField<12, 0x1, 1, 0, adansb1::Ansb28, Adansb1_SPEC, crate::common::RW>
2766    {
2767        crate::common::RegisterField::<
2768            12,
2769            0x1,
2770            1,
2771            0,
2772            adansb1::Ansb28,
2773            Adansb1_SPEC,
2774            crate::common::RW,
2775        >::from_register(self, 0)
2776    }
2777    #[doc = "A/D Conversion Channels Select"]
2778    #[inline(always)]
2779    pub fn ansb29(
2780        self,
2781    ) -> crate::common::RegisterField<13, 0x1, 1, 0, adansb1::Ansb29, Adansb1_SPEC, crate::common::RW>
2782    {
2783        crate::common::RegisterField::<
2784            13,
2785            0x1,
2786            1,
2787            0,
2788            adansb1::Ansb29,
2789            Adansb1_SPEC,
2790            crate::common::RW,
2791        >::from_register(self, 0)
2792    }
2793    #[doc = "A/D Conversion Channels Select"]
2794    #[inline(always)]
2795    pub fn ansb30(
2796        self,
2797    ) -> crate::common::RegisterField<14, 0x1, 1, 0, adansb1::Ansb30, Adansb1_SPEC, crate::common::RW>
2798    {
2799        crate::common::RegisterField::<
2800            14,
2801            0x1,
2802            1,
2803            0,
2804            adansb1::Ansb30,
2805            Adansb1_SPEC,
2806            crate::common::RW,
2807        >::from_register(self, 0)
2808    }
2809    #[doc = "A/D Conversion Channels Select"]
2810    #[inline(always)]
2811    pub fn ansb31(
2812        self,
2813    ) -> crate::common::RegisterField<15, 0x1, 1, 0, adansb1::Ansb31, Adansb1_SPEC, crate::common::RW>
2814    {
2815        crate::common::RegisterField::<
2816            15,
2817            0x1,
2818            1,
2819            0,
2820            adansb1::Ansb31,
2821            Adansb1_SPEC,
2822            crate::common::RW,
2823        >::from_register(self, 0)
2824    }
2825}
2826impl ::core::default::Default for Adansb1 {
2827    #[inline(always)]
2828    fn default() -> Adansb1 {
2829        <crate::RegValueT<Adansb1_SPEC> as RegisterValue<_>>::new(0)
2830    }
2831}
2832pub mod adansb1 {
2833
2834    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2835    pub struct Ansb16_SPEC;
2836    pub type Ansb16 = crate::EnumBitfieldStruct<u8, Ansb16_SPEC>;
2837    impl Ansb16 {
2838        #[doc = "Do not select associated input channel."]
2839        pub const _0: Self = Self::new(0);
2840        #[doc = "Select associated input channel."]
2841        pub const _1: Self = Self::new(1);
2842    }
2843    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2844    pub struct Ansb17_SPEC;
2845    pub type Ansb17 = crate::EnumBitfieldStruct<u8, Ansb17_SPEC>;
2846    impl Ansb17 {
2847        #[doc = "Do not select associated input channel."]
2848        pub const _0: Self = Self::new(0);
2849        #[doc = "Select associated input channel."]
2850        pub const _1: Self = Self::new(1);
2851    }
2852    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2853    pub struct Ansb18_SPEC;
2854    pub type Ansb18 = crate::EnumBitfieldStruct<u8, Ansb18_SPEC>;
2855    impl Ansb18 {
2856        #[doc = "Do not select associated input channel."]
2857        pub const _0: Self = Self::new(0);
2858        #[doc = "Select associated input channel."]
2859        pub const _1: Self = Self::new(1);
2860    }
2861    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2862    pub struct Ansb19_SPEC;
2863    pub type Ansb19 = crate::EnumBitfieldStruct<u8, Ansb19_SPEC>;
2864    impl Ansb19 {
2865        #[doc = "Do not select associated input channel."]
2866        pub const _0: Self = Self::new(0);
2867        #[doc = "Select associated input channel."]
2868        pub const _1: Self = Self::new(1);
2869    }
2870    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2871    pub struct Ansb20_SPEC;
2872    pub type Ansb20 = crate::EnumBitfieldStruct<u8, Ansb20_SPEC>;
2873    impl Ansb20 {
2874        #[doc = "Do not select associated input channel."]
2875        pub const _0: Self = Self::new(0);
2876        #[doc = "Select associated input channel."]
2877        pub const _1: Self = Self::new(1);
2878    }
2879    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2880    pub struct Ansb21_SPEC;
2881    pub type Ansb21 = crate::EnumBitfieldStruct<u8, Ansb21_SPEC>;
2882    impl Ansb21 {
2883        #[doc = "Do not select associated input channel."]
2884        pub const _0: Self = Self::new(0);
2885        #[doc = "Select associated input channel."]
2886        pub const _1: Self = Self::new(1);
2887    }
2888    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2889    pub struct Ansb22_SPEC;
2890    pub type Ansb22 = crate::EnumBitfieldStruct<u8, Ansb22_SPEC>;
2891    impl Ansb22 {
2892        #[doc = "Do not select associated input channel."]
2893        pub const _0: Self = Self::new(0);
2894        #[doc = "Select associated input channel."]
2895        pub const _1: Self = Self::new(1);
2896    }
2897    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2898    pub struct Ansb23_SPEC;
2899    pub type Ansb23 = crate::EnumBitfieldStruct<u8, Ansb23_SPEC>;
2900    impl Ansb23 {
2901        #[doc = "Do not select associated input channel."]
2902        pub const _0: Self = Self::new(0);
2903        #[doc = "Select associated input channel."]
2904        pub const _1: Self = Self::new(1);
2905    }
2906    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2907    pub struct Ansb24_SPEC;
2908    pub type Ansb24 = crate::EnumBitfieldStruct<u8, Ansb24_SPEC>;
2909    impl Ansb24 {
2910        #[doc = "Do not select associated input channel."]
2911        pub const _0: Self = Self::new(0);
2912        #[doc = "Select associated input channel."]
2913        pub const _1: Self = Self::new(1);
2914    }
2915    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2916    pub struct Ansb25_SPEC;
2917    pub type Ansb25 = crate::EnumBitfieldStruct<u8, Ansb25_SPEC>;
2918    impl Ansb25 {
2919        #[doc = "Do not select associated input channel."]
2920        pub const _0: Self = Self::new(0);
2921        #[doc = "Select associated input channel."]
2922        pub const _1: Self = Self::new(1);
2923    }
2924    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2925    pub struct Ansb26_SPEC;
2926    pub type Ansb26 = crate::EnumBitfieldStruct<u8, Ansb26_SPEC>;
2927    impl Ansb26 {
2928        #[doc = "Do not select associated input channel."]
2929        pub const _0: Self = Self::new(0);
2930        #[doc = "Select associated input channel."]
2931        pub const _1: Self = Self::new(1);
2932    }
2933    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2934    pub struct Ansb27_SPEC;
2935    pub type Ansb27 = crate::EnumBitfieldStruct<u8, Ansb27_SPEC>;
2936    impl Ansb27 {
2937        #[doc = "Do not select associated input channel."]
2938        pub const _0: Self = Self::new(0);
2939        #[doc = "Select associated input channel."]
2940        pub const _1: Self = Self::new(1);
2941    }
2942    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2943    pub struct Ansb28_SPEC;
2944    pub type Ansb28 = crate::EnumBitfieldStruct<u8, Ansb28_SPEC>;
2945    impl Ansb28 {
2946        #[doc = "Do not select associated input channel."]
2947        pub const _0: Self = Self::new(0);
2948        #[doc = "Select associated input channel."]
2949        pub const _1: Self = Self::new(1);
2950    }
2951    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2952    pub struct Ansb29_SPEC;
2953    pub type Ansb29 = crate::EnumBitfieldStruct<u8, Ansb29_SPEC>;
2954    impl Ansb29 {
2955        #[doc = "Do not select associated input channel."]
2956        pub const _0: Self = Self::new(0);
2957        #[doc = "Select associated input channel."]
2958        pub const _1: Self = Self::new(1);
2959    }
2960    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2961    pub struct Ansb30_SPEC;
2962    pub type Ansb30 = crate::EnumBitfieldStruct<u8, Ansb30_SPEC>;
2963    impl Ansb30 {
2964        #[doc = "Do not select associated input channel."]
2965        pub const _0: Self = Self::new(0);
2966        #[doc = "Select associated input channel."]
2967        pub const _1: Self = Self::new(1);
2968    }
2969    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2970    pub struct Ansb31_SPEC;
2971    pub type Ansb31 = crate::EnumBitfieldStruct<u8, Ansb31_SPEC>;
2972    impl Ansb31 {
2973        #[doc = "Do not select associated input channel."]
2974        pub const _0: Self = Self::new(0);
2975        #[doc = "Select associated input channel."]
2976        pub const _1: Self = Self::new(1);
2977    }
2978}
2979#[doc(hidden)]
2980#[derive(Copy, Clone, Eq, PartialEq)]
2981pub struct Addbldr_SPEC;
2982impl crate::sealed::RegSpec for Addbldr_SPEC {
2983    type DataType = u16;
2984}
2985#[doc = "A/D Data Duplexing Register"]
2986pub type Addbldr = crate::RegValueT<Addbldr_SPEC>;
2987
2988impl Addbldr {
2989    #[doc = "Converted Value 15 to 0"]
2990    #[inline(always)]
2991    pub fn addbldr(
2992        self,
2993    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, Addbldr_SPEC, crate::common::R> {
2994        crate::common::RegisterField::<0,0xffff,1,0,u16, Addbldr_SPEC,crate::common::R>::from_register(self,0)
2995    }
2996}
2997impl ::core::default::Default for Addbldr {
2998    #[inline(always)]
2999    fn default() -> Addbldr {
3000        <crate::RegValueT<Addbldr_SPEC> as RegisterValue<_>>::new(0)
3001    }
3002}
3003
3004#[doc(hidden)]
3005#[derive(Copy, Clone, Eq, PartialEq)]
3006pub struct Adtsdr_SPEC;
3007impl crate::sealed::RegSpec for Adtsdr_SPEC {
3008    type DataType = u16;
3009}
3010#[doc = "A/D Temperature Sensor Data Register"]
3011pub type Adtsdr = crate::RegValueT<Adtsdr_SPEC>;
3012
3013impl Adtsdr {
3014    #[doc = "Converted Value 15 to 0"]
3015    #[inline(always)]
3016    pub fn adtsdr(
3017        self,
3018    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, Adtsdr_SPEC, crate::common::R> {
3019        crate::common::RegisterField::<0,0xffff,1,0,u16, Adtsdr_SPEC,crate::common::R>::from_register(self,0)
3020    }
3021}
3022impl ::core::default::Default for Adtsdr {
3023    #[inline(always)]
3024    fn default() -> Adtsdr {
3025        <crate::RegValueT<Adtsdr_SPEC> as RegisterValue<_>>::new(0)
3026    }
3027}
3028
3029#[doc(hidden)]
3030#[derive(Copy, Clone, Eq, PartialEq)]
3031pub struct Adocdr_SPEC;
3032impl crate::sealed::RegSpec for Adocdr_SPEC {
3033    type DataType = u16;
3034}
3035#[doc = "A/D Internal Reference Voltage Data Register"]
3036pub type Adocdr = crate::RegValueT<Adocdr_SPEC>;
3037
3038impl Adocdr {
3039    #[doc = "Converted Value 15 to 0"]
3040    #[inline(always)]
3041    pub fn adocdr(
3042        self,
3043    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, Adocdr_SPEC, crate::common::R> {
3044        crate::common::RegisterField::<0,0xffff,1,0,u16, Adocdr_SPEC,crate::common::R>::from_register(self,0)
3045    }
3046}
3047impl ::core::default::Default for Adocdr {
3048    #[inline(always)]
3049    fn default() -> Adocdr {
3050        <crate::RegValueT<Adocdr_SPEC> as RegisterValue<_>>::new(0)
3051    }
3052}
3053
3054#[doc(hidden)]
3055#[derive(Copy, Clone, Eq, PartialEq)]
3056pub struct Adrd_SPEC;
3057impl crate::sealed::RegSpec for Adrd_SPEC {
3058    type DataType = u16;
3059}
3060#[doc = "A/D Self-Diagnosis Data Register"]
3061pub type Adrd = crate::RegValueT<Adrd_SPEC>;
3062
3063impl Adrd {
3064    #[doc = "Converted Value 11 to 0"]
3065    #[inline(always)]
3066    pub fn ad(
3067        self,
3068    ) -> crate::common::RegisterField<0, 0xfff, 1, 0, u16, Adrd_SPEC, crate::common::R> {
3069        crate::common::RegisterField::<0,0xfff,1,0,u16, Adrd_SPEC,crate::common::R>::from_register(self,0)
3070    }
3071    #[doc = "Self-Diagnosis Status"]
3072    #[inline(always)]
3073    pub fn diagst(
3074        self,
3075    ) -> crate::common::RegisterField<14, 0x3, 1, 0, adrd::Diagst, Adrd_SPEC, crate::common::R>
3076    {
3077        crate::common::RegisterField::<14,0x3,1,0,adrd::Diagst, Adrd_SPEC,crate::common::R>::from_register(self,0)
3078    }
3079}
3080impl ::core::default::Default for Adrd {
3081    #[inline(always)]
3082    fn default() -> Adrd {
3083        <crate::RegValueT<Adrd_SPEC> as RegisterValue<_>>::new(0)
3084    }
3085}
3086pub mod adrd {
3087
3088    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3089    pub struct Diagst_SPEC;
3090    pub type Diagst = crate::EnumBitfieldStruct<u8, Diagst_SPEC>;
3091    impl Diagst {
3092        #[doc = "Self-diagnosis not executed after power-on."]
3093        pub const _00: Self = Self::new(0);
3094        #[doc = "Self-diagnosis was executed using the 0 V voltage."]
3095        pub const _01: Self = Self::new(1);
3096        #[doc = "Self-diagnosis was executed using the reference voltage × 1/2."]
3097        pub const _10: Self = Self::new(2);
3098        #[doc = "Self-diagnosis was executed using the reference voltage ."]
3099        pub const _11: Self = Self::new(3);
3100    }
3101}
3102#[doc(hidden)]
3103#[derive(Copy, Clone, Eq, PartialEq)]
3104pub struct Addr_SPEC;
3105impl crate::sealed::RegSpec for Addr_SPEC {
3106    type DataType = u16;
3107}
3108#[doc = "A/D Data Registers %s"]
3109pub type Addr = crate::RegValueT<Addr_SPEC>;
3110
3111impl Addr {
3112    #[doc = "Converted Value 15 to 0"]
3113    #[inline(always)]
3114    pub fn addr(
3115        self,
3116    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, Addr_SPEC, crate::common::R> {
3117        crate::common::RegisterField::<0,0xffff,1,0,u16, Addr_SPEC,crate::common::R>::from_register(self,0)
3118    }
3119}
3120impl ::core::default::Default for Addr {
3121    #[inline(always)]
3122    fn default() -> Addr {
3123        <crate::RegValueT<Addr_SPEC> as RegisterValue<_>>::new(0)
3124    }
3125}
3126
3127#[doc(hidden)]
3128#[derive(Copy, Clone, Eq, PartialEq)]
3129pub struct Addr16_SPEC;
3130impl crate::sealed::RegSpec for Addr16_SPEC {
3131    type DataType = u16;
3132}
3133#[doc = "A/D Data Registers 16"]
3134pub type Addr16 = crate::RegValueT<Addr16_SPEC>;
3135
3136impl Addr16 {
3137    #[doc = "Converted Value 15 to 0"]
3138    #[inline(always)]
3139    pub fn addr(
3140        self,
3141    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, Addr16_SPEC, crate::common::R> {
3142        crate::common::RegisterField::<0,0xffff,1,0,u16, Addr16_SPEC,crate::common::R>::from_register(self,0)
3143    }
3144}
3145impl ::core::default::Default for Addr16 {
3146    #[inline(always)]
3147    fn default() -> Addr16 {
3148        <crate::RegValueT<Addr16_SPEC> as RegisterValue<_>>::new(0)
3149    }
3150}
3151
3152#[doc(hidden)]
3153#[derive(Copy, Clone, Eq, PartialEq)]
3154pub struct Addiscr_SPEC;
3155impl crate::sealed::RegSpec for Addiscr_SPEC {
3156    type DataType = u8;
3157}
3158#[doc = "A/D Disconnection Detection Control Register"]
3159pub type Addiscr = crate::RegValueT<Addiscr_SPEC>;
3160
3161impl Addiscr {
3162    #[doc = "Disconnection Detection Assist Setting"]
3163    #[inline(always)]
3164    pub fn adndis(
3165        self,
3166    ) -> crate::common::RegisterField<0, 0xf, 1, 0, addiscr::Adndis, Addiscr_SPEC, crate::common::RW>
3167    {
3168        crate::common::RegisterField::<0,0xf,1,0,addiscr::Adndis, Addiscr_SPEC,crate::common::RW>::from_register(self,0)
3169    }
3170    #[doc = "Precharge/discharge select"]
3171    #[inline(always)]
3172    pub fn pchg(
3173        self,
3174    ) -> crate::common::RegisterField<4, 0x1, 1, 0, addiscr::Pchg, Addiscr_SPEC, crate::common::RW>
3175    {
3176        crate::common::RegisterField::<4,0x1,1,0,addiscr::Pchg, Addiscr_SPEC,crate::common::RW>::from_register(self,0)
3177    }
3178}
3179impl ::core::default::Default for Addiscr {
3180    #[inline(always)]
3181    fn default() -> Addiscr {
3182        <crate::RegValueT<Addiscr_SPEC> as RegisterValue<_>>::new(0)
3183    }
3184}
3185pub mod addiscr {
3186
3187    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3188    pub struct Adndis_SPEC;
3189    pub type Adndis = crate::EnumBitfieldStruct<u8, Adndis_SPEC>;
3190    impl Adndis {
3191        #[doc = "The disconnection detection assist function is disabled"]
3192        pub const _0_X_0: Self = Self::new(0);
3193        #[doc = "Setting prohibited"]
3194        pub const _0_X_1: Self = Self::new(1);
3195        #[doc = "The number of states for the discharge or precharge period."]
3196        pub const OTHERS: Self = Self::new(0);
3197    }
3198    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3199    pub struct Pchg_SPEC;
3200    pub type Pchg = crate::EnumBitfieldStruct<u8, Pchg_SPEC>;
3201    impl Pchg {
3202        #[doc = "Discharge"]
3203        pub const _0: Self = Self::new(0);
3204        #[doc = "Precharge"]
3205        pub const _1: Self = Self::new(1);
3206    }
3207}
3208#[doc(hidden)]
3209#[derive(Copy, Clone, Eq, PartialEq)]
3210pub struct Adgspcr_SPEC;
3211impl crate::sealed::RegSpec for Adgspcr_SPEC {
3212    type DataType = u16;
3213}
3214#[doc = "A/D Group Scan Priority Control Register"]
3215pub type Adgspcr = crate::RegValueT<Adgspcr_SPEC>;
3216
3217impl Adgspcr {
3218    #[doc = "Group Priority Operation Setting"]
3219    #[inline(always)]
3220    pub fn pgs(
3221        self,
3222    ) -> crate::common::RegisterField<0, 0x1, 1, 0, adgspcr::Pgs, Adgspcr_SPEC, crate::common::RW>
3223    {
3224        crate::common::RegisterField::<0,0x1,1,0,adgspcr::Pgs, Adgspcr_SPEC,crate::common::RW>::from_register(self,0)
3225    }
3226    #[doc = "Lower-Priority Group Restart Setting"]
3227    #[inline(always)]
3228    pub fn gbrscn(
3229        self,
3230    ) -> crate::common::RegisterField<1, 0x1, 1, 0, adgspcr::Gbrscn, Adgspcr_SPEC, crate::common::RW>
3231    {
3232        crate::common::RegisterField::<1,0x1,1,0,adgspcr::Gbrscn, Adgspcr_SPEC,crate::common::RW>::from_register(self,0)
3233    }
3234    #[doc = "Enabled only when PGS = 1 and GBRSCN = 1."]
3235    #[inline(always)]
3236    pub fn lgrrs(
3237        self,
3238    ) -> crate::common::RegisterField<14, 0x1, 1, 0, adgspcr::Lgrrs, Adgspcr_SPEC, crate::common::RW>
3239    {
3240        crate::common::RegisterField::<14,0x1,1,0,adgspcr::Lgrrs, Adgspcr_SPEC,crate::common::RW>::from_register(self,0)
3241    }
3242    #[doc = "Single Scan Continuous Start"]
3243    #[inline(always)]
3244    pub fn gbrp(
3245        self,
3246    ) -> crate::common::RegisterField<15, 0x1, 1, 0, adgspcr::Gbrp, Adgspcr_SPEC, crate::common::RW>
3247    {
3248        crate::common::RegisterField::<15,0x1,1,0,adgspcr::Gbrp, Adgspcr_SPEC,crate::common::RW>::from_register(self,0)
3249    }
3250}
3251impl ::core::default::Default for Adgspcr {
3252    #[inline(always)]
3253    fn default() -> Adgspcr {
3254        <crate::RegValueT<Adgspcr_SPEC> as RegisterValue<_>>::new(0)
3255    }
3256}
3257pub mod adgspcr {
3258
3259    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3260    pub struct Pgs_SPEC;
3261    pub type Pgs = crate::EnumBitfieldStruct<u8, Pgs_SPEC>;
3262    impl Pgs {
3263        #[doc = "Operate without group priority control."]
3264        pub const _0: Self = Self::new(0);
3265        #[doc = "Operate with group priority control."]
3266        pub const _1: Self = Self::new(1);
3267    }
3268    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3269    pub struct Gbrscn_SPEC;
3270    pub type Gbrscn = crate::EnumBitfieldStruct<u8, Gbrscn_SPEC>;
3271    impl Gbrscn {
3272        #[doc = "Disable rescanning of the group that was stopped in group priority operation"]
3273        pub const _0: Self = Self::new(0);
3274        #[doc = "Enable rescanning of the group that was stopped in group priority operation."]
3275        pub const _1: Self = Self::new(1);
3276    }
3277    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3278    pub struct Lgrrs_SPEC;
3279    pub type Lgrrs = crate::EnumBitfieldStruct<u8, Lgrrs_SPEC>;
3280    impl Lgrrs {
3281        #[doc = "Start rescanning from the first channel for scanning"]
3282        pub const _0: Self = Self::new(0);
3283        #[doc = "Start rescanning from the channel for which A/D conversion is not completed."]
3284        pub const _1: Self = Self::new(1);
3285    }
3286    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3287    pub struct Gbrp_SPEC;
3288    pub type Gbrp = crate::EnumBitfieldStruct<u8, Gbrp_SPEC>;
3289    impl Gbrp {
3290        #[doc = "Single scan is not continuously activated."]
3291        pub const _0: Self = Self::new(0);
3292        #[doc = "Single scan for the group with the lower-priority is continuously activated."]
3293        pub const _1: Self = Self::new(1);
3294    }
3295}
3296#[doc(hidden)]
3297#[derive(Copy, Clone, Eq, PartialEq)]
3298pub struct Addbldra_SPEC;
3299impl crate::sealed::RegSpec for Addbldra_SPEC {
3300    type DataType = u16;
3301}
3302#[doc = "A/D Data Duplexing Register A"]
3303pub type Addbldra = crate::RegValueT<Addbldra_SPEC>;
3304
3305impl Addbldra {
3306    #[doc = "Converted Value 15 to 0"]
3307    #[inline(always)]
3308    pub fn addbldr(
3309        self,
3310    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, Addbldra_SPEC, crate::common::R> {
3311        crate::common::RegisterField::<0,0xffff,1,0,u16, Addbldra_SPEC,crate::common::R>::from_register(self,0)
3312    }
3313}
3314impl ::core::default::Default for Addbldra {
3315    #[inline(always)]
3316    fn default() -> Addbldra {
3317        <crate::RegValueT<Addbldra_SPEC> as RegisterValue<_>>::new(0)
3318    }
3319}
3320
3321#[doc(hidden)]
3322#[derive(Copy, Clone, Eq, PartialEq)]
3323pub struct Addbldrb_SPEC;
3324impl crate::sealed::RegSpec for Addbldrb_SPEC {
3325    type DataType = u16;
3326}
3327#[doc = "A/D Data Duplexing Register B"]
3328pub type Addbldrb = crate::RegValueT<Addbldrb_SPEC>;
3329
3330impl Addbldrb {
3331    #[doc = "Converted Value 15 to 0"]
3332    #[inline(always)]
3333    pub fn addbldr(
3334        self,
3335    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, Addbldrb_SPEC, crate::common::R> {
3336        crate::common::RegisterField::<0,0xffff,1,0,u16, Addbldrb_SPEC,crate::common::R>::from_register(self,0)
3337    }
3338}
3339impl ::core::default::Default for Addbldrb {
3340    #[inline(always)]
3341    fn default() -> Addbldrb {
3342        <crate::RegValueT<Addbldrb_SPEC> as RegisterValue<_>>::new(0)
3343    }
3344}
3345
3346#[doc(hidden)]
3347#[derive(Copy, Clone, Eq, PartialEq)]
3348pub struct Adwinmon_SPEC;
3349impl crate::sealed::RegSpec for Adwinmon_SPEC {
3350    type DataType = u8;
3351}
3352#[doc = "A/D Compare Function Window A/B Status Monitor Register"]
3353pub type Adwinmon = crate::RegValueT<Adwinmon_SPEC>;
3354
3355impl Adwinmon {
3356    #[doc = "Combination Result Monitor"]
3357    #[inline(always)]
3358    pub fn moncomb(
3359        self,
3360    ) -> crate::common::RegisterField<
3361        0,
3362        0x1,
3363        1,
3364        0,
3365        adwinmon::Moncomb,
3366        Adwinmon_SPEC,
3367        crate::common::R,
3368    > {
3369        crate::common::RegisterField::<
3370            0,
3371            0x1,
3372            1,
3373            0,
3374            adwinmon::Moncomb,
3375            Adwinmon_SPEC,
3376            crate::common::R,
3377        >::from_register(self, 0)
3378    }
3379    #[doc = "Comparison Result Monitor A"]
3380    #[inline(always)]
3381    pub fn moncmpa(
3382        self,
3383    ) -> crate::common::RegisterField<
3384        4,
3385        0x1,
3386        1,
3387        0,
3388        adwinmon::Moncmpa,
3389        Adwinmon_SPEC,
3390        crate::common::R,
3391    > {
3392        crate::common::RegisterField::<
3393            4,
3394            0x1,
3395            1,
3396            0,
3397            adwinmon::Moncmpa,
3398            Adwinmon_SPEC,
3399            crate::common::R,
3400        >::from_register(self, 0)
3401    }
3402    #[doc = "Comparison Result Monitor B"]
3403    #[inline(always)]
3404    pub fn moncmpb(
3405        self,
3406    ) -> crate::common::RegisterField<
3407        5,
3408        0x1,
3409        1,
3410        0,
3411        adwinmon::Moncmpb,
3412        Adwinmon_SPEC,
3413        crate::common::R,
3414    > {
3415        crate::common::RegisterField::<
3416            5,
3417            0x1,
3418            1,
3419            0,
3420            adwinmon::Moncmpb,
3421            Adwinmon_SPEC,
3422            crate::common::R,
3423        >::from_register(self, 0)
3424    }
3425}
3426impl ::core::default::Default for Adwinmon {
3427    #[inline(always)]
3428    fn default() -> Adwinmon {
3429        <crate::RegValueT<Adwinmon_SPEC> as RegisterValue<_>>::new(0)
3430    }
3431}
3432pub mod adwinmon {
3433
3434    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3435    pub struct Moncomb_SPEC;
3436    pub type Moncomb = crate::EnumBitfieldStruct<u8, Moncomb_SPEC>;
3437    impl Moncomb {
3438        #[doc = "Window A/B composite conditions are not met."]
3439        pub const _0: Self = Self::new(0);
3440        #[doc = "Window A/B composite conditions are met."]
3441        pub const _1: Self = Self::new(1);
3442    }
3443    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3444    pub struct Moncmpa_SPEC;
3445    pub type Moncmpa = crate::EnumBitfieldStruct<u8, Moncmpa_SPEC>;
3446    impl Moncmpa {
3447        #[doc = "Window A comparison conditions are not met."]
3448        pub const _0: Self = Self::new(0);
3449        #[doc = "Window A comparison conditions are met."]
3450        pub const _1: Self = Self::new(1);
3451    }
3452    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3453    pub struct Moncmpb_SPEC;
3454    pub type Moncmpb = crate::EnumBitfieldStruct<u8, Moncmpb_SPEC>;
3455    impl Moncmpb {
3456        #[doc = "Window B comparison conditions are not met."]
3457        pub const _0: Self = Self::new(0);
3458        #[doc = "Window B comparison conditions are met."]
3459        pub const _1: Self = Self::new(1);
3460    }
3461}
3462#[doc(hidden)]
3463#[derive(Copy, Clone, Eq, PartialEq)]
3464pub struct Adcmpcr_SPEC;
3465impl crate::sealed::RegSpec for Adcmpcr_SPEC {
3466    type DataType = u16;
3467}
3468#[doc = "A/D Compare Function Control Register"]
3469pub type Adcmpcr = crate::RegValueT<Adcmpcr_SPEC>;
3470
3471impl Adcmpcr {
3472    #[doc = "Window A/B Composite Conditions Setting"]
3473    #[inline(always)]
3474    pub fn cmpab(
3475        self,
3476    ) -> crate::common::RegisterField<0, 0x3, 1, 0, adcmpcr::Cmpab, Adcmpcr_SPEC, crate::common::RW>
3477    {
3478        crate::common::RegisterField::<0,0x3,1,0,adcmpcr::Cmpab, Adcmpcr_SPEC,crate::common::RW>::from_register(self,0)
3479    }
3480    #[doc = "Compare Window B Operation Enable"]
3481    #[inline(always)]
3482    pub fn cmpbe(
3483        self,
3484    ) -> crate::common::RegisterField<9, 0x1, 1, 0, adcmpcr::Cmpbe, Adcmpcr_SPEC, crate::common::RW>
3485    {
3486        crate::common::RegisterField::<9,0x1,1,0,adcmpcr::Cmpbe, Adcmpcr_SPEC,crate::common::RW>::from_register(self,0)
3487    }
3488    #[doc = "Compare Window A Operation Enable"]
3489    #[inline(always)]
3490    pub fn cmpae(
3491        self,
3492    ) -> crate::common::RegisterField<11, 0x1, 1, 0, adcmpcr::Cmpae, Adcmpcr_SPEC, crate::common::RW>
3493    {
3494        crate::common::RegisterField::<11,0x1,1,0,adcmpcr::Cmpae, Adcmpcr_SPEC,crate::common::RW>::from_register(self,0)
3495    }
3496    #[doc = "Compare B Interrupt Enable"]
3497    #[inline(always)]
3498    pub fn cmpbie(
3499        self,
3500    ) -> crate::common::RegisterField<13, 0x1, 1, 0, adcmpcr::Cmpbie, Adcmpcr_SPEC, crate::common::RW>
3501    {
3502        crate::common::RegisterField::<
3503            13,
3504            0x1,
3505            1,
3506            0,
3507            adcmpcr::Cmpbie,
3508            Adcmpcr_SPEC,
3509            crate::common::RW,
3510        >::from_register(self, 0)
3511    }
3512    #[doc = "Window Function Setting"]
3513    #[inline(always)]
3514    pub fn wcmpe(
3515        self,
3516    ) -> crate::common::RegisterField<14, 0x1, 1, 0, adcmpcr::Wcmpe, Adcmpcr_SPEC, crate::common::RW>
3517    {
3518        crate::common::RegisterField::<14,0x1,1,0,adcmpcr::Wcmpe, Adcmpcr_SPEC,crate::common::RW>::from_register(self,0)
3519    }
3520    #[doc = "Compare A Interrupt Enable"]
3521    #[inline(always)]
3522    pub fn cmpaie(
3523        self,
3524    ) -> crate::common::RegisterField<15, 0x1, 1, 0, adcmpcr::Cmpaie, Adcmpcr_SPEC, crate::common::RW>
3525    {
3526        crate::common::RegisterField::<
3527            15,
3528            0x1,
3529            1,
3530            0,
3531            adcmpcr::Cmpaie,
3532            Adcmpcr_SPEC,
3533            crate::common::RW,
3534        >::from_register(self, 0)
3535    }
3536}
3537impl ::core::default::Default for Adcmpcr {
3538    #[inline(always)]
3539    fn default() -> Adcmpcr {
3540        <crate::RegValueT<Adcmpcr_SPEC> as RegisterValue<_>>::new(0)
3541    }
3542}
3543pub mod adcmpcr {
3544
3545    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3546    pub struct Cmpab_SPEC;
3547    pub type Cmpab = crate::EnumBitfieldStruct<u8, Cmpab_SPEC>;
3548    impl Cmpab {
3549        #[doc = "Output ADC120_WCMPM when window A OR window B comparison conditions are met. Otherwise, output ADC120_WCMPUM."]
3550        pub const _00: Self = Self::new(0);
3551        #[doc = "Output ADC120_WCMPM when window A EXOR window B comparison conditions are met. Otherwise, output ADC120_WCMPUM."]
3552        pub const _01: Self = Self::new(1);
3553        #[doc = "Output ADC120_WCMPM when window A AND window B comparison conditions are met. Otherwise, output ADC120_WCMPUM."]
3554        pub const _10: Self = Self::new(2);
3555        #[doc = "Setting prohibited."]
3556        pub const _11: Self = Self::new(3);
3557    }
3558    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3559    pub struct Cmpbe_SPEC;
3560    pub type Cmpbe = crate::EnumBitfieldStruct<u8, Cmpbe_SPEC>;
3561    impl Cmpbe {
3562        #[doc = "Disable compare window B operation. Disable ADC120_WCMPM and ADC120_WCMPUM outputs."]
3563        pub const _0: Self = Self::new(0);
3564        #[doc = "Enable compare window B operation."]
3565        pub const _1: Self = Self::new(1);
3566    }
3567    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3568    pub struct Cmpae_SPEC;
3569    pub type Cmpae = crate::EnumBitfieldStruct<u8, Cmpae_SPEC>;
3570    impl Cmpae {
3571        #[doc = "Disable compare window A operation. Disable ADC120_WCMPM and ADC120_WCMPUM outputs."]
3572        pub const _0: Self = Self::new(0);
3573        #[doc = "Enable compare window A operation."]
3574        pub const _1: Self = Self::new(1);
3575    }
3576    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3577    pub struct Cmpbie_SPEC;
3578    pub type Cmpbie = crate::EnumBitfieldStruct<u8, Cmpbie_SPEC>;
3579    impl Cmpbie {
3580        #[doc = "Disable ADC120_CMPBI interrupt when comparison conditions (window B) are met."]
3581        pub const _0: Self = Self::new(0);
3582        #[doc = "Enable ADC120_CMPBI interrupt when comparison conditions (window B) are met."]
3583        pub const _1: Self = Self::new(1);
3584    }
3585    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3586    pub struct Wcmpe_SPEC;
3587    pub type Wcmpe = crate::EnumBitfieldStruct<u8, Wcmpe_SPEC>;
3588    impl Wcmpe {
3589        #[doc = "Disable window function Window A and window B operate as a comparator to compare the single value on the lower side with the A/D conversion result."]
3590        pub const _0: Self = Self::new(0);
3591        #[doc = "Enable window function Window A and window B operate as a comparator to compare the two values on the upper and lower sides with the A/D conversion result."]
3592        pub const _1: Self = Self::new(1);
3593    }
3594    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3595    pub struct Cmpaie_SPEC;
3596    pub type Cmpaie = crate::EnumBitfieldStruct<u8, Cmpaie_SPEC>;
3597    impl Cmpaie {
3598        #[doc = "Disable ADC120_CMPAI interrupt when comparison conditions (window A) are met."]
3599        pub const _0: Self = Self::new(0);
3600        #[doc = "Enable ADC120_CMPAI interrupt when comparison conditions (window A) are met."]
3601        pub const _1: Self = Self::new(1);
3602    }
3603}
3604#[doc(hidden)]
3605#[derive(Copy, Clone, Eq, PartialEq)]
3606pub struct Adcmpanser_SPEC;
3607impl crate::sealed::RegSpec for Adcmpanser_SPEC {
3608    type DataType = u8;
3609}
3610#[doc = "A/D Compare Function Window A Extended Input Select Register"]
3611pub type Adcmpanser = crate::RegValueT<Adcmpanser_SPEC>;
3612
3613impl Adcmpanser {
3614    #[doc = "Temperature Sensor Output Compare Select"]
3615    #[inline(always)]
3616    pub fn cmptsa(
3617        self,
3618    ) -> crate::common::RegisterField<
3619        0,
3620        0x1,
3621        1,
3622        0,
3623        adcmpanser::Cmptsa,
3624        Adcmpanser_SPEC,
3625        crate::common::RW,
3626    > {
3627        crate::common::RegisterField::<
3628            0,
3629            0x1,
3630            1,
3631            0,
3632            adcmpanser::Cmptsa,
3633            Adcmpanser_SPEC,
3634            crate::common::RW,
3635        >::from_register(self, 0)
3636    }
3637    #[doc = "Internal Reference Voltage Compare Select"]
3638    #[inline(always)]
3639    pub fn cmpoca(
3640        self,
3641    ) -> crate::common::RegisterField<
3642        1,
3643        0x1,
3644        1,
3645        0,
3646        adcmpanser::Cmpoca,
3647        Adcmpanser_SPEC,
3648        crate::common::RW,
3649    > {
3650        crate::common::RegisterField::<
3651            1,
3652            0x1,
3653            1,
3654            0,
3655            adcmpanser::Cmpoca,
3656            Adcmpanser_SPEC,
3657            crate::common::RW,
3658        >::from_register(self, 0)
3659    }
3660}
3661impl ::core::default::Default for Adcmpanser {
3662    #[inline(always)]
3663    fn default() -> Adcmpanser {
3664        <crate::RegValueT<Adcmpanser_SPEC> as RegisterValue<_>>::new(0)
3665    }
3666}
3667pub mod adcmpanser {
3668
3669    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3670    pub struct Cmptsa_SPEC;
3671    pub type Cmptsa = crate::EnumBitfieldStruct<u8, Cmptsa_SPEC>;
3672    impl Cmptsa {
3673        #[doc = "Exclude the temperature sensor output from the compare Window A target range."]
3674        pub const _0: Self = Self::new(0);
3675        #[doc = "Include the temperature sensor output in the compare Window A target range."]
3676        pub const _1: Self = Self::new(1);
3677    }
3678    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3679    pub struct Cmpoca_SPEC;
3680    pub type Cmpoca = crate::EnumBitfieldStruct<u8, Cmpoca_SPEC>;
3681    impl Cmpoca {
3682        #[doc = "Exclude the internal reference voltage from the compare Window A target range."]
3683        pub const _0: Self = Self::new(0);
3684        #[doc = "Include the internal reference voltage in the compare Window A target range."]
3685        pub const _1: Self = Self::new(1);
3686    }
3687}
3688#[doc(hidden)]
3689#[derive(Copy, Clone, Eq, PartialEq)]
3690pub struct Adcmpler_SPEC;
3691impl crate::sealed::RegSpec for Adcmpler_SPEC {
3692    type DataType = u8;
3693}
3694#[doc = "A/D Compare Function Window A Extended Input Comparison Condition Setting Register"]
3695pub type Adcmpler = crate::RegValueT<Adcmpler_SPEC>;
3696
3697impl Adcmpler {
3698    #[doc = "Compare Window A Temperature Sensor Output Comparison Condition Select"]
3699    #[inline(always)]
3700    pub fn cmpltsa(
3701        self,
3702    ) -> crate::common::RegisterField<
3703        0,
3704        0x1,
3705        1,
3706        0,
3707        adcmpler::Cmpltsa,
3708        Adcmpler_SPEC,
3709        crate::common::RW,
3710    > {
3711        crate::common::RegisterField::<
3712            0,
3713            0x1,
3714            1,
3715            0,
3716            adcmpler::Cmpltsa,
3717            Adcmpler_SPEC,
3718            crate::common::RW,
3719        >::from_register(self, 0)
3720    }
3721    #[doc = "Compare Window A Internal Reference Voltage Comparison Condition Select"]
3722    #[inline(always)]
3723    pub fn cmploca(
3724        self,
3725    ) -> crate::common::RegisterField<
3726        1,
3727        0x1,
3728        1,
3729        0,
3730        adcmpler::Cmploca,
3731        Adcmpler_SPEC,
3732        crate::common::RW,
3733    > {
3734        crate::common::RegisterField::<
3735            1,
3736            0x1,
3737            1,
3738            0,
3739            adcmpler::Cmploca,
3740            Adcmpler_SPEC,
3741            crate::common::RW,
3742        >::from_register(self, 0)
3743    }
3744}
3745impl ::core::default::Default for Adcmpler {
3746    #[inline(always)]
3747    fn default() -> Adcmpler {
3748        <crate::RegValueT<Adcmpler_SPEC> as RegisterValue<_>>::new(0)
3749    }
3750}
3751pub mod adcmpler {
3752
3753    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3754    pub struct Cmpltsa_SPEC;
3755    pub type Cmpltsa = crate::EnumBitfieldStruct<u8, Cmpltsa_SPEC>;
3756    impl Cmpltsa {
3757        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0) : ADCMPDR0 value > A/D-converted valueCompare Window A Temperature Sensor Output Comparison Condition Select When window function is enabled (ADCMPCR.WCMPE = 1) : Compare Window A Temperature Sensor Output Comparison ConditionA/D-converted value < ADCMPDR0 value, or A/D-converted value > ADCMPDR1 value"]
3758        pub const _0: Self = Self::new(0);
3759        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0) : ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1) : ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
3760        pub const _1: Self = Self::new(1);
3761    }
3762    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3763    pub struct Cmploca_SPEC;
3764    pub type Cmploca = crate::EnumBitfieldStruct<u8, Cmploca_SPEC>;
3765    impl Cmploca {
3766        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0) : ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or A/D-converted value > ADCMPDR1 value"]
3767        pub const _0: Self = Self::new(0);
3768        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
3769        pub const _1: Self = Self::new(1);
3770    }
3771}
3772#[doc(hidden)]
3773#[derive(Copy, Clone, Eq, PartialEq)]
3774pub struct Adcmpansr0_SPEC;
3775impl crate::sealed::RegSpec for Adcmpansr0_SPEC {
3776    type DataType = u16;
3777}
3778#[doc = "A/D Compare Function Window A Channel Select Register 0"]
3779pub type Adcmpansr0 = crate::RegValueT<Adcmpansr0_SPEC>;
3780
3781impl Adcmpansr0 {
3782    #[doc = "Compare Window A Channel Select"]
3783    #[inline(always)]
3784    pub fn cmpcha00(
3785        self,
3786    ) -> crate::common::RegisterField<
3787        0,
3788        0x1,
3789        1,
3790        0,
3791        adcmpansr0::Cmpcha00,
3792        Adcmpansr0_SPEC,
3793        crate::common::RW,
3794    > {
3795        crate::common::RegisterField::<
3796            0,
3797            0x1,
3798            1,
3799            0,
3800            adcmpansr0::Cmpcha00,
3801            Adcmpansr0_SPEC,
3802            crate::common::RW,
3803        >::from_register(self, 0)
3804    }
3805    #[doc = "Compare Window A Channel Select"]
3806    #[inline(always)]
3807    pub fn cmpcha01(
3808        self,
3809    ) -> crate::common::RegisterField<
3810        1,
3811        0x1,
3812        1,
3813        0,
3814        adcmpansr0::Cmpcha01,
3815        Adcmpansr0_SPEC,
3816        crate::common::RW,
3817    > {
3818        crate::common::RegisterField::<
3819            1,
3820            0x1,
3821            1,
3822            0,
3823            adcmpansr0::Cmpcha01,
3824            Adcmpansr0_SPEC,
3825            crate::common::RW,
3826        >::from_register(self, 0)
3827    }
3828    #[doc = "Compare Window A Channel Select"]
3829    #[inline(always)]
3830    pub fn cmpcha02(
3831        self,
3832    ) -> crate::common::RegisterField<
3833        2,
3834        0x1,
3835        1,
3836        0,
3837        adcmpansr0::Cmpcha02,
3838        Adcmpansr0_SPEC,
3839        crate::common::RW,
3840    > {
3841        crate::common::RegisterField::<
3842            2,
3843            0x1,
3844            1,
3845            0,
3846            adcmpansr0::Cmpcha02,
3847            Adcmpansr0_SPEC,
3848            crate::common::RW,
3849        >::from_register(self, 0)
3850    }
3851    #[doc = "Compare Window A Channel Select"]
3852    #[inline(always)]
3853    pub fn cmpcha03(
3854        self,
3855    ) -> crate::common::RegisterField<
3856        3,
3857        0x1,
3858        1,
3859        0,
3860        adcmpansr0::Cmpcha03,
3861        Adcmpansr0_SPEC,
3862        crate::common::RW,
3863    > {
3864        crate::common::RegisterField::<
3865            3,
3866            0x1,
3867            1,
3868            0,
3869            adcmpansr0::Cmpcha03,
3870            Adcmpansr0_SPEC,
3871            crate::common::RW,
3872        >::from_register(self, 0)
3873    }
3874    #[doc = "Compare Window A Channel Select"]
3875    #[inline(always)]
3876    pub fn cmpcha04(
3877        self,
3878    ) -> crate::common::RegisterField<
3879        4,
3880        0x1,
3881        1,
3882        0,
3883        adcmpansr0::Cmpcha04,
3884        Adcmpansr0_SPEC,
3885        crate::common::RW,
3886    > {
3887        crate::common::RegisterField::<
3888            4,
3889            0x1,
3890            1,
3891            0,
3892            adcmpansr0::Cmpcha04,
3893            Adcmpansr0_SPEC,
3894            crate::common::RW,
3895        >::from_register(self, 0)
3896    }
3897    #[doc = "Compare Window A Channel Select"]
3898    #[inline(always)]
3899    pub fn cmpcha05(
3900        self,
3901    ) -> crate::common::RegisterField<
3902        5,
3903        0x1,
3904        1,
3905        0,
3906        adcmpansr0::Cmpcha05,
3907        Adcmpansr0_SPEC,
3908        crate::common::RW,
3909    > {
3910        crate::common::RegisterField::<
3911            5,
3912            0x1,
3913            1,
3914            0,
3915            adcmpansr0::Cmpcha05,
3916            Adcmpansr0_SPEC,
3917            crate::common::RW,
3918        >::from_register(self, 0)
3919    }
3920    #[doc = "Compare Window A Channel Select"]
3921    #[inline(always)]
3922    pub fn cmpcha06(
3923        self,
3924    ) -> crate::common::RegisterField<
3925        6,
3926        0x1,
3927        1,
3928        0,
3929        adcmpansr0::Cmpcha06,
3930        Adcmpansr0_SPEC,
3931        crate::common::RW,
3932    > {
3933        crate::common::RegisterField::<
3934            6,
3935            0x1,
3936            1,
3937            0,
3938            adcmpansr0::Cmpcha06,
3939            Adcmpansr0_SPEC,
3940            crate::common::RW,
3941        >::from_register(self, 0)
3942    }
3943    #[doc = "Compare Window A Channel Select"]
3944    #[inline(always)]
3945    pub fn cmpcha07(
3946        self,
3947    ) -> crate::common::RegisterField<
3948        7,
3949        0x1,
3950        1,
3951        0,
3952        adcmpansr0::Cmpcha07,
3953        Adcmpansr0_SPEC,
3954        crate::common::RW,
3955    > {
3956        crate::common::RegisterField::<
3957            7,
3958            0x1,
3959            1,
3960            0,
3961            adcmpansr0::Cmpcha07,
3962            Adcmpansr0_SPEC,
3963            crate::common::RW,
3964        >::from_register(self, 0)
3965    }
3966    #[doc = "Compare Window A Channel Select"]
3967    #[inline(always)]
3968    pub fn cmpcha08(
3969        self,
3970    ) -> crate::common::RegisterField<
3971        8,
3972        0x1,
3973        1,
3974        0,
3975        adcmpansr0::Cmpcha08,
3976        Adcmpansr0_SPEC,
3977        crate::common::RW,
3978    > {
3979        crate::common::RegisterField::<
3980            8,
3981            0x1,
3982            1,
3983            0,
3984            adcmpansr0::Cmpcha08,
3985            Adcmpansr0_SPEC,
3986            crate::common::RW,
3987        >::from_register(self, 0)
3988    }
3989    #[doc = "Compare Window A Channel Select"]
3990    #[inline(always)]
3991    pub fn cmpcha09(
3992        self,
3993    ) -> crate::common::RegisterField<
3994        9,
3995        0x1,
3996        1,
3997        0,
3998        adcmpansr0::Cmpcha09,
3999        Adcmpansr0_SPEC,
4000        crate::common::RW,
4001    > {
4002        crate::common::RegisterField::<
4003            9,
4004            0x1,
4005            1,
4006            0,
4007            adcmpansr0::Cmpcha09,
4008            Adcmpansr0_SPEC,
4009            crate::common::RW,
4010        >::from_register(self, 0)
4011    }
4012    #[doc = "Compare Window A Channel Select"]
4013    #[inline(always)]
4014    pub fn cmpcha10(
4015        self,
4016    ) -> crate::common::RegisterField<
4017        10,
4018        0x1,
4019        1,
4020        0,
4021        adcmpansr0::Cmpcha10,
4022        Adcmpansr0_SPEC,
4023        crate::common::RW,
4024    > {
4025        crate::common::RegisterField::<
4026            10,
4027            0x1,
4028            1,
4029            0,
4030            adcmpansr0::Cmpcha10,
4031            Adcmpansr0_SPEC,
4032            crate::common::RW,
4033        >::from_register(self, 0)
4034    }
4035    #[doc = "Compare Window A Channel Select"]
4036    #[inline(always)]
4037    pub fn cmpcha11(
4038        self,
4039    ) -> crate::common::RegisterField<
4040        11,
4041        0x1,
4042        1,
4043        0,
4044        adcmpansr0::Cmpcha11,
4045        Adcmpansr0_SPEC,
4046        crate::common::RW,
4047    > {
4048        crate::common::RegisterField::<
4049            11,
4050            0x1,
4051            1,
4052            0,
4053            adcmpansr0::Cmpcha11,
4054            Adcmpansr0_SPEC,
4055            crate::common::RW,
4056        >::from_register(self, 0)
4057    }
4058    #[doc = "Compare Window A Channel Select"]
4059    #[inline(always)]
4060    pub fn cmpcha12(
4061        self,
4062    ) -> crate::common::RegisterField<
4063        12,
4064        0x1,
4065        1,
4066        0,
4067        adcmpansr0::Cmpcha12,
4068        Adcmpansr0_SPEC,
4069        crate::common::RW,
4070    > {
4071        crate::common::RegisterField::<
4072            12,
4073            0x1,
4074            1,
4075            0,
4076            adcmpansr0::Cmpcha12,
4077            Adcmpansr0_SPEC,
4078            crate::common::RW,
4079        >::from_register(self, 0)
4080    }
4081    #[doc = "Compare Window A Channel Select"]
4082    #[inline(always)]
4083    pub fn cmpcha13(
4084        self,
4085    ) -> crate::common::RegisterField<
4086        13,
4087        0x1,
4088        1,
4089        0,
4090        adcmpansr0::Cmpcha13,
4091        Adcmpansr0_SPEC,
4092        crate::common::RW,
4093    > {
4094        crate::common::RegisterField::<
4095            13,
4096            0x1,
4097            1,
4098            0,
4099            adcmpansr0::Cmpcha13,
4100            Adcmpansr0_SPEC,
4101            crate::common::RW,
4102        >::from_register(self, 0)
4103    }
4104    #[doc = "Compare Window A Channel Select"]
4105    #[inline(always)]
4106    pub fn cmpcha14(
4107        self,
4108    ) -> crate::common::RegisterField<
4109        14,
4110        0x1,
4111        1,
4112        0,
4113        adcmpansr0::Cmpcha14,
4114        Adcmpansr0_SPEC,
4115        crate::common::RW,
4116    > {
4117        crate::common::RegisterField::<
4118            14,
4119            0x1,
4120            1,
4121            0,
4122            adcmpansr0::Cmpcha14,
4123            Adcmpansr0_SPEC,
4124            crate::common::RW,
4125        >::from_register(self, 0)
4126    }
4127    #[doc = "Compare Window A Channel Select"]
4128    #[inline(always)]
4129    pub fn cmpcha15(
4130        self,
4131    ) -> crate::common::RegisterField<
4132        15,
4133        0x1,
4134        1,
4135        0,
4136        adcmpansr0::Cmpcha15,
4137        Adcmpansr0_SPEC,
4138        crate::common::RW,
4139    > {
4140        crate::common::RegisterField::<
4141            15,
4142            0x1,
4143            1,
4144            0,
4145            adcmpansr0::Cmpcha15,
4146            Adcmpansr0_SPEC,
4147            crate::common::RW,
4148        >::from_register(self, 0)
4149    }
4150}
4151impl ::core::default::Default for Adcmpansr0 {
4152    #[inline(always)]
4153    fn default() -> Adcmpansr0 {
4154        <crate::RegValueT<Adcmpansr0_SPEC> as RegisterValue<_>>::new(0)
4155    }
4156}
4157pub mod adcmpansr0 {
4158
4159    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4160    pub struct Cmpcha00_SPEC;
4161    pub type Cmpcha00 = crate::EnumBitfieldStruct<u8, Cmpcha00_SPEC>;
4162    impl Cmpcha00 {
4163        #[doc = "Disable compare function for associated input channel"]
4164        pub const _0: Self = Self::new(0);
4165        #[doc = "Enable compare function for associated input channel"]
4166        pub const _1: Self = Self::new(1);
4167    }
4168    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4169    pub struct Cmpcha01_SPEC;
4170    pub type Cmpcha01 = crate::EnumBitfieldStruct<u8, Cmpcha01_SPEC>;
4171    impl Cmpcha01 {
4172        #[doc = "Disable compare function for associated input channel"]
4173        pub const _0: Self = Self::new(0);
4174        #[doc = "Enable compare function for associated input channel"]
4175        pub const _1: Self = Self::new(1);
4176    }
4177    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4178    pub struct Cmpcha02_SPEC;
4179    pub type Cmpcha02 = crate::EnumBitfieldStruct<u8, Cmpcha02_SPEC>;
4180    impl Cmpcha02 {
4181        #[doc = "Disable compare function for associated input channel"]
4182        pub const _0: Self = Self::new(0);
4183        #[doc = "Enable compare function for associated input channel"]
4184        pub const _1: Self = Self::new(1);
4185    }
4186    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4187    pub struct Cmpcha03_SPEC;
4188    pub type Cmpcha03 = crate::EnumBitfieldStruct<u8, Cmpcha03_SPEC>;
4189    impl Cmpcha03 {
4190        #[doc = "Disable compare function for associated input channel"]
4191        pub const _0: Self = Self::new(0);
4192        #[doc = "Enable compare function for associated input channel"]
4193        pub const _1: Self = Self::new(1);
4194    }
4195    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4196    pub struct Cmpcha04_SPEC;
4197    pub type Cmpcha04 = crate::EnumBitfieldStruct<u8, Cmpcha04_SPEC>;
4198    impl Cmpcha04 {
4199        #[doc = "Disable compare function for associated input channel"]
4200        pub const _0: Self = Self::new(0);
4201        #[doc = "Enable compare function for associated input channel"]
4202        pub const _1: Self = Self::new(1);
4203    }
4204    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4205    pub struct Cmpcha05_SPEC;
4206    pub type Cmpcha05 = crate::EnumBitfieldStruct<u8, Cmpcha05_SPEC>;
4207    impl Cmpcha05 {
4208        #[doc = "Disable compare function for associated input channel"]
4209        pub const _0: Self = Self::new(0);
4210        #[doc = "Enable compare function for associated input channel"]
4211        pub const _1: Self = Self::new(1);
4212    }
4213    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4214    pub struct Cmpcha06_SPEC;
4215    pub type Cmpcha06 = crate::EnumBitfieldStruct<u8, Cmpcha06_SPEC>;
4216    impl Cmpcha06 {
4217        #[doc = "Disable compare function for associated input channel"]
4218        pub const _0: Self = Self::new(0);
4219        #[doc = "Enable compare function for associated input channel"]
4220        pub const _1: Self = Self::new(1);
4221    }
4222    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4223    pub struct Cmpcha07_SPEC;
4224    pub type Cmpcha07 = crate::EnumBitfieldStruct<u8, Cmpcha07_SPEC>;
4225    impl Cmpcha07 {
4226        #[doc = "Disable compare function for associated input channel"]
4227        pub const _0: Self = Self::new(0);
4228        #[doc = "Enable compare function for associated input channel"]
4229        pub const _1: Self = Self::new(1);
4230    }
4231    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4232    pub struct Cmpcha08_SPEC;
4233    pub type Cmpcha08 = crate::EnumBitfieldStruct<u8, Cmpcha08_SPEC>;
4234    impl Cmpcha08 {
4235        #[doc = "Disable compare function for associated input channel"]
4236        pub const _0: Self = Self::new(0);
4237        #[doc = "Enable compare function for associated input channel"]
4238        pub const _1: Self = Self::new(1);
4239    }
4240    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4241    pub struct Cmpcha09_SPEC;
4242    pub type Cmpcha09 = crate::EnumBitfieldStruct<u8, Cmpcha09_SPEC>;
4243    impl Cmpcha09 {
4244        #[doc = "Disable compare function for associated input channel"]
4245        pub const _0: Self = Self::new(0);
4246        #[doc = "Enable compare function for associated input channel"]
4247        pub const _1: Self = Self::new(1);
4248    }
4249    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4250    pub struct Cmpcha10_SPEC;
4251    pub type Cmpcha10 = crate::EnumBitfieldStruct<u8, Cmpcha10_SPEC>;
4252    impl Cmpcha10 {
4253        #[doc = "Disable compare function for associated input channel"]
4254        pub const _0: Self = Self::new(0);
4255        #[doc = "Enable compare function for associated input channel"]
4256        pub const _1: Self = Self::new(1);
4257    }
4258    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4259    pub struct Cmpcha11_SPEC;
4260    pub type Cmpcha11 = crate::EnumBitfieldStruct<u8, Cmpcha11_SPEC>;
4261    impl Cmpcha11 {
4262        #[doc = "Disable compare function for associated input channel"]
4263        pub const _0: Self = Self::new(0);
4264        #[doc = "Enable compare function for associated input channel"]
4265        pub const _1: Self = Self::new(1);
4266    }
4267    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4268    pub struct Cmpcha12_SPEC;
4269    pub type Cmpcha12 = crate::EnumBitfieldStruct<u8, Cmpcha12_SPEC>;
4270    impl Cmpcha12 {
4271        #[doc = "Disable compare function for associated input channel"]
4272        pub const _0: Self = Self::new(0);
4273        #[doc = "Enable compare function for associated input channel"]
4274        pub const _1: Self = Self::new(1);
4275    }
4276    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4277    pub struct Cmpcha13_SPEC;
4278    pub type Cmpcha13 = crate::EnumBitfieldStruct<u8, Cmpcha13_SPEC>;
4279    impl Cmpcha13 {
4280        #[doc = "Disable compare function for associated input channel"]
4281        pub const _0: Self = Self::new(0);
4282        #[doc = "Enable compare function for associated input channel"]
4283        pub const _1: Self = Self::new(1);
4284    }
4285    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4286    pub struct Cmpcha14_SPEC;
4287    pub type Cmpcha14 = crate::EnumBitfieldStruct<u8, Cmpcha14_SPEC>;
4288    impl Cmpcha14 {
4289        #[doc = "Disable compare function for associated input channel"]
4290        pub const _0: Self = Self::new(0);
4291        #[doc = "Enable compare function for associated input channel"]
4292        pub const _1: Self = Self::new(1);
4293    }
4294    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4295    pub struct Cmpcha15_SPEC;
4296    pub type Cmpcha15 = crate::EnumBitfieldStruct<u8, Cmpcha15_SPEC>;
4297    impl Cmpcha15 {
4298        #[doc = "Disable compare function for associated input channel"]
4299        pub const _0: Self = Self::new(0);
4300        #[doc = "Enable compare function for associated input channel"]
4301        pub const _1: Self = Self::new(1);
4302    }
4303}
4304#[doc(hidden)]
4305#[derive(Copy, Clone, Eq, PartialEq)]
4306pub struct Adcmpansr1_SPEC;
4307impl crate::sealed::RegSpec for Adcmpansr1_SPEC {
4308    type DataType = u16;
4309}
4310#[doc = "A/D Compare Function Window A Channel Select Register 1"]
4311pub type Adcmpansr1 = crate::RegValueT<Adcmpansr1_SPEC>;
4312
4313impl Adcmpansr1 {
4314    #[doc = "Compare Window A Channel Select"]
4315    #[inline(always)]
4316    pub fn cmpcha16(
4317        self,
4318    ) -> crate::common::RegisterField<
4319        0,
4320        0x1,
4321        1,
4322        0,
4323        adcmpansr1::Cmpcha16,
4324        Adcmpansr1_SPEC,
4325        crate::common::RW,
4326    > {
4327        crate::common::RegisterField::<
4328            0,
4329            0x1,
4330            1,
4331            0,
4332            adcmpansr1::Cmpcha16,
4333            Adcmpansr1_SPEC,
4334            crate::common::RW,
4335        >::from_register(self, 0)
4336    }
4337    #[doc = "Compare Window A Channel Select"]
4338    #[inline(always)]
4339    pub fn cmpcha17(
4340        self,
4341    ) -> crate::common::RegisterField<
4342        1,
4343        0x1,
4344        1,
4345        0,
4346        adcmpansr1::Cmpcha17,
4347        Adcmpansr1_SPEC,
4348        crate::common::RW,
4349    > {
4350        crate::common::RegisterField::<
4351            1,
4352            0x1,
4353            1,
4354            0,
4355            adcmpansr1::Cmpcha17,
4356            Adcmpansr1_SPEC,
4357            crate::common::RW,
4358        >::from_register(self, 0)
4359    }
4360    #[doc = "Compare Window A Channel Select"]
4361    #[inline(always)]
4362    pub fn cmpcha18(
4363        self,
4364    ) -> crate::common::RegisterField<
4365        2,
4366        0x1,
4367        1,
4368        0,
4369        adcmpansr1::Cmpcha18,
4370        Adcmpansr1_SPEC,
4371        crate::common::RW,
4372    > {
4373        crate::common::RegisterField::<
4374            2,
4375            0x1,
4376            1,
4377            0,
4378            adcmpansr1::Cmpcha18,
4379            Adcmpansr1_SPEC,
4380            crate::common::RW,
4381        >::from_register(self, 0)
4382    }
4383    #[doc = "Compare Window A Channel Select"]
4384    #[inline(always)]
4385    pub fn cmpcha19(
4386        self,
4387    ) -> crate::common::RegisterField<
4388        3,
4389        0x1,
4390        1,
4391        0,
4392        adcmpansr1::Cmpcha19,
4393        Adcmpansr1_SPEC,
4394        crate::common::RW,
4395    > {
4396        crate::common::RegisterField::<
4397            3,
4398            0x1,
4399            1,
4400            0,
4401            adcmpansr1::Cmpcha19,
4402            Adcmpansr1_SPEC,
4403            crate::common::RW,
4404        >::from_register(self, 0)
4405    }
4406    #[doc = "Compare Window A Channel Select"]
4407    #[inline(always)]
4408    pub fn cmpcha20(
4409        self,
4410    ) -> crate::common::RegisterField<
4411        4,
4412        0x1,
4413        1,
4414        0,
4415        adcmpansr1::Cmpcha20,
4416        Adcmpansr1_SPEC,
4417        crate::common::RW,
4418    > {
4419        crate::common::RegisterField::<
4420            4,
4421            0x1,
4422            1,
4423            0,
4424            adcmpansr1::Cmpcha20,
4425            Adcmpansr1_SPEC,
4426            crate::common::RW,
4427        >::from_register(self, 0)
4428    }
4429    #[doc = "Compare Window A Channel Select"]
4430    #[inline(always)]
4431    pub fn cmpcha21(
4432        self,
4433    ) -> crate::common::RegisterField<
4434        5,
4435        0x1,
4436        1,
4437        0,
4438        adcmpansr1::Cmpcha21,
4439        Adcmpansr1_SPEC,
4440        crate::common::RW,
4441    > {
4442        crate::common::RegisterField::<
4443            5,
4444            0x1,
4445            1,
4446            0,
4447            adcmpansr1::Cmpcha21,
4448            Adcmpansr1_SPEC,
4449            crate::common::RW,
4450        >::from_register(self, 0)
4451    }
4452    #[doc = "Compare Window A Channel Select"]
4453    #[inline(always)]
4454    pub fn cmpcha22(
4455        self,
4456    ) -> crate::common::RegisterField<
4457        6,
4458        0x1,
4459        1,
4460        0,
4461        adcmpansr1::Cmpcha22,
4462        Adcmpansr1_SPEC,
4463        crate::common::RW,
4464    > {
4465        crate::common::RegisterField::<
4466            6,
4467            0x1,
4468            1,
4469            0,
4470            adcmpansr1::Cmpcha22,
4471            Adcmpansr1_SPEC,
4472            crate::common::RW,
4473        >::from_register(self, 0)
4474    }
4475    #[doc = "Compare Window A Channel Select"]
4476    #[inline(always)]
4477    pub fn cmpcha23(
4478        self,
4479    ) -> crate::common::RegisterField<
4480        7,
4481        0x1,
4482        1,
4483        0,
4484        adcmpansr1::Cmpcha23,
4485        Adcmpansr1_SPEC,
4486        crate::common::RW,
4487    > {
4488        crate::common::RegisterField::<
4489            7,
4490            0x1,
4491            1,
4492            0,
4493            adcmpansr1::Cmpcha23,
4494            Adcmpansr1_SPEC,
4495            crate::common::RW,
4496        >::from_register(self, 0)
4497    }
4498    #[doc = "Compare Window A Channel Select"]
4499    #[inline(always)]
4500    pub fn cmpcha24(
4501        self,
4502    ) -> crate::common::RegisterField<
4503        8,
4504        0x1,
4505        1,
4506        0,
4507        adcmpansr1::Cmpcha24,
4508        Adcmpansr1_SPEC,
4509        crate::common::RW,
4510    > {
4511        crate::common::RegisterField::<
4512            8,
4513            0x1,
4514            1,
4515            0,
4516            adcmpansr1::Cmpcha24,
4517            Adcmpansr1_SPEC,
4518            crate::common::RW,
4519        >::from_register(self, 0)
4520    }
4521    #[doc = "Compare Window A Channel Select"]
4522    #[inline(always)]
4523    pub fn cmpcha25(
4524        self,
4525    ) -> crate::common::RegisterField<
4526        9,
4527        0x1,
4528        1,
4529        0,
4530        adcmpansr1::Cmpcha25,
4531        Adcmpansr1_SPEC,
4532        crate::common::RW,
4533    > {
4534        crate::common::RegisterField::<
4535            9,
4536            0x1,
4537            1,
4538            0,
4539            adcmpansr1::Cmpcha25,
4540            Adcmpansr1_SPEC,
4541            crate::common::RW,
4542        >::from_register(self, 0)
4543    }
4544    #[doc = "Compare Window A Channel Select"]
4545    #[inline(always)]
4546    pub fn cmpcha26(
4547        self,
4548    ) -> crate::common::RegisterField<
4549        10,
4550        0x1,
4551        1,
4552        0,
4553        adcmpansr1::Cmpcha26,
4554        Adcmpansr1_SPEC,
4555        crate::common::RW,
4556    > {
4557        crate::common::RegisterField::<
4558            10,
4559            0x1,
4560            1,
4561            0,
4562            adcmpansr1::Cmpcha26,
4563            Adcmpansr1_SPEC,
4564            crate::common::RW,
4565        >::from_register(self, 0)
4566    }
4567    #[doc = "Compare Window A Channel Select"]
4568    #[inline(always)]
4569    pub fn cmpcha27(
4570        self,
4571    ) -> crate::common::RegisterField<
4572        11,
4573        0x1,
4574        1,
4575        0,
4576        adcmpansr1::Cmpcha27,
4577        Adcmpansr1_SPEC,
4578        crate::common::RW,
4579    > {
4580        crate::common::RegisterField::<
4581            11,
4582            0x1,
4583            1,
4584            0,
4585            adcmpansr1::Cmpcha27,
4586            Adcmpansr1_SPEC,
4587            crate::common::RW,
4588        >::from_register(self, 0)
4589    }
4590    #[doc = "Compare Window A Channel Select"]
4591    #[inline(always)]
4592    pub fn cmpcha28(
4593        self,
4594    ) -> crate::common::RegisterField<
4595        12,
4596        0x1,
4597        1,
4598        0,
4599        adcmpansr1::Cmpcha28,
4600        Adcmpansr1_SPEC,
4601        crate::common::RW,
4602    > {
4603        crate::common::RegisterField::<
4604            12,
4605            0x1,
4606            1,
4607            0,
4608            adcmpansr1::Cmpcha28,
4609            Adcmpansr1_SPEC,
4610            crate::common::RW,
4611        >::from_register(self, 0)
4612    }
4613    #[doc = "Compare Window A Channel Select"]
4614    #[inline(always)]
4615    pub fn cmpcha29(
4616        self,
4617    ) -> crate::common::RegisterField<
4618        13,
4619        0x1,
4620        1,
4621        0,
4622        adcmpansr1::Cmpcha29,
4623        Adcmpansr1_SPEC,
4624        crate::common::RW,
4625    > {
4626        crate::common::RegisterField::<
4627            13,
4628            0x1,
4629            1,
4630            0,
4631            adcmpansr1::Cmpcha29,
4632            Adcmpansr1_SPEC,
4633            crate::common::RW,
4634        >::from_register(self, 0)
4635    }
4636    #[doc = "Compare Window A Channel Select"]
4637    #[inline(always)]
4638    pub fn cmpcha30(
4639        self,
4640    ) -> crate::common::RegisterField<
4641        14,
4642        0x1,
4643        1,
4644        0,
4645        adcmpansr1::Cmpcha30,
4646        Adcmpansr1_SPEC,
4647        crate::common::RW,
4648    > {
4649        crate::common::RegisterField::<
4650            14,
4651            0x1,
4652            1,
4653            0,
4654            adcmpansr1::Cmpcha30,
4655            Adcmpansr1_SPEC,
4656            crate::common::RW,
4657        >::from_register(self, 0)
4658    }
4659    #[doc = "Compare Window A Channel Select"]
4660    #[inline(always)]
4661    pub fn cmpcha31(
4662        self,
4663    ) -> crate::common::RegisterField<
4664        15,
4665        0x1,
4666        1,
4667        0,
4668        adcmpansr1::Cmpcha31,
4669        Adcmpansr1_SPEC,
4670        crate::common::RW,
4671    > {
4672        crate::common::RegisterField::<
4673            15,
4674            0x1,
4675            1,
4676            0,
4677            adcmpansr1::Cmpcha31,
4678            Adcmpansr1_SPEC,
4679            crate::common::RW,
4680        >::from_register(self, 0)
4681    }
4682}
4683impl ::core::default::Default for Adcmpansr1 {
4684    #[inline(always)]
4685    fn default() -> Adcmpansr1 {
4686        <crate::RegValueT<Adcmpansr1_SPEC> as RegisterValue<_>>::new(0)
4687    }
4688}
4689pub mod adcmpansr1 {
4690
4691    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4692    pub struct Cmpcha16_SPEC;
4693    pub type Cmpcha16 = crate::EnumBitfieldStruct<u8, Cmpcha16_SPEC>;
4694    impl Cmpcha16 {
4695        #[doc = "Disable compare function for associated input channel"]
4696        pub const _0: Self = Self::new(0);
4697        #[doc = "Enable compare function for associated input channel"]
4698        pub const _1: Self = Self::new(1);
4699    }
4700    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4701    pub struct Cmpcha17_SPEC;
4702    pub type Cmpcha17 = crate::EnumBitfieldStruct<u8, Cmpcha17_SPEC>;
4703    impl Cmpcha17 {
4704        #[doc = "Disable compare function for associated input channel"]
4705        pub const _0: Self = Self::new(0);
4706        #[doc = "Enable compare function for associated input channel"]
4707        pub const _1: Self = Self::new(1);
4708    }
4709    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4710    pub struct Cmpcha18_SPEC;
4711    pub type Cmpcha18 = crate::EnumBitfieldStruct<u8, Cmpcha18_SPEC>;
4712    impl Cmpcha18 {
4713        #[doc = "Disable compare function for associated input channel"]
4714        pub const _0: Self = Self::new(0);
4715        #[doc = "Enable compare function for associated input channel"]
4716        pub const _1: Self = Self::new(1);
4717    }
4718    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4719    pub struct Cmpcha19_SPEC;
4720    pub type Cmpcha19 = crate::EnumBitfieldStruct<u8, Cmpcha19_SPEC>;
4721    impl Cmpcha19 {
4722        #[doc = "Disable compare function for associated input channel"]
4723        pub const _0: Self = Self::new(0);
4724        #[doc = "Enable compare function for associated input channel"]
4725        pub const _1: Self = Self::new(1);
4726    }
4727    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4728    pub struct Cmpcha20_SPEC;
4729    pub type Cmpcha20 = crate::EnumBitfieldStruct<u8, Cmpcha20_SPEC>;
4730    impl Cmpcha20 {
4731        #[doc = "Disable compare function for associated input channel"]
4732        pub const _0: Self = Self::new(0);
4733        #[doc = "Enable compare function for associated input channel"]
4734        pub const _1: Self = Self::new(1);
4735    }
4736    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4737    pub struct Cmpcha21_SPEC;
4738    pub type Cmpcha21 = crate::EnumBitfieldStruct<u8, Cmpcha21_SPEC>;
4739    impl Cmpcha21 {
4740        #[doc = "Disable compare function for associated input channel"]
4741        pub const _0: Self = Self::new(0);
4742        #[doc = "Enable compare function for associated input channel"]
4743        pub const _1: Self = Self::new(1);
4744    }
4745    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4746    pub struct Cmpcha22_SPEC;
4747    pub type Cmpcha22 = crate::EnumBitfieldStruct<u8, Cmpcha22_SPEC>;
4748    impl Cmpcha22 {
4749        #[doc = "Disable compare function for associated input channel"]
4750        pub const _0: Self = Self::new(0);
4751        #[doc = "Enable compare function for associated input channel"]
4752        pub const _1: Self = Self::new(1);
4753    }
4754    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4755    pub struct Cmpcha23_SPEC;
4756    pub type Cmpcha23 = crate::EnumBitfieldStruct<u8, Cmpcha23_SPEC>;
4757    impl Cmpcha23 {
4758        #[doc = "Disable compare function for associated input channel"]
4759        pub const _0: Self = Self::new(0);
4760        #[doc = "Enable compare function for associated input channel"]
4761        pub const _1: Self = Self::new(1);
4762    }
4763    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4764    pub struct Cmpcha24_SPEC;
4765    pub type Cmpcha24 = crate::EnumBitfieldStruct<u8, Cmpcha24_SPEC>;
4766    impl Cmpcha24 {
4767        #[doc = "Disable compare function for associated input channel"]
4768        pub const _0: Self = Self::new(0);
4769        #[doc = "Enable compare function for associated input channel"]
4770        pub const _1: Self = Self::new(1);
4771    }
4772    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4773    pub struct Cmpcha25_SPEC;
4774    pub type Cmpcha25 = crate::EnumBitfieldStruct<u8, Cmpcha25_SPEC>;
4775    impl Cmpcha25 {
4776        #[doc = "Disable compare function for associated input channel"]
4777        pub const _0: Self = Self::new(0);
4778        #[doc = "Enable compare function for associated input channel"]
4779        pub const _1: Self = Self::new(1);
4780    }
4781    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4782    pub struct Cmpcha26_SPEC;
4783    pub type Cmpcha26 = crate::EnumBitfieldStruct<u8, Cmpcha26_SPEC>;
4784    impl Cmpcha26 {
4785        #[doc = "Disable compare function for associated input channel"]
4786        pub const _0: Self = Self::new(0);
4787        #[doc = "Enable compare function for associated input channel"]
4788        pub const _1: Self = Self::new(1);
4789    }
4790    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4791    pub struct Cmpcha27_SPEC;
4792    pub type Cmpcha27 = crate::EnumBitfieldStruct<u8, Cmpcha27_SPEC>;
4793    impl Cmpcha27 {
4794        #[doc = "Disable compare function for associated input channel"]
4795        pub const _0: Self = Self::new(0);
4796        #[doc = "Enable compare function for associated input channel"]
4797        pub const _1: Self = Self::new(1);
4798    }
4799    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4800    pub struct Cmpcha28_SPEC;
4801    pub type Cmpcha28 = crate::EnumBitfieldStruct<u8, Cmpcha28_SPEC>;
4802    impl Cmpcha28 {
4803        #[doc = "Disable compare function for associated input channel"]
4804        pub const _0: Self = Self::new(0);
4805        #[doc = "Enable compare function for associated input channel"]
4806        pub const _1: Self = Self::new(1);
4807    }
4808    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4809    pub struct Cmpcha29_SPEC;
4810    pub type Cmpcha29 = crate::EnumBitfieldStruct<u8, Cmpcha29_SPEC>;
4811    impl Cmpcha29 {
4812        #[doc = "Disable compare function for associated input channel"]
4813        pub const _0: Self = Self::new(0);
4814        #[doc = "Enable compare function for associated input channel"]
4815        pub const _1: Self = Self::new(1);
4816    }
4817    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4818    pub struct Cmpcha30_SPEC;
4819    pub type Cmpcha30 = crate::EnumBitfieldStruct<u8, Cmpcha30_SPEC>;
4820    impl Cmpcha30 {
4821        #[doc = "Disable compare function for associated input channel"]
4822        pub const _0: Self = Self::new(0);
4823        #[doc = "Enable compare function for associated input channel"]
4824        pub const _1: Self = Self::new(1);
4825    }
4826    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4827    pub struct Cmpcha31_SPEC;
4828    pub type Cmpcha31 = crate::EnumBitfieldStruct<u8, Cmpcha31_SPEC>;
4829    impl Cmpcha31 {
4830        #[doc = "Disable compare function for associated input channel"]
4831        pub const _0: Self = Self::new(0);
4832        #[doc = "Enable compare function for associated input channel"]
4833        pub const _1: Self = Self::new(1);
4834    }
4835}
4836#[doc(hidden)]
4837#[derive(Copy, Clone, Eq, PartialEq)]
4838pub struct Adcmplr0_SPEC;
4839impl crate::sealed::RegSpec for Adcmplr0_SPEC {
4840    type DataType = u16;
4841}
4842#[doc = "A/D Compare Function Window A Comparison Condition Setting Register 0"]
4843pub type Adcmplr0 = crate::RegValueT<Adcmplr0_SPEC>;
4844
4845impl Adcmplr0 {
4846    #[doc = "Compare Window A Comparison Condition Select"]
4847    #[inline(always)]
4848    pub fn cmplcha00(
4849        self,
4850    ) -> crate::common::RegisterField<
4851        0,
4852        0x1,
4853        1,
4854        0,
4855        adcmplr0::Cmplcha00,
4856        Adcmplr0_SPEC,
4857        crate::common::RW,
4858    > {
4859        crate::common::RegisterField::<
4860            0,
4861            0x1,
4862            1,
4863            0,
4864            adcmplr0::Cmplcha00,
4865            Adcmplr0_SPEC,
4866            crate::common::RW,
4867        >::from_register(self, 0)
4868    }
4869    #[doc = "Compare Window A Comparison Condition Select"]
4870    #[inline(always)]
4871    pub fn cmplcha01(
4872        self,
4873    ) -> crate::common::RegisterField<
4874        1,
4875        0x1,
4876        1,
4877        0,
4878        adcmplr0::Cmplcha01,
4879        Adcmplr0_SPEC,
4880        crate::common::RW,
4881    > {
4882        crate::common::RegisterField::<
4883            1,
4884            0x1,
4885            1,
4886            0,
4887            adcmplr0::Cmplcha01,
4888            Adcmplr0_SPEC,
4889            crate::common::RW,
4890        >::from_register(self, 0)
4891    }
4892    #[doc = "Compare Window A Comparison Condition Select"]
4893    #[inline(always)]
4894    pub fn cmplcha02(
4895        self,
4896    ) -> crate::common::RegisterField<
4897        2,
4898        0x1,
4899        1,
4900        0,
4901        adcmplr0::Cmplcha02,
4902        Adcmplr0_SPEC,
4903        crate::common::RW,
4904    > {
4905        crate::common::RegisterField::<
4906            2,
4907            0x1,
4908            1,
4909            0,
4910            adcmplr0::Cmplcha02,
4911            Adcmplr0_SPEC,
4912            crate::common::RW,
4913        >::from_register(self, 0)
4914    }
4915    #[doc = "Compare Window A Comparison Condition Select"]
4916    #[inline(always)]
4917    pub fn cmplcha03(
4918        self,
4919    ) -> crate::common::RegisterField<
4920        3,
4921        0x1,
4922        1,
4923        0,
4924        adcmplr0::Cmplcha03,
4925        Adcmplr0_SPEC,
4926        crate::common::RW,
4927    > {
4928        crate::common::RegisterField::<
4929            3,
4930            0x1,
4931            1,
4932            0,
4933            adcmplr0::Cmplcha03,
4934            Adcmplr0_SPEC,
4935            crate::common::RW,
4936        >::from_register(self, 0)
4937    }
4938    #[doc = "Compare Window A Comparison Condition Select"]
4939    #[inline(always)]
4940    pub fn cmplcha04(
4941        self,
4942    ) -> crate::common::RegisterField<
4943        4,
4944        0x1,
4945        1,
4946        0,
4947        adcmplr0::Cmplcha04,
4948        Adcmplr0_SPEC,
4949        crate::common::RW,
4950    > {
4951        crate::common::RegisterField::<
4952            4,
4953            0x1,
4954            1,
4955            0,
4956            adcmplr0::Cmplcha04,
4957            Adcmplr0_SPEC,
4958            crate::common::RW,
4959        >::from_register(self, 0)
4960    }
4961    #[doc = "Compare Window A Comparison Condition Select"]
4962    #[inline(always)]
4963    pub fn cmplcha05(
4964        self,
4965    ) -> crate::common::RegisterField<
4966        5,
4967        0x1,
4968        1,
4969        0,
4970        adcmplr0::Cmplcha05,
4971        Adcmplr0_SPEC,
4972        crate::common::RW,
4973    > {
4974        crate::common::RegisterField::<
4975            5,
4976            0x1,
4977            1,
4978            0,
4979            adcmplr0::Cmplcha05,
4980            Adcmplr0_SPEC,
4981            crate::common::RW,
4982        >::from_register(self, 0)
4983    }
4984    #[doc = "Compare Window A Comparison Condition Select"]
4985    #[inline(always)]
4986    pub fn cmplcha06(
4987        self,
4988    ) -> crate::common::RegisterField<
4989        6,
4990        0x1,
4991        1,
4992        0,
4993        adcmplr0::Cmplcha06,
4994        Adcmplr0_SPEC,
4995        crate::common::RW,
4996    > {
4997        crate::common::RegisterField::<
4998            6,
4999            0x1,
5000            1,
5001            0,
5002            adcmplr0::Cmplcha06,
5003            Adcmplr0_SPEC,
5004            crate::common::RW,
5005        >::from_register(self, 0)
5006    }
5007    #[doc = "Compare Window A Comparison Condition Select"]
5008    #[inline(always)]
5009    pub fn cmplcha07(
5010        self,
5011    ) -> crate::common::RegisterField<
5012        7,
5013        0x1,
5014        1,
5015        0,
5016        adcmplr0::Cmplcha07,
5017        Adcmplr0_SPEC,
5018        crate::common::RW,
5019    > {
5020        crate::common::RegisterField::<
5021            7,
5022            0x1,
5023            1,
5024            0,
5025            adcmplr0::Cmplcha07,
5026            Adcmplr0_SPEC,
5027            crate::common::RW,
5028        >::from_register(self, 0)
5029    }
5030    #[doc = "Compare Window A Comparison Condition Select"]
5031    #[inline(always)]
5032    pub fn cmplcha08(
5033        self,
5034    ) -> crate::common::RegisterField<
5035        8,
5036        0x1,
5037        1,
5038        0,
5039        adcmplr0::Cmplcha08,
5040        Adcmplr0_SPEC,
5041        crate::common::RW,
5042    > {
5043        crate::common::RegisterField::<
5044            8,
5045            0x1,
5046            1,
5047            0,
5048            adcmplr0::Cmplcha08,
5049            Adcmplr0_SPEC,
5050            crate::common::RW,
5051        >::from_register(self, 0)
5052    }
5053    #[doc = "Compare Window A Comparison Condition Select"]
5054    #[inline(always)]
5055    pub fn cmplcha09(
5056        self,
5057    ) -> crate::common::RegisterField<
5058        9,
5059        0x1,
5060        1,
5061        0,
5062        adcmplr0::Cmplcha09,
5063        Adcmplr0_SPEC,
5064        crate::common::RW,
5065    > {
5066        crate::common::RegisterField::<
5067            9,
5068            0x1,
5069            1,
5070            0,
5071            adcmplr0::Cmplcha09,
5072            Adcmplr0_SPEC,
5073            crate::common::RW,
5074        >::from_register(self, 0)
5075    }
5076    #[doc = "Compare Window A Comparison Condition Select"]
5077    #[inline(always)]
5078    pub fn cmplcha10(
5079        self,
5080    ) -> crate::common::RegisterField<
5081        10,
5082        0x1,
5083        1,
5084        0,
5085        adcmplr0::Cmplcha10,
5086        Adcmplr0_SPEC,
5087        crate::common::RW,
5088    > {
5089        crate::common::RegisterField::<
5090            10,
5091            0x1,
5092            1,
5093            0,
5094            adcmplr0::Cmplcha10,
5095            Adcmplr0_SPEC,
5096            crate::common::RW,
5097        >::from_register(self, 0)
5098    }
5099    #[doc = "Compare Window A Comparison Condition Select"]
5100    #[inline(always)]
5101    pub fn cmplcha11(
5102        self,
5103    ) -> crate::common::RegisterField<
5104        11,
5105        0x1,
5106        1,
5107        0,
5108        adcmplr0::Cmplcha11,
5109        Adcmplr0_SPEC,
5110        crate::common::RW,
5111    > {
5112        crate::common::RegisterField::<
5113            11,
5114            0x1,
5115            1,
5116            0,
5117            adcmplr0::Cmplcha11,
5118            Adcmplr0_SPEC,
5119            crate::common::RW,
5120        >::from_register(self, 0)
5121    }
5122    #[doc = "Compare Window A Comparison Condition Select"]
5123    #[inline(always)]
5124    pub fn cmplcha12(
5125        self,
5126    ) -> crate::common::RegisterField<
5127        12,
5128        0x1,
5129        1,
5130        0,
5131        adcmplr0::Cmplcha12,
5132        Adcmplr0_SPEC,
5133        crate::common::RW,
5134    > {
5135        crate::common::RegisterField::<
5136            12,
5137            0x1,
5138            1,
5139            0,
5140            adcmplr0::Cmplcha12,
5141            Adcmplr0_SPEC,
5142            crate::common::RW,
5143        >::from_register(self, 0)
5144    }
5145    #[doc = "Compare Window A Comparison Condition Select"]
5146    #[inline(always)]
5147    pub fn cmplcha13(
5148        self,
5149    ) -> crate::common::RegisterField<
5150        13,
5151        0x1,
5152        1,
5153        0,
5154        adcmplr0::Cmplcha13,
5155        Adcmplr0_SPEC,
5156        crate::common::RW,
5157    > {
5158        crate::common::RegisterField::<
5159            13,
5160            0x1,
5161            1,
5162            0,
5163            adcmplr0::Cmplcha13,
5164            Adcmplr0_SPEC,
5165            crate::common::RW,
5166        >::from_register(self, 0)
5167    }
5168    #[doc = "Compare Window A Comparison Condition Select"]
5169    #[inline(always)]
5170    pub fn cmplcha14(
5171        self,
5172    ) -> crate::common::RegisterField<
5173        14,
5174        0x1,
5175        1,
5176        0,
5177        adcmplr0::Cmplcha14,
5178        Adcmplr0_SPEC,
5179        crate::common::RW,
5180    > {
5181        crate::common::RegisterField::<
5182            14,
5183            0x1,
5184            1,
5185            0,
5186            adcmplr0::Cmplcha14,
5187            Adcmplr0_SPEC,
5188            crate::common::RW,
5189        >::from_register(self, 0)
5190    }
5191    #[doc = "Compare Window A Comparison Condition Select"]
5192    #[inline(always)]
5193    pub fn cmplcha15(
5194        self,
5195    ) -> crate::common::RegisterField<
5196        15,
5197        0x1,
5198        1,
5199        0,
5200        adcmplr0::Cmplcha15,
5201        Adcmplr0_SPEC,
5202        crate::common::RW,
5203    > {
5204        crate::common::RegisterField::<
5205            15,
5206            0x1,
5207            1,
5208            0,
5209            adcmplr0::Cmplcha15,
5210            Adcmplr0_SPEC,
5211            crate::common::RW,
5212        >::from_register(self, 0)
5213    }
5214}
5215impl ::core::default::Default for Adcmplr0 {
5216    #[inline(always)]
5217    fn default() -> Adcmplr0 {
5218        <crate::RegValueT<Adcmplr0_SPEC> as RegisterValue<_>>::new(0)
5219    }
5220}
5221pub mod adcmplr0 {
5222
5223    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5224    pub struct Cmplcha00_SPEC;
5225    pub type Cmplcha00 = crate::EnumBitfieldStruct<u8, Cmplcha00_SPEC>;
5226    impl Cmplcha00 {
5227        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5228        pub const _0: Self = Self::new(0);
5229        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5230        pub const _1: Self = Self::new(1);
5231    }
5232    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5233    pub struct Cmplcha01_SPEC;
5234    pub type Cmplcha01 = crate::EnumBitfieldStruct<u8, Cmplcha01_SPEC>;
5235    impl Cmplcha01 {
5236        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5237        pub const _0: Self = Self::new(0);
5238        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5239        pub const _1: Self = Self::new(1);
5240    }
5241    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5242    pub struct Cmplcha02_SPEC;
5243    pub type Cmplcha02 = crate::EnumBitfieldStruct<u8, Cmplcha02_SPEC>;
5244    impl Cmplcha02 {
5245        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5246        pub const _0: Self = Self::new(0);
5247        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5248        pub const _1: Self = Self::new(1);
5249    }
5250    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5251    pub struct Cmplcha03_SPEC;
5252    pub type Cmplcha03 = crate::EnumBitfieldStruct<u8, Cmplcha03_SPEC>;
5253    impl Cmplcha03 {
5254        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5255        pub const _0: Self = Self::new(0);
5256        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5257        pub const _1: Self = Self::new(1);
5258    }
5259    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5260    pub struct Cmplcha04_SPEC;
5261    pub type Cmplcha04 = crate::EnumBitfieldStruct<u8, Cmplcha04_SPEC>;
5262    impl Cmplcha04 {
5263        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5264        pub const _0: Self = Self::new(0);
5265        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5266        pub const _1: Self = Self::new(1);
5267    }
5268    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5269    pub struct Cmplcha05_SPEC;
5270    pub type Cmplcha05 = crate::EnumBitfieldStruct<u8, Cmplcha05_SPEC>;
5271    impl Cmplcha05 {
5272        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5273        pub const _0: Self = Self::new(0);
5274        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5275        pub const _1: Self = Self::new(1);
5276    }
5277    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5278    pub struct Cmplcha06_SPEC;
5279    pub type Cmplcha06 = crate::EnumBitfieldStruct<u8, Cmplcha06_SPEC>;
5280    impl Cmplcha06 {
5281        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5282        pub const _0: Self = Self::new(0);
5283        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5284        pub const _1: Self = Self::new(1);
5285    }
5286    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5287    pub struct Cmplcha07_SPEC;
5288    pub type Cmplcha07 = crate::EnumBitfieldStruct<u8, Cmplcha07_SPEC>;
5289    impl Cmplcha07 {
5290        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5291        pub const _0: Self = Self::new(0);
5292        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5293        pub const _1: Self = Self::new(1);
5294    }
5295    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5296    pub struct Cmplcha08_SPEC;
5297    pub type Cmplcha08 = crate::EnumBitfieldStruct<u8, Cmplcha08_SPEC>;
5298    impl Cmplcha08 {
5299        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5300        pub const _0: Self = Self::new(0);
5301        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5302        pub const _1: Self = Self::new(1);
5303    }
5304    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5305    pub struct Cmplcha09_SPEC;
5306    pub type Cmplcha09 = crate::EnumBitfieldStruct<u8, Cmplcha09_SPEC>;
5307    impl Cmplcha09 {
5308        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5309        pub const _0: Self = Self::new(0);
5310        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5311        pub const _1: Self = Self::new(1);
5312    }
5313    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5314    pub struct Cmplcha10_SPEC;
5315    pub type Cmplcha10 = crate::EnumBitfieldStruct<u8, Cmplcha10_SPEC>;
5316    impl Cmplcha10 {
5317        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5318        pub const _0: Self = Self::new(0);
5319        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5320        pub const _1: Self = Self::new(1);
5321    }
5322    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5323    pub struct Cmplcha11_SPEC;
5324    pub type Cmplcha11 = crate::EnumBitfieldStruct<u8, Cmplcha11_SPEC>;
5325    impl Cmplcha11 {
5326        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5327        pub const _0: Self = Self::new(0);
5328        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5329        pub const _1: Self = Self::new(1);
5330    }
5331    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5332    pub struct Cmplcha12_SPEC;
5333    pub type Cmplcha12 = crate::EnumBitfieldStruct<u8, Cmplcha12_SPEC>;
5334    impl Cmplcha12 {
5335        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5336        pub const _0: Self = Self::new(0);
5337        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5338        pub const _1: Self = Self::new(1);
5339    }
5340    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5341    pub struct Cmplcha13_SPEC;
5342    pub type Cmplcha13 = crate::EnumBitfieldStruct<u8, Cmplcha13_SPEC>;
5343    impl Cmplcha13 {
5344        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5345        pub const _0: Self = Self::new(0);
5346        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5347        pub const _1: Self = Self::new(1);
5348    }
5349    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5350    pub struct Cmplcha14_SPEC;
5351    pub type Cmplcha14 = crate::EnumBitfieldStruct<u8, Cmplcha14_SPEC>;
5352    impl Cmplcha14 {
5353        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5354        pub const _0: Self = Self::new(0);
5355        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5356        pub const _1: Self = Self::new(1);
5357    }
5358    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5359    pub struct Cmplcha15_SPEC;
5360    pub type Cmplcha15 = crate::EnumBitfieldStruct<u8, Cmplcha15_SPEC>;
5361    impl Cmplcha15 {
5362        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5363        pub const _0: Self = Self::new(0);
5364        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5365        pub const _1: Self = Self::new(1);
5366    }
5367}
5368#[doc(hidden)]
5369#[derive(Copy, Clone, Eq, PartialEq)]
5370pub struct Adcmplr1_SPEC;
5371impl crate::sealed::RegSpec for Adcmplr1_SPEC {
5372    type DataType = u16;
5373}
5374#[doc = "A/D Compare Function Window A Comparison Condition Setting Register 1"]
5375pub type Adcmplr1 = crate::RegValueT<Adcmplr1_SPEC>;
5376
5377impl Adcmplr1 {
5378    #[doc = "Compare Window A Comparison Condition Select"]
5379    #[inline(always)]
5380    pub fn cmplcha16(
5381        self,
5382    ) -> crate::common::RegisterField<
5383        0,
5384        0x1,
5385        1,
5386        0,
5387        adcmplr1::Cmplcha16,
5388        Adcmplr1_SPEC,
5389        crate::common::RW,
5390    > {
5391        crate::common::RegisterField::<
5392            0,
5393            0x1,
5394            1,
5395            0,
5396            adcmplr1::Cmplcha16,
5397            Adcmplr1_SPEC,
5398            crate::common::RW,
5399        >::from_register(self, 0)
5400    }
5401    #[doc = "Compare Window A Comparison Condition Select"]
5402    #[inline(always)]
5403    pub fn cmplcha17(
5404        self,
5405    ) -> crate::common::RegisterField<
5406        1,
5407        0x1,
5408        1,
5409        0,
5410        adcmplr1::Cmplcha17,
5411        Adcmplr1_SPEC,
5412        crate::common::RW,
5413    > {
5414        crate::common::RegisterField::<
5415            1,
5416            0x1,
5417            1,
5418            0,
5419            adcmplr1::Cmplcha17,
5420            Adcmplr1_SPEC,
5421            crate::common::RW,
5422        >::from_register(self, 0)
5423    }
5424    #[doc = "Compare Window A Comparison Condition Select"]
5425    #[inline(always)]
5426    pub fn cmplcha18(
5427        self,
5428    ) -> crate::common::RegisterField<
5429        2,
5430        0x1,
5431        1,
5432        0,
5433        adcmplr1::Cmplcha18,
5434        Adcmplr1_SPEC,
5435        crate::common::RW,
5436    > {
5437        crate::common::RegisterField::<
5438            2,
5439            0x1,
5440            1,
5441            0,
5442            adcmplr1::Cmplcha18,
5443            Adcmplr1_SPEC,
5444            crate::common::RW,
5445        >::from_register(self, 0)
5446    }
5447    #[doc = "Compare Window A Comparison Condition Select"]
5448    #[inline(always)]
5449    pub fn cmplcha19(
5450        self,
5451    ) -> crate::common::RegisterField<
5452        3,
5453        0x1,
5454        1,
5455        0,
5456        adcmplr1::Cmplcha19,
5457        Adcmplr1_SPEC,
5458        crate::common::RW,
5459    > {
5460        crate::common::RegisterField::<
5461            3,
5462            0x1,
5463            1,
5464            0,
5465            adcmplr1::Cmplcha19,
5466            Adcmplr1_SPEC,
5467            crate::common::RW,
5468        >::from_register(self, 0)
5469    }
5470    #[doc = "Compare Window A Comparison Condition Select"]
5471    #[inline(always)]
5472    pub fn cmplcha20(
5473        self,
5474    ) -> crate::common::RegisterField<
5475        4,
5476        0x1,
5477        1,
5478        0,
5479        adcmplr1::Cmplcha20,
5480        Adcmplr1_SPEC,
5481        crate::common::RW,
5482    > {
5483        crate::common::RegisterField::<
5484            4,
5485            0x1,
5486            1,
5487            0,
5488            adcmplr1::Cmplcha20,
5489            Adcmplr1_SPEC,
5490            crate::common::RW,
5491        >::from_register(self, 0)
5492    }
5493    #[doc = "Compare Window A Comparison Condition Select"]
5494    #[inline(always)]
5495    pub fn cmplcha21(
5496        self,
5497    ) -> crate::common::RegisterField<
5498        5,
5499        0x1,
5500        1,
5501        0,
5502        adcmplr1::Cmplcha21,
5503        Adcmplr1_SPEC,
5504        crate::common::RW,
5505    > {
5506        crate::common::RegisterField::<
5507            5,
5508            0x1,
5509            1,
5510            0,
5511            adcmplr1::Cmplcha21,
5512            Adcmplr1_SPEC,
5513            crate::common::RW,
5514        >::from_register(self, 0)
5515    }
5516    #[doc = "Compare Window A Comparison Condition Select"]
5517    #[inline(always)]
5518    pub fn cmplcha22(
5519        self,
5520    ) -> crate::common::RegisterField<
5521        6,
5522        0x1,
5523        1,
5524        0,
5525        adcmplr1::Cmplcha22,
5526        Adcmplr1_SPEC,
5527        crate::common::RW,
5528    > {
5529        crate::common::RegisterField::<
5530            6,
5531            0x1,
5532            1,
5533            0,
5534            adcmplr1::Cmplcha22,
5535            Adcmplr1_SPEC,
5536            crate::common::RW,
5537        >::from_register(self, 0)
5538    }
5539    #[doc = "Compare Window A Comparison Condition Select"]
5540    #[inline(always)]
5541    pub fn cmplcha23(
5542        self,
5543    ) -> crate::common::RegisterField<
5544        7,
5545        0x1,
5546        1,
5547        0,
5548        adcmplr1::Cmplcha23,
5549        Adcmplr1_SPEC,
5550        crate::common::RW,
5551    > {
5552        crate::common::RegisterField::<
5553            7,
5554            0x1,
5555            1,
5556            0,
5557            adcmplr1::Cmplcha23,
5558            Adcmplr1_SPEC,
5559            crate::common::RW,
5560        >::from_register(self, 0)
5561    }
5562    #[doc = "Compare Window A Comparison Condition Select"]
5563    #[inline(always)]
5564    pub fn cmplcha24(
5565        self,
5566    ) -> crate::common::RegisterField<
5567        8,
5568        0x1,
5569        1,
5570        0,
5571        adcmplr1::Cmplcha24,
5572        Adcmplr1_SPEC,
5573        crate::common::RW,
5574    > {
5575        crate::common::RegisterField::<
5576            8,
5577            0x1,
5578            1,
5579            0,
5580            adcmplr1::Cmplcha24,
5581            Adcmplr1_SPEC,
5582            crate::common::RW,
5583        >::from_register(self, 0)
5584    }
5585    #[doc = "Compare Window A Comparison Condition Select"]
5586    #[inline(always)]
5587    pub fn cmplcha25(
5588        self,
5589    ) -> crate::common::RegisterField<
5590        9,
5591        0x1,
5592        1,
5593        0,
5594        adcmplr1::Cmplcha25,
5595        Adcmplr1_SPEC,
5596        crate::common::RW,
5597    > {
5598        crate::common::RegisterField::<
5599            9,
5600            0x1,
5601            1,
5602            0,
5603            adcmplr1::Cmplcha25,
5604            Adcmplr1_SPEC,
5605            crate::common::RW,
5606        >::from_register(self, 0)
5607    }
5608    #[doc = "Compare Window A Comparison Condition Select"]
5609    #[inline(always)]
5610    pub fn cmplcha26(
5611        self,
5612    ) -> crate::common::RegisterField<
5613        10,
5614        0x1,
5615        1,
5616        0,
5617        adcmplr1::Cmplcha26,
5618        Adcmplr1_SPEC,
5619        crate::common::RW,
5620    > {
5621        crate::common::RegisterField::<
5622            10,
5623            0x1,
5624            1,
5625            0,
5626            adcmplr1::Cmplcha26,
5627            Adcmplr1_SPEC,
5628            crate::common::RW,
5629        >::from_register(self, 0)
5630    }
5631    #[doc = "Compare Window A Comparison Condition Select"]
5632    #[inline(always)]
5633    pub fn cmplcha27(
5634        self,
5635    ) -> crate::common::RegisterField<
5636        11,
5637        0x1,
5638        1,
5639        0,
5640        adcmplr1::Cmplcha27,
5641        Adcmplr1_SPEC,
5642        crate::common::RW,
5643    > {
5644        crate::common::RegisterField::<
5645            11,
5646            0x1,
5647            1,
5648            0,
5649            adcmplr1::Cmplcha27,
5650            Adcmplr1_SPEC,
5651            crate::common::RW,
5652        >::from_register(self, 0)
5653    }
5654    #[doc = "Compare Window A Comparison Condition Select"]
5655    #[inline(always)]
5656    pub fn cmplcha28(
5657        self,
5658    ) -> crate::common::RegisterField<
5659        12,
5660        0x1,
5661        1,
5662        0,
5663        adcmplr1::Cmplcha28,
5664        Adcmplr1_SPEC,
5665        crate::common::RW,
5666    > {
5667        crate::common::RegisterField::<
5668            12,
5669            0x1,
5670            1,
5671            0,
5672            adcmplr1::Cmplcha28,
5673            Adcmplr1_SPEC,
5674            crate::common::RW,
5675        >::from_register(self, 0)
5676    }
5677    #[doc = "Compare Window A Comparison Condition Select"]
5678    #[inline(always)]
5679    pub fn cmplcha29(
5680        self,
5681    ) -> crate::common::RegisterField<
5682        13,
5683        0x1,
5684        1,
5685        0,
5686        adcmplr1::Cmplcha29,
5687        Adcmplr1_SPEC,
5688        crate::common::RW,
5689    > {
5690        crate::common::RegisterField::<
5691            13,
5692            0x1,
5693            1,
5694            0,
5695            adcmplr1::Cmplcha29,
5696            Adcmplr1_SPEC,
5697            crate::common::RW,
5698        >::from_register(self, 0)
5699    }
5700    #[doc = "Compare Window A Comparison Condition Select"]
5701    #[inline(always)]
5702    pub fn cmplcha30(
5703        self,
5704    ) -> crate::common::RegisterField<
5705        14,
5706        0x1,
5707        1,
5708        0,
5709        adcmplr1::Cmplcha30,
5710        Adcmplr1_SPEC,
5711        crate::common::RW,
5712    > {
5713        crate::common::RegisterField::<
5714            14,
5715            0x1,
5716            1,
5717            0,
5718            adcmplr1::Cmplcha30,
5719            Adcmplr1_SPEC,
5720            crate::common::RW,
5721        >::from_register(self, 0)
5722    }
5723    #[doc = "Compare Window A Comparison Condition Select"]
5724    #[inline(always)]
5725    pub fn cmplcha31(
5726        self,
5727    ) -> crate::common::RegisterField<
5728        15,
5729        0x1,
5730        1,
5731        0,
5732        adcmplr1::Cmplcha31,
5733        Adcmplr1_SPEC,
5734        crate::common::RW,
5735    > {
5736        crate::common::RegisterField::<
5737            15,
5738            0x1,
5739            1,
5740            0,
5741            adcmplr1::Cmplcha31,
5742            Adcmplr1_SPEC,
5743            crate::common::RW,
5744        >::from_register(self, 0)
5745    }
5746}
5747impl ::core::default::Default for Adcmplr1 {
5748    #[inline(always)]
5749    fn default() -> Adcmplr1 {
5750        <crate::RegValueT<Adcmplr1_SPEC> as RegisterValue<_>>::new(0)
5751    }
5752}
5753pub mod adcmplr1 {
5754
5755    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5756    pub struct Cmplcha16_SPEC;
5757    pub type Cmplcha16 = crate::EnumBitfieldStruct<u8, Cmplcha16_SPEC>;
5758    impl Cmplcha16 {
5759        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5760        pub const _0: Self = Self::new(0);
5761        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5762        pub const _1: Self = Self::new(1);
5763    }
5764    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5765    pub struct Cmplcha17_SPEC;
5766    pub type Cmplcha17 = crate::EnumBitfieldStruct<u8, Cmplcha17_SPEC>;
5767    impl Cmplcha17 {
5768        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5769        pub const _0: Self = Self::new(0);
5770        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5771        pub const _1: Self = Self::new(1);
5772    }
5773    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5774    pub struct Cmplcha18_SPEC;
5775    pub type Cmplcha18 = crate::EnumBitfieldStruct<u8, Cmplcha18_SPEC>;
5776    impl Cmplcha18 {
5777        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5778        pub const _0: Self = Self::new(0);
5779        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5780        pub const _1: Self = Self::new(1);
5781    }
5782    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5783    pub struct Cmplcha19_SPEC;
5784    pub type Cmplcha19 = crate::EnumBitfieldStruct<u8, Cmplcha19_SPEC>;
5785    impl Cmplcha19 {
5786        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5787        pub const _0: Self = Self::new(0);
5788        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5789        pub const _1: Self = Self::new(1);
5790    }
5791    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5792    pub struct Cmplcha20_SPEC;
5793    pub type Cmplcha20 = crate::EnumBitfieldStruct<u8, Cmplcha20_SPEC>;
5794    impl Cmplcha20 {
5795        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5796        pub const _0: Self = Self::new(0);
5797        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5798        pub const _1: Self = Self::new(1);
5799    }
5800    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5801    pub struct Cmplcha21_SPEC;
5802    pub type Cmplcha21 = crate::EnumBitfieldStruct<u8, Cmplcha21_SPEC>;
5803    impl Cmplcha21 {
5804        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5805        pub const _0: Self = Self::new(0);
5806        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5807        pub const _1: Self = Self::new(1);
5808    }
5809    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5810    pub struct Cmplcha22_SPEC;
5811    pub type Cmplcha22 = crate::EnumBitfieldStruct<u8, Cmplcha22_SPEC>;
5812    impl Cmplcha22 {
5813        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5814        pub const _0: Self = Self::new(0);
5815        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5816        pub const _1: Self = Self::new(1);
5817    }
5818    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5819    pub struct Cmplcha23_SPEC;
5820    pub type Cmplcha23 = crate::EnumBitfieldStruct<u8, Cmplcha23_SPEC>;
5821    impl Cmplcha23 {
5822        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5823        pub const _0: Self = Self::new(0);
5824        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5825        pub const _1: Self = Self::new(1);
5826    }
5827    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5828    pub struct Cmplcha24_SPEC;
5829    pub type Cmplcha24 = crate::EnumBitfieldStruct<u8, Cmplcha24_SPEC>;
5830    impl Cmplcha24 {
5831        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5832        pub const _0: Self = Self::new(0);
5833        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5834        pub const _1: Self = Self::new(1);
5835    }
5836    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5837    pub struct Cmplcha25_SPEC;
5838    pub type Cmplcha25 = crate::EnumBitfieldStruct<u8, Cmplcha25_SPEC>;
5839    impl Cmplcha25 {
5840        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5841        pub const _0: Self = Self::new(0);
5842        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5843        pub const _1: Self = Self::new(1);
5844    }
5845    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5846    pub struct Cmplcha26_SPEC;
5847    pub type Cmplcha26 = crate::EnumBitfieldStruct<u8, Cmplcha26_SPEC>;
5848    impl Cmplcha26 {
5849        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5850        pub const _0: Self = Self::new(0);
5851        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5852        pub const _1: Self = Self::new(1);
5853    }
5854    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5855    pub struct Cmplcha27_SPEC;
5856    pub type Cmplcha27 = crate::EnumBitfieldStruct<u8, Cmplcha27_SPEC>;
5857    impl Cmplcha27 {
5858        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5859        pub const _0: Self = Self::new(0);
5860        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5861        pub const _1: Self = Self::new(1);
5862    }
5863    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5864    pub struct Cmplcha28_SPEC;
5865    pub type Cmplcha28 = crate::EnumBitfieldStruct<u8, Cmplcha28_SPEC>;
5866    impl Cmplcha28 {
5867        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5868        pub const _0: Self = Self::new(0);
5869        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5870        pub const _1: Self = Self::new(1);
5871    }
5872    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5873    pub struct Cmplcha29_SPEC;
5874    pub type Cmplcha29 = crate::EnumBitfieldStruct<u8, Cmplcha29_SPEC>;
5875    impl Cmplcha29 {
5876        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5877        pub const _0: Self = Self::new(0);
5878        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5879        pub const _1: Self = Self::new(1);
5880    }
5881    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5882    pub struct Cmplcha30_SPEC;
5883    pub type Cmplcha30 = crate::EnumBitfieldStruct<u8, Cmplcha30_SPEC>;
5884    impl Cmplcha30 {
5885        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5886        pub const _0: Self = Self::new(0);
5887        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5888        pub const _1: Self = Self::new(1);
5889    }
5890    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5891    pub struct Cmplcha31_SPEC;
5892    pub type Cmplcha31 = crate::EnumBitfieldStruct<u8, Cmplcha31_SPEC>;
5893    impl Cmplcha31 {
5894        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADCMPDR0 value, or ADCMPDR1 value < A/D-converted value"]
5895        pub const _0: Self = Self::new(0);
5896        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADCMPDR0 value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADCMPDR0 value < A/D-converted value < ADCMPDR1 value"]
5897        pub const _1: Self = Self::new(1);
5898    }
5899}
5900#[doc(hidden)]
5901#[derive(Copy, Clone, Eq, PartialEq)]
5902pub struct Adcmpdr_SPEC;
5903impl crate::sealed::RegSpec for Adcmpdr_SPEC {
5904    type DataType = u16;
5905}
5906#[doc = "A/D Compare Function Window A Lower-Side/Upper-Side Level Setting Register %s"]
5907pub type Adcmpdr = crate::RegValueT<Adcmpdr_SPEC>;
5908
5909impl NoBitfieldReg<Adcmpdr_SPEC> for Adcmpdr {}
5910impl ::core::default::Default for Adcmpdr {
5911    #[inline(always)]
5912    fn default() -> Adcmpdr {
5913        <crate::RegValueT<Adcmpdr_SPEC> as RegisterValue<_>>::new(0)
5914    }
5915}
5916
5917#[doc(hidden)]
5918#[derive(Copy, Clone, Eq, PartialEq)]
5919pub struct Adcmpsr0_SPEC;
5920impl crate::sealed::RegSpec for Adcmpsr0_SPEC {
5921    type DataType = u16;
5922}
5923#[doc = "A/D Compare Function Window A Channel Status Register 0"]
5924pub type Adcmpsr0 = crate::RegValueT<Adcmpsr0_SPEC>;
5925
5926impl Adcmpsr0 {
5927    #[doc = "Compare Window A Flag"]
5928    #[inline(always)]
5929    pub fn cmpstcha00(
5930        self,
5931    ) -> crate::common::RegisterField<
5932        0,
5933        0x1,
5934        1,
5935        0,
5936        adcmpsr0::Cmpstcha00,
5937        Adcmpsr0_SPEC,
5938        crate::common::RW,
5939    > {
5940        crate::common::RegisterField::<
5941            0,
5942            0x1,
5943            1,
5944            0,
5945            adcmpsr0::Cmpstcha00,
5946            Adcmpsr0_SPEC,
5947            crate::common::RW,
5948        >::from_register(self, 0)
5949    }
5950    #[doc = "Compare Window A Flag"]
5951    #[inline(always)]
5952    pub fn cmpstcha01(
5953        self,
5954    ) -> crate::common::RegisterField<
5955        1,
5956        0x1,
5957        1,
5958        0,
5959        adcmpsr0::Cmpstcha01,
5960        Adcmpsr0_SPEC,
5961        crate::common::RW,
5962    > {
5963        crate::common::RegisterField::<
5964            1,
5965            0x1,
5966            1,
5967            0,
5968            adcmpsr0::Cmpstcha01,
5969            Adcmpsr0_SPEC,
5970            crate::common::RW,
5971        >::from_register(self, 0)
5972    }
5973    #[doc = "Compare Window A Flag"]
5974    #[inline(always)]
5975    pub fn cmpstcha02(
5976        self,
5977    ) -> crate::common::RegisterField<
5978        2,
5979        0x1,
5980        1,
5981        0,
5982        adcmpsr0::Cmpstcha02,
5983        Adcmpsr0_SPEC,
5984        crate::common::RW,
5985    > {
5986        crate::common::RegisterField::<
5987            2,
5988            0x1,
5989            1,
5990            0,
5991            adcmpsr0::Cmpstcha02,
5992            Adcmpsr0_SPEC,
5993            crate::common::RW,
5994        >::from_register(self, 0)
5995    }
5996    #[doc = "Compare Window A Flag"]
5997    #[inline(always)]
5998    pub fn cmpstcha03(
5999        self,
6000    ) -> crate::common::RegisterField<
6001        3,
6002        0x1,
6003        1,
6004        0,
6005        adcmpsr0::Cmpstcha03,
6006        Adcmpsr0_SPEC,
6007        crate::common::RW,
6008    > {
6009        crate::common::RegisterField::<
6010            3,
6011            0x1,
6012            1,
6013            0,
6014            adcmpsr0::Cmpstcha03,
6015            Adcmpsr0_SPEC,
6016            crate::common::RW,
6017        >::from_register(self, 0)
6018    }
6019    #[doc = "Compare Window A Flag"]
6020    #[inline(always)]
6021    pub fn cmpstcha04(
6022        self,
6023    ) -> crate::common::RegisterField<
6024        4,
6025        0x1,
6026        1,
6027        0,
6028        adcmpsr0::Cmpstcha04,
6029        Adcmpsr0_SPEC,
6030        crate::common::RW,
6031    > {
6032        crate::common::RegisterField::<
6033            4,
6034            0x1,
6035            1,
6036            0,
6037            adcmpsr0::Cmpstcha04,
6038            Adcmpsr0_SPEC,
6039            crate::common::RW,
6040        >::from_register(self, 0)
6041    }
6042    #[doc = "Compare Window A Flag"]
6043    #[inline(always)]
6044    pub fn cmpstcha05(
6045        self,
6046    ) -> crate::common::RegisterField<
6047        5,
6048        0x1,
6049        1,
6050        0,
6051        adcmpsr0::Cmpstcha05,
6052        Adcmpsr0_SPEC,
6053        crate::common::RW,
6054    > {
6055        crate::common::RegisterField::<
6056            5,
6057            0x1,
6058            1,
6059            0,
6060            adcmpsr0::Cmpstcha05,
6061            Adcmpsr0_SPEC,
6062            crate::common::RW,
6063        >::from_register(self, 0)
6064    }
6065    #[doc = "Compare Window A Flag"]
6066    #[inline(always)]
6067    pub fn cmpstcha06(
6068        self,
6069    ) -> crate::common::RegisterField<
6070        6,
6071        0x1,
6072        1,
6073        0,
6074        adcmpsr0::Cmpstcha06,
6075        Adcmpsr0_SPEC,
6076        crate::common::RW,
6077    > {
6078        crate::common::RegisterField::<
6079            6,
6080            0x1,
6081            1,
6082            0,
6083            adcmpsr0::Cmpstcha06,
6084            Adcmpsr0_SPEC,
6085            crate::common::RW,
6086        >::from_register(self, 0)
6087    }
6088    #[doc = "Compare Window A Flag"]
6089    #[inline(always)]
6090    pub fn cmpstcha07(
6091        self,
6092    ) -> crate::common::RegisterField<
6093        7,
6094        0x1,
6095        1,
6096        0,
6097        adcmpsr0::Cmpstcha07,
6098        Adcmpsr0_SPEC,
6099        crate::common::RW,
6100    > {
6101        crate::common::RegisterField::<
6102            7,
6103            0x1,
6104            1,
6105            0,
6106            adcmpsr0::Cmpstcha07,
6107            Adcmpsr0_SPEC,
6108            crate::common::RW,
6109        >::from_register(self, 0)
6110    }
6111    #[doc = "Compare Window A Flag"]
6112    #[inline(always)]
6113    pub fn cmpstcha08(
6114        self,
6115    ) -> crate::common::RegisterField<
6116        8,
6117        0x1,
6118        1,
6119        0,
6120        adcmpsr0::Cmpstcha08,
6121        Adcmpsr0_SPEC,
6122        crate::common::RW,
6123    > {
6124        crate::common::RegisterField::<
6125            8,
6126            0x1,
6127            1,
6128            0,
6129            adcmpsr0::Cmpstcha08,
6130            Adcmpsr0_SPEC,
6131            crate::common::RW,
6132        >::from_register(self, 0)
6133    }
6134    #[doc = "Compare Window A Flag"]
6135    #[inline(always)]
6136    pub fn cmpstcha09(
6137        self,
6138    ) -> crate::common::RegisterField<
6139        9,
6140        0x1,
6141        1,
6142        0,
6143        adcmpsr0::Cmpstcha09,
6144        Adcmpsr0_SPEC,
6145        crate::common::RW,
6146    > {
6147        crate::common::RegisterField::<
6148            9,
6149            0x1,
6150            1,
6151            0,
6152            adcmpsr0::Cmpstcha09,
6153            Adcmpsr0_SPEC,
6154            crate::common::RW,
6155        >::from_register(self, 0)
6156    }
6157    #[doc = "Compare Window A Flag"]
6158    #[inline(always)]
6159    pub fn cmpstcha10(
6160        self,
6161    ) -> crate::common::RegisterField<
6162        10,
6163        0x1,
6164        1,
6165        0,
6166        adcmpsr0::Cmpstcha10,
6167        Adcmpsr0_SPEC,
6168        crate::common::RW,
6169    > {
6170        crate::common::RegisterField::<
6171            10,
6172            0x1,
6173            1,
6174            0,
6175            adcmpsr0::Cmpstcha10,
6176            Adcmpsr0_SPEC,
6177            crate::common::RW,
6178        >::from_register(self, 0)
6179    }
6180    #[doc = "Compare Window A Flag"]
6181    #[inline(always)]
6182    pub fn cmpstcha11(
6183        self,
6184    ) -> crate::common::RegisterField<
6185        11,
6186        0x1,
6187        1,
6188        0,
6189        adcmpsr0::Cmpstcha11,
6190        Adcmpsr0_SPEC,
6191        crate::common::RW,
6192    > {
6193        crate::common::RegisterField::<
6194            11,
6195            0x1,
6196            1,
6197            0,
6198            adcmpsr0::Cmpstcha11,
6199            Adcmpsr0_SPEC,
6200            crate::common::RW,
6201        >::from_register(self, 0)
6202    }
6203    #[doc = "Compare Window A Flag"]
6204    #[inline(always)]
6205    pub fn cmpstcha12(
6206        self,
6207    ) -> crate::common::RegisterField<
6208        12,
6209        0x1,
6210        1,
6211        0,
6212        adcmpsr0::Cmpstcha12,
6213        Adcmpsr0_SPEC,
6214        crate::common::RW,
6215    > {
6216        crate::common::RegisterField::<
6217            12,
6218            0x1,
6219            1,
6220            0,
6221            adcmpsr0::Cmpstcha12,
6222            Adcmpsr0_SPEC,
6223            crate::common::RW,
6224        >::from_register(self, 0)
6225    }
6226    #[doc = "Compare Window A Flag"]
6227    #[inline(always)]
6228    pub fn cmpstcha13(
6229        self,
6230    ) -> crate::common::RegisterField<
6231        13,
6232        0x1,
6233        1,
6234        0,
6235        adcmpsr0::Cmpstcha13,
6236        Adcmpsr0_SPEC,
6237        crate::common::RW,
6238    > {
6239        crate::common::RegisterField::<
6240            13,
6241            0x1,
6242            1,
6243            0,
6244            adcmpsr0::Cmpstcha13,
6245            Adcmpsr0_SPEC,
6246            crate::common::RW,
6247        >::from_register(self, 0)
6248    }
6249    #[doc = "Compare Window A Flag"]
6250    #[inline(always)]
6251    pub fn cmpstcha14(
6252        self,
6253    ) -> crate::common::RegisterField<
6254        14,
6255        0x1,
6256        1,
6257        0,
6258        adcmpsr0::Cmpstcha14,
6259        Adcmpsr0_SPEC,
6260        crate::common::RW,
6261    > {
6262        crate::common::RegisterField::<
6263            14,
6264            0x1,
6265            1,
6266            0,
6267            adcmpsr0::Cmpstcha14,
6268            Adcmpsr0_SPEC,
6269            crate::common::RW,
6270        >::from_register(self, 0)
6271    }
6272    #[doc = "Compare Window A Flag"]
6273    #[inline(always)]
6274    pub fn cmpstcha15(
6275        self,
6276    ) -> crate::common::RegisterField<
6277        15,
6278        0x1,
6279        1,
6280        0,
6281        adcmpsr0::Cmpstcha15,
6282        Adcmpsr0_SPEC,
6283        crate::common::RW,
6284    > {
6285        crate::common::RegisterField::<
6286            15,
6287            0x1,
6288            1,
6289            0,
6290            adcmpsr0::Cmpstcha15,
6291            Adcmpsr0_SPEC,
6292            crate::common::RW,
6293        >::from_register(self, 0)
6294    }
6295}
6296impl ::core::default::Default for Adcmpsr0 {
6297    #[inline(always)]
6298    fn default() -> Adcmpsr0 {
6299        <crate::RegValueT<Adcmpsr0_SPEC> as RegisterValue<_>>::new(0)
6300    }
6301}
6302pub mod adcmpsr0 {
6303
6304    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6305    pub struct Cmpstcha00_SPEC;
6306    pub type Cmpstcha00 = crate::EnumBitfieldStruct<u8, Cmpstcha00_SPEC>;
6307    impl Cmpstcha00 {
6308        #[doc = "Comparison conditions are not met."]
6309        pub const _0: Self = Self::new(0);
6310        #[doc = "Comparison conditions are met."]
6311        pub const _1: Self = Self::new(1);
6312    }
6313    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6314    pub struct Cmpstcha01_SPEC;
6315    pub type Cmpstcha01 = crate::EnumBitfieldStruct<u8, Cmpstcha01_SPEC>;
6316    impl Cmpstcha01 {
6317        #[doc = "Comparison conditions are not met."]
6318        pub const _0: Self = Self::new(0);
6319        #[doc = "Comparison conditions are met."]
6320        pub const _1: Self = Self::new(1);
6321    }
6322    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6323    pub struct Cmpstcha02_SPEC;
6324    pub type Cmpstcha02 = crate::EnumBitfieldStruct<u8, Cmpstcha02_SPEC>;
6325    impl Cmpstcha02 {
6326        #[doc = "Comparison conditions are not met."]
6327        pub const _0: Self = Self::new(0);
6328        #[doc = "Comparison conditions are met."]
6329        pub const _1: Self = Self::new(1);
6330    }
6331    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6332    pub struct Cmpstcha03_SPEC;
6333    pub type Cmpstcha03 = crate::EnumBitfieldStruct<u8, Cmpstcha03_SPEC>;
6334    impl Cmpstcha03 {
6335        #[doc = "Comparison conditions are not met."]
6336        pub const _0: Self = Self::new(0);
6337        #[doc = "Comparison conditions are met."]
6338        pub const _1: Self = Self::new(1);
6339    }
6340    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6341    pub struct Cmpstcha04_SPEC;
6342    pub type Cmpstcha04 = crate::EnumBitfieldStruct<u8, Cmpstcha04_SPEC>;
6343    impl Cmpstcha04 {
6344        #[doc = "Comparison conditions are not met."]
6345        pub const _0: Self = Self::new(0);
6346        #[doc = "Comparison conditions are met."]
6347        pub const _1: Self = Self::new(1);
6348    }
6349    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6350    pub struct Cmpstcha05_SPEC;
6351    pub type Cmpstcha05 = crate::EnumBitfieldStruct<u8, Cmpstcha05_SPEC>;
6352    impl Cmpstcha05 {
6353        #[doc = "Comparison conditions are not met."]
6354        pub const _0: Self = Self::new(0);
6355        #[doc = "Comparison conditions are met."]
6356        pub const _1: Self = Self::new(1);
6357    }
6358    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6359    pub struct Cmpstcha06_SPEC;
6360    pub type Cmpstcha06 = crate::EnumBitfieldStruct<u8, Cmpstcha06_SPEC>;
6361    impl Cmpstcha06 {
6362        #[doc = "Comparison conditions are not met."]
6363        pub const _0: Self = Self::new(0);
6364        #[doc = "Comparison conditions are met."]
6365        pub const _1: Self = Self::new(1);
6366    }
6367    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6368    pub struct Cmpstcha07_SPEC;
6369    pub type Cmpstcha07 = crate::EnumBitfieldStruct<u8, Cmpstcha07_SPEC>;
6370    impl Cmpstcha07 {
6371        #[doc = "Comparison conditions are not met."]
6372        pub const _0: Self = Self::new(0);
6373        #[doc = "Comparison conditions are met."]
6374        pub const _1: Self = Self::new(1);
6375    }
6376    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6377    pub struct Cmpstcha08_SPEC;
6378    pub type Cmpstcha08 = crate::EnumBitfieldStruct<u8, Cmpstcha08_SPEC>;
6379    impl Cmpstcha08 {
6380        #[doc = "Comparison conditions are not met."]
6381        pub const _0: Self = Self::new(0);
6382        #[doc = "Comparison conditions are met."]
6383        pub const _1: Self = Self::new(1);
6384    }
6385    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6386    pub struct Cmpstcha09_SPEC;
6387    pub type Cmpstcha09 = crate::EnumBitfieldStruct<u8, Cmpstcha09_SPEC>;
6388    impl Cmpstcha09 {
6389        #[doc = "Comparison conditions are not met."]
6390        pub const _0: Self = Self::new(0);
6391        #[doc = "Comparison conditions are met."]
6392        pub const _1: Self = Self::new(1);
6393    }
6394    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6395    pub struct Cmpstcha10_SPEC;
6396    pub type Cmpstcha10 = crate::EnumBitfieldStruct<u8, Cmpstcha10_SPEC>;
6397    impl Cmpstcha10 {
6398        #[doc = "Comparison conditions are not met."]
6399        pub const _0: Self = Self::new(0);
6400        #[doc = "Comparison conditions are met."]
6401        pub const _1: Self = Self::new(1);
6402    }
6403    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6404    pub struct Cmpstcha11_SPEC;
6405    pub type Cmpstcha11 = crate::EnumBitfieldStruct<u8, Cmpstcha11_SPEC>;
6406    impl Cmpstcha11 {
6407        #[doc = "Comparison conditions are not met."]
6408        pub const _0: Self = Self::new(0);
6409        #[doc = "Comparison conditions are met."]
6410        pub const _1: Self = Self::new(1);
6411    }
6412    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6413    pub struct Cmpstcha12_SPEC;
6414    pub type Cmpstcha12 = crate::EnumBitfieldStruct<u8, Cmpstcha12_SPEC>;
6415    impl Cmpstcha12 {
6416        #[doc = "Comparison conditions are not met."]
6417        pub const _0: Self = Self::new(0);
6418        #[doc = "Comparison conditions are met."]
6419        pub const _1: Self = Self::new(1);
6420    }
6421    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6422    pub struct Cmpstcha13_SPEC;
6423    pub type Cmpstcha13 = crate::EnumBitfieldStruct<u8, Cmpstcha13_SPEC>;
6424    impl Cmpstcha13 {
6425        #[doc = "Comparison conditions are not met."]
6426        pub const _0: Self = Self::new(0);
6427        #[doc = "Comparison conditions are met."]
6428        pub const _1: Self = Self::new(1);
6429    }
6430    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6431    pub struct Cmpstcha14_SPEC;
6432    pub type Cmpstcha14 = crate::EnumBitfieldStruct<u8, Cmpstcha14_SPEC>;
6433    impl Cmpstcha14 {
6434        #[doc = "Comparison conditions are not met."]
6435        pub const _0: Self = Self::new(0);
6436        #[doc = "Comparison conditions are met."]
6437        pub const _1: Self = Self::new(1);
6438    }
6439    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6440    pub struct Cmpstcha15_SPEC;
6441    pub type Cmpstcha15 = crate::EnumBitfieldStruct<u8, Cmpstcha15_SPEC>;
6442    impl Cmpstcha15 {
6443        #[doc = "Comparison conditions are not met."]
6444        pub const _0: Self = Self::new(0);
6445        #[doc = "Comparison conditions are met."]
6446        pub const _1: Self = Self::new(1);
6447    }
6448}
6449#[doc(hidden)]
6450#[derive(Copy, Clone, Eq, PartialEq)]
6451pub struct Adcmpsr1_SPEC;
6452impl crate::sealed::RegSpec for Adcmpsr1_SPEC {
6453    type DataType = u16;
6454}
6455#[doc = "A/D Compare Function Window A Channel Status Register1"]
6456pub type Adcmpsr1 = crate::RegValueT<Adcmpsr1_SPEC>;
6457
6458impl Adcmpsr1 {
6459    #[doc = "Compare Window A Flag"]
6460    #[inline(always)]
6461    pub fn cmpstcha16(
6462        self,
6463    ) -> crate::common::RegisterField<
6464        0,
6465        0x1,
6466        1,
6467        0,
6468        adcmpsr1::Cmpstcha16,
6469        Adcmpsr1_SPEC,
6470        crate::common::RW,
6471    > {
6472        crate::common::RegisterField::<
6473            0,
6474            0x1,
6475            1,
6476            0,
6477            adcmpsr1::Cmpstcha16,
6478            Adcmpsr1_SPEC,
6479            crate::common::RW,
6480        >::from_register(self, 0)
6481    }
6482    #[doc = "Compare Window A Flag"]
6483    #[inline(always)]
6484    pub fn cmpstcha17(
6485        self,
6486    ) -> crate::common::RegisterField<
6487        1,
6488        0x1,
6489        1,
6490        0,
6491        adcmpsr1::Cmpstcha17,
6492        Adcmpsr1_SPEC,
6493        crate::common::RW,
6494    > {
6495        crate::common::RegisterField::<
6496            1,
6497            0x1,
6498            1,
6499            0,
6500            adcmpsr1::Cmpstcha17,
6501            Adcmpsr1_SPEC,
6502            crate::common::RW,
6503        >::from_register(self, 0)
6504    }
6505    #[doc = "Compare Window A Flag"]
6506    #[inline(always)]
6507    pub fn cmpstcha18(
6508        self,
6509    ) -> crate::common::RegisterField<
6510        2,
6511        0x1,
6512        1,
6513        0,
6514        adcmpsr1::Cmpstcha18,
6515        Adcmpsr1_SPEC,
6516        crate::common::RW,
6517    > {
6518        crate::common::RegisterField::<
6519            2,
6520            0x1,
6521            1,
6522            0,
6523            adcmpsr1::Cmpstcha18,
6524            Adcmpsr1_SPEC,
6525            crate::common::RW,
6526        >::from_register(self, 0)
6527    }
6528    #[doc = "Compare Window A Flag"]
6529    #[inline(always)]
6530    pub fn cmpstcha19(
6531        self,
6532    ) -> crate::common::RegisterField<
6533        3,
6534        0x1,
6535        1,
6536        0,
6537        adcmpsr1::Cmpstcha19,
6538        Adcmpsr1_SPEC,
6539        crate::common::RW,
6540    > {
6541        crate::common::RegisterField::<
6542            3,
6543            0x1,
6544            1,
6545            0,
6546            adcmpsr1::Cmpstcha19,
6547            Adcmpsr1_SPEC,
6548            crate::common::RW,
6549        >::from_register(self, 0)
6550    }
6551    #[doc = "Compare Window A Flag"]
6552    #[inline(always)]
6553    pub fn cmpstcha20(
6554        self,
6555    ) -> crate::common::RegisterField<
6556        4,
6557        0x1,
6558        1,
6559        0,
6560        adcmpsr1::Cmpstcha20,
6561        Adcmpsr1_SPEC,
6562        crate::common::RW,
6563    > {
6564        crate::common::RegisterField::<
6565            4,
6566            0x1,
6567            1,
6568            0,
6569            adcmpsr1::Cmpstcha20,
6570            Adcmpsr1_SPEC,
6571            crate::common::RW,
6572        >::from_register(self, 0)
6573    }
6574    #[doc = "Compare Window A Flag"]
6575    #[inline(always)]
6576    pub fn cmpstcha21(
6577        self,
6578    ) -> crate::common::RegisterField<
6579        5,
6580        0x1,
6581        1,
6582        0,
6583        adcmpsr1::Cmpstcha21,
6584        Adcmpsr1_SPEC,
6585        crate::common::RW,
6586    > {
6587        crate::common::RegisterField::<
6588            5,
6589            0x1,
6590            1,
6591            0,
6592            adcmpsr1::Cmpstcha21,
6593            Adcmpsr1_SPEC,
6594            crate::common::RW,
6595        >::from_register(self, 0)
6596    }
6597    #[doc = "Compare Window A Flag"]
6598    #[inline(always)]
6599    pub fn cmpstcha22(
6600        self,
6601    ) -> crate::common::RegisterField<
6602        6,
6603        0x1,
6604        1,
6605        0,
6606        adcmpsr1::Cmpstcha22,
6607        Adcmpsr1_SPEC,
6608        crate::common::RW,
6609    > {
6610        crate::common::RegisterField::<
6611            6,
6612            0x1,
6613            1,
6614            0,
6615            adcmpsr1::Cmpstcha22,
6616            Adcmpsr1_SPEC,
6617            crate::common::RW,
6618        >::from_register(self, 0)
6619    }
6620    #[doc = "Compare Window A Flag"]
6621    #[inline(always)]
6622    pub fn cmpstcha23(
6623        self,
6624    ) -> crate::common::RegisterField<
6625        7,
6626        0x1,
6627        1,
6628        0,
6629        adcmpsr1::Cmpstcha23,
6630        Adcmpsr1_SPEC,
6631        crate::common::RW,
6632    > {
6633        crate::common::RegisterField::<
6634            7,
6635            0x1,
6636            1,
6637            0,
6638            adcmpsr1::Cmpstcha23,
6639            Adcmpsr1_SPEC,
6640            crate::common::RW,
6641        >::from_register(self, 0)
6642    }
6643    #[doc = "Compare Window A Flag"]
6644    #[inline(always)]
6645    pub fn cmpstcha24(
6646        self,
6647    ) -> crate::common::RegisterField<
6648        8,
6649        0x1,
6650        1,
6651        0,
6652        adcmpsr1::Cmpstcha24,
6653        Adcmpsr1_SPEC,
6654        crate::common::RW,
6655    > {
6656        crate::common::RegisterField::<
6657            8,
6658            0x1,
6659            1,
6660            0,
6661            adcmpsr1::Cmpstcha24,
6662            Adcmpsr1_SPEC,
6663            crate::common::RW,
6664        >::from_register(self, 0)
6665    }
6666    #[doc = "Compare Window A Flag"]
6667    #[inline(always)]
6668    pub fn cmpstcha25(
6669        self,
6670    ) -> crate::common::RegisterField<
6671        9,
6672        0x1,
6673        1,
6674        0,
6675        adcmpsr1::Cmpstcha25,
6676        Adcmpsr1_SPEC,
6677        crate::common::RW,
6678    > {
6679        crate::common::RegisterField::<
6680            9,
6681            0x1,
6682            1,
6683            0,
6684            adcmpsr1::Cmpstcha25,
6685            Adcmpsr1_SPEC,
6686            crate::common::RW,
6687        >::from_register(self, 0)
6688    }
6689    #[doc = "Compare Window A Flag"]
6690    #[inline(always)]
6691    pub fn cmpstcha26(
6692        self,
6693    ) -> crate::common::RegisterField<
6694        10,
6695        0x1,
6696        1,
6697        0,
6698        adcmpsr1::Cmpstcha26,
6699        Adcmpsr1_SPEC,
6700        crate::common::RW,
6701    > {
6702        crate::common::RegisterField::<
6703            10,
6704            0x1,
6705            1,
6706            0,
6707            adcmpsr1::Cmpstcha26,
6708            Adcmpsr1_SPEC,
6709            crate::common::RW,
6710        >::from_register(self, 0)
6711    }
6712    #[doc = "Compare Window A Flag"]
6713    #[inline(always)]
6714    pub fn cmpstcha27(
6715        self,
6716    ) -> crate::common::RegisterField<
6717        11,
6718        0x1,
6719        1,
6720        0,
6721        adcmpsr1::Cmpstcha27,
6722        Adcmpsr1_SPEC,
6723        crate::common::RW,
6724    > {
6725        crate::common::RegisterField::<
6726            11,
6727            0x1,
6728            1,
6729            0,
6730            adcmpsr1::Cmpstcha27,
6731            Adcmpsr1_SPEC,
6732            crate::common::RW,
6733        >::from_register(self, 0)
6734    }
6735    #[doc = "Compare Window A Flag"]
6736    #[inline(always)]
6737    pub fn cmpstcha28(
6738        self,
6739    ) -> crate::common::RegisterField<
6740        12,
6741        0x1,
6742        1,
6743        0,
6744        adcmpsr1::Cmpstcha28,
6745        Adcmpsr1_SPEC,
6746        crate::common::RW,
6747    > {
6748        crate::common::RegisterField::<
6749            12,
6750            0x1,
6751            1,
6752            0,
6753            adcmpsr1::Cmpstcha28,
6754            Adcmpsr1_SPEC,
6755            crate::common::RW,
6756        >::from_register(self, 0)
6757    }
6758    #[doc = "Compare Window A Flag"]
6759    #[inline(always)]
6760    pub fn cmpstcha29(
6761        self,
6762    ) -> crate::common::RegisterField<
6763        13,
6764        0x1,
6765        1,
6766        0,
6767        adcmpsr1::Cmpstcha29,
6768        Adcmpsr1_SPEC,
6769        crate::common::RW,
6770    > {
6771        crate::common::RegisterField::<
6772            13,
6773            0x1,
6774            1,
6775            0,
6776            adcmpsr1::Cmpstcha29,
6777            Adcmpsr1_SPEC,
6778            crate::common::RW,
6779        >::from_register(self, 0)
6780    }
6781    #[doc = "Compare Window A Flag"]
6782    #[inline(always)]
6783    pub fn cmpstcha30(
6784        self,
6785    ) -> crate::common::RegisterField<
6786        14,
6787        0x1,
6788        1,
6789        0,
6790        adcmpsr1::Cmpstcha30,
6791        Adcmpsr1_SPEC,
6792        crate::common::RW,
6793    > {
6794        crate::common::RegisterField::<
6795            14,
6796            0x1,
6797            1,
6798            0,
6799            adcmpsr1::Cmpstcha30,
6800            Adcmpsr1_SPEC,
6801            crate::common::RW,
6802        >::from_register(self, 0)
6803    }
6804    #[doc = "Compare Window A Flag"]
6805    #[inline(always)]
6806    pub fn cmpstcha31(
6807        self,
6808    ) -> crate::common::RegisterField<
6809        15,
6810        0x1,
6811        1,
6812        0,
6813        adcmpsr1::Cmpstcha31,
6814        Adcmpsr1_SPEC,
6815        crate::common::RW,
6816    > {
6817        crate::common::RegisterField::<
6818            15,
6819            0x1,
6820            1,
6821            0,
6822            adcmpsr1::Cmpstcha31,
6823            Adcmpsr1_SPEC,
6824            crate::common::RW,
6825        >::from_register(self, 0)
6826    }
6827}
6828impl ::core::default::Default for Adcmpsr1 {
6829    #[inline(always)]
6830    fn default() -> Adcmpsr1 {
6831        <crate::RegValueT<Adcmpsr1_SPEC> as RegisterValue<_>>::new(0)
6832    }
6833}
6834pub mod adcmpsr1 {
6835
6836    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6837    pub struct Cmpstcha16_SPEC;
6838    pub type Cmpstcha16 = crate::EnumBitfieldStruct<u8, Cmpstcha16_SPEC>;
6839    impl Cmpstcha16 {
6840        #[doc = "Comparison conditions are not met."]
6841        pub const _0: Self = Self::new(0);
6842        #[doc = "Comparison conditions are met."]
6843        pub const _1: Self = Self::new(1);
6844    }
6845    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6846    pub struct Cmpstcha17_SPEC;
6847    pub type Cmpstcha17 = crate::EnumBitfieldStruct<u8, Cmpstcha17_SPEC>;
6848    impl Cmpstcha17 {
6849        #[doc = "Comparison conditions are not met."]
6850        pub const _0: Self = Self::new(0);
6851        #[doc = "Comparison conditions are met."]
6852        pub const _1: Self = Self::new(1);
6853    }
6854    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6855    pub struct Cmpstcha18_SPEC;
6856    pub type Cmpstcha18 = crate::EnumBitfieldStruct<u8, Cmpstcha18_SPEC>;
6857    impl Cmpstcha18 {
6858        #[doc = "Comparison conditions are not met."]
6859        pub const _0: Self = Self::new(0);
6860        #[doc = "Comparison conditions are met."]
6861        pub const _1: Self = Self::new(1);
6862    }
6863    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6864    pub struct Cmpstcha19_SPEC;
6865    pub type Cmpstcha19 = crate::EnumBitfieldStruct<u8, Cmpstcha19_SPEC>;
6866    impl Cmpstcha19 {
6867        #[doc = "Comparison conditions are not met."]
6868        pub const _0: Self = Self::new(0);
6869        #[doc = "Comparison conditions are met."]
6870        pub const _1: Self = Self::new(1);
6871    }
6872    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6873    pub struct Cmpstcha20_SPEC;
6874    pub type Cmpstcha20 = crate::EnumBitfieldStruct<u8, Cmpstcha20_SPEC>;
6875    impl Cmpstcha20 {
6876        #[doc = "Comparison conditions are not met."]
6877        pub const _0: Self = Self::new(0);
6878        #[doc = "Comparison conditions are met."]
6879        pub const _1: Self = Self::new(1);
6880    }
6881    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6882    pub struct Cmpstcha21_SPEC;
6883    pub type Cmpstcha21 = crate::EnumBitfieldStruct<u8, Cmpstcha21_SPEC>;
6884    impl Cmpstcha21 {
6885        #[doc = "Comparison conditions are not met."]
6886        pub const _0: Self = Self::new(0);
6887        #[doc = "Comparison conditions are met."]
6888        pub const _1: Self = Self::new(1);
6889    }
6890    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6891    pub struct Cmpstcha22_SPEC;
6892    pub type Cmpstcha22 = crate::EnumBitfieldStruct<u8, Cmpstcha22_SPEC>;
6893    impl Cmpstcha22 {
6894        #[doc = "Comparison conditions are not met."]
6895        pub const _0: Self = Self::new(0);
6896        #[doc = "Comparison conditions are met."]
6897        pub const _1: Self = Self::new(1);
6898    }
6899    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6900    pub struct Cmpstcha23_SPEC;
6901    pub type Cmpstcha23 = crate::EnumBitfieldStruct<u8, Cmpstcha23_SPEC>;
6902    impl Cmpstcha23 {
6903        #[doc = "Comparison conditions are not met."]
6904        pub const _0: Self = Self::new(0);
6905        #[doc = "Comparison conditions are met."]
6906        pub const _1: Self = Self::new(1);
6907    }
6908    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6909    pub struct Cmpstcha24_SPEC;
6910    pub type Cmpstcha24 = crate::EnumBitfieldStruct<u8, Cmpstcha24_SPEC>;
6911    impl Cmpstcha24 {
6912        #[doc = "Comparison conditions are not met."]
6913        pub const _0: Self = Self::new(0);
6914        #[doc = "Comparison conditions are met."]
6915        pub const _1: Self = Self::new(1);
6916    }
6917    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6918    pub struct Cmpstcha25_SPEC;
6919    pub type Cmpstcha25 = crate::EnumBitfieldStruct<u8, Cmpstcha25_SPEC>;
6920    impl Cmpstcha25 {
6921        #[doc = "Comparison conditions are not met."]
6922        pub const _0: Self = Self::new(0);
6923        #[doc = "Comparison conditions are met."]
6924        pub const _1: Self = Self::new(1);
6925    }
6926    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6927    pub struct Cmpstcha26_SPEC;
6928    pub type Cmpstcha26 = crate::EnumBitfieldStruct<u8, Cmpstcha26_SPEC>;
6929    impl Cmpstcha26 {
6930        #[doc = "Comparison conditions are not met."]
6931        pub const _0: Self = Self::new(0);
6932        #[doc = "Comparison conditions are met."]
6933        pub const _1: Self = Self::new(1);
6934    }
6935    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6936    pub struct Cmpstcha27_SPEC;
6937    pub type Cmpstcha27 = crate::EnumBitfieldStruct<u8, Cmpstcha27_SPEC>;
6938    impl Cmpstcha27 {
6939        #[doc = "Comparison conditions are not met."]
6940        pub const _0: Self = Self::new(0);
6941        #[doc = "Comparison conditions are met."]
6942        pub const _1: Self = Self::new(1);
6943    }
6944    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6945    pub struct Cmpstcha28_SPEC;
6946    pub type Cmpstcha28 = crate::EnumBitfieldStruct<u8, Cmpstcha28_SPEC>;
6947    impl Cmpstcha28 {
6948        #[doc = "Comparison conditions are not met."]
6949        pub const _0: Self = Self::new(0);
6950        #[doc = "Comparison conditions are met."]
6951        pub const _1: Self = Self::new(1);
6952    }
6953    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6954    pub struct Cmpstcha29_SPEC;
6955    pub type Cmpstcha29 = crate::EnumBitfieldStruct<u8, Cmpstcha29_SPEC>;
6956    impl Cmpstcha29 {
6957        #[doc = "Comparison conditions are not met."]
6958        pub const _0: Self = Self::new(0);
6959        #[doc = "Comparison conditions are met."]
6960        pub const _1: Self = Self::new(1);
6961    }
6962    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6963    pub struct Cmpstcha30_SPEC;
6964    pub type Cmpstcha30 = crate::EnumBitfieldStruct<u8, Cmpstcha30_SPEC>;
6965    impl Cmpstcha30 {
6966        #[doc = "Comparison conditions are not met."]
6967        pub const _0: Self = Self::new(0);
6968        #[doc = "Comparison conditions are met."]
6969        pub const _1: Self = Self::new(1);
6970    }
6971    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6972    pub struct Cmpstcha31_SPEC;
6973    pub type Cmpstcha31 = crate::EnumBitfieldStruct<u8, Cmpstcha31_SPEC>;
6974    impl Cmpstcha31 {
6975        #[doc = "Comparison conditions are not met."]
6976        pub const _0: Self = Self::new(0);
6977        #[doc = "Comparison conditions are met."]
6978        pub const _1: Self = Self::new(1);
6979    }
6980}
6981#[doc(hidden)]
6982#[derive(Copy, Clone, Eq, PartialEq)]
6983pub struct Adcmpser_SPEC;
6984impl crate::sealed::RegSpec for Adcmpser_SPEC {
6985    type DataType = u8;
6986}
6987#[doc = "A/D Compare Function Window A Extended Input Channel Status Register"]
6988pub type Adcmpser = crate::RegValueT<Adcmpser_SPEC>;
6989
6990impl Adcmpser {
6991    #[doc = "Compare Window A Temperature Sensor Output Compare Flag"]
6992    #[inline(always)]
6993    pub fn cmpsttsa(
6994        self,
6995    ) -> crate::common::RegisterField<
6996        0,
6997        0x1,
6998        1,
6999        0,
7000        adcmpser::Cmpsttsa,
7001        Adcmpser_SPEC,
7002        crate::common::RW,
7003    > {
7004        crate::common::RegisterField::<
7005            0,
7006            0x1,
7007            1,
7008            0,
7009            adcmpser::Cmpsttsa,
7010            Adcmpser_SPEC,
7011            crate::common::RW,
7012        >::from_register(self, 0)
7013    }
7014    #[doc = "Compare Window A Internal Reference Voltage Compare Flag"]
7015    #[inline(always)]
7016    pub fn cmpstoca(
7017        self,
7018    ) -> crate::common::RegisterField<
7019        1,
7020        0x1,
7021        1,
7022        0,
7023        adcmpser::Cmpstoca,
7024        Adcmpser_SPEC,
7025        crate::common::RW,
7026    > {
7027        crate::common::RegisterField::<
7028            1,
7029            0x1,
7030            1,
7031            0,
7032            adcmpser::Cmpstoca,
7033            Adcmpser_SPEC,
7034            crate::common::RW,
7035        >::from_register(self, 0)
7036    }
7037}
7038impl ::core::default::Default for Adcmpser {
7039    #[inline(always)]
7040    fn default() -> Adcmpser {
7041        <crate::RegValueT<Adcmpser_SPEC> as RegisterValue<_>>::new(0)
7042    }
7043}
7044pub mod adcmpser {
7045
7046    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7047    pub struct Cmpsttsa_SPEC;
7048    pub type Cmpsttsa = crate::EnumBitfieldStruct<u8, Cmpsttsa_SPEC>;
7049    impl Cmpsttsa {
7050        #[doc = "Comparison conditions are not met."]
7051        pub const _0: Self = Self::new(0);
7052        #[doc = "Comparison conditions are met."]
7053        pub const _1: Self = Self::new(1);
7054    }
7055    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7056    pub struct Cmpstoca_SPEC;
7057    pub type Cmpstoca = crate::EnumBitfieldStruct<u8, Cmpstoca_SPEC>;
7058    impl Cmpstoca {
7059        #[doc = "Comparison conditions are not met."]
7060        pub const _0: Self = Self::new(0);
7061        #[doc = "Comparison conditions are met."]
7062        pub const _1: Self = Self::new(1);
7063    }
7064}
7065#[doc(hidden)]
7066#[derive(Copy, Clone, Eq, PartialEq)]
7067pub struct Adcmpbnsr_SPEC;
7068impl crate::sealed::RegSpec for Adcmpbnsr_SPEC {
7069    type DataType = u8;
7070}
7071#[doc = "A/D Compare Function Window B Channel Select Register"]
7072pub type Adcmpbnsr = crate::RegValueT<Adcmpbnsr_SPEC>;
7073
7074impl Adcmpbnsr {
7075    #[doc = "Compare Window B Channel Select"]
7076    #[inline(always)]
7077    pub fn cmpchb(
7078        self,
7079    ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, Adcmpbnsr_SPEC, crate::common::RW> {
7080        crate::common::RegisterField::<0,0x3f,1,0,u8, Adcmpbnsr_SPEC,crate::common::RW>::from_register(self,0)
7081    }
7082    #[doc = "Compare Window B Comparison Condition Setting"]
7083    #[inline(always)]
7084    pub fn cmplb(
7085        self,
7086    ) -> crate::common::RegisterField<
7087        7,
7088        0x1,
7089        1,
7090        0,
7091        adcmpbnsr::Cmplb,
7092        Adcmpbnsr_SPEC,
7093        crate::common::RW,
7094    > {
7095        crate::common::RegisterField::<
7096            7,
7097            0x1,
7098            1,
7099            0,
7100            adcmpbnsr::Cmplb,
7101            Adcmpbnsr_SPEC,
7102            crate::common::RW,
7103        >::from_register(self, 0)
7104    }
7105}
7106impl ::core::default::Default for Adcmpbnsr {
7107    #[inline(always)]
7108    fn default() -> Adcmpbnsr {
7109        <crate::RegValueT<Adcmpbnsr_SPEC> as RegisterValue<_>>::new(0)
7110    }
7111}
7112pub mod adcmpbnsr {
7113
7114    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7115    pub struct Cmplb_SPEC;
7116    pub type Cmplb = crate::EnumBitfieldStruct<u8, Cmplb_SPEC>;
7117    impl Cmplb {
7118        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADWINLLB value > A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): A/D-converted value < ADWINLLB value, or ADWINULB value < A/D-converted value"]
7119        pub const _0: Self = Self::new(0);
7120        #[doc = "When window function is disabled (ADCMPCR.WCMPE = 0): ADWINLLB value < A/D-converted value When window function is enabled (ADCMPCR.WCMPE = 1): ADWINLLB value < A/D-converted value < ADWINULB value"]
7121        pub const _1: Self = Self::new(1);
7122    }
7123}
7124#[doc(hidden)]
7125#[derive(Copy, Clone, Eq, PartialEq)]
7126pub struct Adwinllb_SPEC;
7127impl crate::sealed::RegSpec for Adwinllb_SPEC {
7128    type DataType = u16;
7129}
7130#[doc = "A/D Compare Function Window B Lower-Side/Upper-Side Level Setting Register L"]
7131pub type Adwinllb = crate::RegValueT<Adwinllb_SPEC>;
7132
7133impl NoBitfieldReg<Adwinllb_SPEC> for Adwinllb {}
7134impl ::core::default::Default for Adwinllb {
7135    #[inline(always)]
7136    fn default() -> Adwinllb {
7137        <crate::RegValueT<Adwinllb_SPEC> as RegisterValue<_>>::new(0)
7138    }
7139}
7140
7141#[doc(hidden)]
7142#[derive(Copy, Clone, Eq, PartialEq)]
7143pub struct Adwinulb_SPEC;
7144impl crate::sealed::RegSpec for Adwinulb_SPEC {
7145    type DataType = u16;
7146}
7147#[doc = "A/D Compare Function Window B Lower-Side/Upper-Side Level Setting Register U"]
7148pub type Adwinulb = crate::RegValueT<Adwinulb_SPEC>;
7149
7150impl NoBitfieldReg<Adwinulb_SPEC> for Adwinulb {}
7151impl ::core::default::Default for Adwinulb {
7152    #[inline(always)]
7153    fn default() -> Adwinulb {
7154        <crate::RegValueT<Adwinulb_SPEC> as RegisterValue<_>>::new(0)
7155    }
7156}
7157
7158#[doc(hidden)]
7159#[derive(Copy, Clone, Eq, PartialEq)]
7160pub struct Adcmpbsr_SPEC;
7161impl crate::sealed::RegSpec for Adcmpbsr_SPEC {
7162    type DataType = u8;
7163}
7164#[doc = "A/D Compare Function Window B Status Register"]
7165pub type Adcmpbsr = crate::RegValueT<Adcmpbsr_SPEC>;
7166
7167impl Adcmpbsr {
7168    #[doc = "Compare Window B Flag"]
7169    #[inline(always)]
7170    pub fn cmpstb(
7171        self,
7172    ) -> crate::common::RegisterField<
7173        0,
7174        0x1,
7175        1,
7176        0,
7177        adcmpbsr::Cmpstb,
7178        Adcmpbsr_SPEC,
7179        crate::common::RW,
7180    > {
7181        crate::common::RegisterField::<
7182            0,
7183            0x1,
7184            1,
7185            0,
7186            adcmpbsr::Cmpstb,
7187            Adcmpbsr_SPEC,
7188            crate::common::RW,
7189        >::from_register(self, 0)
7190    }
7191}
7192impl ::core::default::Default for Adcmpbsr {
7193    #[inline(always)]
7194    fn default() -> Adcmpbsr {
7195        <crate::RegValueT<Adcmpbsr_SPEC> as RegisterValue<_>>::new(0)
7196    }
7197}
7198pub mod adcmpbsr {
7199
7200    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7201    pub struct Cmpstb_SPEC;
7202    pub type Cmpstb = crate::EnumBitfieldStruct<u8, Cmpstb_SPEC>;
7203    impl Cmpstb {
7204        #[doc = "Comparison conditions are not met."]
7205        pub const _0: Self = Self::new(0);
7206        #[doc = "Comparison conditions are met."]
7207        pub const _1: Self = Self::new(1);
7208    }
7209}
7210#[doc(hidden)]
7211#[derive(Copy, Clone, Eq, PartialEq)]
7212pub struct Adbuf_SPEC;
7213impl crate::sealed::RegSpec for Adbuf_SPEC {
7214    type DataType = u16;
7215}
7216#[doc = "A/D Data Buffer Registers %s"]
7217pub type Adbuf = crate::RegValueT<Adbuf_SPEC>;
7218
7219impl Adbuf {
7220    #[doc = "Converted Value 15 to 0"]
7221    #[inline(always)]
7222    pub fn adbuf(
7223        self,
7224    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, Adbuf_SPEC, crate::common::R> {
7225        crate::common::RegisterField::<0,0xffff,1,0,u16, Adbuf_SPEC,crate::common::R>::from_register(self,0)
7226    }
7227}
7228impl ::core::default::Default for Adbuf {
7229    #[inline(always)]
7230    fn default() -> Adbuf {
7231        <crate::RegValueT<Adbuf_SPEC> as RegisterValue<_>>::new(0)
7232    }
7233}
7234
7235#[doc(hidden)]
7236#[derive(Copy, Clone, Eq, PartialEq)]
7237pub struct Adbufen_SPEC;
7238impl crate::sealed::RegSpec for Adbufen_SPEC {
7239    type DataType = u8;
7240}
7241#[doc = "A/D Data Buffer Enable Register"]
7242pub type Adbufen = crate::RegValueT<Adbufen_SPEC>;
7243
7244impl Adbufen {
7245    #[doc = "Data Buffer Enable"]
7246    #[inline(always)]
7247    pub fn bufen(
7248        self,
7249    ) -> crate::common::RegisterField<0, 0x1, 1, 0, adbufen::Bufen, Adbufen_SPEC, crate::common::RW>
7250    {
7251        crate::common::RegisterField::<0,0x1,1,0,adbufen::Bufen, Adbufen_SPEC,crate::common::RW>::from_register(self,0)
7252    }
7253}
7254impl ::core::default::Default for Adbufen {
7255    #[inline(always)]
7256    fn default() -> Adbufen {
7257        <crate::RegValueT<Adbufen_SPEC> as RegisterValue<_>>::new(0)
7258    }
7259}
7260pub mod adbufen {
7261
7262    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7263    pub struct Bufen_SPEC;
7264    pub type Bufen = crate::EnumBitfieldStruct<u8, Bufen_SPEC>;
7265    impl Bufen {
7266        #[doc = "The data buffer is not used."]
7267        pub const _0: Self = Self::new(0);
7268        #[doc = "The data buffer is used."]
7269        pub const _1: Self = Self::new(1);
7270    }
7271}
7272#[doc(hidden)]
7273#[derive(Copy, Clone, Eq, PartialEq)]
7274pub struct Adbufptr_SPEC;
7275impl crate::sealed::RegSpec for Adbufptr_SPEC {
7276    type DataType = u8;
7277}
7278#[doc = "A/D Data Buffer Pointer Register"]
7279pub type Adbufptr = crate::RegValueT<Adbufptr_SPEC>;
7280
7281impl Adbufptr {
7282    #[doc = "Data Buffer Pointer"]
7283    #[inline(always)]
7284    pub fn bufptr(
7285        self,
7286    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Adbufptr_SPEC, crate::common::RW> {
7287        crate::common::RegisterField::<0,0xf,1,0,u8, Adbufptr_SPEC,crate::common::RW>::from_register(self,0)
7288    }
7289    #[doc = "Pointer Overflow Flag"]
7290    #[inline(always)]
7291    pub fn ptrovf(
7292        self,
7293    ) -> crate::common::RegisterField<
7294        4,
7295        0x1,
7296        1,
7297        0,
7298        adbufptr::Ptrovf,
7299        Adbufptr_SPEC,
7300        crate::common::RW,
7301    > {
7302        crate::common::RegisterField::<
7303            4,
7304            0x1,
7305            1,
7306            0,
7307            adbufptr::Ptrovf,
7308            Adbufptr_SPEC,
7309            crate::common::RW,
7310        >::from_register(self, 0)
7311    }
7312}
7313impl ::core::default::Default for Adbufptr {
7314    #[inline(always)]
7315    fn default() -> Adbufptr {
7316        <crate::RegValueT<Adbufptr_SPEC> as RegisterValue<_>>::new(0)
7317    }
7318}
7319pub mod adbufptr {
7320
7321    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7322    pub struct Ptrovf_SPEC;
7323    pub type Ptrovf = crate::EnumBitfieldStruct<u8, Ptrovf_SPEC>;
7324    impl Ptrovf {
7325        #[doc = "The data buffer pointer has not overflowed."]
7326        pub const _0: Self = Self::new(0);
7327        #[doc = "The data buffer pointer has overflowed."]
7328        pub const _1: Self = Self::new(1);
7329    }
7330}
7331#[doc(hidden)]
7332#[derive(Copy, Clone, Eq, PartialEq)]
7333pub struct Adsstrl_SPEC;
7334impl crate::sealed::RegSpec for Adsstrl_SPEC {
7335    type DataType = u8;
7336}
7337#[doc = "A/D Sampling State Register"]
7338pub type Adsstrl = crate::RegValueT<Adsstrl_SPEC>;
7339
7340impl Adsstrl {
7341    #[doc = "Sampling Time Setting"]
7342    #[inline(always)]
7343    pub fn sst(
7344        self,
7345    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, Adsstrl_SPEC, crate::common::RW> {
7346        crate::common::RegisterField::<0,0xff,1,0,u8, Adsstrl_SPEC,crate::common::RW>::from_register(self,0)
7347    }
7348}
7349impl ::core::default::Default for Adsstrl {
7350    #[inline(always)]
7351    fn default() -> Adsstrl {
7352        <crate::RegValueT<Adsstrl_SPEC> as RegisterValue<_>>::new(11)
7353    }
7354}
7355
7356#[doc(hidden)]
7357#[derive(Copy, Clone, Eq, PartialEq)]
7358pub struct Adsstrt_SPEC;
7359impl crate::sealed::RegSpec for Adsstrt_SPEC {
7360    type DataType = u8;
7361}
7362#[doc = "A/D Sampling State Register"]
7363pub type Adsstrt = crate::RegValueT<Adsstrt_SPEC>;
7364
7365impl Adsstrt {
7366    #[doc = "Sampling Time Setting"]
7367    #[inline(always)]
7368    pub fn sst(
7369        self,
7370    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, Adsstrt_SPEC, crate::common::RW> {
7371        crate::common::RegisterField::<0,0xff,1,0,u8, Adsstrt_SPEC,crate::common::RW>::from_register(self,0)
7372    }
7373}
7374impl ::core::default::Default for Adsstrt {
7375    #[inline(always)]
7376    fn default() -> Adsstrt {
7377        <crate::RegValueT<Adsstrt_SPEC> as RegisterValue<_>>::new(11)
7378    }
7379}
7380
7381#[doc(hidden)]
7382#[derive(Copy, Clone, Eq, PartialEq)]
7383pub struct Adsstro_SPEC;
7384impl crate::sealed::RegSpec for Adsstro_SPEC {
7385    type DataType = u8;
7386}
7387#[doc = "A/D Sampling State Register"]
7388pub type Adsstro = crate::RegValueT<Adsstro_SPEC>;
7389
7390impl Adsstro {
7391    #[doc = "Sampling Time Setting"]
7392    #[inline(always)]
7393    pub fn sst(
7394        self,
7395    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, Adsstro_SPEC, crate::common::RW> {
7396        crate::common::RegisterField::<0,0xff,1,0,u8, Adsstro_SPEC,crate::common::RW>::from_register(self,0)
7397    }
7398}
7399impl ::core::default::Default for Adsstro {
7400    #[inline(always)]
7401    fn default() -> Adsstro {
7402        <crate::RegValueT<Adsstro_SPEC> as RegisterValue<_>>::new(11)
7403    }
7404}
7405
7406#[doc(hidden)]
7407#[derive(Copy, Clone, Eq, PartialEq)]
7408pub struct Adsstr_SPEC;
7409impl crate::sealed::RegSpec for Adsstr_SPEC {
7410    type DataType = u8;
7411}
7412#[doc = "A/D Sampling State Register"]
7413pub type Adsstr = crate::RegValueT<Adsstr_SPEC>;
7414
7415impl Adsstr {
7416    #[doc = "Sampling Time Setting"]
7417    #[inline(always)]
7418    pub fn sst(
7419        self,
7420    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, Adsstr_SPEC, crate::common::RW> {
7421        crate::common::RegisterField::<0,0xff,1,0,u8, Adsstr_SPEC,crate::common::RW>::from_register(self,0)
7422    }
7423}
7424impl ::core::default::Default for Adsstr {
7425    #[inline(always)]
7426    fn default() -> Adsstr {
7427        <crate::RegValueT<Adsstr_SPEC> as RegisterValue<_>>::new(11)
7428    }
7429}