Skip to main content

ra2e2_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.40.00, with svd2pac 0.6.1 on Sun, 15 Mar 2026 07:02:12 +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
37    #[doc = "A/D Control Register"]
38    #[inline(always)]
39    pub const fn adcsr(&self) -> &'static crate::common::Reg<self::Adcsr_SPEC, crate::common::RW> {
40        unsafe {
41            crate::common::Reg::<self::Adcsr_SPEC, crate::common::RW>::from_ptr(
42                self._svd2pac_as_ptr().add(0usize),
43            )
44        }
45    }
46
47    #[doc = "A/D Channel Select Register A0"]
48    #[inline(always)]
49    pub const fn adansa0(
50        &self,
51    ) -> &'static crate::common::Reg<self::Adansa0_SPEC, crate::common::RW> {
52        unsafe {
53            crate::common::Reg::<self::Adansa0_SPEC, crate::common::RW>::from_ptr(
54                self._svd2pac_as_ptr().add(4usize),
55            )
56        }
57    }
58
59    #[doc = "A/D Channel Select Register A1"]
60    #[inline(always)]
61    pub const fn adansa1(
62        &self,
63    ) -> &'static crate::common::Reg<self::Adansa1_SPEC, crate::common::RW> {
64        unsafe {
65            crate::common::Reg::<self::Adansa1_SPEC, crate::common::RW>::from_ptr(
66                self._svd2pac_as_ptr().add(6usize),
67            )
68        }
69    }
70
71    #[doc = "A/D-Converted Value Addition/Average Channel Select Register 0"]
72    #[inline(always)]
73    pub const fn adads0(
74        &self,
75    ) -> &'static crate::common::Reg<self::Adads0_SPEC, crate::common::RW> {
76        unsafe {
77            crate::common::Reg::<self::Adads0_SPEC, crate::common::RW>::from_ptr(
78                self._svd2pac_as_ptr().add(8usize),
79            )
80        }
81    }
82
83    #[doc = "A/D-Converted Value Addition/Average Channel Select Register 1"]
84    #[inline(always)]
85    pub const fn adads1(
86        &self,
87    ) -> &'static crate::common::Reg<self::Adads1_SPEC, crate::common::RW> {
88        unsafe {
89            crate::common::Reg::<self::Adads1_SPEC, crate::common::RW>::from_ptr(
90                self._svd2pac_as_ptr().add(10usize),
91            )
92        }
93    }
94
95    #[doc = "A/D-Converted Value Addition/Average Count Select Register"]
96    #[inline(always)]
97    pub const fn adadc(&self) -> &'static crate::common::Reg<self::Adadc_SPEC, crate::common::RW> {
98        unsafe {
99            crate::common::Reg::<self::Adadc_SPEC, crate::common::RW>::from_ptr(
100                self._svd2pac_as_ptr().add(12usize),
101            )
102        }
103    }
104
105    #[doc = "A/D Control Extended Register"]
106    #[inline(always)]
107    pub const fn adcer(&self) -> &'static crate::common::Reg<self::Adcer_SPEC, crate::common::RW> {
108        unsafe {
109            crate::common::Reg::<self::Adcer_SPEC, crate::common::RW>::from_ptr(
110                self._svd2pac_as_ptr().add(14usize),
111            )
112        }
113    }
114
115    #[doc = "A/D Conversion Start Trigger Select Register"]
116    #[inline(always)]
117    pub const fn adstrgr(
118        &self,
119    ) -> &'static crate::common::Reg<self::Adstrgr_SPEC, crate::common::RW> {
120        unsafe {
121            crate::common::Reg::<self::Adstrgr_SPEC, crate::common::RW>::from_ptr(
122                self._svd2pac_as_ptr().add(16usize),
123            )
124        }
125    }
126
127    #[doc = "A/D Conversion Extended Input Control Registers"]
128    #[inline(always)]
129    pub const fn adexicr(
130        &self,
131    ) -> &'static crate::common::Reg<self::Adexicr_SPEC, crate::common::RW> {
132        unsafe {
133            crate::common::Reg::<self::Adexicr_SPEC, crate::common::RW>::from_ptr(
134                self._svd2pac_as_ptr().add(18usize),
135            )
136        }
137    }
138
139    #[doc = "A/D Channel Select Register B0"]
140    #[inline(always)]
141    pub const fn adansb0(
142        &self,
143    ) -> &'static crate::common::Reg<self::Adansb0_SPEC, crate::common::RW> {
144        unsafe {
145            crate::common::Reg::<self::Adansb0_SPEC, crate::common::RW>::from_ptr(
146                self._svd2pac_as_ptr().add(20usize),
147            )
148        }
149    }
150
151    #[doc = "A/D Channel Select Register B1"]
152    #[inline(always)]
153    pub const fn adansb1(
154        &self,
155    ) -> &'static crate::common::Reg<self::Adansb1_SPEC, crate::common::RW> {
156        unsafe {
157            crate::common::Reg::<self::Adansb1_SPEC, crate::common::RW>::from_ptr(
158                self._svd2pac_as_ptr().add(22usize),
159            )
160        }
161    }
162
163    #[doc = "A/D Data Duplexing Register"]
164    #[inline(always)]
165    pub const fn addbldr(
166        &self,
167    ) -> &'static crate::common::Reg<self::Addbldr_SPEC, crate::common::R> {
168        unsafe {
169            crate::common::Reg::<self::Addbldr_SPEC, crate::common::R>::from_ptr(
170                self._svd2pac_as_ptr().add(24usize),
171            )
172        }
173    }
174
175    #[doc = "A/D Temperature Sensor Data Register"]
176    #[inline(always)]
177    pub const fn adtsdr(&self) -> &'static crate::common::Reg<self::Adtsdr_SPEC, crate::common::R> {
178        unsafe {
179            crate::common::Reg::<self::Adtsdr_SPEC, crate::common::R>::from_ptr(
180                self._svd2pac_as_ptr().add(26usize),
181            )
182        }
183    }
184
185    #[doc = "A/D Internal Reference Voltage Data Register"]
186    #[inline(always)]
187    pub const fn adocdr(&self) -> &'static crate::common::Reg<self::Adocdr_SPEC, crate::common::R> {
188        unsafe {
189            crate::common::Reg::<self::Adocdr_SPEC, crate::common::R>::from_ptr(
190                self._svd2pac_as_ptr().add(28usize),
191            )
192        }
193    }
194
195    #[doc = "A/D Self-Diagnosis Data Register"]
196    #[inline(always)]
197    pub const fn adrd(&self) -> &'static crate::common::Reg<self::Adrd_SPEC, crate::common::R> {
198        unsafe {
199            crate::common::Reg::<self::Adrd_SPEC, crate::common::R>::from_ptr(
200                self._svd2pac_as_ptr().add(30usize),
201            )
202        }
203    }
204
205    #[doc = "A/D Data Registers %s"]
206    #[inline(always)]
207    pub const fn addr(
208        &self,
209    ) -> &'static crate::common::ClusterRegisterArray<
210        crate::common::Reg<self::Addr_SPEC, crate::common::R>,
211        4,
212        0x2,
213    > {
214        unsafe {
215            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x46usize))
216        }
217    }
218    #[inline(always)]
219    pub const fn addr19(&self) -> &'static crate::common::Reg<self::Addr_SPEC, crate::common::R> {
220        unsafe {
221            crate::common::Reg::<self::Addr_SPEC, crate::common::R>::from_ptr(
222                self._svd2pac_as_ptr().add(0x46usize),
223            )
224        }
225    }
226    #[inline(always)]
227    pub const fn addr20(&self) -> &'static crate::common::Reg<self::Addr_SPEC, crate::common::R> {
228        unsafe {
229            crate::common::Reg::<self::Addr_SPEC, crate::common::R>::from_ptr(
230                self._svd2pac_as_ptr().add(0x48usize),
231            )
232        }
233    }
234    #[inline(always)]
235    pub const fn addr21(&self) -> &'static crate::common::Reg<self::Addr_SPEC, crate::common::R> {
236        unsafe {
237            crate::common::Reg::<self::Addr_SPEC, crate::common::R>::from_ptr(
238                self._svd2pac_as_ptr().add(0x4ausize),
239            )
240        }
241    }
242    #[inline(always)]
243    pub const fn addr22(&self) -> &'static crate::common::Reg<self::Addr_SPEC, crate::common::R> {
244        unsafe {
245            crate::common::Reg::<self::Addr_SPEC, crate::common::R>::from_ptr(
246                self._svd2pac_as_ptr().add(0x4cusize),
247            )
248        }
249    }
250
251    #[doc = "A/D Disconnection Detection Control Register"]
252    #[inline(always)]
253    pub const fn addiscr(
254        &self,
255    ) -> &'static crate::common::Reg<self::Addiscr_SPEC, crate::common::RW> {
256        unsafe {
257            crate::common::Reg::<self::Addiscr_SPEC, crate::common::RW>::from_ptr(
258                self._svd2pac_as_ptr().add(122usize),
259            )
260        }
261    }
262
263    #[doc = "A/D Conversion Operation Mode Select Register"]
264    #[inline(always)]
265    pub const fn adacsr(
266        &self,
267    ) -> &'static crate::common::Reg<self::Adacsr_SPEC, crate::common::RW> {
268        unsafe {
269            crate::common::Reg::<self::Adacsr_SPEC, crate::common::RW>::from_ptr(
270                self._svd2pac_as_ptr().add(126usize),
271            )
272        }
273    }
274
275    #[doc = "A/D Group Scan Priority Control Register"]
276    #[inline(always)]
277    pub const fn adgspcr(
278        &self,
279    ) -> &'static crate::common::Reg<self::Adgspcr_SPEC, crate::common::RW> {
280        unsafe {
281            crate::common::Reg::<self::Adgspcr_SPEC, crate::common::RW>::from_ptr(
282                self._svd2pac_as_ptr().add(128usize),
283            )
284        }
285    }
286
287    #[doc = "A/D Data Duplexing Register A"]
288    #[inline(always)]
289    pub const fn addbldra(
290        &self,
291    ) -> &'static crate::common::Reg<self::Addbldra_SPEC, crate::common::R> {
292        unsafe {
293            crate::common::Reg::<self::Addbldra_SPEC, crate::common::R>::from_ptr(
294                self._svd2pac_as_ptr().add(132usize),
295            )
296        }
297    }
298
299    #[doc = "A/D Data Duplexing Register B"]
300    #[inline(always)]
301    pub const fn addbldrb(
302        &self,
303    ) -> &'static crate::common::Reg<self::Addbldrb_SPEC, crate::common::R> {
304        unsafe {
305            crate::common::Reg::<self::Addbldrb_SPEC, crate::common::R>::from_ptr(
306                self._svd2pac_as_ptr().add(134usize),
307            )
308        }
309    }
310
311    #[doc = "A/D High-Potential/Low-Potential Reference Voltage Control Register"]
312    #[inline(always)]
313    pub const fn adhvrefcnt(
314        &self,
315    ) -> &'static crate::common::Reg<self::Adhvrefcnt_SPEC, crate::common::RW> {
316        unsafe {
317            crate::common::Reg::<self::Adhvrefcnt_SPEC, crate::common::RW>::from_ptr(
318                self._svd2pac_as_ptr().add(138usize),
319            )
320        }
321    }
322
323    #[doc = "A/D Compare Function Window A/B Status Monitor Register"]
324    #[inline(always)]
325    pub const fn adwinmon(
326        &self,
327    ) -> &'static crate::common::Reg<self::Adwinmon_SPEC, crate::common::R> {
328        unsafe {
329            crate::common::Reg::<self::Adwinmon_SPEC, crate::common::R>::from_ptr(
330                self._svd2pac_as_ptr().add(140usize),
331            )
332        }
333    }
334
335    #[doc = "A/D Compare Function Control Register"]
336    #[inline(always)]
337    pub const fn adcmpcr(
338        &self,
339    ) -> &'static crate::common::Reg<self::Adcmpcr_SPEC, crate::common::RW> {
340        unsafe {
341            crate::common::Reg::<self::Adcmpcr_SPEC, crate::common::RW>::from_ptr(
342                self._svd2pac_as_ptr().add(144usize),
343            )
344        }
345    }
346
347    #[doc = "A/D Compare Function Window A Extended Input Select Register"]
348    #[inline(always)]
349    pub const fn adcmpanser(
350        &self,
351    ) -> &'static crate::common::Reg<self::Adcmpanser_SPEC, crate::common::RW> {
352        unsafe {
353            crate::common::Reg::<self::Adcmpanser_SPEC, crate::common::RW>::from_ptr(
354                self._svd2pac_as_ptr().add(146usize),
355            )
356        }
357    }
358
359    #[doc = "A/D Compare Function Window A Extended Input Comparison Condition Setting Register"]
360    #[inline(always)]
361    pub const fn adcmpler(
362        &self,
363    ) -> &'static crate::common::Reg<self::Adcmpler_SPEC, crate::common::RW> {
364        unsafe {
365            crate::common::Reg::<self::Adcmpler_SPEC, crate::common::RW>::from_ptr(
366                self._svd2pac_as_ptr().add(147usize),
367            )
368        }
369    }
370
371    #[doc = "A/D Compare Function Window A Channel Select Register 0"]
372    #[inline(always)]
373    pub const fn adcmpansr0(
374        &self,
375    ) -> &'static crate::common::Reg<self::Adcmpansr0_SPEC, crate::common::RW> {
376        unsafe {
377            crate::common::Reg::<self::Adcmpansr0_SPEC, crate::common::RW>::from_ptr(
378                self._svd2pac_as_ptr().add(148usize),
379            )
380        }
381    }
382
383    #[doc = "A/D Compare Function Window A Channel Select Register 1"]
384    #[inline(always)]
385    pub const fn adcmpansr1(
386        &self,
387    ) -> &'static crate::common::Reg<self::Adcmpansr1_SPEC, crate::common::RW> {
388        unsafe {
389            crate::common::Reg::<self::Adcmpansr1_SPEC, crate::common::RW>::from_ptr(
390                self._svd2pac_as_ptr().add(150usize),
391            )
392        }
393    }
394
395    #[doc = "A/D Compare Function Window A Comparison Condition Setting Register 0"]
396    #[inline(always)]
397    pub const fn adcmplr0(
398        &self,
399    ) -> &'static crate::common::Reg<self::Adcmplr0_SPEC, crate::common::RW> {
400        unsafe {
401            crate::common::Reg::<self::Adcmplr0_SPEC, crate::common::RW>::from_ptr(
402                self._svd2pac_as_ptr().add(152usize),
403            )
404        }
405    }
406
407    #[doc = "A/D Compare Function Window A Comparison Condition Setting Register 1"]
408    #[inline(always)]
409    pub const fn adcmplr1(
410        &self,
411    ) -> &'static crate::common::Reg<self::Adcmplr1_SPEC, crate::common::RW> {
412        unsafe {
413            crate::common::Reg::<self::Adcmplr1_SPEC, crate::common::RW>::from_ptr(
414                self._svd2pac_as_ptr().add(154usize),
415            )
416        }
417    }
418
419    #[doc = "A/D Compare Function Window A Lower-Side/Upper-Side Level Setting Register"]
420    #[inline(always)]
421    pub const fn adcmpdr(
422        &self,
423    ) -> &'static crate::common::ClusterRegisterArray<
424        crate::common::Reg<self::Adcmpdr_SPEC, crate::common::RW>,
425        2,
426        0x2,
427    > {
428        unsafe {
429            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x9cusize))
430        }
431    }
432    #[inline(always)]
433    pub const fn adcmpdr0(
434        &self,
435    ) -> &'static crate::common::Reg<self::Adcmpdr_SPEC, crate::common::RW> {
436        unsafe {
437            crate::common::Reg::<self::Adcmpdr_SPEC, crate::common::RW>::from_ptr(
438                self._svd2pac_as_ptr().add(0x9cusize),
439            )
440        }
441    }
442    #[inline(always)]
443    pub const fn adcmpdr1(
444        &self,
445    ) -> &'static crate::common::Reg<self::Adcmpdr_SPEC, crate::common::RW> {
446        unsafe {
447            crate::common::Reg::<self::Adcmpdr_SPEC, crate::common::RW>::from_ptr(
448                self._svd2pac_as_ptr().add(0x9eusize),
449            )
450        }
451    }
452
453    #[doc = "A/D Compare Function Window A Channel Status Register 0"]
454    #[inline(always)]
455    pub const fn adcmpsr0(
456        &self,
457    ) -> &'static crate::common::Reg<self::Adcmpsr0_SPEC, crate::common::RW> {
458        unsafe {
459            crate::common::Reg::<self::Adcmpsr0_SPEC, crate::common::RW>::from_ptr(
460                self._svd2pac_as_ptr().add(160usize),
461            )
462        }
463    }
464
465    #[doc = "A/D Compare Function Window A Channel Status Register1"]
466    #[inline(always)]
467    pub const fn adcmpsr1(
468        &self,
469    ) -> &'static crate::common::Reg<self::Adcmpsr1_SPEC, crate::common::RW> {
470        unsafe {
471            crate::common::Reg::<self::Adcmpsr1_SPEC, crate::common::RW>::from_ptr(
472                self._svd2pac_as_ptr().add(162usize),
473            )
474        }
475    }
476
477    #[doc = "A/D Compare Function Window A Extended Input Channel Status Register"]
478    #[inline(always)]
479    pub const fn adcmpser(
480        &self,
481    ) -> &'static crate::common::Reg<self::Adcmpser_SPEC, crate::common::RW> {
482        unsafe {
483            crate::common::Reg::<self::Adcmpser_SPEC, crate::common::RW>::from_ptr(
484                self._svd2pac_as_ptr().add(164usize),
485            )
486        }
487    }
488
489    #[doc = "A/D Compare Function Window B Channel Select Register"]
490    #[inline(always)]
491    pub const fn adcmpbnsr(
492        &self,
493    ) -> &'static crate::common::Reg<self::Adcmpbnsr_SPEC, crate::common::RW> {
494        unsafe {
495            crate::common::Reg::<self::Adcmpbnsr_SPEC, crate::common::RW>::from_ptr(
496                self._svd2pac_as_ptr().add(166usize),
497            )
498        }
499    }
500
501    #[doc = "A/D Compare Function Window B Lower-Side/Upper-Side Level Setting Register"]
502    #[inline(always)]
503    pub const fn adwinllb(
504        &self,
505    ) -> &'static crate::common::Reg<self::Adwinllb_SPEC, crate::common::RW> {
506        unsafe {
507            crate::common::Reg::<self::Adwinllb_SPEC, crate::common::RW>::from_ptr(
508                self._svd2pac_as_ptr().add(168usize),
509            )
510        }
511    }
512
513    #[doc = "A/D Compare Function Window B Lower-Side/Upper-Side Level Setting Register"]
514    #[inline(always)]
515    pub const fn adwinulb(
516        &self,
517    ) -> &'static crate::common::Reg<self::Adwinulb_SPEC, crate::common::RW> {
518        unsafe {
519            crate::common::Reg::<self::Adwinulb_SPEC, crate::common::RW>::from_ptr(
520                self._svd2pac_as_ptr().add(170usize),
521            )
522        }
523    }
524
525    #[doc = "A/D Compare Function Window B Status Register"]
526    #[inline(always)]
527    pub const fn adcmpbsr(
528        &self,
529    ) -> &'static crate::common::Reg<self::Adcmpbsr_SPEC, crate::common::RW> {
530        unsafe {
531            crate::common::Reg::<self::Adcmpbsr_SPEC, crate::common::RW>::from_ptr(
532                self._svd2pac_as_ptr().add(172usize),
533            )
534        }
535    }
536
537    #[doc = "A/D Sampling State Register"]
538    #[inline(always)]
539    pub const fn adsstrl(
540        &self,
541    ) -> &'static crate::common::Reg<self::Adsstrl_SPEC, crate::common::RW> {
542        unsafe {
543            crate::common::Reg::<self::Adsstrl_SPEC, crate::common::RW>::from_ptr(
544                self._svd2pac_as_ptr().add(221usize),
545            )
546        }
547    }
548
549    #[doc = "A/D Sampling State Register"]
550    #[inline(always)]
551    pub const fn adsstrt(
552        &self,
553    ) -> &'static crate::common::Reg<self::Adsstrt_SPEC, crate::common::RW> {
554        unsafe {
555            crate::common::Reg::<self::Adsstrt_SPEC, crate::common::RW>::from_ptr(
556                self._svd2pac_as_ptr().add(222usize),
557            )
558        }
559    }
560
561    #[doc = "A/D Sampling State Register"]
562    #[inline(always)]
563    pub const fn adsstro(
564        &self,
565    ) -> &'static crate::common::Reg<self::Adsstro_SPEC, crate::common::RW> {
566        unsafe {
567            crate::common::Reg::<self::Adsstro_SPEC, crate::common::RW>::from_ptr(
568                self._svd2pac_as_ptr().add(223usize),
569            )
570        }
571    }
572
573    #[doc = "A/D Sampling State Register"]
574    #[inline(always)]
575    pub const fn adsstr(
576        &self,
577    ) -> &'static crate::common::ClusterRegisterArray<
578        crate::common::Reg<self::Adsstr_SPEC, crate::common::RW>,
579        2,
580        0x1,
581    > {
582        unsafe {
583            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xe9usize))
584        }
585    }
586    #[inline(always)]
587    pub const fn adsstr9(
588        &self,
589    ) -> &'static crate::common::Reg<self::Adsstr_SPEC, crate::common::RW> {
590        unsafe {
591            crate::common::Reg::<self::Adsstr_SPEC, crate::common::RW>::from_ptr(
592                self._svd2pac_as_ptr().add(0xe9usize),
593            )
594        }
595    }
596    #[inline(always)]
597    pub const fn adsstr10(
598        &self,
599    ) -> &'static crate::common::Reg<self::Adsstr_SPEC, crate::common::RW> {
600        unsafe {
601            crate::common::Reg::<self::Adsstr_SPEC, crate::common::RW>::from_ptr(
602                self._svd2pac_as_ptr().add(0xeausize),
603            )
604        }
605    }
606}
607#[doc(hidden)]
608#[derive(Copy, Clone, Eq, PartialEq)]
609pub struct Adcsr_SPEC;
610impl crate::sealed::RegSpec for Adcsr_SPEC {
611    type DataType = u16;
612}
613
614#[doc = "A/D Control Register"]
615pub type Adcsr = crate::RegValueT<Adcsr_SPEC>;
616
617impl Adcsr {
618    #[doc = "Double Trigger Channel Select"]
619    #[inline(always)]
620    pub fn dblans(
621        self,
622    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, Adcsr_SPEC, crate::common::RW> {
623        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,Adcsr_SPEC,crate::common::RW>::from_register(self,0)
624    }
625
626    #[doc = "Group B Scan End Interrupt and ELC Event Enable"]
627    #[inline(always)]
628    pub fn gbadie(
629        self,
630    ) -> crate::common::RegisterField<
631        6,
632        0x1,
633        1,
634        0,
635        adcsr::Gbadie,
636        adcsr::Gbadie,
637        Adcsr_SPEC,
638        crate::common::RW,
639    > {
640        crate::common::RegisterField::<
641            6,
642            0x1,
643            1,
644            0,
645            adcsr::Gbadie,
646            adcsr::Gbadie,
647            Adcsr_SPEC,
648            crate::common::RW,
649        >::from_register(self, 0)
650    }
651
652    #[doc = "Double Trigger Mode Select"]
653    #[inline(always)]
654    pub fn dble(
655        self,
656    ) -> crate::common::RegisterField<
657        7,
658        0x1,
659        1,
660        0,
661        adcsr::Dble,
662        adcsr::Dble,
663        Adcsr_SPEC,
664        crate::common::RW,
665    > {
666        crate::common::RegisterField::<
667            7,
668            0x1,
669            1,
670            0,
671            adcsr::Dble,
672            adcsr::Dble,
673            Adcsr_SPEC,
674            crate::common::RW,
675        >::from_register(self, 0)
676    }
677
678    #[doc = "Trigger Select"]
679    #[inline(always)]
680    pub fn extrg(
681        self,
682    ) -> crate::common::RegisterField<
683        8,
684        0x1,
685        1,
686        0,
687        adcsr::Extrg,
688        adcsr::Extrg,
689        Adcsr_SPEC,
690        crate::common::RW,
691    > {
692        crate::common::RegisterField::<
693            8,
694            0x1,
695            1,
696            0,
697            adcsr::Extrg,
698            adcsr::Extrg,
699            Adcsr_SPEC,
700            crate::common::RW,
701        >::from_register(self, 0)
702    }
703
704    #[doc = "Trigger Start Enable"]
705    #[inline(always)]
706    pub fn trge(
707        self,
708    ) -> crate::common::RegisterField<
709        9,
710        0x1,
711        1,
712        0,
713        adcsr::Trge,
714        adcsr::Trge,
715        Adcsr_SPEC,
716        crate::common::RW,
717    > {
718        crate::common::RegisterField::<
719            9,
720            0x1,
721            1,
722            0,
723            adcsr::Trge,
724            adcsr::Trge,
725            Adcsr_SPEC,
726            crate::common::RW,
727        >::from_register(self, 0)
728    }
729
730    #[doc = "A/D Conversion Mode Select"]
731    #[inline(always)]
732    pub fn adhsc(
733        self,
734    ) -> crate::common::RegisterField<
735        10,
736        0x1,
737        1,
738        0,
739        adcsr::Adhsc,
740        adcsr::Adhsc,
741        Adcsr_SPEC,
742        crate::common::RW,
743    > {
744        crate::common::RegisterField::<
745            10,
746            0x1,
747            1,
748            0,
749            adcsr::Adhsc,
750            adcsr::Adhsc,
751            Adcsr_SPEC,
752            crate::common::RW,
753        >::from_register(self, 0)
754    }
755
756    #[doc = "Scan Mode Select"]
757    #[inline(always)]
758    pub fn adcs(
759        self,
760    ) -> crate::common::RegisterField<
761        13,
762        0x3,
763        1,
764        0,
765        adcsr::Adcs,
766        adcsr::Adcs,
767        Adcsr_SPEC,
768        crate::common::RW,
769    > {
770        crate::common::RegisterField::<
771            13,
772            0x3,
773            1,
774            0,
775            adcsr::Adcs,
776            adcsr::Adcs,
777            Adcsr_SPEC,
778            crate::common::RW,
779        >::from_register(self, 0)
780    }
781
782    #[doc = "A/D Conversion Start"]
783    #[inline(always)]
784    pub fn adst(
785        self,
786    ) -> crate::common::RegisterField<
787        15,
788        0x1,
789        1,
790        0,
791        adcsr::Adst,
792        adcsr::Adst,
793        Adcsr_SPEC,
794        crate::common::RW,
795    > {
796        crate::common::RegisterField::<
797            15,
798            0x1,
799            1,
800            0,
801            adcsr::Adst,
802            adcsr::Adst,
803            Adcsr_SPEC,
804            crate::common::RW,
805        >::from_register(self, 0)
806    }
807}
808impl ::core::default::Default for Adcsr {
809    #[inline(always)]
810    fn default() -> Adcsr {
811        <crate::RegValueT<Adcsr_SPEC> as RegisterValue<_>>::new(0)
812    }
813}
814pub mod adcsr {
815
816    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
817    pub struct Gbadie_SPEC;
818    pub type Gbadie = crate::EnumBitfieldStruct<u8, Gbadie_SPEC>;
819    impl Gbadie {
820        #[doc = "Disable ADC120_GBADI interrupt generation on group B scan completion."]
821        pub const _0: Self = Self::new(0);
822
823        #[doc = "Enable ADC120_GBADI interrupt generation on group B scan completion."]
824        pub const _1: Self = Self::new(1);
825    }
826    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
827    pub struct Dble_SPEC;
828    pub type Dble = crate::EnumBitfieldStruct<u8, Dble_SPEC>;
829    impl Dble {
830        #[doc = "Deselect double-trigger mode."]
831        pub const _0: Self = Self::new(0);
832
833        #[doc = "Select double-trigger mode."]
834        pub const _1: Self = Self::new(1);
835    }
836    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
837    pub struct Extrg_SPEC;
838    pub type Extrg = crate::EnumBitfieldStruct<u8, Extrg_SPEC>;
839    impl Extrg {
840        #[doc = "Start A/D conversion by the synchronous trigger (ELC)."]
841        pub const _0: Self = Self::new(0);
842
843        #[doc = "Start A/D conversion by the asynchronous trigger (ADTRG0)."]
844        pub const _1: Self = Self::new(1);
845    }
846    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
847    pub struct Trge_SPEC;
848    pub type Trge = crate::EnumBitfieldStruct<u8, Trge_SPEC>;
849    impl Trge {
850        #[doc = "Disable A/D conversion to be started by the synchronous or asynchronous trigger"]
851        pub const _0: Self = Self::new(0);
852
853        #[doc = "Enable A/D conversion to be started by the synchronous or asynchronous trigger"]
854        pub const _1: Self = Self::new(1);
855    }
856    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
857    pub struct Adhsc_SPEC;
858    pub type Adhsc = crate::EnumBitfieldStruct<u8, Adhsc_SPEC>;
859    impl Adhsc {
860        #[doc = "High-speed A/D conversion mode"]
861        pub const _0: Self = Self::new(0);
862
863        #[doc = "Low-power A/D conversion mode"]
864        pub const _1: Self = Self::new(1);
865    }
866    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
867    pub struct Adcs_SPEC;
868    pub type Adcs = crate::EnumBitfieldStruct<u8, Adcs_SPEC>;
869    impl Adcs {
870        #[doc = "Single scan mode"]
871        pub const _00: Self = Self::new(0);
872
873        #[doc = "Group scan mode"]
874        pub const _01: Self = Self::new(1);
875
876        #[doc = "Continuous scan mode"]
877        pub const _10: Self = Self::new(2);
878
879        #[doc = "Setting prohibited"]
880        pub const _11: Self = Self::new(3);
881    }
882    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
883    pub struct Adst_SPEC;
884    pub type Adst = crate::EnumBitfieldStruct<u8, Adst_SPEC>;
885    impl Adst {
886        #[doc = "Stop A/D conversion process."]
887        pub const _0: Self = Self::new(0);
888
889        #[doc = "Start A/D conversion process."]
890        pub const _1: Self = Self::new(1);
891    }
892}
893#[doc(hidden)]
894#[derive(Copy, Clone, Eq, PartialEq)]
895pub struct Adansa0_SPEC;
896impl crate::sealed::RegSpec for Adansa0_SPEC {
897    type DataType = u16;
898}
899
900#[doc = "A/D Channel Select Register A0"]
901pub type Adansa0 = crate::RegValueT<Adansa0_SPEC>;
902
903impl Adansa0 {
904    #[doc = "A/D Conversion Channels Select"]
905    #[inline(always)]
906    pub fn ansa00(
907        self,
908    ) -> crate::common::RegisterField<
909        0,
910        0x1,
911        1,
912        0,
913        adansa0::Ansa00,
914        adansa0::Ansa00,
915        Adansa0_SPEC,
916        crate::common::RW,
917    > {
918        crate::common::RegisterField::<
919            0,
920            0x1,
921            1,
922            0,
923            adansa0::Ansa00,
924            adansa0::Ansa00,
925            Adansa0_SPEC,
926            crate::common::RW,
927        >::from_register(self, 0)
928    }
929
930    #[doc = "A/D Conversion Channels Select"]
931    #[inline(always)]
932    pub fn ansa01(
933        self,
934    ) -> crate::common::RegisterField<
935        1,
936        0x1,
937        1,
938        0,
939        adansa0::Ansa01,
940        adansa0::Ansa01,
941        Adansa0_SPEC,
942        crate::common::RW,
943    > {
944        crate::common::RegisterField::<
945            1,
946            0x1,
947            1,
948            0,
949            adansa0::Ansa01,
950            adansa0::Ansa01,
951            Adansa0_SPEC,
952            crate::common::RW,
953        >::from_register(self, 0)
954    }
955
956    #[doc = "A/D Conversion Channels Select"]
957    #[inline(always)]
958    pub fn ansa02(
959        self,
960    ) -> crate::common::RegisterField<
961        2,
962        0x1,
963        1,
964        0,
965        adansa0::Ansa02,
966        adansa0::Ansa02,
967        Adansa0_SPEC,
968        crate::common::RW,
969    > {
970        crate::common::RegisterField::<
971            2,
972            0x1,
973            1,
974            0,
975            adansa0::Ansa02,
976            adansa0::Ansa02,
977            Adansa0_SPEC,
978            crate::common::RW,
979        >::from_register(self, 0)
980    }
981
982    #[doc = "A/D Conversion Channels Select"]
983    #[inline(always)]
984    pub fn ansa03(
985        self,
986    ) -> crate::common::RegisterField<
987        3,
988        0x1,
989        1,
990        0,
991        adansa0::Ansa03,
992        adansa0::Ansa03,
993        Adansa0_SPEC,
994        crate::common::RW,
995    > {
996        crate::common::RegisterField::<
997            3,
998            0x1,
999            1,
1000            0,
1001            adansa0::Ansa03,
1002            adansa0::Ansa03,
1003            Adansa0_SPEC,
1004            crate::common::RW,
1005        >::from_register(self, 0)
1006    }
1007
1008    #[doc = "A/D Conversion Channels Select"]
1009    #[inline(always)]
1010    pub fn ansa04(
1011        self,
1012    ) -> crate::common::RegisterField<
1013        4,
1014        0x1,
1015        1,
1016        0,
1017        adansa0::Ansa04,
1018        adansa0::Ansa04,
1019        Adansa0_SPEC,
1020        crate::common::RW,
1021    > {
1022        crate::common::RegisterField::<
1023            4,
1024            0x1,
1025            1,
1026            0,
1027            adansa0::Ansa04,
1028            adansa0::Ansa04,
1029            Adansa0_SPEC,
1030            crate::common::RW,
1031        >::from_register(self, 0)
1032    }
1033
1034    #[doc = "A/D Conversion Channels Select"]
1035    #[inline(always)]
1036    pub fn ansa05(
1037        self,
1038    ) -> crate::common::RegisterField<
1039        5,
1040        0x1,
1041        1,
1042        0,
1043        adansa0::Ansa05,
1044        adansa0::Ansa05,
1045        Adansa0_SPEC,
1046        crate::common::RW,
1047    > {
1048        crate::common::RegisterField::<
1049            5,
1050            0x1,
1051            1,
1052            0,
1053            adansa0::Ansa05,
1054            adansa0::Ansa05,
1055            Adansa0_SPEC,
1056            crate::common::RW,
1057        >::from_register(self, 0)
1058    }
1059
1060    #[doc = "A/D Conversion Channels Select"]
1061    #[inline(always)]
1062    pub fn ansa06(
1063        self,
1064    ) -> crate::common::RegisterField<
1065        6,
1066        0x1,
1067        1,
1068        0,
1069        adansa0::Ansa06,
1070        adansa0::Ansa06,
1071        Adansa0_SPEC,
1072        crate::common::RW,
1073    > {
1074        crate::common::RegisterField::<
1075            6,
1076            0x1,
1077            1,
1078            0,
1079            adansa0::Ansa06,
1080            adansa0::Ansa06,
1081            Adansa0_SPEC,
1082            crate::common::RW,
1083        >::from_register(self, 0)
1084    }
1085
1086    #[doc = "A/D Conversion Channels Select"]
1087    #[inline(always)]
1088    pub fn ansa07(
1089        self,
1090    ) -> crate::common::RegisterField<
1091        7,
1092        0x1,
1093        1,
1094        0,
1095        adansa0::Ansa07,
1096        adansa0::Ansa07,
1097        Adansa0_SPEC,
1098        crate::common::RW,
1099    > {
1100        crate::common::RegisterField::<
1101            7,
1102            0x1,
1103            1,
1104            0,
1105            adansa0::Ansa07,
1106            adansa0::Ansa07,
1107            Adansa0_SPEC,
1108            crate::common::RW,
1109        >::from_register(self, 0)
1110    }
1111
1112    #[doc = "A/D Conversion Channels Select"]
1113    #[inline(always)]
1114    pub fn ansa08(
1115        self,
1116    ) -> crate::common::RegisterField<
1117        8,
1118        0x1,
1119        1,
1120        0,
1121        adansa0::Ansa08,
1122        adansa0::Ansa08,
1123        Adansa0_SPEC,
1124        crate::common::RW,
1125    > {
1126        crate::common::RegisterField::<
1127            8,
1128            0x1,
1129            1,
1130            0,
1131            adansa0::Ansa08,
1132            adansa0::Ansa08,
1133            Adansa0_SPEC,
1134            crate::common::RW,
1135        >::from_register(self, 0)
1136    }
1137
1138    #[doc = "A/D Conversion Channels Select"]
1139    #[inline(always)]
1140    pub fn ansa09(
1141        self,
1142    ) -> crate::common::RegisterField<
1143        9,
1144        0x1,
1145        1,
1146        0,
1147        adansa0::Ansa09,
1148        adansa0::Ansa09,
1149        Adansa0_SPEC,
1150        crate::common::RW,
1151    > {
1152        crate::common::RegisterField::<
1153            9,
1154            0x1,
1155            1,
1156            0,
1157            adansa0::Ansa09,
1158            adansa0::Ansa09,
1159            Adansa0_SPEC,
1160            crate::common::RW,
1161        >::from_register(self, 0)
1162    }
1163
1164    #[doc = "A/D Conversion Channels Select"]
1165    #[inline(always)]
1166    pub fn ansa10(
1167        self,
1168    ) -> crate::common::RegisterField<
1169        10,
1170        0x1,
1171        1,
1172        0,
1173        adansa0::Ansa10,
1174        adansa0::Ansa10,
1175        Adansa0_SPEC,
1176        crate::common::RW,
1177    > {
1178        crate::common::RegisterField::<
1179            10,
1180            0x1,
1181            1,
1182            0,
1183            adansa0::Ansa10,
1184            adansa0::Ansa10,
1185            Adansa0_SPEC,
1186            crate::common::RW,
1187        >::from_register(self, 0)
1188    }
1189
1190    #[doc = "A/D Conversion Channels Select"]
1191    #[inline(always)]
1192    pub fn ansa11(
1193        self,
1194    ) -> crate::common::RegisterField<
1195        11,
1196        0x1,
1197        1,
1198        0,
1199        adansa0::Ansa11,
1200        adansa0::Ansa11,
1201        Adansa0_SPEC,
1202        crate::common::RW,
1203    > {
1204        crate::common::RegisterField::<
1205            11,
1206            0x1,
1207            1,
1208            0,
1209            adansa0::Ansa11,
1210            adansa0::Ansa11,
1211            Adansa0_SPEC,
1212            crate::common::RW,
1213        >::from_register(self, 0)
1214    }
1215
1216    #[doc = "A/D Conversion Channels Select"]
1217    #[inline(always)]
1218    pub fn ansa12(
1219        self,
1220    ) -> crate::common::RegisterField<
1221        12,
1222        0x1,
1223        1,
1224        0,
1225        adansa0::Ansa12,
1226        adansa0::Ansa12,
1227        Adansa0_SPEC,
1228        crate::common::RW,
1229    > {
1230        crate::common::RegisterField::<
1231            12,
1232            0x1,
1233            1,
1234            0,
1235            adansa0::Ansa12,
1236            adansa0::Ansa12,
1237            Adansa0_SPEC,
1238            crate::common::RW,
1239        >::from_register(self, 0)
1240    }
1241
1242    #[doc = "A/D Conversion Channels Select"]
1243    #[inline(always)]
1244    pub fn ansa13(
1245        self,
1246    ) -> crate::common::RegisterField<
1247        13,
1248        0x1,
1249        1,
1250        0,
1251        adansa0::Ansa13,
1252        adansa0::Ansa13,
1253        Adansa0_SPEC,
1254        crate::common::RW,
1255    > {
1256        crate::common::RegisterField::<
1257            13,
1258            0x1,
1259            1,
1260            0,
1261            adansa0::Ansa13,
1262            adansa0::Ansa13,
1263            Adansa0_SPEC,
1264            crate::common::RW,
1265        >::from_register(self, 0)
1266    }
1267
1268    #[doc = "A/D Conversion Channels Select"]
1269    #[inline(always)]
1270    pub fn ansa14(
1271        self,
1272    ) -> crate::common::RegisterField<
1273        14,
1274        0x1,
1275        1,
1276        0,
1277        adansa0::Ansa14,
1278        adansa0::Ansa14,
1279        Adansa0_SPEC,
1280        crate::common::RW,
1281    > {
1282        crate::common::RegisterField::<
1283            14,
1284            0x1,
1285            1,
1286            0,
1287            adansa0::Ansa14,
1288            adansa0::Ansa14,
1289            Adansa0_SPEC,
1290            crate::common::RW,
1291        >::from_register(self, 0)
1292    }
1293
1294    #[doc = "A/D Conversion Channels Select"]
1295    #[inline(always)]
1296    pub fn ansa15(
1297        self,
1298    ) -> crate::common::RegisterField<
1299        15,
1300        0x1,
1301        1,
1302        0,
1303        adansa0::Ansa15,
1304        adansa0::Ansa15,
1305        Adansa0_SPEC,
1306        crate::common::RW,
1307    > {
1308        crate::common::RegisterField::<
1309            15,
1310            0x1,
1311            1,
1312            0,
1313            adansa0::Ansa15,
1314            adansa0::Ansa15,
1315            Adansa0_SPEC,
1316            crate::common::RW,
1317        >::from_register(self, 0)
1318    }
1319}
1320impl ::core::default::Default for Adansa0 {
1321    #[inline(always)]
1322    fn default() -> Adansa0 {
1323        <crate::RegValueT<Adansa0_SPEC> as RegisterValue<_>>::new(0)
1324    }
1325}
1326pub mod adansa0 {
1327
1328    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1329    pub struct Ansa00_SPEC;
1330    pub type Ansa00 = crate::EnumBitfieldStruct<u8, Ansa00_SPEC>;
1331    impl Ansa00 {
1332        #[doc = "Do not select associated input channel."]
1333        pub const _0: Self = Self::new(0);
1334
1335        #[doc = "Select associated input channel."]
1336        pub const _1: Self = Self::new(1);
1337    }
1338    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1339    pub struct Ansa01_SPEC;
1340    pub type Ansa01 = crate::EnumBitfieldStruct<u8, Ansa01_SPEC>;
1341    impl Ansa01 {
1342        #[doc = "Do not select associated input channel."]
1343        pub const _0: Self = Self::new(0);
1344
1345        #[doc = "Select associated input channel."]
1346        pub const _1: Self = Self::new(1);
1347    }
1348    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1349    pub struct Ansa02_SPEC;
1350    pub type Ansa02 = crate::EnumBitfieldStruct<u8, Ansa02_SPEC>;
1351    impl Ansa02 {
1352        #[doc = "Do not select associated input channel."]
1353        pub const _0: Self = Self::new(0);
1354
1355        #[doc = "Select associated input channel."]
1356        pub const _1: Self = Self::new(1);
1357    }
1358    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1359    pub struct Ansa03_SPEC;
1360    pub type Ansa03 = crate::EnumBitfieldStruct<u8, Ansa03_SPEC>;
1361    impl Ansa03 {
1362        #[doc = "Do not select associated input channel."]
1363        pub const _0: Self = Self::new(0);
1364
1365        #[doc = "Select associated input channel."]
1366        pub const _1: Self = Self::new(1);
1367    }
1368    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1369    pub struct Ansa04_SPEC;
1370    pub type Ansa04 = crate::EnumBitfieldStruct<u8, Ansa04_SPEC>;
1371    impl Ansa04 {
1372        #[doc = "Do not select associated input channel."]
1373        pub const _0: Self = Self::new(0);
1374
1375        #[doc = "Select associated input channel."]
1376        pub const _1: Self = Self::new(1);
1377    }
1378    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1379    pub struct Ansa05_SPEC;
1380    pub type Ansa05 = crate::EnumBitfieldStruct<u8, Ansa05_SPEC>;
1381    impl Ansa05 {
1382        #[doc = "Do not select associated input channel."]
1383        pub const _0: Self = Self::new(0);
1384
1385        #[doc = "Select associated input channel."]
1386        pub const _1: Self = Self::new(1);
1387    }
1388    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1389    pub struct Ansa06_SPEC;
1390    pub type Ansa06 = crate::EnumBitfieldStruct<u8, Ansa06_SPEC>;
1391    impl Ansa06 {
1392        #[doc = "Do not select associated input channel."]
1393        pub const _0: Self = Self::new(0);
1394
1395        #[doc = "Select associated input channel."]
1396        pub const _1: Self = Self::new(1);
1397    }
1398    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1399    pub struct Ansa07_SPEC;
1400    pub type Ansa07 = crate::EnumBitfieldStruct<u8, Ansa07_SPEC>;
1401    impl Ansa07 {
1402        #[doc = "Do not select associated input channel."]
1403        pub const _0: Self = Self::new(0);
1404
1405        #[doc = "Select associated input channel."]
1406        pub const _1: Self = Self::new(1);
1407    }
1408    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1409    pub struct Ansa08_SPEC;
1410    pub type Ansa08 = crate::EnumBitfieldStruct<u8, Ansa08_SPEC>;
1411    impl Ansa08 {
1412        #[doc = "Do not select associated input channel."]
1413        pub const _0: Self = Self::new(0);
1414
1415        #[doc = "Select associated input channel."]
1416        pub const _1: Self = Self::new(1);
1417    }
1418    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1419    pub struct Ansa09_SPEC;
1420    pub type Ansa09 = crate::EnumBitfieldStruct<u8, Ansa09_SPEC>;
1421    impl Ansa09 {
1422        #[doc = "Do not select associated input channel."]
1423        pub const _0: Self = Self::new(0);
1424
1425        #[doc = "Select associated input channel."]
1426        pub const _1: Self = Self::new(1);
1427    }
1428    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1429    pub struct Ansa10_SPEC;
1430    pub type Ansa10 = crate::EnumBitfieldStruct<u8, Ansa10_SPEC>;
1431    impl Ansa10 {
1432        #[doc = "Do not select associated input channel."]
1433        pub const _0: Self = Self::new(0);
1434
1435        #[doc = "Select associated input channel."]
1436        pub const _1: Self = Self::new(1);
1437    }
1438    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1439    pub struct Ansa11_SPEC;
1440    pub type Ansa11 = crate::EnumBitfieldStruct<u8, Ansa11_SPEC>;
1441    impl Ansa11 {
1442        #[doc = "Do not select associated input channel."]
1443        pub const _0: Self = Self::new(0);
1444
1445        #[doc = "Select associated input channel."]
1446        pub const _1: Self = Self::new(1);
1447    }
1448    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1449    pub struct Ansa12_SPEC;
1450    pub type Ansa12 = crate::EnumBitfieldStruct<u8, Ansa12_SPEC>;
1451    impl Ansa12 {
1452        #[doc = "Do not select associated input channel."]
1453        pub const _0: Self = Self::new(0);
1454
1455        #[doc = "Select associated input channel."]
1456        pub const _1: Self = Self::new(1);
1457    }
1458    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1459    pub struct Ansa13_SPEC;
1460    pub type Ansa13 = crate::EnumBitfieldStruct<u8, Ansa13_SPEC>;
1461    impl Ansa13 {
1462        #[doc = "Do not select associated input channel."]
1463        pub const _0: Self = Self::new(0);
1464
1465        #[doc = "Select associated input channel."]
1466        pub const _1: Self = Self::new(1);
1467    }
1468    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1469    pub struct Ansa14_SPEC;
1470    pub type Ansa14 = crate::EnumBitfieldStruct<u8, Ansa14_SPEC>;
1471    impl Ansa14 {
1472        #[doc = "Do not select associated input channel."]
1473        pub const _0: Self = Self::new(0);
1474
1475        #[doc = "Select associated input channel."]
1476        pub const _1: Self = Self::new(1);
1477    }
1478    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1479    pub struct Ansa15_SPEC;
1480    pub type Ansa15 = crate::EnumBitfieldStruct<u8, Ansa15_SPEC>;
1481    impl Ansa15 {
1482        #[doc = "Do not select associated input channel."]
1483        pub const _0: Self = Self::new(0);
1484
1485        #[doc = "Select associated input channel."]
1486        pub const _1: Self = Self::new(1);
1487    }
1488}
1489#[doc(hidden)]
1490#[derive(Copy, Clone, Eq, PartialEq)]
1491pub struct Adansa1_SPEC;
1492impl crate::sealed::RegSpec for Adansa1_SPEC {
1493    type DataType = u16;
1494}
1495
1496#[doc = "A/D Channel Select Register A1"]
1497pub type Adansa1 = crate::RegValueT<Adansa1_SPEC>;
1498
1499impl Adansa1 {
1500    #[doc = "A/D Conversion Channels Select"]
1501    #[inline(always)]
1502    pub fn ansa16(
1503        self,
1504    ) -> crate::common::RegisterField<
1505        0,
1506        0x1,
1507        1,
1508        0,
1509        adansa1::Ansa16,
1510        adansa1::Ansa16,
1511        Adansa1_SPEC,
1512        crate::common::RW,
1513    > {
1514        crate::common::RegisterField::<
1515            0,
1516            0x1,
1517            1,
1518            0,
1519            adansa1::Ansa16,
1520            adansa1::Ansa16,
1521            Adansa1_SPEC,
1522            crate::common::RW,
1523        >::from_register(self, 0)
1524    }
1525
1526    #[doc = "A/D Conversion Channels Select"]
1527    #[inline(always)]
1528    pub fn ansa17(
1529        self,
1530    ) -> crate::common::RegisterField<
1531        1,
1532        0x1,
1533        1,
1534        0,
1535        adansa1::Ansa17,
1536        adansa1::Ansa17,
1537        Adansa1_SPEC,
1538        crate::common::RW,
1539    > {
1540        crate::common::RegisterField::<
1541            1,
1542            0x1,
1543            1,
1544            0,
1545            adansa1::Ansa17,
1546            adansa1::Ansa17,
1547            Adansa1_SPEC,
1548            crate::common::RW,
1549        >::from_register(self, 0)
1550    }
1551
1552    #[doc = "A/D Conversion Channels Select"]
1553    #[inline(always)]
1554    pub fn ansa18(
1555        self,
1556    ) -> crate::common::RegisterField<
1557        2,
1558        0x1,
1559        1,
1560        0,
1561        adansa1::Ansa18,
1562        adansa1::Ansa18,
1563        Adansa1_SPEC,
1564        crate::common::RW,
1565    > {
1566        crate::common::RegisterField::<
1567            2,
1568            0x1,
1569            1,
1570            0,
1571            adansa1::Ansa18,
1572            adansa1::Ansa18,
1573            Adansa1_SPEC,
1574            crate::common::RW,
1575        >::from_register(self, 0)
1576    }
1577
1578    #[doc = "A/D Conversion Channels Select"]
1579    #[inline(always)]
1580    pub fn ansa19(
1581        self,
1582    ) -> crate::common::RegisterField<
1583        3,
1584        0x1,
1585        1,
1586        0,
1587        adansa1::Ansa19,
1588        adansa1::Ansa19,
1589        Adansa1_SPEC,
1590        crate::common::RW,
1591    > {
1592        crate::common::RegisterField::<
1593            3,
1594            0x1,
1595            1,
1596            0,
1597            adansa1::Ansa19,
1598            adansa1::Ansa19,
1599            Adansa1_SPEC,
1600            crate::common::RW,
1601        >::from_register(self, 0)
1602    }
1603
1604    #[doc = "A/D Conversion Channels Select"]
1605    #[inline(always)]
1606    pub fn ansa20(
1607        self,
1608    ) -> crate::common::RegisterField<
1609        4,
1610        0x1,
1611        1,
1612        0,
1613        adansa1::Ansa20,
1614        adansa1::Ansa20,
1615        Adansa1_SPEC,
1616        crate::common::RW,
1617    > {
1618        crate::common::RegisterField::<
1619            4,
1620            0x1,
1621            1,
1622            0,
1623            adansa1::Ansa20,
1624            adansa1::Ansa20,
1625            Adansa1_SPEC,
1626            crate::common::RW,
1627        >::from_register(self, 0)
1628    }
1629
1630    #[doc = "A/D Conversion Channels Select"]
1631    #[inline(always)]
1632    pub fn ansa21(
1633        self,
1634    ) -> crate::common::RegisterField<
1635        5,
1636        0x1,
1637        1,
1638        0,
1639        adansa1::Ansa21,
1640        adansa1::Ansa21,
1641        Adansa1_SPEC,
1642        crate::common::RW,
1643    > {
1644        crate::common::RegisterField::<
1645            5,
1646            0x1,
1647            1,
1648            0,
1649            adansa1::Ansa21,
1650            adansa1::Ansa21,
1651            Adansa1_SPEC,
1652            crate::common::RW,
1653        >::from_register(self, 0)
1654    }
1655
1656    #[doc = "A/D Conversion Channels Select"]
1657    #[inline(always)]
1658    pub fn ansa22(
1659        self,
1660    ) -> crate::common::RegisterField<
1661        6,
1662        0x1,
1663        1,
1664        0,
1665        adansa1::Ansa22,
1666        adansa1::Ansa22,
1667        Adansa1_SPEC,
1668        crate::common::RW,
1669    > {
1670        crate::common::RegisterField::<
1671            6,
1672            0x1,
1673            1,
1674            0,
1675            adansa1::Ansa22,
1676            adansa1::Ansa22,
1677            Adansa1_SPEC,
1678            crate::common::RW,
1679        >::from_register(self, 0)
1680    }
1681
1682    #[doc = "A/D Conversion Channels Select"]
1683    #[inline(always)]
1684    pub fn ansa23(
1685        self,
1686    ) -> crate::common::RegisterField<
1687        7,
1688        0x1,
1689        1,
1690        0,
1691        adansa1::Ansa23,
1692        adansa1::Ansa23,
1693        Adansa1_SPEC,
1694        crate::common::RW,
1695    > {
1696        crate::common::RegisterField::<
1697            7,
1698            0x1,
1699            1,
1700            0,
1701            adansa1::Ansa23,
1702            adansa1::Ansa23,
1703            Adansa1_SPEC,
1704            crate::common::RW,
1705        >::from_register(self, 0)
1706    }
1707
1708    #[doc = "A/D Conversion Channels Select"]
1709    #[inline(always)]
1710    pub fn ansa24(
1711        self,
1712    ) -> crate::common::RegisterField<
1713        8,
1714        0x1,
1715        1,
1716        0,
1717        adansa1::Ansa24,
1718        adansa1::Ansa24,
1719        Adansa1_SPEC,
1720        crate::common::RW,
1721    > {
1722        crate::common::RegisterField::<
1723            8,
1724            0x1,
1725            1,
1726            0,
1727            adansa1::Ansa24,
1728            adansa1::Ansa24,
1729            Adansa1_SPEC,
1730            crate::common::RW,
1731        >::from_register(self, 0)
1732    }
1733
1734    #[doc = "A/D Conversion Channels Select"]
1735    #[inline(always)]
1736    pub fn ansa25(
1737        self,
1738    ) -> crate::common::RegisterField<
1739        9,
1740        0x1,
1741        1,
1742        0,
1743        adansa1::Ansa25,
1744        adansa1::Ansa25,
1745        Adansa1_SPEC,
1746        crate::common::RW,
1747    > {
1748        crate::common::RegisterField::<
1749            9,
1750            0x1,
1751            1,
1752            0,
1753            adansa1::Ansa25,
1754            adansa1::Ansa25,
1755            Adansa1_SPEC,
1756            crate::common::RW,
1757        >::from_register(self, 0)
1758    }
1759
1760    #[doc = "A/D Conversion Channels Select"]
1761    #[inline(always)]
1762    pub fn ansa26(
1763        self,
1764    ) -> crate::common::RegisterField<
1765        10,
1766        0x1,
1767        1,
1768        0,
1769        adansa1::Ansa26,
1770        adansa1::Ansa26,
1771        Adansa1_SPEC,
1772        crate::common::RW,
1773    > {
1774        crate::common::RegisterField::<
1775            10,
1776            0x1,
1777            1,
1778            0,
1779            adansa1::Ansa26,
1780            adansa1::Ansa26,
1781            Adansa1_SPEC,
1782            crate::common::RW,
1783        >::from_register(self, 0)
1784    }
1785
1786    #[doc = "A/D Conversion Channels Select"]
1787    #[inline(always)]
1788    pub fn ansa27(
1789        self,
1790    ) -> crate::common::RegisterField<
1791        11,
1792        0x1,
1793        1,
1794        0,
1795        adansa1::Ansa27,
1796        adansa1::Ansa27,
1797        Adansa1_SPEC,
1798        crate::common::RW,
1799    > {
1800        crate::common::RegisterField::<
1801            11,
1802            0x1,
1803            1,
1804            0,
1805            adansa1::Ansa27,
1806            adansa1::Ansa27,
1807            Adansa1_SPEC,
1808            crate::common::RW,
1809        >::from_register(self, 0)
1810    }
1811
1812    #[doc = "A/D Conversion Channels Select"]
1813    #[inline(always)]
1814    pub fn ansa28(
1815        self,
1816    ) -> crate::common::RegisterField<
1817        12,
1818        0x1,
1819        1,
1820        0,
1821        adansa1::Ansa28,
1822        adansa1::Ansa28,
1823        Adansa1_SPEC,
1824        crate::common::RW,
1825    > {
1826        crate::common::RegisterField::<
1827            12,
1828            0x1,
1829            1,
1830            0,
1831            adansa1::Ansa28,
1832            adansa1::Ansa28,
1833            Adansa1_SPEC,
1834            crate::common::RW,
1835        >::from_register(self, 0)
1836    }
1837
1838    #[doc = "A/D Conversion Channels Select"]
1839    #[inline(always)]
1840    pub fn ansa29(
1841        self,
1842    ) -> crate::common::RegisterField<
1843        13,
1844        0x1,
1845        1,
1846        0,
1847        adansa1::Ansa29,
1848        adansa1::Ansa29,
1849        Adansa1_SPEC,
1850        crate::common::RW,
1851    > {
1852        crate::common::RegisterField::<
1853            13,
1854            0x1,
1855            1,
1856            0,
1857            adansa1::Ansa29,
1858            adansa1::Ansa29,
1859            Adansa1_SPEC,
1860            crate::common::RW,
1861        >::from_register(self, 0)
1862    }
1863
1864    #[doc = "A/D Conversion Channels Select"]
1865    #[inline(always)]
1866    pub fn ansa30(
1867        self,
1868    ) -> crate::common::RegisterField<
1869        14,
1870        0x1,
1871        1,
1872        0,
1873        adansa1::Ansa30,
1874        adansa1::Ansa30,
1875        Adansa1_SPEC,
1876        crate::common::RW,
1877    > {
1878        crate::common::RegisterField::<
1879            14,
1880            0x1,
1881            1,
1882            0,
1883            adansa1::Ansa30,
1884            adansa1::Ansa30,
1885            Adansa1_SPEC,
1886            crate::common::RW,
1887        >::from_register(self, 0)
1888    }
1889
1890    #[doc = "A/D Conversion Channels Select"]
1891    #[inline(always)]
1892    pub fn ansa31(
1893        self,
1894    ) -> crate::common::RegisterField<
1895        15,
1896        0x1,
1897        1,
1898        0,
1899        adansa1::Ansa31,
1900        adansa1::Ansa31,
1901        Adansa1_SPEC,
1902        crate::common::RW,
1903    > {
1904        crate::common::RegisterField::<
1905            15,
1906            0x1,
1907            1,
1908            0,
1909            adansa1::Ansa31,
1910            adansa1::Ansa31,
1911            Adansa1_SPEC,
1912            crate::common::RW,
1913        >::from_register(self, 0)
1914    }
1915}
1916impl ::core::default::Default for Adansa1 {
1917    #[inline(always)]
1918    fn default() -> Adansa1 {
1919        <crate::RegValueT<Adansa1_SPEC> as RegisterValue<_>>::new(0)
1920    }
1921}
1922pub mod adansa1 {
1923
1924    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1925    pub struct Ansa16_SPEC;
1926    pub type Ansa16 = crate::EnumBitfieldStruct<u8, Ansa16_SPEC>;
1927    impl Ansa16 {
1928        #[doc = "Do not select associated input channel."]
1929        pub const _0: Self = Self::new(0);
1930
1931        #[doc = "Select associated input channel."]
1932        pub const _1: Self = Self::new(1);
1933    }
1934    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1935    pub struct Ansa17_SPEC;
1936    pub type Ansa17 = crate::EnumBitfieldStruct<u8, Ansa17_SPEC>;
1937    impl Ansa17 {
1938        #[doc = "Do not select associated input channel."]
1939        pub const _0: Self = Self::new(0);
1940
1941        #[doc = "Select associated input channel."]
1942        pub const _1: Self = Self::new(1);
1943    }
1944    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1945    pub struct Ansa18_SPEC;
1946    pub type Ansa18 = crate::EnumBitfieldStruct<u8, Ansa18_SPEC>;
1947    impl Ansa18 {
1948        #[doc = "Do not select associated input channel."]
1949        pub const _0: Self = Self::new(0);
1950
1951        #[doc = "Select associated input channel."]
1952        pub const _1: Self = Self::new(1);
1953    }
1954    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1955    pub struct Ansa19_SPEC;
1956    pub type Ansa19 = crate::EnumBitfieldStruct<u8, Ansa19_SPEC>;
1957    impl Ansa19 {
1958        #[doc = "Do not select associated input channel."]
1959        pub const _0: Self = Self::new(0);
1960
1961        #[doc = "Select associated input channel."]
1962        pub const _1: Self = Self::new(1);
1963    }
1964    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1965    pub struct Ansa20_SPEC;
1966    pub type Ansa20 = crate::EnumBitfieldStruct<u8, Ansa20_SPEC>;
1967    impl Ansa20 {
1968        #[doc = "Do not select associated input channel."]
1969        pub const _0: Self = Self::new(0);
1970
1971        #[doc = "Select associated input channel."]
1972        pub const _1: Self = Self::new(1);
1973    }
1974    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1975    pub struct Ansa21_SPEC;
1976    pub type Ansa21 = crate::EnumBitfieldStruct<u8, Ansa21_SPEC>;
1977    impl Ansa21 {
1978        #[doc = "Do not select associated input channel."]
1979        pub const _0: Self = Self::new(0);
1980
1981        #[doc = "Select associated input channel."]
1982        pub const _1: Self = Self::new(1);
1983    }
1984    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1985    pub struct Ansa22_SPEC;
1986    pub type Ansa22 = crate::EnumBitfieldStruct<u8, Ansa22_SPEC>;
1987    impl Ansa22 {
1988        #[doc = "Do not select associated input channel."]
1989        pub const _0: Self = Self::new(0);
1990
1991        #[doc = "Select associated input channel."]
1992        pub const _1: Self = Self::new(1);
1993    }
1994    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1995    pub struct Ansa23_SPEC;
1996    pub type Ansa23 = crate::EnumBitfieldStruct<u8, Ansa23_SPEC>;
1997    impl Ansa23 {
1998        #[doc = "Do not select associated input channel."]
1999        pub const _0: Self = Self::new(0);
2000
2001        #[doc = "Select associated input channel."]
2002        pub const _1: Self = Self::new(1);
2003    }
2004    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2005    pub struct Ansa24_SPEC;
2006    pub type Ansa24 = crate::EnumBitfieldStruct<u8, Ansa24_SPEC>;
2007    impl Ansa24 {
2008        #[doc = "Do not select associated input channel."]
2009        pub const _0: Self = Self::new(0);
2010
2011        #[doc = "Select associated input channel."]
2012        pub const _1: Self = Self::new(1);
2013    }
2014    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2015    pub struct Ansa25_SPEC;
2016    pub type Ansa25 = crate::EnumBitfieldStruct<u8, Ansa25_SPEC>;
2017    impl Ansa25 {
2018        #[doc = "Do not select associated input channel."]
2019        pub const _0: Self = Self::new(0);
2020
2021        #[doc = "Select associated input channel."]
2022        pub const _1: Self = Self::new(1);
2023    }
2024    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2025    pub struct Ansa26_SPEC;
2026    pub type Ansa26 = crate::EnumBitfieldStruct<u8, Ansa26_SPEC>;
2027    impl Ansa26 {
2028        #[doc = "Do not select associated input channel."]
2029        pub const _0: Self = Self::new(0);
2030
2031        #[doc = "Select associated input channel."]
2032        pub const _1: Self = Self::new(1);
2033    }
2034    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2035    pub struct Ansa27_SPEC;
2036    pub type Ansa27 = crate::EnumBitfieldStruct<u8, Ansa27_SPEC>;
2037    impl Ansa27 {
2038        #[doc = "Do not select associated input channel."]
2039        pub const _0: Self = Self::new(0);
2040
2041        #[doc = "Select associated input channel."]
2042        pub const _1: Self = Self::new(1);
2043    }
2044    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2045    pub struct Ansa28_SPEC;
2046    pub type Ansa28 = crate::EnumBitfieldStruct<u8, Ansa28_SPEC>;
2047    impl Ansa28 {
2048        #[doc = "Do not select associated input channel."]
2049        pub const _0: Self = Self::new(0);
2050
2051        #[doc = "Select associated input channel."]
2052        pub const _1: Self = Self::new(1);
2053    }
2054    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2055    pub struct Ansa29_SPEC;
2056    pub type Ansa29 = crate::EnumBitfieldStruct<u8, Ansa29_SPEC>;
2057    impl Ansa29 {
2058        #[doc = "Do not select associated input channel."]
2059        pub const _0: Self = Self::new(0);
2060
2061        #[doc = "Select associated input channel."]
2062        pub const _1: Self = Self::new(1);
2063    }
2064    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2065    pub struct Ansa30_SPEC;
2066    pub type Ansa30 = crate::EnumBitfieldStruct<u8, Ansa30_SPEC>;
2067    impl Ansa30 {
2068        #[doc = "Do not select associated input channel."]
2069        pub const _0: Self = Self::new(0);
2070
2071        #[doc = "Select associated input channel."]
2072        pub const _1: Self = Self::new(1);
2073    }
2074    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2075    pub struct Ansa31_SPEC;
2076    pub type Ansa31 = crate::EnumBitfieldStruct<u8, Ansa31_SPEC>;
2077    impl Ansa31 {
2078        #[doc = "Do not select associated input channel."]
2079        pub const _0: Self = Self::new(0);
2080
2081        #[doc = "Select associated input channel."]
2082        pub const _1: Self = Self::new(1);
2083    }
2084}
2085#[doc(hidden)]
2086#[derive(Copy, Clone, Eq, PartialEq)]
2087pub struct Adads0_SPEC;
2088impl crate::sealed::RegSpec for Adads0_SPEC {
2089    type DataType = u16;
2090}
2091
2092#[doc = "A/D-Converted Value Addition/Average Channel Select Register 0"]
2093pub type Adads0 = crate::RegValueT<Adads0_SPEC>;
2094
2095impl Adads0 {
2096    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2097    #[inline(always)]
2098    pub fn ads00(
2099        self,
2100    ) -> crate::common::RegisterField<
2101        0,
2102        0x1,
2103        1,
2104        0,
2105        adads0::Ads00,
2106        adads0::Ads00,
2107        Adads0_SPEC,
2108        crate::common::RW,
2109    > {
2110        crate::common::RegisterField::<
2111            0,
2112            0x1,
2113            1,
2114            0,
2115            adads0::Ads00,
2116            adads0::Ads00,
2117            Adads0_SPEC,
2118            crate::common::RW,
2119        >::from_register(self, 0)
2120    }
2121
2122    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2123    #[inline(always)]
2124    pub fn ads01(
2125        self,
2126    ) -> crate::common::RegisterField<
2127        1,
2128        0x1,
2129        1,
2130        0,
2131        adads0::Ads01,
2132        adads0::Ads01,
2133        Adads0_SPEC,
2134        crate::common::RW,
2135    > {
2136        crate::common::RegisterField::<
2137            1,
2138            0x1,
2139            1,
2140            0,
2141            adads0::Ads01,
2142            adads0::Ads01,
2143            Adads0_SPEC,
2144            crate::common::RW,
2145        >::from_register(self, 0)
2146    }
2147
2148    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2149    #[inline(always)]
2150    pub fn ads02(
2151        self,
2152    ) -> crate::common::RegisterField<
2153        2,
2154        0x1,
2155        1,
2156        0,
2157        adads0::Ads02,
2158        adads0::Ads02,
2159        Adads0_SPEC,
2160        crate::common::RW,
2161    > {
2162        crate::common::RegisterField::<
2163            2,
2164            0x1,
2165            1,
2166            0,
2167            adads0::Ads02,
2168            adads0::Ads02,
2169            Adads0_SPEC,
2170            crate::common::RW,
2171        >::from_register(self, 0)
2172    }
2173
2174    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2175    #[inline(always)]
2176    pub fn ads03(
2177        self,
2178    ) -> crate::common::RegisterField<
2179        3,
2180        0x1,
2181        1,
2182        0,
2183        adads0::Ads03,
2184        adads0::Ads03,
2185        Adads0_SPEC,
2186        crate::common::RW,
2187    > {
2188        crate::common::RegisterField::<
2189            3,
2190            0x1,
2191            1,
2192            0,
2193            adads0::Ads03,
2194            adads0::Ads03,
2195            Adads0_SPEC,
2196            crate::common::RW,
2197        >::from_register(self, 0)
2198    }
2199
2200    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2201    #[inline(always)]
2202    pub fn ads04(
2203        self,
2204    ) -> crate::common::RegisterField<
2205        4,
2206        0x1,
2207        1,
2208        0,
2209        adads0::Ads04,
2210        adads0::Ads04,
2211        Adads0_SPEC,
2212        crate::common::RW,
2213    > {
2214        crate::common::RegisterField::<
2215            4,
2216            0x1,
2217            1,
2218            0,
2219            adads0::Ads04,
2220            adads0::Ads04,
2221            Adads0_SPEC,
2222            crate::common::RW,
2223        >::from_register(self, 0)
2224    }
2225
2226    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2227    #[inline(always)]
2228    pub fn ads05(
2229        self,
2230    ) -> crate::common::RegisterField<
2231        5,
2232        0x1,
2233        1,
2234        0,
2235        adads0::Ads05,
2236        adads0::Ads05,
2237        Adads0_SPEC,
2238        crate::common::RW,
2239    > {
2240        crate::common::RegisterField::<
2241            5,
2242            0x1,
2243            1,
2244            0,
2245            adads0::Ads05,
2246            adads0::Ads05,
2247            Adads0_SPEC,
2248            crate::common::RW,
2249        >::from_register(self, 0)
2250    }
2251
2252    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2253    #[inline(always)]
2254    pub fn ads06(
2255        self,
2256    ) -> crate::common::RegisterField<
2257        6,
2258        0x1,
2259        1,
2260        0,
2261        adads0::Ads06,
2262        adads0::Ads06,
2263        Adads0_SPEC,
2264        crate::common::RW,
2265    > {
2266        crate::common::RegisterField::<
2267            6,
2268            0x1,
2269            1,
2270            0,
2271            adads0::Ads06,
2272            adads0::Ads06,
2273            Adads0_SPEC,
2274            crate::common::RW,
2275        >::from_register(self, 0)
2276    }
2277
2278    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2279    #[inline(always)]
2280    pub fn ads07(
2281        self,
2282    ) -> crate::common::RegisterField<
2283        7,
2284        0x1,
2285        1,
2286        0,
2287        adads0::Ads07,
2288        adads0::Ads07,
2289        Adads0_SPEC,
2290        crate::common::RW,
2291    > {
2292        crate::common::RegisterField::<
2293            7,
2294            0x1,
2295            1,
2296            0,
2297            adads0::Ads07,
2298            adads0::Ads07,
2299            Adads0_SPEC,
2300            crate::common::RW,
2301        >::from_register(self, 0)
2302    }
2303
2304    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2305    #[inline(always)]
2306    pub fn ads08(
2307        self,
2308    ) -> crate::common::RegisterField<
2309        8,
2310        0x1,
2311        1,
2312        0,
2313        adads0::Ads08,
2314        adads0::Ads08,
2315        Adads0_SPEC,
2316        crate::common::RW,
2317    > {
2318        crate::common::RegisterField::<
2319            8,
2320            0x1,
2321            1,
2322            0,
2323            adads0::Ads08,
2324            adads0::Ads08,
2325            Adads0_SPEC,
2326            crate::common::RW,
2327        >::from_register(self, 0)
2328    }
2329
2330    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2331    #[inline(always)]
2332    pub fn ads09(
2333        self,
2334    ) -> crate::common::RegisterField<
2335        9,
2336        0x1,
2337        1,
2338        0,
2339        adads0::Ads09,
2340        adads0::Ads09,
2341        Adads0_SPEC,
2342        crate::common::RW,
2343    > {
2344        crate::common::RegisterField::<
2345            9,
2346            0x1,
2347            1,
2348            0,
2349            adads0::Ads09,
2350            adads0::Ads09,
2351            Adads0_SPEC,
2352            crate::common::RW,
2353        >::from_register(self, 0)
2354    }
2355
2356    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2357    #[inline(always)]
2358    pub fn ads10(
2359        self,
2360    ) -> crate::common::RegisterField<
2361        10,
2362        0x1,
2363        1,
2364        0,
2365        adads0::Ads10,
2366        adads0::Ads10,
2367        Adads0_SPEC,
2368        crate::common::RW,
2369    > {
2370        crate::common::RegisterField::<
2371            10,
2372            0x1,
2373            1,
2374            0,
2375            adads0::Ads10,
2376            adads0::Ads10,
2377            Adads0_SPEC,
2378            crate::common::RW,
2379        >::from_register(self, 0)
2380    }
2381
2382    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2383    #[inline(always)]
2384    pub fn ads11(
2385        self,
2386    ) -> crate::common::RegisterField<
2387        11,
2388        0x1,
2389        1,
2390        0,
2391        adads0::Ads11,
2392        adads0::Ads11,
2393        Adads0_SPEC,
2394        crate::common::RW,
2395    > {
2396        crate::common::RegisterField::<
2397            11,
2398            0x1,
2399            1,
2400            0,
2401            adads0::Ads11,
2402            adads0::Ads11,
2403            Adads0_SPEC,
2404            crate::common::RW,
2405        >::from_register(self, 0)
2406    }
2407
2408    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2409    #[inline(always)]
2410    pub fn ads12(
2411        self,
2412    ) -> crate::common::RegisterField<
2413        12,
2414        0x1,
2415        1,
2416        0,
2417        adads0::Ads12,
2418        adads0::Ads12,
2419        Adads0_SPEC,
2420        crate::common::RW,
2421    > {
2422        crate::common::RegisterField::<
2423            12,
2424            0x1,
2425            1,
2426            0,
2427            adads0::Ads12,
2428            adads0::Ads12,
2429            Adads0_SPEC,
2430            crate::common::RW,
2431        >::from_register(self, 0)
2432    }
2433
2434    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2435    #[inline(always)]
2436    pub fn ads13(
2437        self,
2438    ) -> crate::common::RegisterField<
2439        13,
2440        0x1,
2441        1,
2442        0,
2443        adads0::Ads13,
2444        adads0::Ads13,
2445        Adads0_SPEC,
2446        crate::common::RW,
2447    > {
2448        crate::common::RegisterField::<
2449            13,
2450            0x1,
2451            1,
2452            0,
2453            adads0::Ads13,
2454            adads0::Ads13,
2455            Adads0_SPEC,
2456            crate::common::RW,
2457        >::from_register(self, 0)
2458    }
2459
2460    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2461    #[inline(always)]
2462    pub fn ads14(
2463        self,
2464    ) -> crate::common::RegisterField<
2465        14,
2466        0x1,
2467        1,
2468        0,
2469        adads0::Ads14,
2470        adads0::Ads14,
2471        Adads0_SPEC,
2472        crate::common::RW,
2473    > {
2474        crate::common::RegisterField::<
2475            14,
2476            0x1,
2477            1,
2478            0,
2479            adads0::Ads14,
2480            adads0::Ads14,
2481            Adads0_SPEC,
2482            crate::common::RW,
2483        >::from_register(self, 0)
2484    }
2485
2486    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2487    #[inline(always)]
2488    pub fn ads15(
2489        self,
2490    ) -> crate::common::RegisterField<
2491        15,
2492        0x1,
2493        1,
2494        0,
2495        adads0::Ads15,
2496        adads0::Ads15,
2497        Adads0_SPEC,
2498        crate::common::RW,
2499    > {
2500        crate::common::RegisterField::<
2501            15,
2502            0x1,
2503            1,
2504            0,
2505            adads0::Ads15,
2506            adads0::Ads15,
2507            Adads0_SPEC,
2508            crate::common::RW,
2509        >::from_register(self, 0)
2510    }
2511}
2512impl ::core::default::Default for Adads0 {
2513    #[inline(always)]
2514    fn default() -> Adads0 {
2515        <crate::RegValueT<Adads0_SPEC> as RegisterValue<_>>::new(0)
2516    }
2517}
2518pub mod adads0 {
2519
2520    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2521    pub struct Ads00_SPEC;
2522    pub type Ads00 = crate::EnumBitfieldStruct<u8, Ads00_SPEC>;
2523    impl Ads00 {
2524        #[doc = "Do not select associated input channel."]
2525        pub const _0: Self = Self::new(0);
2526
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 Ads01_SPEC;
2532    pub type Ads01 = crate::EnumBitfieldStruct<u8, Ads01_SPEC>;
2533    impl Ads01 {
2534        #[doc = "Do not select associated input channel."]
2535        pub const _0: Self = Self::new(0);
2536
2537        #[doc = "Select associated input channel."]
2538        pub const _1: Self = Self::new(1);
2539    }
2540    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2541    pub struct Ads02_SPEC;
2542    pub type Ads02 = crate::EnumBitfieldStruct<u8, Ads02_SPEC>;
2543    impl Ads02 {
2544        #[doc = "Do not select associated input channel."]
2545        pub const _0: Self = Self::new(0);
2546
2547        #[doc = "Select associated input channel."]
2548        pub const _1: Self = Self::new(1);
2549    }
2550    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2551    pub struct Ads03_SPEC;
2552    pub type Ads03 = crate::EnumBitfieldStruct<u8, Ads03_SPEC>;
2553    impl Ads03 {
2554        #[doc = "Do not select associated input channel."]
2555        pub const _0: Self = Self::new(0);
2556
2557        #[doc = "Select associated input channel."]
2558        pub const _1: Self = Self::new(1);
2559    }
2560    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2561    pub struct Ads04_SPEC;
2562    pub type Ads04 = crate::EnumBitfieldStruct<u8, Ads04_SPEC>;
2563    impl Ads04 {
2564        #[doc = "Do not select associated input channel."]
2565        pub const _0: Self = Self::new(0);
2566
2567        #[doc = "Select associated input channel."]
2568        pub const _1: Self = Self::new(1);
2569    }
2570    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2571    pub struct Ads05_SPEC;
2572    pub type Ads05 = crate::EnumBitfieldStruct<u8, Ads05_SPEC>;
2573    impl Ads05 {
2574        #[doc = "Do not select associated input channel."]
2575        pub const _0: Self = Self::new(0);
2576
2577        #[doc = "Select associated input channel."]
2578        pub const _1: Self = Self::new(1);
2579    }
2580    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2581    pub struct Ads06_SPEC;
2582    pub type Ads06 = crate::EnumBitfieldStruct<u8, Ads06_SPEC>;
2583    impl Ads06 {
2584        #[doc = "Do not select associated input channel."]
2585        pub const _0: Self = Self::new(0);
2586
2587        #[doc = "Select associated input channel."]
2588        pub const _1: Self = Self::new(1);
2589    }
2590    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2591    pub struct Ads07_SPEC;
2592    pub type Ads07 = crate::EnumBitfieldStruct<u8, Ads07_SPEC>;
2593    impl Ads07 {
2594        #[doc = "Do not select associated input channel."]
2595        pub const _0: Self = Self::new(0);
2596
2597        #[doc = "Select associated input channel."]
2598        pub const _1: Self = Self::new(1);
2599    }
2600    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2601    pub struct Ads08_SPEC;
2602    pub type Ads08 = crate::EnumBitfieldStruct<u8, Ads08_SPEC>;
2603    impl Ads08 {
2604        #[doc = "Do not select associated input channel."]
2605        pub const _0: Self = Self::new(0);
2606
2607        #[doc = "Select associated input channel."]
2608        pub const _1: Self = Self::new(1);
2609    }
2610    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2611    pub struct Ads09_SPEC;
2612    pub type Ads09 = crate::EnumBitfieldStruct<u8, Ads09_SPEC>;
2613    impl Ads09 {
2614        #[doc = "Do not select associated input channel."]
2615        pub const _0: Self = Self::new(0);
2616
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 Ads10_SPEC;
2622    pub type Ads10 = crate::EnumBitfieldStruct<u8, Ads10_SPEC>;
2623    impl Ads10 {
2624        #[doc = "Do not select associated input channel."]
2625        pub const _0: Self = Self::new(0);
2626
2627        #[doc = "Select associated input channel."]
2628        pub const _1: Self = Self::new(1);
2629    }
2630    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2631    pub struct Ads11_SPEC;
2632    pub type Ads11 = crate::EnumBitfieldStruct<u8, Ads11_SPEC>;
2633    impl Ads11 {
2634        #[doc = "Do not select associated input channel."]
2635        pub const _0: Self = Self::new(0);
2636
2637        #[doc = "Select associated input channel."]
2638        pub const _1: Self = Self::new(1);
2639    }
2640    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2641    pub struct Ads12_SPEC;
2642    pub type Ads12 = crate::EnumBitfieldStruct<u8, Ads12_SPEC>;
2643    impl Ads12 {
2644        #[doc = "Do not select associated input channel."]
2645        pub const _0: Self = Self::new(0);
2646
2647        #[doc = "Select associated input channel."]
2648        pub const _1: Self = Self::new(1);
2649    }
2650    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2651    pub struct Ads13_SPEC;
2652    pub type Ads13 = crate::EnumBitfieldStruct<u8, Ads13_SPEC>;
2653    impl Ads13 {
2654        #[doc = "Do not select associated input channel."]
2655        pub const _0: Self = Self::new(0);
2656
2657        #[doc = "Select associated input channel."]
2658        pub const _1: Self = Self::new(1);
2659    }
2660    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2661    pub struct Ads14_SPEC;
2662    pub type Ads14 = crate::EnumBitfieldStruct<u8, Ads14_SPEC>;
2663    impl Ads14 {
2664        #[doc = "Do not select associated input channel."]
2665        pub const _0: Self = Self::new(0);
2666
2667        #[doc = "Select associated input channel."]
2668        pub const _1: Self = Self::new(1);
2669    }
2670    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2671    pub struct Ads15_SPEC;
2672    pub type Ads15 = crate::EnumBitfieldStruct<u8, Ads15_SPEC>;
2673    impl Ads15 {
2674        #[doc = "Do not select associated input channel."]
2675        pub const _0: Self = Self::new(0);
2676
2677        #[doc = "Select associated input channel."]
2678        pub const _1: Self = Self::new(1);
2679    }
2680}
2681#[doc(hidden)]
2682#[derive(Copy, Clone, Eq, PartialEq)]
2683pub struct Adads1_SPEC;
2684impl crate::sealed::RegSpec for Adads1_SPEC {
2685    type DataType = u16;
2686}
2687
2688#[doc = "A/D-Converted Value Addition/Average Channel Select Register 1"]
2689pub type Adads1 = crate::RegValueT<Adads1_SPEC>;
2690
2691impl Adads1 {
2692    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2693    #[inline(always)]
2694    pub fn ads16(
2695        self,
2696    ) -> crate::common::RegisterField<
2697        0,
2698        0x1,
2699        1,
2700        0,
2701        adads1::Ads16,
2702        adads1::Ads16,
2703        Adads1_SPEC,
2704        crate::common::RW,
2705    > {
2706        crate::common::RegisterField::<
2707            0,
2708            0x1,
2709            1,
2710            0,
2711            adads1::Ads16,
2712            adads1::Ads16,
2713            Adads1_SPEC,
2714            crate::common::RW,
2715        >::from_register(self, 0)
2716    }
2717
2718    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2719    #[inline(always)]
2720    pub fn ads17(
2721        self,
2722    ) -> crate::common::RegisterField<
2723        1,
2724        0x1,
2725        1,
2726        0,
2727        adads1::Ads17,
2728        adads1::Ads17,
2729        Adads1_SPEC,
2730        crate::common::RW,
2731    > {
2732        crate::common::RegisterField::<
2733            1,
2734            0x1,
2735            1,
2736            0,
2737            adads1::Ads17,
2738            adads1::Ads17,
2739            Adads1_SPEC,
2740            crate::common::RW,
2741        >::from_register(self, 0)
2742    }
2743
2744    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2745    #[inline(always)]
2746    pub fn ads18(
2747        self,
2748    ) -> crate::common::RegisterField<
2749        2,
2750        0x1,
2751        1,
2752        0,
2753        adads1::Ads18,
2754        adads1::Ads18,
2755        Adads1_SPEC,
2756        crate::common::RW,
2757    > {
2758        crate::common::RegisterField::<
2759            2,
2760            0x1,
2761            1,
2762            0,
2763            adads1::Ads18,
2764            adads1::Ads18,
2765            Adads1_SPEC,
2766            crate::common::RW,
2767        >::from_register(self, 0)
2768    }
2769
2770    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2771    #[inline(always)]
2772    pub fn ads19(
2773        self,
2774    ) -> crate::common::RegisterField<
2775        3,
2776        0x1,
2777        1,
2778        0,
2779        adads1::Ads19,
2780        adads1::Ads19,
2781        Adads1_SPEC,
2782        crate::common::RW,
2783    > {
2784        crate::common::RegisterField::<
2785            3,
2786            0x1,
2787            1,
2788            0,
2789            adads1::Ads19,
2790            adads1::Ads19,
2791            Adads1_SPEC,
2792            crate::common::RW,
2793        >::from_register(self, 0)
2794    }
2795
2796    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2797    #[inline(always)]
2798    pub fn ads20(
2799        self,
2800    ) -> crate::common::RegisterField<
2801        4,
2802        0x1,
2803        1,
2804        0,
2805        adads1::Ads20,
2806        adads1::Ads20,
2807        Adads1_SPEC,
2808        crate::common::RW,
2809    > {
2810        crate::common::RegisterField::<
2811            4,
2812            0x1,
2813            1,
2814            0,
2815            adads1::Ads20,
2816            adads1::Ads20,
2817            Adads1_SPEC,
2818            crate::common::RW,
2819        >::from_register(self, 0)
2820    }
2821
2822    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2823    #[inline(always)]
2824    pub fn ads21(
2825        self,
2826    ) -> crate::common::RegisterField<
2827        5,
2828        0x1,
2829        1,
2830        0,
2831        adads1::Ads21,
2832        adads1::Ads21,
2833        Adads1_SPEC,
2834        crate::common::RW,
2835    > {
2836        crate::common::RegisterField::<
2837            5,
2838            0x1,
2839            1,
2840            0,
2841            adads1::Ads21,
2842            adads1::Ads21,
2843            Adads1_SPEC,
2844            crate::common::RW,
2845        >::from_register(self, 0)
2846    }
2847
2848    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2849    #[inline(always)]
2850    pub fn ads22(
2851        self,
2852    ) -> crate::common::RegisterField<
2853        6,
2854        0x1,
2855        1,
2856        0,
2857        adads1::Ads22,
2858        adads1::Ads22,
2859        Adads1_SPEC,
2860        crate::common::RW,
2861    > {
2862        crate::common::RegisterField::<
2863            6,
2864            0x1,
2865            1,
2866            0,
2867            adads1::Ads22,
2868            adads1::Ads22,
2869            Adads1_SPEC,
2870            crate::common::RW,
2871        >::from_register(self, 0)
2872    }
2873
2874    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2875    #[inline(always)]
2876    pub fn ads23(
2877        self,
2878    ) -> crate::common::RegisterField<
2879        7,
2880        0x1,
2881        1,
2882        0,
2883        adads1::Ads23,
2884        adads1::Ads23,
2885        Adads1_SPEC,
2886        crate::common::RW,
2887    > {
2888        crate::common::RegisterField::<
2889            7,
2890            0x1,
2891            1,
2892            0,
2893            adads1::Ads23,
2894            adads1::Ads23,
2895            Adads1_SPEC,
2896            crate::common::RW,
2897        >::from_register(self, 0)
2898    }
2899
2900    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2901    #[inline(always)]
2902    pub fn ads24(
2903        self,
2904    ) -> crate::common::RegisterField<
2905        8,
2906        0x1,
2907        1,
2908        0,
2909        adads1::Ads24,
2910        adads1::Ads24,
2911        Adads1_SPEC,
2912        crate::common::RW,
2913    > {
2914        crate::common::RegisterField::<
2915            8,
2916            0x1,
2917            1,
2918            0,
2919            adads1::Ads24,
2920            adads1::Ads24,
2921            Adads1_SPEC,
2922            crate::common::RW,
2923        >::from_register(self, 0)
2924    }
2925
2926    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2927    #[inline(always)]
2928    pub fn ads25(
2929        self,
2930    ) -> crate::common::RegisterField<
2931        9,
2932        0x1,
2933        1,
2934        0,
2935        adads1::Ads25,
2936        adads1::Ads25,
2937        Adads1_SPEC,
2938        crate::common::RW,
2939    > {
2940        crate::common::RegisterField::<
2941            9,
2942            0x1,
2943            1,
2944            0,
2945            adads1::Ads25,
2946            adads1::Ads25,
2947            Adads1_SPEC,
2948            crate::common::RW,
2949        >::from_register(self, 0)
2950    }
2951
2952    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2953    #[inline(always)]
2954    pub fn ads26(
2955        self,
2956    ) -> crate::common::RegisterField<
2957        10,
2958        0x1,
2959        1,
2960        0,
2961        adads1::Ads26,
2962        adads1::Ads26,
2963        Adads1_SPEC,
2964        crate::common::RW,
2965    > {
2966        crate::common::RegisterField::<
2967            10,
2968            0x1,
2969            1,
2970            0,
2971            adads1::Ads26,
2972            adads1::Ads26,
2973            Adads1_SPEC,
2974            crate::common::RW,
2975        >::from_register(self, 0)
2976    }
2977
2978    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
2979    #[inline(always)]
2980    pub fn ads27(
2981        self,
2982    ) -> crate::common::RegisterField<
2983        11,
2984        0x1,
2985        1,
2986        0,
2987        adads1::Ads27,
2988        adads1::Ads27,
2989        Adads1_SPEC,
2990        crate::common::RW,
2991    > {
2992        crate::common::RegisterField::<
2993            11,
2994            0x1,
2995            1,
2996            0,
2997            adads1::Ads27,
2998            adads1::Ads27,
2999            Adads1_SPEC,
3000            crate::common::RW,
3001        >::from_register(self, 0)
3002    }
3003
3004    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
3005    #[inline(always)]
3006    pub fn ads28(
3007        self,
3008    ) -> crate::common::RegisterField<
3009        12,
3010        0x1,
3011        1,
3012        0,
3013        adads1::Ads28,
3014        adads1::Ads28,
3015        Adads1_SPEC,
3016        crate::common::RW,
3017    > {
3018        crate::common::RegisterField::<
3019            12,
3020            0x1,
3021            1,
3022            0,
3023            adads1::Ads28,
3024            adads1::Ads28,
3025            Adads1_SPEC,
3026            crate::common::RW,
3027        >::from_register(self, 0)
3028    }
3029
3030    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
3031    #[inline(always)]
3032    pub fn ads29(
3033        self,
3034    ) -> crate::common::RegisterField<
3035        13,
3036        0x1,
3037        1,
3038        0,
3039        adads1::Ads29,
3040        adads1::Ads29,
3041        Adads1_SPEC,
3042        crate::common::RW,
3043    > {
3044        crate::common::RegisterField::<
3045            13,
3046            0x1,
3047            1,
3048            0,
3049            adads1::Ads29,
3050            adads1::Ads29,
3051            Adads1_SPEC,
3052            crate::common::RW,
3053        >::from_register(self, 0)
3054    }
3055
3056    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
3057    #[inline(always)]
3058    pub fn ads30(
3059        self,
3060    ) -> crate::common::RegisterField<
3061        14,
3062        0x1,
3063        1,
3064        0,
3065        adads1::Ads30,
3066        adads1::Ads30,
3067        Adads1_SPEC,
3068        crate::common::RW,
3069    > {
3070        crate::common::RegisterField::<
3071            14,
3072            0x1,
3073            1,
3074            0,
3075            adads1::Ads30,
3076            adads1::Ads30,
3077            Adads1_SPEC,
3078            crate::common::RW,
3079        >::from_register(self, 0)
3080    }
3081
3082    #[doc = "A/D-Converted Value Addition/Average Channel Select"]
3083    #[inline(always)]
3084    pub fn ads31(
3085        self,
3086    ) -> crate::common::RegisterField<
3087        15,
3088        0x1,
3089        1,
3090        0,
3091        adads1::Ads31,
3092        adads1::Ads31,
3093        Adads1_SPEC,
3094        crate::common::RW,
3095    > {
3096        crate::common::RegisterField::<
3097            15,
3098            0x1,
3099            1,
3100            0,
3101            adads1::Ads31,
3102            adads1::Ads31,
3103            Adads1_SPEC,
3104            crate::common::RW,
3105        >::from_register(self, 0)
3106    }
3107}
3108impl ::core::default::Default for Adads1 {
3109    #[inline(always)]
3110    fn default() -> Adads1 {
3111        <crate::RegValueT<Adads1_SPEC> as RegisterValue<_>>::new(0)
3112    }
3113}
3114pub mod adads1 {
3115
3116    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3117    pub struct Ads16_SPEC;
3118    pub type Ads16 = crate::EnumBitfieldStruct<u8, Ads16_SPEC>;
3119    impl Ads16 {
3120        #[doc = "Do not select associated input channel."]
3121        pub const _0: Self = Self::new(0);
3122
3123        #[doc = "Select associated input channel."]
3124        pub const _1: Self = Self::new(1);
3125    }
3126    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3127    pub struct Ads17_SPEC;
3128    pub type Ads17 = crate::EnumBitfieldStruct<u8, Ads17_SPEC>;
3129    impl Ads17 {
3130        #[doc = "Do not select associated input channel."]
3131        pub const _0: Self = Self::new(0);
3132
3133        #[doc = "Select associated input channel."]
3134        pub const _1: Self = Self::new(1);
3135    }
3136    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3137    pub struct Ads18_SPEC;
3138    pub type Ads18 = crate::EnumBitfieldStruct<u8, Ads18_SPEC>;
3139    impl Ads18 {
3140        #[doc = "Do not select associated input channel."]
3141        pub const _0: Self = Self::new(0);
3142
3143        #[doc = "Select associated input channel."]
3144        pub const _1: Self = Self::new(1);
3145    }
3146    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3147    pub struct Ads19_SPEC;
3148    pub type Ads19 = crate::EnumBitfieldStruct<u8, Ads19_SPEC>;
3149    impl Ads19 {
3150        #[doc = "Do not select associated input channel."]
3151        pub const _0: Self = Self::new(0);
3152
3153        #[doc = "Select associated input channel."]
3154        pub const _1: Self = Self::new(1);
3155    }
3156    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3157    pub struct Ads20_SPEC;
3158    pub type Ads20 = crate::EnumBitfieldStruct<u8, Ads20_SPEC>;
3159    impl Ads20 {
3160        #[doc = "Do not select associated input channel."]
3161        pub const _0: Self = Self::new(0);
3162
3163        #[doc = "Select associated input channel."]
3164        pub const _1: Self = Self::new(1);
3165    }
3166    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3167    pub struct Ads21_SPEC;
3168    pub type Ads21 = crate::EnumBitfieldStruct<u8, Ads21_SPEC>;
3169    impl Ads21 {
3170        #[doc = "Do not select associated input channel."]
3171        pub const _0: Self = Self::new(0);
3172
3173        #[doc = "Select associated input channel."]
3174        pub const _1: Self = Self::new(1);
3175    }
3176    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3177    pub struct Ads22_SPEC;
3178    pub type Ads22 = crate::EnumBitfieldStruct<u8, Ads22_SPEC>;
3179    impl Ads22 {
3180        #[doc = "Do not select associated input channel."]
3181        pub const _0: Self = Self::new(0);
3182
3183        #[doc = "Select associated input channel."]
3184        pub const _1: Self = Self::new(1);
3185    }
3186    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3187    pub struct Ads23_SPEC;
3188    pub type Ads23 = crate::EnumBitfieldStruct<u8, Ads23_SPEC>;
3189    impl Ads23 {
3190        #[doc = "Do not select associated input channel."]
3191        pub const _0: Self = Self::new(0);
3192
3193        #[doc = "Select associated input channel."]
3194        pub const _1: Self = Self::new(1);
3195    }
3196    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3197    pub struct Ads24_SPEC;
3198    pub type Ads24 = crate::EnumBitfieldStruct<u8, Ads24_SPEC>;
3199    impl Ads24 {
3200        #[doc = "Do not select associated input channel."]
3201        pub const _0: Self = Self::new(0);
3202
3203        #[doc = "Select associated input channel."]
3204        pub const _1: Self = Self::new(1);
3205    }
3206    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3207    pub struct Ads25_SPEC;
3208    pub type Ads25 = crate::EnumBitfieldStruct<u8, Ads25_SPEC>;
3209    impl Ads25 {
3210        #[doc = "Do not select associated input channel."]
3211        pub const _0: Self = Self::new(0);
3212
3213        #[doc = "Select associated input channel."]
3214        pub const _1: Self = Self::new(1);
3215    }
3216    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3217    pub struct Ads26_SPEC;
3218    pub type Ads26 = crate::EnumBitfieldStruct<u8, Ads26_SPEC>;
3219    impl Ads26 {
3220        #[doc = "Do not select associated input channel."]
3221        pub const _0: Self = Self::new(0);
3222
3223        #[doc = "Select associated input channel."]
3224        pub const _1: Self = Self::new(1);
3225    }
3226    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3227    pub struct Ads27_SPEC;
3228    pub type Ads27 = crate::EnumBitfieldStruct<u8, Ads27_SPEC>;
3229    impl Ads27 {
3230        #[doc = "Do not select associated input channel."]
3231        pub const _0: Self = Self::new(0);
3232
3233        #[doc = "Select associated input channel."]
3234        pub const _1: Self = Self::new(1);
3235    }
3236    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3237    pub struct Ads28_SPEC;
3238    pub type Ads28 = crate::EnumBitfieldStruct<u8, Ads28_SPEC>;
3239    impl Ads28 {
3240        #[doc = "Do not select associated input channel."]
3241        pub const _0: Self = Self::new(0);
3242
3243        #[doc = "Select associated input channel."]
3244        pub const _1: Self = Self::new(1);
3245    }
3246    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3247    pub struct Ads29_SPEC;
3248    pub type Ads29 = crate::EnumBitfieldStruct<u8, Ads29_SPEC>;
3249    impl Ads29 {
3250        #[doc = "Do not select associated input channel."]
3251        pub const _0: Self = Self::new(0);
3252
3253        #[doc = "Select associated input channel."]
3254        pub const _1: Self = Self::new(1);
3255    }
3256    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3257    pub struct Ads30_SPEC;
3258    pub type Ads30 = crate::EnumBitfieldStruct<u8, Ads30_SPEC>;
3259    impl Ads30 {
3260        #[doc = "Do not select associated input channel."]
3261        pub const _0: Self = Self::new(0);
3262
3263        #[doc = "Select associated input channel."]
3264        pub const _1: Self = Self::new(1);
3265    }
3266    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3267    pub struct Ads31_SPEC;
3268    pub type Ads31 = crate::EnumBitfieldStruct<u8, Ads31_SPEC>;
3269    impl Ads31 {
3270        #[doc = "Do not select associated input channel."]
3271        pub const _0: Self = Self::new(0);
3272
3273        #[doc = "Select associated input channel."]
3274        pub const _1: Self = Self::new(1);
3275    }
3276}
3277#[doc(hidden)]
3278#[derive(Copy, Clone, Eq, PartialEq)]
3279pub struct Adadc_SPEC;
3280impl crate::sealed::RegSpec for Adadc_SPEC {
3281    type DataType = u8;
3282}
3283
3284#[doc = "A/D-Converted Value Addition/Average Count Select Register"]
3285pub type Adadc = crate::RegValueT<Adadc_SPEC>;
3286
3287impl Adadc {
3288    #[doc = "Addition/Average Count Select"]
3289    #[inline(always)]
3290    pub fn adc(
3291        self,
3292    ) -> crate::common::RegisterField<
3293        0,
3294        0x7,
3295        1,
3296        0,
3297        adadc::Adc,
3298        adadc::Adc,
3299        Adadc_SPEC,
3300        crate::common::RW,
3301    > {
3302        crate::common::RegisterField::<
3303            0,
3304            0x7,
3305            1,
3306            0,
3307            adadc::Adc,
3308            adadc::Adc,
3309            Adadc_SPEC,
3310            crate::common::RW,
3311        >::from_register(self, 0)
3312    }
3313
3314    #[doc = "Average Mode Select"]
3315    #[inline(always)]
3316    pub fn avee(
3317        self,
3318    ) -> crate::common::RegisterField<
3319        7,
3320        0x1,
3321        1,
3322        0,
3323        adadc::Avee,
3324        adadc::Avee,
3325        Adadc_SPEC,
3326        crate::common::RW,
3327    > {
3328        crate::common::RegisterField::<
3329            7,
3330            0x1,
3331            1,
3332            0,
3333            adadc::Avee,
3334            adadc::Avee,
3335            Adadc_SPEC,
3336            crate::common::RW,
3337        >::from_register(self, 0)
3338    }
3339}
3340impl ::core::default::Default for Adadc {
3341    #[inline(always)]
3342    fn default() -> Adadc {
3343        <crate::RegValueT<Adadc_SPEC> as RegisterValue<_>>::new(0)
3344    }
3345}
3346pub mod adadc {
3347
3348    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3349    pub struct Adc_SPEC;
3350    pub type Adc = crate::EnumBitfieldStruct<u8, Adc_SPEC>;
3351    impl Adc {
3352        #[doc = "1-time conversion (no addition, same as normal conversion)"]
3353        pub const _000: Self = Self::new(0);
3354
3355        #[doc = "2-time conversion (1 addition)"]
3356        pub const _001: Self = Self::new(1);
3357
3358        #[doc = "3-time conversion (2 additions)"]
3359        pub const _010: Self = Self::new(2);
3360
3361        #[doc = "4-time conversion (3 additions)"]
3362        pub const _011: Self = Self::new(3);
3363
3364        #[doc = "16-time conversion (15 additions)"]
3365        pub const _101: Self = Self::new(5);
3366    }
3367    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3368    pub struct Avee_SPEC;
3369    pub type Avee = crate::EnumBitfieldStruct<u8, Avee_SPEC>;
3370    impl Avee {
3371        #[doc = "Enable addition mode"]
3372        pub const _0: Self = Self::new(0);
3373
3374        #[doc = "Enable average mode"]
3375        pub const _1: Self = Self::new(1);
3376    }
3377}
3378#[doc(hidden)]
3379#[derive(Copy, Clone, Eq, PartialEq)]
3380pub struct Adcer_SPEC;
3381impl crate::sealed::RegSpec for Adcer_SPEC {
3382    type DataType = u16;
3383}
3384
3385#[doc = "A/D Control Extended Register"]
3386pub type Adcer = crate::RegValueT<Adcer_SPEC>;
3387
3388impl Adcer {
3389    #[doc = "A/D Data Register Automatic Clearing Enable"]
3390    #[inline(always)]
3391    pub fn ace(
3392        self,
3393    ) -> crate::common::RegisterField<
3394        5,
3395        0x1,
3396        1,
3397        0,
3398        adcer::Ace,
3399        adcer::Ace,
3400        Adcer_SPEC,
3401        crate::common::RW,
3402    > {
3403        crate::common::RegisterField::<
3404            5,
3405            0x1,
3406            1,
3407            0,
3408            adcer::Ace,
3409            adcer::Ace,
3410            Adcer_SPEC,
3411            crate::common::RW,
3412        >::from_register(self, 0)
3413    }
3414
3415    #[doc = "Self-Diagnosis Conversion Voltage Select"]
3416    #[inline(always)]
3417    pub fn diagval(
3418        self,
3419    ) -> crate::common::RegisterField<
3420        8,
3421        0x3,
3422        1,
3423        0,
3424        adcer::Diagval,
3425        adcer::Diagval,
3426        Adcer_SPEC,
3427        crate::common::RW,
3428    > {
3429        crate::common::RegisterField::<
3430            8,
3431            0x3,
3432            1,
3433            0,
3434            adcer::Diagval,
3435            adcer::Diagval,
3436            Adcer_SPEC,
3437            crate::common::RW,
3438        >::from_register(self, 0)
3439    }
3440
3441    #[doc = "Self-Diagnosis Mode Select"]
3442    #[inline(always)]
3443    pub fn diagld(
3444        self,
3445    ) -> crate::common::RegisterField<
3446        10,
3447        0x1,
3448        1,
3449        0,
3450        adcer::Diagld,
3451        adcer::Diagld,
3452        Adcer_SPEC,
3453        crate::common::RW,
3454    > {
3455        crate::common::RegisterField::<
3456            10,
3457            0x1,
3458            1,
3459            0,
3460            adcer::Diagld,
3461            adcer::Diagld,
3462            Adcer_SPEC,
3463            crate::common::RW,
3464        >::from_register(self, 0)
3465    }
3466
3467    #[doc = "Self-Diagnosis Enable"]
3468    #[inline(always)]
3469    pub fn diagm(
3470        self,
3471    ) -> crate::common::RegisterField<
3472        11,
3473        0x1,
3474        1,
3475        0,
3476        adcer::Diagm,
3477        adcer::Diagm,
3478        Adcer_SPEC,
3479        crate::common::RW,
3480    > {
3481        crate::common::RegisterField::<
3482            11,
3483            0x1,
3484            1,
3485            0,
3486            adcer::Diagm,
3487            adcer::Diagm,
3488            Adcer_SPEC,
3489            crate::common::RW,
3490        >::from_register(self, 0)
3491    }
3492
3493    #[doc = "A/D Data Register Format Select"]
3494    #[inline(always)]
3495    pub fn adrfmt(
3496        self,
3497    ) -> crate::common::RegisterField<
3498        15,
3499        0x1,
3500        1,
3501        0,
3502        adcer::Adrfmt,
3503        adcer::Adrfmt,
3504        Adcer_SPEC,
3505        crate::common::RW,
3506    > {
3507        crate::common::RegisterField::<
3508            15,
3509            0x1,
3510            1,
3511            0,
3512            adcer::Adrfmt,
3513            adcer::Adrfmt,
3514            Adcer_SPEC,
3515            crate::common::RW,
3516        >::from_register(self, 0)
3517    }
3518}
3519impl ::core::default::Default for Adcer {
3520    #[inline(always)]
3521    fn default() -> Adcer {
3522        <crate::RegValueT<Adcer_SPEC> as RegisterValue<_>>::new(0)
3523    }
3524}
3525pub mod adcer {
3526
3527    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3528    pub struct Ace_SPEC;
3529    pub type Ace = crate::EnumBitfieldStruct<u8, Ace_SPEC>;
3530    impl Ace {
3531        #[doc = "Disable automatic clearing"]
3532        pub const _0: Self = Self::new(0);
3533
3534        #[doc = "Enable automatic clearing"]
3535        pub const _1: Self = Self::new(1);
3536    }
3537    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3538    pub struct Diagval_SPEC;
3539    pub type Diagval = crate::EnumBitfieldStruct<u8, Diagval_SPEC>;
3540    impl Diagval {
3541        #[doc = "Setting prohibited when self-diagnosis is enabled"]
3542        pub const _00: Self = Self::new(0);
3543
3544        #[doc = "0 volts"]
3545        pub const _01: Self = Self::new(1);
3546
3547        #[doc = "Reference voltage × 1/2"]
3548        pub const _10: Self = Self::new(2);
3549
3550        #[doc = "Reference voltage"]
3551        pub const _11: Self = Self::new(3);
3552    }
3553    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3554    pub struct Diagld_SPEC;
3555    pub type Diagld = crate::EnumBitfieldStruct<u8, Diagld_SPEC>;
3556    impl Diagld {
3557        #[doc = "Select rotation mode for self-diagnosis voltage"]
3558        pub const _0: Self = Self::new(0);
3559
3560        #[doc = "Select mixed mode for self-diagnosis voltage"]
3561        pub const _1: Self = Self::new(1);
3562    }
3563    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3564    pub struct Diagm_SPEC;
3565    pub type Diagm = crate::EnumBitfieldStruct<u8, Diagm_SPEC>;
3566    impl Diagm {
3567        #[doc = "Disable ADC12 self-diagnosis"]
3568        pub const _0: Self = Self::new(0);
3569
3570        #[doc = "Enable ADC12 self-diagnosis"]
3571        pub const _1: Self = Self::new(1);
3572    }
3573    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3574    pub struct Adrfmt_SPEC;
3575    pub type Adrfmt = crate::EnumBitfieldStruct<u8, Adrfmt_SPEC>;
3576    impl Adrfmt {
3577        #[doc = "Select right-justified for the A/D data register format"]
3578        pub const _0: Self = Self::new(0);
3579
3580        #[doc = "Select left-justified for the A/D data register format"]
3581        pub const _1: Self = Self::new(1);
3582    }
3583}
3584#[doc(hidden)]
3585#[derive(Copy, Clone, Eq, PartialEq)]
3586pub struct Adstrgr_SPEC;
3587impl crate::sealed::RegSpec for Adstrgr_SPEC {
3588    type DataType = u16;
3589}
3590
3591#[doc = "A/D Conversion Start Trigger Select Register"]
3592pub type Adstrgr = crate::RegValueT<Adstrgr_SPEC>;
3593
3594impl Adstrgr {
3595    #[doc = "A/D Conversion Start Trigger Select for Group B"]
3596    #[inline(always)]
3597    pub fn trsb(
3598        self,
3599    ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, Adstrgr_SPEC, crate::common::RW> {
3600        crate::common::RegisterField::<0,0x3f,1,0,u8,u8,Adstrgr_SPEC,crate::common::RW>::from_register(self,0)
3601    }
3602
3603    #[doc = "A/D Conversion Start Trigger Select"]
3604    #[inline(always)]
3605    pub fn trsa(
3606        self,
3607    ) -> crate::common::RegisterField<8, 0x3f, 1, 0, u8, u8, Adstrgr_SPEC, crate::common::RW> {
3608        crate::common::RegisterField::<8,0x3f,1,0,u8,u8,Adstrgr_SPEC,crate::common::RW>::from_register(self,0)
3609    }
3610}
3611impl ::core::default::Default for Adstrgr {
3612    #[inline(always)]
3613    fn default() -> Adstrgr {
3614        <crate::RegValueT<Adstrgr_SPEC> as RegisterValue<_>>::new(0)
3615    }
3616}
3617
3618#[doc(hidden)]
3619#[derive(Copy, Clone, Eq, PartialEq)]
3620pub struct Adexicr_SPEC;
3621impl crate::sealed::RegSpec for Adexicr_SPEC {
3622    type DataType = u16;
3623}
3624
3625#[doc = "A/D Conversion Extended Input Control Registers"]
3626pub type Adexicr = crate::RegValueT<Adexicr_SPEC>;
3627
3628impl Adexicr {
3629    #[doc = "Temperature Sensor Output A/D-Converted Value Addition/Average Mode Select"]
3630    #[inline(always)]
3631    pub fn tssad(
3632        self,
3633    ) -> crate::common::RegisterField<
3634        0,
3635        0x1,
3636        1,
3637        0,
3638        adexicr::Tssad,
3639        adexicr::Tssad,
3640        Adexicr_SPEC,
3641        crate::common::RW,
3642    > {
3643        crate::common::RegisterField::<
3644            0,
3645            0x1,
3646            1,
3647            0,
3648            adexicr::Tssad,
3649            adexicr::Tssad,
3650            Adexicr_SPEC,
3651            crate::common::RW,
3652        >::from_register(self, 0)
3653    }
3654
3655    #[doc = "Internal Reference Voltage A/D-Converted Value Addition/Average Mode Select"]
3656    #[inline(always)]
3657    pub fn ocsad(
3658        self,
3659    ) -> crate::common::RegisterField<
3660        1,
3661        0x1,
3662        1,
3663        0,
3664        adexicr::Ocsad,
3665        adexicr::Ocsad,
3666        Adexicr_SPEC,
3667        crate::common::RW,
3668    > {
3669        crate::common::RegisterField::<
3670            1,
3671            0x1,
3672            1,
3673            0,
3674            adexicr::Ocsad,
3675            adexicr::Ocsad,
3676            Adexicr_SPEC,
3677            crate::common::RW,
3678        >::from_register(self, 0)
3679    }
3680
3681    #[doc = "Temperature Sensor Output A/D Conversion Select"]
3682    #[inline(always)]
3683    pub fn tssa(
3684        self,
3685    ) -> crate::common::RegisterField<
3686        8,
3687        0x1,
3688        1,
3689        0,
3690        adexicr::Tssa,
3691        adexicr::Tssa,
3692        Adexicr_SPEC,
3693        crate::common::RW,
3694    > {
3695        crate::common::RegisterField::<
3696            8,
3697            0x1,
3698            1,
3699            0,
3700            adexicr::Tssa,
3701            adexicr::Tssa,
3702            Adexicr_SPEC,
3703            crate::common::RW,
3704        >::from_register(self, 0)
3705    }
3706
3707    #[doc = "Internal Reference Voltage A/D Conversion Select"]
3708    #[inline(always)]
3709    pub fn ocsa(
3710        self,
3711    ) -> crate::common::RegisterField<
3712        9,
3713        0x1,
3714        1,
3715        0,
3716        adexicr::Ocsa,
3717        adexicr::Ocsa,
3718        Adexicr_SPEC,
3719        crate::common::RW,
3720    > {
3721        crate::common::RegisterField::<
3722            9,
3723            0x1,
3724            1,
3725            0,
3726            adexicr::Ocsa,
3727            adexicr::Ocsa,
3728            Adexicr_SPEC,
3729            crate::common::RW,
3730        >::from_register(self, 0)
3731    }
3732}
3733impl ::core::default::Default for Adexicr {
3734    #[inline(always)]
3735    fn default() -> Adexicr {
3736        <crate::RegValueT<Adexicr_SPEC> as RegisterValue<_>>::new(0)
3737    }
3738}
3739pub mod adexicr {
3740
3741    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3742    pub struct Tssad_SPEC;
3743    pub type Tssad = crate::EnumBitfieldStruct<u8, Tssad_SPEC>;
3744    impl Tssad {
3745        #[doc = "Do not select addition/average mode for temperature sensor output."]
3746        pub const _0: Self = Self::new(0);
3747
3748        #[doc = "Select addition/average mode for temperature sensor output."]
3749        pub const _1: Self = Self::new(1);
3750    }
3751    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3752    pub struct Ocsad_SPEC;
3753    pub type Ocsad = crate::EnumBitfieldStruct<u8, Ocsad_SPEC>;
3754    impl Ocsad {
3755        #[doc = "Do not select addition/average mode for internal reference voltage."]
3756        pub const _0: Self = Self::new(0);
3757
3758        #[doc = "Select addition/average mode for internal reference voltage."]
3759        pub const _1: Self = Self::new(1);
3760    }
3761    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3762    pub struct Tssa_SPEC;
3763    pub type Tssa = crate::EnumBitfieldStruct<u8, Tssa_SPEC>;
3764    impl Tssa {
3765        #[doc = "Disable A/D conversion of temperature sensor output"]
3766        pub const _0: Self = Self::new(0);
3767
3768        #[doc = "Enable A/D conversion of temperature sensor output"]
3769        pub const _1: Self = Self::new(1);
3770    }
3771    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3772    pub struct Ocsa_SPEC;
3773    pub type Ocsa = crate::EnumBitfieldStruct<u8, Ocsa_SPEC>;
3774    impl Ocsa {
3775        #[doc = "Disable A/D conversion of internal reference voltage"]
3776        pub const _0: Self = Self::new(0);
3777
3778        #[doc = "Enable A/D conversion of internal reference voltage"]
3779        pub const _1: Self = Self::new(1);
3780    }
3781}
3782#[doc(hidden)]
3783#[derive(Copy, Clone, Eq, PartialEq)]
3784pub struct Adansb0_SPEC;
3785impl crate::sealed::RegSpec for Adansb0_SPEC {
3786    type DataType = u16;
3787}
3788
3789#[doc = "A/D Channel Select Register B0"]
3790pub type Adansb0 = crate::RegValueT<Adansb0_SPEC>;
3791
3792impl Adansb0 {
3793    #[doc = "A/D Conversion Channels Select"]
3794    #[inline(always)]
3795    pub fn ansb00(
3796        self,
3797    ) -> crate::common::RegisterField<
3798        0,
3799        0x1,
3800        1,
3801        0,
3802        adansb0::Ansb00,
3803        adansb0::Ansb00,
3804        Adansb0_SPEC,
3805        crate::common::RW,
3806    > {
3807        crate::common::RegisterField::<
3808            0,
3809            0x1,
3810            1,
3811            0,
3812            adansb0::Ansb00,
3813            adansb0::Ansb00,
3814            Adansb0_SPEC,
3815            crate::common::RW,
3816        >::from_register(self, 0)
3817    }
3818
3819    #[doc = "A/D Conversion Channels Select"]
3820    #[inline(always)]
3821    pub fn ansb01(
3822        self,
3823    ) -> crate::common::RegisterField<
3824        1,
3825        0x1,
3826        1,
3827        0,
3828        adansb0::Ansb01,
3829        adansb0::Ansb01,
3830        Adansb0_SPEC,
3831        crate::common::RW,
3832    > {
3833        crate::common::RegisterField::<
3834            1,
3835            0x1,
3836            1,
3837            0,
3838            adansb0::Ansb01,
3839            adansb0::Ansb01,
3840            Adansb0_SPEC,
3841            crate::common::RW,
3842        >::from_register(self, 0)
3843    }
3844
3845    #[doc = "A/D Conversion Channels Select"]
3846    #[inline(always)]
3847    pub fn ansb02(
3848        self,
3849    ) -> crate::common::RegisterField<
3850        2,
3851        0x1,
3852        1,
3853        0,
3854        adansb0::Ansb02,
3855        adansb0::Ansb02,
3856        Adansb0_SPEC,
3857        crate::common::RW,
3858    > {
3859        crate::common::RegisterField::<
3860            2,
3861            0x1,
3862            1,
3863            0,
3864            adansb0::Ansb02,
3865            adansb0::Ansb02,
3866            Adansb0_SPEC,
3867            crate::common::RW,
3868        >::from_register(self, 0)
3869    }
3870
3871    #[doc = "A/D Conversion Channels Select"]
3872    #[inline(always)]
3873    pub fn ansb03(
3874        self,
3875    ) -> crate::common::RegisterField<
3876        3,
3877        0x1,
3878        1,
3879        0,
3880        adansb0::Ansb03,
3881        adansb0::Ansb03,
3882        Adansb0_SPEC,
3883        crate::common::RW,
3884    > {
3885        crate::common::RegisterField::<
3886            3,
3887            0x1,
3888            1,
3889            0,
3890            adansb0::Ansb03,
3891            adansb0::Ansb03,
3892            Adansb0_SPEC,
3893            crate::common::RW,
3894        >::from_register(self, 0)
3895    }
3896
3897    #[doc = "A/D Conversion Channels Select"]
3898    #[inline(always)]
3899    pub fn ansb04(
3900        self,
3901    ) -> crate::common::RegisterField<
3902        4,
3903        0x1,
3904        1,
3905        0,
3906        adansb0::Ansb04,
3907        adansb0::Ansb04,
3908        Adansb0_SPEC,
3909        crate::common::RW,
3910    > {
3911        crate::common::RegisterField::<
3912            4,
3913            0x1,
3914            1,
3915            0,
3916            adansb0::Ansb04,
3917            adansb0::Ansb04,
3918            Adansb0_SPEC,
3919            crate::common::RW,
3920        >::from_register(self, 0)
3921    }
3922
3923    #[doc = "A/D Conversion Channels Select"]
3924    #[inline(always)]
3925    pub fn ansb05(
3926        self,
3927    ) -> crate::common::RegisterField<
3928        5,
3929        0x1,
3930        1,
3931        0,
3932        adansb0::Ansb05,
3933        adansb0::Ansb05,
3934        Adansb0_SPEC,
3935        crate::common::RW,
3936    > {
3937        crate::common::RegisterField::<
3938            5,
3939            0x1,
3940            1,
3941            0,
3942            adansb0::Ansb05,
3943            adansb0::Ansb05,
3944            Adansb0_SPEC,
3945            crate::common::RW,
3946        >::from_register(self, 0)
3947    }
3948
3949    #[doc = "A/D Conversion Channels Select"]
3950    #[inline(always)]
3951    pub fn ansb06(
3952        self,
3953    ) -> crate::common::RegisterField<
3954        6,
3955        0x1,
3956        1,
3957        0,
3958        adansb0::Ansb06,
3959        adansb0::Ansb06,
3960        Adansb0_SPEC,
3961        crate::common::RW,
3962    > {
3963        crate::common::RegisterField::<
3964            6,
3965            0x1,
3966            1,
3967            0,
3968            adansb0::Ansb06,
3969            adansb0::Ansb06,
3970            Adansb0_SPEC,
3971            crate::common::RW,
3972        >::from_register(self, 0)
3973    }
3974
3975    #[doc = "A/D Conversion Channels Select"]
3976    #[inline(always)]
3977    pub fn ansb07(
3978        self,
3979    ) -> crate::common::RegisterField<
3980        7,
3981        0x1,
3982        1,
3983        0,
3984        adansb0::Ansb07,
3985        adansb0::Ansb07,
3986        Adansb0_SPEC,
3987        crate::common::RW,
3988    > {
3989        crate::common::RegisterField::<
3990            7,
3991            0x1,
3992            1,
3993            0,
3994            adansb0::Ansb07,
3995            adansb0::Ansb07,
3996            Adansb0_SPEC,
3997            crate::common::RW,
3998        >::from_register(self, 0)
3999    }
4000
4001    #[doc = "A/D Conversion Channels Select"]
4002    #[inline(always)]
4003    pub fn ansb08(
4004        self,
4005    ) -> crate::common::RegisterField<
4006        8,
4007        0x1,
4008        1,
4009        0,
4010        adansb0::Ansb08,
4011        adansb0::Ansb08,
4012        Adansb0_SPEC,
4013        crate::common::RW,
4014    > {
4015        crate::common::RegisterField::<
4016            8,
4017            0x1,
4018            1,
4019            0,
4020            adansb0::Ansb08,
4021            adansb0::Ansb08,
4022            Adansb0_SPEC,
4023            crate::common::RW,
4024        >::from_register(self, 0)
4025    }
4026
4027    #[doc = "A/D Conversion Channels Select"]
4028    #[inline(always)]
4029    pub fn ansb09(
4030        self,
4031    ) -> crate::common::RegisterField<
4032        9,
4033        0x1,
4034        1,
4035        0,
4036        adansb0::Ansb09,
4037        adansb0::Ansb09,
4038        Adansb0_SPEC,
4039        crate::common::RW,
4040    > {
4041        crate::common::RegisterField::<
4042            9,
4043            0x1,
4044            1,
4045            0,
4046            adansb0::Ansb09,
4047            adansb0::Ansb09,
4048            Adansb0_SPEC,
4049            crate::common::RW,
4050        >::from_register(self, 0)
4051    }
4052
4053    #[doc = "A/D Conversion Channels Select"]
4054    #[inline(always)]
4055    pub fn ansb10(
4056        self,
4057    ) -> crate::common::RegisterField<
4058        10,
4059        0x1,
4060        1,
4061        0,
4062        adansb0::Ansb10,
4063        adansb0::Ansb10,
4064        Adansb0_SPEC,
4065        crate::common::RW,
4066    > {
4067        crate::common::RegisterField::<
4068            10,
4069            0x1,
4070            1,
4071            0,
4072            adansb0::Ansb10,
4073            adansb0::Ansb10,
4074            Adansb0_SPEC,
4075            crate::common::RW,
4076        >::from_register(self, 0)
4077    }
4078
4079    #[doc = "A/D Conversion Channels Select"]
4080    #[inline(always)]
4081    pub fn ansb11(
4082        self,
4083    ) -> crate::common::RegisterField<
4084        11,
4085        0x1,
4086        1,
4087        0,
4088        adansb0::Ansb11,
4089        adansb0::Ansb11,
4090        Adansb0_SPEC,
4091        crate::common::RW,
4092    > {
4093        crate::common::RegisterField::<
4094            11,
4095            0x1,
4096            1,
4097            0,
4098            adansb0::Ansb11,
4099            adansb0::Ansb11,
4100            Adansb0_SPEC,
4101            crate::common::RW,
4102        >::from_register(self, 0)
4103    }
4104
4105    #[doc = "A/D Conversion Channels Select"]
4106    #[inline(always)]
4107    pub fn ansb12(
4108        self,
4109    ) -> crate::common::RegisterField<
4110        12,
4111        0x1,
4112        1,
4113        0,
4114        adansb0::Ansb12,
4115        adansb0::Ansb12,
4116        Adansb0_SPEC,
4117        crate::common::RW,
4118    > {
4119        crate::common::RegisterField::<
4120            12,
4121            0x1,
4122            1,
4123            0,
4124            adansb0::Ansb12,
4125            adansb0::Ansb12,
4126            Adansb0_SPEC,
4127            crate::common::RW,
4128        >::from_register(self, 0)
4129    }
4130
4131    #[doc = "A/D Conversion Channels Select"]
4132    #[inline(always)]
4133    pub fn ansb13(
4134        self,
4135    ) -> crate::common::RegisterField<
4136        13,
4137        0x1,
4138        1,
4139        0,
4140        adansb0::Ansb13,
4141        adansb0::Ansb13,
4142        Adansb0_SPEC,
4143        crate::common::RW,
4144    > {
4145        crate::common::RegisterField::<
4146            13,
4147            0x1,
4148            1,
4149            0,
4150            adansb0::Ansb13,
4151            adansb0::Ansb13,
4152            Adansb0_SPEC,
4153            crate::common::RW,
4154        >::from_register(self, 0)
4155    }
4156
4157    #[doc = "A/D Conversion Channels Select"]
4158    #[inline(always)]
4159    pub fn ansb14(
4160        self,
4161    ) -> crate::common::RegisterField<
4162        14,
4163        0x1,
4164        1,
4165        0,
4166        adansb0::Ansb14,
4167        adansb0::Ansb14,
4168        Adansb0_SPEC,
4169        crate::common::RW,
4170    > {
4171        crate::common::RegisterField::<
4172            14,
4173            0x1,
4174            1,
4175            0,
4176            adansb0::Ansb14,
4177            adansb0::Ansb14,
4178            Adansb0_SPEC,
4179            crate::common::RW,
4180        >::from_register(self, 0)
4181    }
4182
4183    #[doc = "A/D Conversion Channels Select"]
4184    #[inline(always)]
4185    pub fn ansb15(
4186        self,
4187    ) -> crate::common::RegisterField<
4188        15,
4189        0x1,
4190        1,
4191        0,
4192        adansb0::Ansb15,
4193        adansb0::Ansb15,
4194        Adansb0_SPEC,
4195        crate::common::RW,
4196    > {
4197        crate::common::RegisterField::<
4198            15,
4199            0x1,
4200            1,
4201            0,
4202            adansb0::Ansb15,
4203            adansb0::Ansb15,
4204            Adansb0_SPEC,
4205            crate::common::RW,
4206        >::from_register(self, 0)
4207    }
4208}
4209impl ::core::default::Default for Adansb0 {
4210    #[inline(always)]
4211    fn default() -> Adansb0 {
4212        <crate::RegValueT<Adansb0_SPEC> as RegisterValue<_>>::new(0)
4213    }
4214}
4215pub mod adansb0 {
4216
4217    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4218    pub struct Ansb00_SPEC;
4219    pub type Ansb00 = crate::EnumBitfieldStruct<u8, Ansb00_SPEC>;
4220    impl Ansb00 {
4221        #[doc = "Do not select associated input channel."]
4222        pub const _0: Self = Self::new(0);
4223
4224        #[doc = "Select associated input channel."]
4225        pub const _1: Self = Self::new(1);
4226    }
4227    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4228    pub struct Ansb01_SPEC;
4229    pub type Ansb01 = crate::EnumBitfieldStruct<u8, Ansb01_SPEC>;
4230    impl Ansb01 {
4231        #[doc = "Do not select associated input channel."]
4232        pub const _0: Self = Self::new(0);
4233
4234        #[doc = "Select associated input channel."]
4235        pub const _1: Self = Self::new(1);
4236    }
4237    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4238    pub struct Ansb02_SPEC;
4239    pub type Ansb02 = crate::EnumBitfieldStruct<u8, Ansb02_SPEC>;
4240    impl Ansb02 {
4241        #[doc = "Do not select associated input channel."]
4242        pub const _0: Self = Self::new(0);
4243
4244        #[doc = "Select associated input channel."]
4245        pub const _1: Self = Self::new(1);
4246    }
4247    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4248    pub struct Ansb03_SPEC;
4249    pub type Ansb03 = crate::EnumBitfieldStruct<u8, Ansb03_SPEC>;
4250    impl Ansb03 {
4251        #[doc = "Do not select associated input channel."]
4252        pub const _0: Self = Self::new(0);
4253
4254        #[doc = "Select associated input channel."]
4255        pub const _1: Self = Self::new(1);
4256    }
4257    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4258    pub struct Ansb04_SPEC;
4259    pub type Ansb04 = crate::EnumBitfieldStruct<u8, Ansb04_SPEC>;
4260    impl Ansb04 {
4261        #[doc = "Do not select associated input channel."]
4262        pub const _0: Self = Self::new(0);
4263
4264        #[doc = "Select associated input channel."]
4265        pub const _1: Self = Self::new(1);
4266    }
4267    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4268    pub struct Ansb05_SPEC;
4269    pub type Ansb05 = crate::EnumBitfieldStruct<u8, Ansb05_SPEC>;
4270    impl Ansb05 {
4271        #[doc = "Do not select associated input channel."]
4272        pub const _0: Self = Self::new(0);
4273
4274        #[doc = "Select associated input channel."]
4275        pub const _1: Self = Self::new(1);
4276    }
4277    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4278    pub struct Ansb06_SPEC;
4279    pub type Ansb06 = crate::EnumBitfieldStruct<u8, Ansb06_SPEC>;
4280    impl Ansb06 {
4281        #[doc = "Do not select associated input channel."]
4282        pub const _0: Self = Self::new(0);
4283
4284        #[doc = "Select associated input channel."]
4285        pub const _1: Self = Self::new(1);
4286    }
4287    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4288    pub struct Ansb07_SPEC;
4289    pub type Ansb07 = crate::EnumBitfieldStruct<u8, Ansb07_SPEC>;
4290    impl Ansb07 {
4291        #[doc = "Do not select associated input channel."]
4292        pub const _0: Self = Self::new(0);
4293
4294        #[doc = "Select associated input channel."]
4295        pub const _1: Self = Self::new(1);
4296    }
4297    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4298    pub struct Ansb08_SPEC;
4299    pub type Ansb08 = crate::EnumBitfieldStruct<u8, Ansb08_SPEC>;
4300    impl Ansb08 {
4301        #[doc = "Do not select associated input channel."]
4302        pub const _0: Self = Self::new(0);
4303
4304        #[doc = "Select associated input channel."]
4305        pub const _1: Self = Self::new(1);
4306    }
4307    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4308    pub struct Ansb09_SPEC;
4309    pub type Ansb09 = crate::EnumBitfieldStruct<u8, Ansb09_SPEC>;
4310    impl Ansb09 {
4311        #[doc = "Do not select associated input channel."]
4312        pub const _0: Self = Self::new(0);
4313
4314        #[doc = "Select associated input channel."]
4315        pub const _1: Self = Self::new(1);
4316    }
4317    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4318    pub struct Ansb10_SPEC;
4319    pub type Ansb10 = crate::EnumBitfieldStruct<u8, Ansb10_SPEC>;
4320    impl Ansb10 {
4321        #[doc = "Do not select associated input channel."]
4322        pub const _0: Self = Self::new(0);
4323
4324        #[doc = "Select associated input channel."]
4325        pub const _1: Self = Self::new(1);
4326    }
4327    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4328    pub struct Ansb11_SPEC;
4329    pub type Ansb11 = crate::EnumBitfieldStruct<u8, Ansb11_SPEC>;
4330    impl Ansb11 {
4331        #[doc = "Do not select associated input channel."]
4332        pub const _0: Self = Self::new(0);
4333
4334        #[doc = "Select associated input channel."]
4335        pub const _1: Self = Self::new(1);
4336    }
4337    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4338    pub struct Ansb12_SPEC;
4339    pub type Ansb12 = crate::EnumBitfieldStruct<u8, Ansb12_SPEC>;
4340    impl Ansb12 {
4341        #[doc = "Do not select associated input channel."]
4342        pub const _0: Self = Self::new(0);
4343
4344        #[doc = "Select associated input channel."]
4345        pub const _1: Self = Self::new(1);
4346    }
4347    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4348    pub struct Ansb13_SPEC;
4349    pub type Ansb13 = crate::EnumBitfieldStruct<u8, Ansb13_SPEC>;
4350    impl Ansb13 {
4351        #[doc = "Do not select associated input channel."]
4352        pub const _0: Self = Self::new(0);
4353
4354        #[doc = "Select associated input channel."]
4355        pub const _1: Self = Self::new(1);
4356    }
4357    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4358    pub struct Ansb14_SPEC;
4359    pub type Ansb14 = crate::EnumBitfieldStruct<u8, Ansb14_SPEC>;
4360    impl Ansb14 {
4361        #[doc = "Do not select associated input channel."]
4362        pub const _0: Self = Self::new(0);
4363
4364        #[doc = "Select associated input channel."]
4365        pub const _1: Self = Self::new(1);
4366    }
4367    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4368    pub struct Ansb15_SPEC;
4369    pub type Ansb15 = crate::EnumBitfieldStruct<u8, Ansb15_SPEC>;
4370    impl Ansb15 {
4371        #[doc = "Do not select associated input channel."]
4372        pub const _0: Self = Self::new(0);
4373
4374        #[doc = "Select associated input channel."]
4375        pub const _1: Self = Self::new(1);
4376    }
4377}
4378#[doc(hidden)]
4379#[derive(Copy, Clone, Eq, PartialEq)]
4380pub struct Adansb1_SPEC;
4381impl crate::sealed::RegSpec for Adansb1_SPEC {
4382    type DataType = u16;
4383}
4384
4385#[doc = "A/D Channel Select Register B1"]
4386pub type Adansb1 = crate::RegValueT<Adansb1_SPEC>;
4387
4388impl Adansb1 {
4389    #[doc = "A/D Conversion Channels Select"]
4390    #[inline(always)]
4391    pub fn ansb16(
4392        self,
4393    ) -> crate::common::RegisterField<
4394        0,
4395        0x1,
4396        1,
4397        0,
4398        adansb1::Ansb16,
4399        adansb1::Ansb16,
4400        Adansb1_SPEC,
4401        crate::common::RW,
4402    > {
4403        crate::common::RegisterField::<
4404            0,
4405            0x1,
4406            1,
4407            0,
4408            adansb1::Ansb16,
4409            adansb1::Ansb16,
4410            Adansb1_SPEC,
4411            crate::common::RW,
4412        >::from_register(self, 0)
4413    }
4414
4415    #[doc = "A/D Conversion Channels Select"]
4416    #[inline(always)]
4417    pub fn ansb17(
4418        self,
4419    ) -> crate::common::RegisterField<
4420        1,
4421        0x1,
4422        1,
4423        0,
4424        adansb1::Ansb17,
4425        adansb1::Ansb17,
4426        Adansb1_SPEC,
4427        crate::common::RW,
4428    > {
4429        crate::common::RegisterField::<
4430            1,
4431            0x1,
4432            1,
4433            0,
4434            adansb1::Ansb17,
4435            adansb1::Ansb17,
4436            Adansb1_SPEC,
4437            crate::common::RW,
4438        >::from_register(self, 0)
4439    }
4440
4441    #[doc = "A/D Conversion Channels Select"]
4442    #[inline(always)]
4443    pub fn ansb18(
4444        self,
4445    ) -> crate::common::RegisterField<
4446        2,
4447        0x1,
4448        1,
4449        0,
4450        adansb1::Ansb18,
4451        adansb1::Ansb18,
4452        Adansb1_SPEC,
4453        crate::common::RW,
4454    > {
4455        crate::common::RegisterField::<
4456            2,
4457            0x1,
4458            1,
4459            0,
4460            adansb1::Ansb18,
4461            adansb1::Ansb18,
4462            Adansb1_SPEC,
4463            crate::common::RW,
4464        >::from_register(self, 0)
4465    }
4466
4467    #[doc = "A/D Conversion Channels Select"]
4468    #[inline(always)]
4469    pub fn ansb19(
4470        self,
4471    ) -> crate::common::RegisterField<
4472        3,
4473        0x1,
4474        1,
4475        0,
4476        adansb1::Ansb19,
4477        adansb1::Ansb19,
4478        Adansb1_SPEC,
4479        crate::common::RW,
4480    > {
4481        crate::common::RegisterField::<
4482            3,
4483            0x1,
4484            1,
4485            0,
4486            adansb1::Ansb19,
4487            adansb1::Ansb19,
4488            Adansb1_SPEC,
4489            crate::common::RW,
4490        >::from_register(self, 0)
4491    }
4492
4493    #[doc = "A/D Conversion Channels Select"]
4494    #[inline(always)]
4495    pub fn ansb20(
4496        self,
4497    ) -> crate::common::RegisterField<
4498        4,
4499        0x1,
4500        1,
4501        0,
4502        adansb1::Ansb20,
4503        adansb1::Ansb20,
4504        Adansb1_SPEC,
4505        crate::common::RW,
4506    > {
4507        crate::common::RegisterField::<
4508            4,
4509            0x1,
4510            1,
4511            0,
4512            adansb1::Ansb20,
4513            adansb1::Ansb20,
4514            Adansb1_SPEC,
4515            crate::common::RW,
4516        >::from_register(self, 0)
4517    }
4518
4519    #[doc = "A/D Conversion Channels Select"]
4520    #[inline(always)]
4521    pub fn ansb21(
4522        self,
4523    ) -> crate::common::RegisterField<
4524        5,
4525        0x1,
4526        1,
4527        0,
4528        adansb1::Ansb21,
4529        adansb1::Ansb21,
4530        Adansb1_SPEC,
4531        crate::common::RW,
4532    > {
4533        crate::common::RegisterField::<
4534            5,
4535            0x1,
4536            1,
4537            0,
4538            adansb1::Ansb21,
4539            adansb1::Ansb21,
4540            Adansb1_SPEC,
4541            crate::common::RW,
4542        >::from_register(self, 0)
4543    }
4544
4545    #[doc = "A/D Conversion Channels Select"]
4546    #[inline(always)]
4547    pub fn ansb22(
4548        self,
4549    ) -> crate::common::RegisterField<
4550        6,
4551        0x1,
4552        1,
4553        0,
4554        adansb1::Ansb22,
4555        adansb1::Ansb22,
4556        Adansb1_SPEC,
4557        crate::common::RW,
4558    > {
4559        crate::common::RegisterField::<
4560            6,
4561            0x1,
4562            1,
4563            0,
4564            adansb1::Ansb22,
4565            adansb1::Ansb22,
4566            Adansb1_SPEC,
4567            crate::common::RW,
4568        >::from_register(self, 0)
4569    }
4570
4571    #[doc = "A/D Conversion Channels Select"]
4572    #[inline(always)]
4573    pub fn ansb23(
4574        self,
4575    ) -> crate::common::RegisterField<
4576        7,
4577        0x1,
4578        1,
4579        0,
4580        adansb1::Ansb23,
4581        adansb1::Ansb23,
4582        Adansb1_SPEC,
4583        crate::common::RW,
4584    > {
4585        crate::common::RegisterField::<
4586            7,
4587            0x1,
4588            1,
4589            0,
4590            adansb1::Ansb23,
4591            adansb1::Ansb23,
4592            Adansb1_SPEC,
4593            crate::common::RW,
4594        >::from_register(self, 0)
4595    }
4596
4597    #[doc = "A/D Conversion Channels Select"]
4598    #[inline(always)]
4599    pub fn ansb24(
4600        self,
4601    ) -> crate::common::RegisterField<
4602        8,
4603        0x1,
4604        1,
4605        0,
4606        adansb1::Ansb24,
4607        adansb1::Ansb24,
4608        Adansb1_SPEC,
4609        crate::common::RW,
4610    > {
4611        crate::common::RegisterField::<
4612            8,
4613            0x1,
4614            1,
4615            0,
4616            adansb1::Ansb24,
4617            adansb1::Ansb24,
4618            Adansb1_SPEC,
4619            crate::common::RW,
4620        >::from_register(self, 0)
4621    }
4622
4623    #[doc = "A/D Conversion Channels Select"]
4624    #[inline(always)]
4625    pub fn ansb25(
4626        self,
4627    ) -> crate::common::RegisterField<
4628        9,
4629        0x1,
4630        1,
4631        0,
4632        adansb1::Ansb25,
4633        adansb1::Ansb25,
4634        Adansb1_SPEC,
4635        crate::common::RW,
4636    > {
4637        crate::common::RegisterField::<
4638            9,
4639            0x1,
4640            1,
4641            0,
4642            adansb1::Ansb25,
4643            adansb1::Ansb25,
4644            Adansb1_SPEC,
4645            crate::common::RW,
4646        >::from_register(self, 0)
4647    }
4648
4649    #[doc = "A/D Conversion Channels Select"]
4650    #[inline(always)]
4651    pub fn ansb26(
4652        self,
4653    ) -> crate::common::RegisterField<
4654        10,
4655        0x1,
4656        1,
4657        0,
4658        adansb1::Ansb26,
4659        adansb1::Ansb26,
4660        Adansb1_SPEC,
4661        crate::common::RW,
4662    > {
4663        crate::common::RegisterField::<
4664            10,
4665            0x1,
4666            1,
4667            0,
4668            adansb1::Ansb26,
4669            adansb1::Ansb26,
4670            Adansb1_SPEC,
4671            crate::common::RW,
4672        >::from_register(self, 0)
4673    }
4674
4675    #[doc = "A/D Conversion Channels Select"]
4676    #[inline(always)]
4677    pub fn ansb27(
4678        self,
4679    ) -> crate::common::RegisterField<
4680        11,
4681        0x1,
4682        1,
4683        0,
4684        adansb1::Ansb27,
4685        adansb1::Ansb27,
4686        Adansb1_SPEC,
4687        crate::common::RW,
4688    > {
4689        crate::common::RegisterField::<
4690            11,
4691            0x1,
4692            1,
4693            0,
4694            adansb1::Ansb27,
4695            adansb1::Ansb27,
4696            Adansb1_SPEC,
4697            crate::common::RW,
4698        >::from_register(self, 0)
4699    }
4700
4701    #[doc = "A/D Conversion Channels Select"]
4702    #[inline(always)]
4703    pub fn ansb28(
4704        self,
4705    ) -> crate::common::RegisterField<
4706        12,
4707        0x1,
4708        1,
4709        0,
4710        adansb1::Ansb28,
4711        adansb1::Ansb28,
4712        Adansb1_SPEC,
4713        crate::common::RW,
4714    > {
4715        crate::common::RegisterField::<
4716            12,
4717            0x1,
4718            1,
4719            0,
4720            adansb1::Ansb28,
4721            adansb1::Ansb28,
4722            Adansb1_SPEC,
4723            crate::common::RW,
4724        >::from_register(self, 0)
4725    }
4726
4727    #[doc = "A/D Conversion Channels Select"]
4728    #[inline(always)]
4729    pub fn ansb29(
4730        self,
4731    ) -> crate::common::RegisterField<
4732        13,
4733        0x1,
4734        1,
4735        0,
4736        adansb1::Ansb29,
4737        adansb1::Ansb29,
4738        Adansb1_SPEC,
4739        crate::common::RW,
4740    > {
4741        crate::common::RegisterField::<
4742            13,
4743            0x1,
4744            1,
4745            0,
4746            adansb1::Ansb29,
4747            adansb1::Ansb29,
4748            Adansb1_SPEC,
4749            crate::common::RW,
4750        >::from_register(self, 0)
4751    }
4752
4753    #[doc = "A/D Conversion Channels Select"]
4754    #[inline(always)]
4755    pub fn ansb30(
4756        self,
4757    ) -> crate::common::RegisterField<
4758        14,
4759        0x1,
4760        1,
4761        0,
4762        adansb1::Ansb30,
4763        adansb1::Ansb30,
4764        Adansb1_SPEC,
4765        crate::common::RW,
4766    > {
4767        crate::common::RegisterField::<
4768            14,
4769            0x1,
4770            1,
4771            0,
4772            adansb1::Ansb30,
4773            adansb1::Ansb30,
4774            Adansb1_SPEC,
4775            crate::common::RW,
4776        >::from_register(self, 0)
4777    }
4778
4779    #[doc = "A/D Conversion Channels Select"]
4780    #[inline(always)]
4781    pub fn ansb31(
4782        self,
4783    ) -> crate::common::RegisterField<
4784        15,
4785        0x1,
4786        1,
4787        0,
4788        adansb1::Ansb31,
4789        adansb1::Ansb31,
4790        Adansb1_SPEC,
4791        crate::common::RW,
4792    > {
4793        crate::common::RegisterField::<
4794            15,
4795            0x1,
4796            1,
4797            0,
4798            adansb1::Ansb31,
4799            adansb1::Ansb31,
4800            Adansb1_SPEC,
4801            crate::common::RW,
4802        >::from_register(self, 0)
4803    }
4804}
4805impl ::core::default::Default for Adansb1 {
4806    #[inline(always)]
4807    fn default() -> Adansb1 {
4808        <crate::RegValueT<Adansb1_SPEC> as RegisterValue<_>>::new(0)
4809    }
4810}
4811pub mod adansb1 {
4812
4813    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4814    pub struct Ansb16_SPEC;
4815    pub type Ansb16 = crate::EnumBitfieldStruct<u8, Ansb16_SPEC>;
4816    impl Ansb16 {
4817        #[doc = "Do not select associated input channel."]
4818        pub const _0: Self = Self::new(0);
4819
4820        #[doc = "Select associated input channel."]
4821        pub const _1: Self = Self::new(1);
4822    }
4823    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4824    pub struct Ansb17_SPEC;
4825    pub type Ansb17 = crate::EnumBitfieldStruct<u8, Ansb17_SPEC>;
4826    impl Ansb17 {
4827        #[doc = "Do not select associated input channel."]
4828        pub const _0: Self = Self::new(0);
4829
4830        #[doc = "Select associated input channel."]
4831        pub const _1: Self = Self::new(1);
4832    }
4833    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4834    pub struct Ansb18_SPEC;
4835    pub type Ansb18 = crate::EnumBitfieldStruct<u8, Ansb18_SPEC>;
4836    impl Ansb18 {
4837        #[doc = "Do not select associated input channel."]
4838        pub const _0: Self = Self::new(0);
4839
4840        #[doc = "Select associated input channel."]
4841        pub const _1: Self = Self::new(1);
4842    }
4843    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4844    pub struct Ansb19_SPEC;
4845    pub type Ansb19 = crate::EnumBitfieldStruct<u8, Ansb19_SPEC>;
4846    impl Ansb19 {
4847        #[doc = "Do not select associated input channel."]
4848        pub const _0: Self = Self::new(0);
4849
4850        #[doc = "Select associated input channel."]
4851        pub const _1: Self = Self::new(1);
4852    }
4853    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4854    pub struct Ansb20_SPEC;
4855    pub type Ansb20 = crate::EnumBitfieldStruct<u8, Ansb20_SPEC>;
4856    impl Ansb20 {
4857        #[doc = "Do not select associated input channel."]
4858        pub const _0: Self = Self::new(0);
4859
4860        #[doc = "Select associated input channel."]
4861        pub const _1: Self = Self::new(1);
4862    }
4863    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4864    pub struct Ansb21_SPEC;
4865    pub type Ansb21 = crate::EnumBitfieldStruct<u8, Ansb21_SPEC>;
4866    impl Ansb21 {
4867        #[doc = "Do not select associated input channel."]
4868        pub const _0: Self = Self::new(0);
4869
4870        #[doc = "Select associated input channel."]
4871        pub const _1: Self = Self::new(1);
4872    }
4873    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4874    pub struct Ansb22_SPEC;
4875    pub type Ansb22 = crate::EnumBitfieldStruct<u8, Ansb22_SPEC>;
4876    impl Ansb22 {
4877        #[doc = "Do not select associated input channel."]
4878        pub const _0: Self = Self::new(0);
4879
4880        #[doc = "Select associated input channel."]
4881        pub const _1: Self = Self::new(1);
4882    }
4883    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4884    pub struct Ansb23_SPEC;
4885    pub type Ansb23 = crate::EnumBitfieldStruct<u8, Ansb23_SPEC>;
4886    impl Ansb23 {
4887        #[doc = "Do not select associated input channel."]
4888        pub const _0: Self = Self::new(0);
4889
4890        #[doc = "Select associated input channel."]
4891        pub const _1: Self = Self::new(1);
4892    }
4893    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4894    pub struct Ansb24_SPEC;
4895    pub type Ansb24 = crate::EnumBitfieldStruct<u8, Ansb24_SPEC>;
4896    impl Ansb24 {
4897        #[doc = "Do not select associated input channel."]
4898        pub const _0: Self = Self::new(0);
4899
4900        #[doc = "Select associated input channel."]
4901        pub const _1: Self = Self::new(1);
4902    }
4903    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4904    pub struct Ansb25_SPEC;
4905    pub type Ansb25 = crate::EnumBitfieldStruct<u8, Ansb25_SPEC>;
4906    impl Ansb25 {
4907        #[doc = "Do not select associated input channel."]
4908        pub const _0: Self = Self::new(0);
4909
4910        #[doc = "Select associated input channel."]
4911        pub const _1: Self = Self::new(1);
4912    }
4913    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4914    pub struct Ansb26_SPEC;
4915    pub type Ansb26 = crate::EnumBitfieldStruct<u8, Ansb26_SPEC>;
4916    impl Ansb26 {
4917        #[doc = "Do not select associated input channel."]
4918        pub const _0: Self = Self::new(0);
4919
4920        #[doc = "Select associated input channel."]
4921        pub const _1: Self = Self::new(1);
4922    }
4923    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4924    pub struct Ansb27_SPEC;
4925    pub type Ansb27 = crate::EnumBitfieldStruct<u8, Ansb27_SPEC>;
4926    impl Ansb27 {
4927        #[doc = "Do not select associated input channel."]
4928        pub const _0: Self = Self::new(0);
4929
4930        #[doc = "Select associated input channel."]
4931        pub const _1: Self = Self::new(1);
4932    }
4933    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4934    pub struct Ansb28_SPEC;
4935    pub type Ansb28 = crate::EnumBitfieldStruct<u8, Ansb28_SPEC>;
4936    impl Ansb28 {
4937        #[doc = "Do not select associated input channel."]
4938        pub const _0: Self = Self::new(0);
4939
4940        #[doc = "Select associated input channel."]
4941        pub const _1: Self = Self::new(1);
4942    }
4943    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4944    pub struct Ansb29_SPEC;
4945    pub type Ansb29 = crate::EnumBitfieldStruct<u8, Ansb29_SPEC>;
4946    impl Ansb29 {
4947        #[doc = "Do not select associated input channel."]
4948        pub const _0: Self = Self::new(0);
4949
4950        #[doc = "Select associated input channel."]
4951        pub const _1: Self = Self::new(1);
4952    }
4953    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4954    pub struct Ansb30_SPEC;
4955    pub type Ansb30 = crate::EnumBitfieldStruct<u8, Ansb30_SPEC>;
4956    impl Ansb30 {
4957        #[doc = "Do not select associated input channel."]
4958        pub const _0: Self = Self::new(0);
4959
4960        #[doc = "Select associated input channel."]
4961        pub const _1: Self = Self::new(1);
4962    }
4963    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4964    pub struct Ansb31_SPEC;
4965    pub type Ansb31 = crate::EnumBitfieldStruct<u8, Ansb31_SPEC>;
4966    impl Ansb31 {
4967        #[doc = "Do not select associated input channel."]
4968        pub const _0: Self = Self::new(0);
4969
4970        #[doc = "Select associated input channel."]
4971        pub const _1: Self = Self::new(1);
4972    }
4973}
4974#[doc(hidden)]
4975#[derive(Copy, Clone, Eq, PartialEq)]
4976pub struct Addbldr_SPEC;
4977impl crate::sealed::RegSpec for Addbldr_SPEC {
4978    type DataType = u16;
4979}
4980
4981#[doc = "A/D Data Duplexing Register"]
4982pub type Addbldr = crate::RegValueT<Addbldr_SPEC>;
4983
4984impl Addbldr {
4985    #[doc = "Converted Value 15 to 0"]
4986    #[inline(always)]
4987    pub fn addbldr(
4988        self,
4989    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Addbldr_SPEC, crate::common::R>
4990    {
4991        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Addbldr_SPEC,crate::common::R>::from_register(self,0)
4992    }
4993}
4994impl ::core::default::Default for Addbldr {
4995    #[inline(always)]
4996    fn default() -> Addbldr {
4997        <crate::RegValueT<Addbldr_SPEC> as RegisterValue<_>>::new(0)
4998    }
4999}
5000
5001#[doc(hidden)]
5002#[derive(Copy, Clone, Eq, PartialEq)]
5003pub struct Adtsdr_SPEC;
5004impl crate::sealed::RegSpec for Adtsdr_SPEC {
5005    type DataType = u16;
5006}
5007
5008#[doc = "A/D Temperature Sensor Data Register"]
5009pub type Adtsdr = crate::RegValueT<Adtsdr_SPEC>;
5010
5011impl Adtsdr {
5012    #[doc = "Converted Value 15 to 0"]
5013    #[inline(always)]
5014    pub fn adtsdr(
5015        self,
5016    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Adtsdr_SPEC, crate::common::R>
5017    {
5018        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Adtsdr_SPEC,crate::common::R>::from_register(self,0)
5019    }
5020}
5021impl ::core::default::Default for Adtsdr {
5022    #[inline(always)]
5023    fn default() -> Adtsdr {
5024        <crate::RegValueT<Adtsdr_SPEC> as RegisterValue<_>>::new(0)
5025    }
5026}
5027
5028#[doc(hidden)]
5029#[derive(Copy, Clone, Eq, PartialEq)]
5030pub struct Adocdr_SPEC;
5031impl crate::sealed::RegSpec for Adocdr_SPEC {
5032    type DataType = u16;
5033}
5034
5035#[doc = "A/D Internal Reference Voltage Data Register"]
5036pub type Adocdr = crate::RegValueT<Adocdr_SPEC>;
5037
5038impl Adocdr {
5039    #[doc = "Converted Value 15 to 0"]
5040    #[inline(always)]
5041    pub fn adocdr(
5042        self,
5043    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Adocdr_SPEC, crate::common::R>
5044    {
5045        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Adocdr_SPEC,crate::common::R>::from_register(self,0)
5046    }
5047}
5048impl ::core::default::Default for Adocdr {
5049    #[inline(always)]
5050    fn default() -> Adocdr {
5051        <crate::RegValueT<Adocdr_SPEC> as RegisterValue<_>>::new(0)
5052    }
5053}
5054
5055#[doc(hidden)]
5056#[derive(Copy, Clone, Eq, PartialEq)]
5057pub struct Adrd_SPEC;
5058impl crate::sealed::RegSpec for Adrd_SPEC {
5059    type DataType = u16;
5060}
5061
5062#[doc = "A/D Self-Diagnosis Data Register"]
5063pub type Adrd = crate::RegValueT<Adrd_SPEC>;
5064
5065impl Adrd {
5066    #[doc = "Converted Value 11 to 0"]
5067    #[inline(always)]
5068    pub fn ad(
5069        self,
5070    ) -> crate::common::RegisterField<0, 0xfff, 1, 0, u16, u16, Adrd_SPEC, crate::common::R> {
5071        crate::common::RegisterField::<0,0xfff,1,0,u16,u16,Adrd_SPEC,crate::common::R>::from_register(self,0)
5072    }
5073
5074    #[doc = "Self-Diagnosis Status"]
5075    #[inline(always)]
5076    pub fn diagst(
5077        self,
5078    ) -> crate::common::RegisterField<
5079        14,
5080        0x3,
5081        1,
5082        0,
5083        adrd::Diagst,
5084        adrd::Diagst,
5085        Adrd_SPEC,
5086        crate::common::R,
5087    > {
5088        crate::common::RegisterField::<
5089            14,
5090            0x3,
5091            1,
5092            0,
5093            adrd::Diagst,
5094            adrd::Diagst,
5095            Adrd_SPEC,
5096            crate::common::R,
5097        >::from_register(self, 0)
5098    }
5099}
5100impl ::core::default::Default for Adrd {
5101    #[inline(always)]
5102    fn default() -> Adrd {
5103        <crate::RegValueT<Adrd_SPEC> as RegisterValue<_>>::new(0)
5104    }
5105}
5106pub mod adrd {
5107
5108    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5109    pub struct Diagst_SPEC;
5110    pub type Diagst = crate::EnumBitfieldStruct<u8, Diagst_SPEC>;
5111    impl Diagst {
5112        #[doc = "Self-diagnosis not executed after power-on."]
5113        pub const _00: Self = Self::new(0);
5114
5115        #[doc = "Self-diagnosis was executed using the 0 V voltage."]
5116        pub const _01: Self = Self::new(1);
5117
5118        #[doc = "Self-diagnosis was executed using the reference voltage × 1/2."]
5119        pub const _10: Self = Self::new(2);
5120
5121        #[doc = "Self-diagnosis was executed using the reference voltage ."]
5122        pub const _11: Self = Self::new(3);
5123    }
5124}
5125#[doc(hidden)]
5126#[derive(Copy, Clone, Eq, PartialEq)]
5127pub struct Addr_SPEC;
5128impl crate::sealed::RegSpec for Addr_SPEC {
5129    type DataType = u16;
5130}
5131
5132#[doc = "A/D Data Registers %s"]
5133pub type Addr = crate::RegValueT<Addr_SPEC>;
5134
5135impl Addr {
5136    #[doc = "Converted Value 15 to 0"]
5137    #[inline(always)]
5138    pub fn addr(
5139        self,
5140    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Addr_SPEC, crate::common::R> {
5141        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Addr_SPEC,crate::common::R>::from_register(self,0)
5142    }
5143}
5144impl ::core::default::Default for Addr {
5145    #[inline(always)]
5146    fn default() -> Addr {
5147        <crate::RegValueT<Addr_SPEC> as RegisterValue<_>>::new(0)
5148    }
5149}
5150
5151#[doc(hidden)]
5152#[derive(Copy, Clone, Eq, PartialEq)]
5153pub struct Addiscr_SPEC;
5154impl crate::sealed::RegSpec for Addiscr_SPEC {
5155    type DataType = u8;
5156}
5157
5158#[doc = "A/D Disconnection Detection Control Register"]
5159pub type Addiscr = crate::RegValueT<Addiscr_SPEC>;
5160
5161impl Addiscr {
5162    #[doc = "Disconnection Detection Assist Setting"]
5163    #[inline(always)]
5164    pub fn adndis(
5165        self,
5166    ) -> crate::common::RegisterField<
5167        0,
5168        0xf,
5169        1,
5170        0,
5171        addiscr::Adndis,
5172        addiscr::Adndis,
5173        Addiscr_SPEC,
5174        crate::common::RW,
5175    > {
5176        crate::common::RegisterField::<
5177            0,
5178            0xf,
5179            1,
5180            0,
5181            addiscr::Adndis,
5182            addiscr::Adndis,
5183            Addiscr_SPEC,
5184            crate::common::RW,
5185        >::from_register(self, 0)
5186    }
5187
5188    #[doc = "Precharge/discharge select"]
5189    #[inline(always)]
5190    pub fn pchg(
5191        self,
5192    ) -> crate::common::RegisterField<
5193        4,
5194        0x1,
5195        1,
5196        0,
5197        addiscr::Pchg,
5198        addiscr::Pchg,
5199        Addiscr_SPEC,
5200        crate::common::RW,
5201    > {
5202        crate::common::RegisterField::<
5203            4,
5204            0x1,
5205            1,
5206            0,
5207            addiscr::Pchg,
5208            addiscr::Pchg,
5209            Addiscr_SPEC,
5210            crate::common::RW,
5211        >::from_register(self, 0)
5212    }
5213}
5214impl ::core::default::Default for Addiscr {
5215    #[inline(always)]
5216    fn default() -> Addiscr {
5217        <crate::RegValueT<Addiscr_SPEC> as RegisterValue<_>>::new(0)
5218    }
5219}
5220pub mod addiscr {
5221
5222    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5223    pub struct Adndis_SPEC;
5224    pub type Adndis = crate::EnumBitfieldStruct<u8, Adndis_SPEC>;
5225    impl Adndis {
5226        #[doc = "The disconnection detection assist function is disabled"]
5227        pub const _0_X_0: Self = Self::new(0);
5228
5229        #[doc = "Setting prohibited"]
5230        pub const _0_X_1: Self = Self::new(1);
5231    }
5232    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5233    pub struct Pchg_SPEC;
5234    pub type Pchg = crate::EnumBitfieldStruct<u8, Pchg_SPEC>;
5235    impl Pchg {
5236        #[doc = "Discharge"]
5237        pub const _0: Self = Self::new(0);
5238
5239        #[doc = "Precharge"]
5240        pub const _1: Self = Self::new(1);
5241    }
5242}
5243#[doc(hidden)]
5244#[derive(Copy, Clone, Eq, PartialEq)]
5245pub struct Adacsr_SPEC;
5246impl crate::sealed::RegSpec for Adacsr_SPEC {
5247    type DataType = u8;
5248}
5249
5250#[doc = "A/D Conversion Operation Mode Select Register"]
5251pub type Adacsr = crate::RegValueT<Adacsr_SPEC>;
5252
5253impl Adacsr {
5254    #[doc = "Successive Approximation Control Setting"]
5255    #[inline(always)]
5256    pub fn adsac(
5257        self,
5258    ) -> crate::common::RegisterField<
5259        1,
5260        0x1,
5261        1,
5262        0,
5263        adacsr::Adsac,
5264        adacsr::Adsac,
5265        Adacsr_SPEC,
5266        crate::common::RW,
5267    > {
5268        crate::common::RegisterField::<
5269            1,
5270            0x1,
5271            1,
5272            0,
5273            adacsr::Adsac,
5274            adacsr::Adsac,
5275            Adacsr_SPEC,
5276            crate::common::RW,
5277        >::from_register(self, 0)
5278    }
5279}
5280impl ::core::default::Default for Adacsr {
5281    #[inline(always)]
5282    fn default() -> Adacsr {
5283        <crate::RegValueT<Adacsr_SPEC> as RegisterValue<_>>::new(0)
5284    }
5285}
5286pub mod adacsr {
5287
5288    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5289    pub struct Adsac_SPEC;
5290    pub type Adsac = crate::EnumBitfieldStruct<u8, Adsac_SPEC>;
5291    impl Adsac {
5292        #[doc = "Normal conversion mode (default)"]
5293        pub const _0: Self = Self::new(0);
5294
5295        #[doc = "Fast conversion mode"]
5296        pub const _1: Self = Self::new(1);
5297    }
5298}
5299#[doc(hidden)]
5300#[derive(Copy, Clone, Eq, PartialEq)]
5301pub struct Adgspcr_SPEC;
5302impl crate::sealed::RegSpec for Adgspcr_SPEC {
5303    type DataType = u16;
5304}
5305
5306#[doc = "A/D Group Scan Priority Control Register"]
5307pub type Adgspcr = crate::RegValueT<Adgspcr_SPEC>;
5308
5309impl Adgspcr {
5310    #[doc = "Group Priority Operation Setting"]
5311    #[inline(always)]
5312    pub fn pgs(
5313        self,
5314    ) -> crate::common::RegisterField<
5315        0,
5316        0x1,
5317        1,
5318        0,
5319        adgspcr::Pgs,
5320        adgspcr::Pgs,
5321        Adgspcr_SPEC,
5322        crate::common::RW,
5323    > {
5324        crate::common::RegisterField::<
5325            0,
5326            0x1,
5327            1,
5328            0,
5329            adgspcr::Pgs,
5330            adgspcr::Pgs,
5331            Adgspcr_SPEC,
5332            crate::common::RW,
5333        >::from_register(self, 0)
5334    }
5335
5336    #[doc = "Lower-Priority Group Restart Setting"]
5337    #[inline(always)]
5338    pub fn gbrscn(
5339        self,
5340    ) -> crate::common::RegisterField<
5341        1,
5342        0x1,
5343        1,
5344        0,
5345        adgspcr::Gbrscn,
5346        adgspcr::Gbrscn,
5347        Adgspcr_SPEC,
5348        crate::common::RW,
5349    > {
5350        crate::common::RegisterField::<
5351            1,
5352            0x1,
5353            1,
5354            0,
5355            adgspcr::Gbrscn,
5356            adgspcr::Gbrscn,
5357            Adgspcr_SPEC,
5358            crate::common::RW,
5359        >::from_register(self, 0)
5360    }
5361
5362    #[doc = "Single Scan Continuous Start"]
5363    #[inline(always)]
5364    pub fn gbrp(
5365        self,
5366    ) -> crate::common::RegisterField<
5367        15,
5368        0x1,
5369        1,
5370        0,
5371        adgspcr::Gbrp,
5372        adgspcr::Gbrp,
5373        Adgspcr_SPEC,
5374        crate::common::RW,
5375    > {
5376        crate::common::RegisterField::<
5377            15,
5378            0x1,
5379            1,
5380            0,
5381            adgspcr::Gbrp,
5382            adgspcr::Gbrp,
5383            Adgspcr_SPEC,
5384            crate::common::RW,
5385        >::from_register(self, 0)
5386    }
5387}
5388impl ::core::default::Default for Adgspcr {
5389    #[inline(always)]
5390    fn default() -> Adgspcr {
5391        <crate::RegValueT<Adgspcr_SPEC> as RegisterValue<_>>::new(0)
5392    }
5393}
5394pub mod adgspcr {
5395
5396    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5397    pub struct Pgs_SPEC;
5398    pub type Pgs = crate::EnumBitfieldStruct<u8, Pgs_SPEC>;
5399    impl Pgs {
5400        #[doc = "Operate without group priority control."]
5401        pub const _0: Self = Self::new(0);
5402
5403        #[doc = "Operate with group priority control."]
5404        pub const _1: Self = Self::new(1);
5405    }
5406    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5407    pub struct Gbrscn_SPEC;
5408    pub type Gbrscn = crate::EnumBitfieldStruct<u8, Gbrscn_SPEC>;
5409    impl Gbrscn {
5410        #[doc = "Disable rescanning of the group that was stopped in group priority operation"]
5411        pub const _0: Self = Self::new(0);
5412
5413        #[doc = "Enable rescanning of the group that was stopped in group priority operation."]
5414        pub const _1: Self = Self::new(1);
5415    }
5416    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5417    pub struct Gbrp_SPEC;
5418    pub type Gbrp = crate::EnumBitfieldStruct<u8, Gbrp_SPEC>;
5419    impl Gbrp {
5420        #[doc = "Single scan is not continuously activated."]
5421        pub const _0: Self = Self::new(0);
5422
5423        #[doc = "Single scan for the group with the lower-priority is continuously activated."]
5424        pub const _1: Self = Self::new(1);
5425    }
5426}
5427#[doc(hidden)]
5428#[derive(Copy, Clone, Eq, PartialEq)]
5429pub struct Addbldra_SPEC;
5430impl crate::sealed::RegSpec for Addbldra_SPEC {
5431    type DataType = u16;
5432}
5433
5434#[doc = "A/D Data Duplexing Register A"]
5435pub type Addbldra = crate::RegValueT<Addbldra_SPEC>;
5436
5437impl Addbldra {
5438    #[doc = "Converted Value 15 to 0"]
5439    #[inline(always)]
5440    pub fn addbldr(
5441        self,
5442    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Addbldra_SPEC, crate::common::R>
5443    {
5444        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Addbldra_SPEC,crate::common::R>::from_register(self,0)
5445    }
5446}
5447impl ::core::default::Default for Addbldra {
5448    #[inline(always)]
5449    fn default() -> Addbldra {
5450        <crate::RegValueT<Addbldra_SPEC> as RegisterValue<_>>::new(0)
5451    }
5452}
5453
5454#[doc(hidden)]
5455#[derive(Copy, Clone, Eq, PartialEq)]
5456pub struct Addbldrb_SPEC;
5457impl crate::sealed::RegSpec for Addbldrb_SPEC {
5458    type DataType = u16;
5459}
5460
5461#[doc = "A/D Data Duplexing Register B"]
5462pub type Addbldrb = crate::RegValueT<Addbldrb_SPEC>;
5463
5464impl Addbldrb {
5465    #[doc = "Converted Value 15 to 0"]
5466    #[inline(always)]
5467    pub fn addbldr(
5468        self,
5469    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Addbldrb_SPEC, crate::common::R>
5470    {
5471        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Addbldrb_SPEC,crate::common::R>::from_register(self,0)
5472    }
5473}
5474impl ::core::default::Default for Addbldrb {
5475    #[inline(always)]
5476    fn default() -> Addbldrb {
5477        <crate::RegValueT<Addbldrb_SPEC> as RegisterValue<_>>::new(0)
5478    }
5479}
5480
5481#[doc(hidden)]
5482#[derive(Copy, Clone, Eq, PartialEq)]
5483pub struct Adhvrefcnt_SPEC;
5484impl crate::sealed::RegSpec for Adhvrefcnt_SPEC {
5485    type DataType = u8;
5486}
5487
5488#[doc = "A/D High-Potential/Low-Potential Reference Voltage Control Register"]
5489pub type Adhvrefcnt = crate::RegValueT<Adhvrefcnt_SPEC>;
5490
5491impl Adhvrefcnt {
5492    #[doc = "High-Potential Reference Voltage Select"]
5493    #[inline(always)]
5494    pub fn hvsel(
5495        self,
5496    ) -> crate::common::RegisterField<
5497        0,
5498        0x3,
5499        1,
5500        0,
5501        adhvrefcnt::Hvsel,
5502        adhvrefcnt::Hvsel,
5503        Adhvrefcnt_SPEC,
5504        crate::common::RW,
5505    > {
5506        crate::common::RegisterField::<
5507            0,
5508            0x3,
5509            1,
5510            0,
5511            adhvrefcnt::Hvsel,
5512            adhvrefcnt::Hvsel,
5513            Adhvrefcnt_SPEC,
5514            crate::common::RW,
5515        >::from_register(self, 0)
5516    }
5517
5518    #[doc = "Low-Potential Reference Voltage Select"]
5519    #[inline(always)]
5520    pub fn lvsel(
5521        self,
5522    ) -> crate::common::RegisterField<
5523        4,
5524        0x1,
5525        1,
5526        0,
5527        adhvrefcnt::Lvsel,
5528        adhvrefcnt::Lvsel,
5529        Adhvrefcnt_SPEC,
5530        crate::common::RW,
5531    > {
5532        crate::common::RegisterField::<
5533            4,
5534            0x1,
5535            1,
5536            0,
5537            adhvrefcnt::Lvsel,
5538            adhvrefcnt::Lvsel,
5539            Adhvrefcnt_SPEC,
5540            crate::common::RW,
5541        >::from_register(self, 0)
5542    }
5543
5544    #[doc = "Sleep"]
5545    #[inline(always)]
5546    pub fn adslp(
5547        self,
5548    ) -> crate::common::RegisterField<
5549        7,
5550        0x1,
5551        1,
5552        0,
5553        adhvrefcnt::Adslp,
5554        adhvrefcnt::Adslp,
5555        Adhvrefcnt_SPEC,
5556        crate::common::RW,
5557    > {
5558        crate::common::RegisterField::<
5559            7,
5560            0x1,
5561            1,
5562            0,
5563            adhvrefcnt::Adslp,
5564            adhvrefcnt::Adslp,
5565            Adhvrefcnt_SPEC,
5566            crate::common::RW,
5567        >::from_register(self, 0)
5568    }
5569}
5570impl ::core::default::Default for Adhvrefcnt {
5571    #[inline(always)]
5572    fn default() -> Adhvrefcnt {
5573        <crate::RegValueT<Adhvrefcnt_SPEC> as RegisterValue<_>>::new(0)
5574    }
5575}
5576pub mod adhvrefcnt {
5577
5578    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5579    pub struct Hvsel_SPEC;
5580    pub type Hvsel = crate::EnumBitfieldStruct<u8, Hvsel_SPEC>;
5581    impl Hvsel {
5582        #[doc = "VCC0 is selected as the high-potential reference voltage"]
5583        pub const _00: Self = Self::new(0);
5584
5585        #[doc = "VREFH0 is selected as the high-potential reference voltage"]
5586        pub const _01: Self = Self::new(1);
5587
5588        #[doc = "Internal reference voltage is selected as the high-potential reference voltage"]
5589        pub const _10: Self = Self::new(2);
5590
5591        #[doc = "No reference voltage pin is selected (internal node discharge)"]
5592        pub const _11: Self = Self::new(3);
5593    }
5594    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5595    pub struct Lvsel_SPEC;
5596    pub type Lvsel = crate::EnumBitfieldStruct<u8, Lvsel_SPEC>;
5597    impl Lvsel {
5598        #[doc = "VSS0 is selected as the low-potential reference voltage."]
5599        pub const _0: Self = Self::new(0);
5600
5601        #[doc = "VREFL0 is selected as the low-potential reference voltage."]
5602        pub const _1: Self = Self::new(1);
5603    }
5604    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5605    pub struct Adslp_SPEC;
5606    pub type Adslp = crate::EnumBitfieldStruct<u8, Adslp_SPEC>;
5607    impl Adslp {
5608        #[doc = "Normal operation"]
5609        pub const _0: Self = Self::new(0);
5610
5611        #[doc = "Standby state"]
5612        pub const _1: Self = Self::new(1);
5613    }
5614}
5615#[doc(hidden)]
5616#[derive(Copy, Clone, Eq, PartialEq)]
5617pub struct Adwinmon_SPEC;
5618impl crate::sealed::RegSpec for Adwinmon_SPEC {
5619    type DataType = u8;
5620}
5621
5622#[doc = "A/D Compare Function Window A/B Status Monitor Register"]
5623pub type Adwinmon = crate::RegValueT<Adwinmon_SPEC>;
5624
5625impl Adwinmon {
5626    #[doc = "Combination Result Monitor"]
5627    #[inline(always)]
5628    pub fn moncomb(
5629        self,
5630    ) -> crate::common::RegisterField<
5631        0,
5632        0x1,
5633        1,
5634        0,
5635        adwinmon::Moncomb,
5636        adwinmon::Moncomb,
5637        Adwinmon_SPEC,
5638        crate::common::R,
5639    > {
5640        crate::common::RegisterField::<
5641            0,
5642            0x1,
5643            1,
5644            0,
5645            adwinmon::Moncomb,
5646            adwinmon::Moncomb,
5647            Adwinmon_SPEC,
5648            crate::common::R,
5649        >::from_register(self, 0)
5650    }
5651
5652    #[doc = "Comparison Result Monitor A"]
5653    #[inline(always)]
5654    pub fn moncmpa(
5655        self,
5656    ) -> crate::common::RegisterField<
5657        4,
5658        0x1,
5659        1,
5660        0,
5661        adwinmon::Moncmpa,
5662        adwinmon::Moncmpa,
5663        Adwinmon_SPEC,
5664        crate::common::R,
5665    > {
5666        crate::common::RegisterField::<
5667            4,
5668            0x1,
5669            1,
5670            0,
5671            adwinmon::Moncmpa,
5672            adwinmon::Moncmpa,
5673            Adwinmon_SPEC,
5674            crate::common::R,
5675        >::from_register(self, 0)
5676    }
5677
5678    #[doc = "Comparison Result Monitor B"]
5679    #[inline(always)]
5680    pub fn moncmpb(
5681        self,
5682    ) -> crate::common::RegisterField<
5683        5,
5684        0x1,
5685        1,
5686        0,
5687        adwinmon::Moncmpb,
5688        adwinmon::Moncmpb,
5689        Adwinmon_SPEC,
5690        crate::common::R,
5691    > {
5692        crate::common::RegisterField::<
5693            5,
5694            0x1,
5695            1,
5696            0,
5697            adwinmon::Moncmpb,
5698            adwinmon::Moncmpb,
5699            Adwinmon_SPEC,
5700            crate::common::R,
5701        >::from_register(self, 0)
5702    }
5703}
5704impl ::core::default::Default for Adwinmon {
5705    #[inline(always)]
5706    fn default() -> Adwinmon {
5707        <crate::RegValueT<Adwinmon_SPEC> as RegisterValue<_>>::new(0)
5708    }
5709}
5710pub mod adwinmon {
5711
5712    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5713    pub struct Moncomb_SPEC;
5714    pub type Moncomb = crate::EnumBitfieldStruct<u8, Moncomb_SPEC>;
5715    impl Moncomb {
5716        #[doc = "Window A/B composite conditions are not met."]
5717        pub const _0: Self = Self::new(0);
5718
5719        #[doc = "Window A/B composite conditions are met."]
5720        pub const _1: Self = Self::new(1);
5721    }
5722    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5723    pub struct Moncmpa_SPEC;
5724    pub type Moncmpa = crate::EnumBitfieldStruct<u8, Moncmpa_SPEC>;
5725    impl Moncmpa {
5726        #[doc = "Window A comparison conditions are not met."]
5727        pub const _0: Self = Self::new(0);
5728
5729        #[doc = "Window A comparison conditions are met."]
5730        pub const _1: Self = Self::new(1);
5731    }
5732    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5733    pub struct Moncmpb_SPEC;
5734    pub type Moncmpb = crate::EnumBitfieldStruct<u8, Moncmpb_SPEC>;
5735    impl Moncmpb {
5736        #[doc = "Window B comparison conditions are not met."]
5737        pub const _0: Self = Self::new(0);
5738
5739        #[doc = "Window B comparison conditions are met."]
5740        pub const _1: Self = Self::new(1);
5741    }
5742}
5743#[doc(hidden)]
5744#[derive(Copy, Clone, Eq, PartialEq)]
5745pub struct Adcmpcr_SPEC;
5746impl crate::sealed::RegSpec for Adcmpcr_SPEC {
5747    type DataType = u16;
5748}
5749
5750#[doc = "A/D Compare Function Control Register"]
5751pub type Adcmpcr = crate::RegValueT<Adcmpcr_SPEC>;
5752
5753impl Adcmpcr {
5754    #[doc = "Window A/B Composite Conditions Setting"]
5755    #[inline(always)]
5756    pub fn cmpab(
5757        self,
5758    ) -> crate::common::RegisterField<
5759        0,
5760        0x3,
5761        1,
5762        0,
5763        adcmpcr::Cmpab,
5764        adcmpcr::Cmpab,
5765        Adcmpcr_SPEC,
5766        crate::common::RW,
5767    > {
5768        crate::common::RegisterField::<
5769            0,
5770            0x3,
5771            1,
5772            0,
5773            adcmpcr::Cmpab,
5774            adcmpcr::Cmpab,
5775            Adcmpcr_SPEC,
5776            crate::common::RW,
5777        >::from_register(self, 0)
5778    }
5779
5780    #[doc = "Compare Window B Operation Enable"]
5781    #[inline(always)]
5782    pub fn cmpbe(
5783        self,
5784    ) -> crate::common::RegisterField<
5785        9,
5786        0x1,
5787        1,
5788        0,
5789        adcmpcr::Cmpbe,
5790        adcmpcr::Cmpbe,
5791        Adcmpcr_SPEC,
5792        crate::common::RW,
5793    > {
5794        crate::common::RegisterField::<
5795            9,
5796            0x1,
5797            1,
5798            0,
5799            adcmpcr::Cmpbe,
5800            adcmpcr::Cmpbe,
5801            Adcmpcr_SPEC,
5802            crate::common::RW,
5803        >::from_register(self, 0)
5804    }
5805
5806    #[doc = "Compare Window A Operation Enable"]
5807    #[inline(always)]
5808    pub fn cmpae(
5809        self,
5810    ) -> crate::common::RegisterField<
5811        11,
5812        0x1,
5813        1,
5814        0,
5815        adcmpcr::Cmpae,
5816        adcmpcr::Cmpae,
5817        Adcmpcr_SPEC,
5818        crate::common::RW,
5819    > {
5820        crate::common::RegisterField::<
5821            11,
5822            0x1,
5823            1,
5824            0,
5825            adcmpcr::Cmpae,
5826            adcmpcr::Cmpae,
5827            Adcmpcr_SPEC,
5828            crate::common::RW,
5829        >::from_register(self, 0)
5830    }
5831
5832    #[doc = "Compare B Interrupt Enable"]
5833    #[inline(always)]
5834    pub fn cmpbie(
5835        self,
5836    ) -> crate::common::RegisterField<
5837        13,
5838        0x1,
5839        1,
5840        0,
5841        adcmpcr::Cmpbie,
5842        adcmpcr::Cmpbie,
5843        Adcmpcr_SPEC,
5844        crate::common::RW,
5845    > {
5846        crate::common::RegisterField::<
5847            13,
5848            0x1,
5849            1,
5850            0,
5851            adcmpcr::Cmpbie,
5852            adcmpcr::Cmpbie,
5853            Adcmpcr_SPEC,
5854            crate::common::RW,
5855        >::from_register(self, 0)
5856    }
5857
5858    #[doc = "Window Function Setting"]
5859    #[inline(always)]
5860    pub fn wcmpe(
5861        self,
5862    ) -> crate::common::RegisterField<
5863        14,
5864        0x1,
5865        1,
5866        0,
5867        adcmpcr::Wcmpe,
5868        adcmpcr::Wcmpe,
5869        Adcmpcr_SPEC,
5870        crate::common::RW,
5871    > {
5872        crate::common::RegisterField::<
5873            14,
5874            0x1,
5875            1,
5876            0,
5877            adcmpcr::Wcmpe,
5878            adcmpcr::Wcmpe,
5879            Adcmpcr_SPEC,
5880            crate::common::RW,
5881        >::from_register(self, 0)
5882    }
5883
5884    #[doc = "Compare A Interrupt Enable"]
5885    #[inline(always)]
5886    pub fn cmpaie(
5887        self,
5888    ) -> crate::common::RegisterField<
5889        15,
5890        0x1,
5891        1,
5892        0,
5893        adcmpcr::Cmpaie,
5894        adcmpcr::Cmpaie,
5895        Adcmpcr_SPEC,
5896        crate::common::RW,
5897    > {
5898        crate::common::RegisterField::<
5899            15,
5900            0x1,
5901            1,
5902            0,
5903            adcmpcr::Cmpaie,
5904            adcmpcr::Cmpaie,
5905            Adcmpcr_SPEC,
5906            crate::common::RW,
5907        >::from_register(self, 0)
5908    }
5909}
5910impl ::core::default::Default for Adcmpcr {
5911    #[inline(always)]
5912    fn default() -> Adcmpcr {
5913        <crate::RegValueT<Adcmpcr_SPEC> as RegisterValue<_>>::new(0)
5914    }
5915}
5916pub mod adcmpcr {
5917
5918    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5919    pub struct Cmpab_SPEC;
5920    pub type Cmpab = crate::EnumBitfieldStruct<u8, Cmpab_SPEC>;
5921    impl Cmpab {
5922        #[doc = "Output ADC120_WCMPM when window A OR window B comparison conditions are met. Otherwise, output ADC120_WCMPUM."]
5923        pub const _00: Self = Self::new(0);
5924
5925        #[doc = "Output ADC120_WCMPM when window A EXOR window B comparison conditions are met. Otherwise, output ADC120_WCMPUM."]
5926        pub const _01: Self = Self::new(1);
5927
5928        #[doc = "Output ADC120_WCMPM when window A AND window B comparison conditions are met. Otherwise, output ADC120_WCMPUM."]
5929        pub const _10: Self = Self::new(2);
5930
5931        #[doc = "Setting prohibited."]
5932        pub const _11: Self = Self::new(3);
5933    }
5934    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5935    pub struct Cmpbe_SPEC;
5936    pub type Cmpbe = crate::EnumBitfieldStruct<u8, Cmpbe_SPEC>;
5937    impl Cmpbe {
5938        #[doc = "Disable compare window B operation. Disable ADC120_WCMPM and ADC120_WCMPUM outputs."]
5939        pub const _0: Self = Self::new(0);
5940
5941        #[doc = "Enable compare window B operation."]
5942        pub const _1: Self = Self::new(1);
5943    }
5944    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5945    pub struct Cmpae_SPEC;
5946    pub type Cmpae = crate::EnumBitfieldStruct<u8, Cmpae_SPEC>;
5947    impl Cmpae {
5948        #[doc = "Disable compare window A operation. Disable ADC120_WCMPM and ADC120_WCMPUM outputs."]
5949        pub const _0: Self = Self::new(0);
5950
5951        #[doc = "Enable compare window A operation."]
5952        pub const _1: Self = Self::new(1);
5953    }
5954    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5955    pub struct Cmpbie_SPEC;
5956    pub type Cmpbie = crate::EnumBitfieldStruct<u8, Cmpbie_SPEC>;
5957    impl Cmpbie {
5958        #[doc = "Disable ADC120_CMPBI interrupt when comparison conditions (window B) are met."]
5959        pub const _0: Self = Self::new(0);
5960
5961        #[doc = "Enable ADC120_CMPBI interrupt when comparison conditions (window B) are met."]
5962        pub const _1: Self = Self::new(1);
5963    }
5964    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5965    pub struct Wcmpe_SPEC;
5966    pub type Wcmpe = crate::EnumBitfieldStruct<u8, Wcmpe_SPEC>;
5967    impl Wcmpe {
5968        #[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."]
5969        pub const _0: Self = Self::new(0);
5970
5971        #[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."]
5972        pub const _1: Self = Self::new(1);
5973    }
5974    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5975    pub struct Cmpaie_SPEC;
5976    pub type Cmpaie = crate::EnumBitfieldStruct<u8, Cmpaie_SPEC>;
5977    impl Cmpaie {
5978        #[doc = "Disable ADC120_CMPAI interrupt when comparison conditions (window A) are met."]
5979        pub const _0: Self = Self::new(0);
5980
5981        #[doc = "Enable ADC120_CMPAI interrupt when comparison conditions (window A) are met."]
5982        pub const _1: Self = Self::new(1);
5983    }
5984}
5985#[doc(hidden)]
5986#[derive(Copy, Clone, Eq, PartialEq)]
5987pub struct Adcmpanser_SPEC;
5988impl crate::sealed::RegSpec for Adcmpanser_SPEC {
5989    type DataType = u8;
5990}
5991
5992#[doc = "A/D Compare Function Window A Extended Input Select Register"]
5993pub type Adcmpanser = crate::RegValueT<Adcmpanser_SPEC>;
5994
5995impl Adcmpanser {
5996    #[doc = "Temperature Sensor Output Compare Select"]
5997    #[inline(always)]
5998    pub fn cmptsa(
5999        self,
6000    ) -> crate::common::RegisterField<
6001        0,
6002        0x1,
6003        1,
6004        0,
6005        adcmpanser::Cmptsa,
6006        adcmpanser::Cmptsa,
6007        Adcmpanser_SPEC,
6008        crate::common::RW,
6009    > {
6010        crate::common::RegisterField::<
6011            0,
6012            0x1,
6013            1,
6014            0,
6015            adcmpanser::Cmptsa,
6016            adcmpanser::Cmptsa,
6017            Adcmpanser_SPEC,
6018            crate::common::RW,
6019        >::from_register(self, 0)
6020    }
6021
6022    #[doc = "Internal Reference Voltage Compare Select"]
6023    #[inline(always)]
6024    pub fn cmpoca(
6025        self,
6026    ) -> crate::common::RegisterField<
6027        1,
6028        0x1,
6029        1,
6030        0,
6031        adcmpanser::Cmpoca,
6032        adcmpanser::Cmpoca,
6033        Adcmpanser_SPEC,
6034        crate::common::RW,
6035    > {
6036        crate::common::RegisterField::<
6037            1,
6038            0x1,
6039            1,
6040            0,
6041            adcmpanser::Cmpoca,
6042            adcmpanser::Cmpoca,
6043            Adcmpanser_SPEC,
6044            crate::common::RW,
6045        >::from_register(self, 0)
6046    }
6047}
6048impl ::core::default::Default for Adcmpanser {
6049    #[inline(always)]
6050    fn default() -> Adcmpanser {
6051        <crate::RegValueT<Adcmpanser_SPEC> as RegisterValue<_>>::new(0)
6052    }
6053}
6054pub mod adcmpanser {
6055
6056    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6057    pub struct Cmptsa_SPEC;
6058    pub type Cmptsa = crate::EnumBitfieldStruct<u8, Cmptsa_SPEC>;
6059    impl Cmptsa {
6060        #[doc = "Exclude the temperature sensor output from the compare Window A target range."]
6061        pub const _0: Self = Self::new(0);
6062
6063        #[doc = "Include the temperature sensor output in the compare Window A target range."]
6064        pub const _1: Self = Self::new(1);
6065    }
6066    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6067    pub struct Cmpoca_SPEC;
6068    pub type Cmpoca = crate::EnumBitfieldStruct<u8, Cmpoca_SPEC>;
6069    impl Cmpoca {
6070        #[doc = "Exclude the internal reference voltage from the compare Window A target range."]
6071        pub const _0: Self = Self::new(0);
6072
6073        #[doc = "Include the internal reference voltage in the compare Window A target range."]
6074        pub const _1: Self = Self::new(1);
6075    }
6076}
6077#[doc(hidden)]
6078#[derive(Copy, Clone, Eq, PartialEq)]
6079pub struct Adcmpler_SPEC;
6080impl crate::sealed::RegSpec for Adcmpler_SPEC {
6081    type DataType = u8;
6082}
6083
6084#[doc = "A/D Compare Function Window A Extended Input Comparison Condition Setting Register"]
6085pub type Adcmpler = crate::RegValueT<Adcmpler_SPEC>;
6086
6087impl Adcmpler {
6088    #[doc = "Compare Window A Temperature Sensor Output Comparison Condition Select"]
6089    #[inline(always)]
6090    pub fn cmpltsa(
6091        self,
6092    ) -> crate::common::RegisterField<
6093        0,
6094        0x1,
6095        1,
6096        0,
6097        adcmpler::Cmpltsa,
6098        adcmpler::Cmpltsa,
6099        Adcmpler_SPEC,
6100        crate::common::RW,
6101    > {
6102        crate::common::RegisterField::<
6103            0,
6104            0x1,
6105            1,
6106            0,
6107            adcmpler::Cmpltsa,
6108            adcmpler::Cmpltsa,
6109            Adcmpler_SPEC,
6110            crate::common::RW,
6111        >::from_register(self, 0)
6112    }
6113
6114    #[doc = "Compare Window A Internal Reference Voltage Comparison Condition Select"]
6115    #[inline(always)]
6116    pub fn cmploca(
6117        self,
6118    ) -> crate::common::RegisterField<
6119        1,
6120        0x1,
6121        1,
6122        0,
6123        adcmpler::Cmploca,
6124        adcmpler::Cmploca,
6125        Adcmpler_SPEC,
6126        crate::common::RW,
6127    > {
6128        crate::common::RegisterField::<
6129            1,
6130            0x1,
6131            1,
6132            0,
6133            adcmpler::Cmploca,
6134            adcmpler::Cmploca,
6135            Adcmpler_SPEC,
6136            crate::common::RW,
6137        >::from_register(self, 0)
6138    }
6139}
6140impl ::core::default::Default for Adcmpler {
6141    #[inline(always)]
6142    fn default() -> Adcmpler {
6143        <crate::RegValueT<Adcmpler_SPEC> as RegisterValue<_>>::new(0)
6144    }
6145}
6146pub mod adcmpler {
6147
6148    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6149    pub struct Cmpltsa_SPEC;
6150    pub type Cmpltsa = crate::EnumBitfieldStruct<u8, Cmpltsa_SPEC>;
6151    impl Cmpltsa {
6152        #[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"]
6153        pub const _0: Self = Self::new(0);
6154
6155        #[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"]
6156        pub const _1: Self = Self::new(1);
6157    }
6158    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6159    pub struct Cmploca_SPEC;
6160    pub type Cmploca = crate::EnumBitfieldStruct<u8, Cmploca_SPEC>;
6161    impl Cmploca {
6162        #[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"]
6163        pub const _0: Self = Self::new(0);
6164
6165        #[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"]
6166        pub const _1: Self = Self::new(1);
6167    }
6168}
6169#[doc(hidden)]
6170#[derive(Copy, Clone, Eq, PartialEq)]
6171pub struct Adcmpansr0_SPEC;
6172impl crate::sealed::RegSpec for Adcmpansr0_SPEC {
6173    type DataType = u16;
6174}
6175
6176#[doc = "A/D Compare Function Window A Channel Select Register 0"]
6177pub type Adcmpansr0 = crate::RegValueT<Adcmpansr0_SPEC>;
6178
6179impl Adcmpansr0 {
6180    #[doc = "Compare Window A Channel Select"]
6181    #[inline(always)]
6182    pub fn cmpcha00(
6183        self,
6184    ) -> crate::common::RegisterField<
6185        0,
6186        0x1,
6187        1,
6188        0,
6189        adcmpansr0::Cmpcha00,
6190        adcmpansr0::Cmpcha00,
6191        Adcmpansr0_SPEC,
6192        crate::common::RW,
6193    > {
6194        crate::common::RegisterField::<
6195            0,
6196            0x1,
6197            1,
6198            0,
6199            adcmpansr0::Cmpcha00,
6200            adcmpansr0::Cmpcha00,
6201            Adcmpansr0_SPEC,
6202            crate::common::RW,
6203        >::from_register(self, 0)
6204    }
6205
6206    #[doc = "Compare Window A Channel Select"]
6207    #[inline(always)]
6208    pub fn cmpcha01(
6209        self,
6210    ) -> crate::common::RegisterField<
6211        1,
6212        0x1,
6213        1,
6214        0,
6215        adcmpansr0::Cmpcha01,
6216        adcmpansr0::Cmpcha01,
6217        Adcmpansr0_SPEC,
6218        crate::common::RW,
6219    > {
6220        crate::common::RegisterField::<
6221            1,
6222            0x1,
6223            1,
6224            0,
6225            adcmpansr0::Cmpcha01,
6226            adcmpansr0::Cmpcha01,
6227            Adcmpansr0_SPEC,
6228            crate::common::RW,
6229        >::from_register(self, 0)
6230    }
6231
6232    #[doc = "Compare Window A Channel Select"]
6233    #[inline(always)]
6234    pub fn cmpcha02(
6235        self,
6236    ) -> crate::common::RegisterField<
6237        2,
6238        0x1,
6239        1,
6240        0,
6241        adcmpansr0::Cmpcha02,
6242        adcmpansr0::Cmpcha02,
6243        Adcmpansr0_SPEC,
6244        crate::common::RW,
6245    > {
6246        crate::common::RegisterField::<
6247            2,
6248            0x1,
6249            1,
6250            0,
6251            adcmpansr0::Cmpcha02,
6252            adcmpansr0::Cmpcha02,
6253            Adcmpansr0_SPEC,
6254            crate::common::RW,
6255        >::from_register(self, 0)
6256    }
6257
6258    #[doc = "Compare Window A Channel Select"]
6259    #[inline(always)]
6260    pub fn cmpcha03(
6261        self,
6262    ) -> crate::common::RegisterField<
6263        3,
6264        0x1,
6265        1,
6266        0,
6267        adcmpansr0::Cmpcha03,
6268        adcmpansr0::Cmpcha03,
6269        Adcmpansr0_SPEC,
6270        crate::common::RW,
6271    > {
6272        crate::common::RegisterField::<
6273            3,
6274            0x1,
6275            1,
6276            0,
6277            adcmpansr0::Cmpcha03,
6278            adcmpansr0::Cmpcha03,
6279            Adcmpansr0_SPEC,
6280            crate::common::RW,
6281        >::from_register(self, 0)
6282    }
6283
6284    #[doc = "Compare Window A Channel Select"]
6285    #[inline(always)]
6286    pub fn cmpcha04(
6287        self,
6288    ) -> crate::common::RegisterField<
6289        4,
6290        0x1,
6291        1,
6292        0,
6293        adcmpansr0::Cmpcha04,
6294        adcmpansr0::Cmpcha04,
6295        Adcmpansr0_SPEC,
6296        crate::common::RW,
6297    > {
6298        crate::common::RegisterField::<
6299            4,
6300            0x1,
6301            1,
6302            0,
6303            adcmpansr0::Cmpcha04,
6304            adcmpansr0::Cmpcha04,
6305            Adcmpansr0_SPEC,
6306            crate::common::RW,
6307        >::from_register(self, 0)
6308    }
6309
6310    #[doc = "Compare Window A Channel Select"]
6311    #[inline(always)]
6312    pub fn cmpcha05(
6313        self,
6314    ) -> crate::common::RegisterField<
6315        5,
6316        0x1,
6317        1,
6318        0,
6319        adcmpansr0::Cmpcha05,
6320        adcmpansr0::Cmpcha05,
6321        Adcmpansr0_SPEC,
6322        crate::common::RW,
6323    > {
6324        crate::common::RegisterField::<
6325            5,
6326            0x1,
6327            1,
6328            0,
6329            adcmpansr0::Cmpcha05,
6330            adcmpansr0::Cmpcha05,
6331            Adcmpansr0_SPEC,
6332            crate::common::RW,
6333        >::from_register(self, 0)
6334    }
6335
6336    #[doc = "Compare Window A Channel Select"]
6337    #[inline(always)]
6338    pub fn cmpcha06(
6339        self,
6340    ) -> crate::common::RegisterField<
6341        6,
6342        0x1,
6343        1,
6344        0,
6345        adcmpansr0::Cmpcha06,
6346        adcmpansr0::Cmpcha06,
6347        Adcmpansr0_SPEC,
6348        crate::common::RW,
6349    > {
6350        crate::common::RegisterField::<
6351            6,
6352            0x1,
6353            1,
6354            0,
6355            adcmpansr0::Cmpcha06,
6356            adcmpansr0::Cmpcha06,
6357            Adcmpansr0_SPEC,
6358            crate::common::RW,
6359        >::from_register(self, 0)
6360    }
6361
6362    #[doc = "Compare Window A Channel Select"]
6363    #[inline(always)]
6364    pub fn cmpcha07(
6365        self,
6366    ) -> crate::common::RegisterField<
6367        7,
6368        0x1,
6369        1,
6370        0,
6371        adcmpansr0::Cmpcha07,
6372        adcmpansr0::Cmpcha07,
6373        Adcmpansr0_SPEC,
6374        crate::common::RW,
6375    > {
6376        crate::common::RegisterField::<
6377            7,
6378            0x1,
6379            1,
6380            0,
6381            adcmpansr0::Cmpcha07,
6382            adcmpansr0::Cmpcha07,
6383            Adcmpansr0_SPEC,
6384            crate::common::RW,
6385        >::from_register(self, 0)
6386    }
6387
6388    #[doc = "Compare Window A Channel Select"]
6389    #[inline(always)]
6390    pub fn cmpcha08(
6391        self,
6392    ) -> crate::common::RegisterField<
6393        8,
6394        0x1,
6395        1,
6396        0,
6397        adcmpansr0::Cmpcha08,
6398        adcmpansr0::Cmpcha08,
6399        Adcmpansr0_SPEC,
6400        crate::common::RW,
6401    > {
6402        crate::common::RegisterField::<
6403            8,
6404            0x1,
6405            1,
6406            0,
6407            adcmpansr0::Cmpcha08,
6408            adcmpansr0::Cmpcha08,
6409            Adcmpansr0_SPEC,
6410            crate::common::RW,
6411        >::from_register(self, 0)
6412    }
6413
6414    #[doc = "Compare Window A Channel Select"]
6415    #[inline(always)]
6416    pub fn cmpcha09(
6417        self,
6418    ) -> crate::common::RegisterField<
6419        9,
6420        0x1,
6421        1,
6422        0,
6423        adcmpansr0::Cmpcha09,
6424        adcmpansr0::Cmpcha09,
6425        Adcmpansr0_SPEC,
6426        crate::common::RW,
6427    > {
6428        crate::common::RegisterField::<
6429            9,
6430            0x1,
6431            1,
6432            0,
6433            adcmpansr0::Cmpcha09,
6434            adcmpansr0::Cmpcha09,
6435            Adcmpansr0_SPEC,
6436            crate::common::RW,
6437        >::from_register(self, 0)
6438    }
6439
6440    #[doc = "Compare Window A Channel Select"]
6441    #[inline(always)]
6442    pub fn cmpcha10(
6443        self,
6444    ) -> crate::common::RegisterField<
6445        10,
6446        0x1,
6447        1,
6448        0,
6449        adcmpansr0::Cmpcha10,
6450        adcmpansr0::Cmpcha10,
6451        Adcmpansr0_SPEC,
6452        crate::common::RW,
6453    > {
6454        crate::common::RegisterField::<
6455            10,
6456            0x1,
6457            1,
6458            0,
6459            adcmpansr0::Cmpcha10,
6460            adcmpansr0::Cmpcha10,
6461            Adcmpansr0_SPEC,
6462            crate::common::RW,
6463        >::from_register(self, 0)
6464    }
6465
6466    #[doc = "Compare Window A Channel Select"]
6467    #[inline(always)]
6468    pub fn cmpcha11(
6469        self,
6470    ) -> crate::common::RegisterField<
6471        11,
6472        0x1,
6473        1,
6474        0,
6475        adcmpansr0::Cmpcha11,
6476        adcmpansr0::Cmpcha11,
6477        Adcmpansr0_SPEC,
6478        crate::common::RW,
6479    > {
6480        crate::common::RegisterField::<
6481            11,
6482            0x1,
6483            1,
6484            0,
6485            adcmpansr0::Cmpcha11,
6486            adcmpansr0::Cmpcha11,
6487            Adcmpansr0_SPEC,
6488            crate::common::RW,
6489        >::from_register(self, 0)
6490    }
6491
6492    #[doc = "Compare Window A Channel Select"]
6493    #[inline(always)]
6494    pub fn cmpcha12(
6495        self,
6496    ) -> crate::common::RegisterField<
6497        12,
6498        0x1,
6499        1,
6500        0,
6501        adcmpansr0::Cmpcha12,
6502        adcmpansr0::Cmpcha12,
6503        Adcmpansr0_SPEC,
6504        crate::common::RW,
6505    > {
6506        crate::common::RegisterField::<
6507            12,
6508            0x1,
6509            1,
6510            0,
6511            adcmpansr0::Cmpcha12,
6512            adcmpansr0::Cmpcha12,
6513            Adcmpansr0_SPEC,
6514            crate::common::RW,
6515        >::from_register(self, 0)
6516    }
6517
6518    #[doc = "Compare Window A Channel Select"]
6519    #[inline(always)]
6520    pub fn cmpcha13(
6521        self,
6522    ) -> crate::common::RegisterField<
6523        13,
6524        0x1,
6525        1,
6526        0,
6527        adcmpansr0::Cmpcha13,
6528        adcmpansr0::Cmpcha13,
6529        Adcmpansr0_SPEC,
6530        crate::common::RW,
6531    > {
6532        crate::common::RegisterField::<
6533            13,
6534            0x1,
6535            1,
6536            0,
6537            adcmpansr0::Cmpcha13,
6538            adcmpansr0::Cmpcha13,
6539            Adcmpansr0_SPEC,
6540            crate::common::RW,
6541        >::from_register(self, 0)
6542    }
6543
6544    #[doc = "Compare Window A Channel Select"]
6545    #[inline(always)]
6546    pub fn cmpcha14(
6547        self,
6548    ) -> crate::common::RegisterField<
6549        14,
6550        0x1,
6551        1,
6552        0,
6553        adcmpansr0::Cmpcha14,
6554        adcmpansr0::Cmpcha14,
6555        Adcmpansr0_SPEC,
6556        crate::common::RW,
6557    > {
6558        crate::common::RegisterField::<
6559            14,
6560            0x1,
6561            1,
6562            0,
6563            adcmpansr0::Cmpcha14,
6564            adcmpansr0::Cmpcha14,
6565            Adcmpansr0_SPEC,
6566            crate::common::RW,
6567        >::from_register(self, 0)
6568    }
6569
6570    #[doc = "Compare Window A Channel Select"]
6571    #[inline(always)]
6572    pub fn cmpcha15(
6573        self,
6574    ) -> crate::common::RegisterField<
6575        15,
6576        0x1,
6577        1,
6578        0,
6579        adcmpansr0::Cmpcha15,
6580        adcmpansr0::Cmpcha15,
6581        Adcmpansr0_SPEC,
6582        crate::common::RW,
6583    > {
6584        crate::common::RegisterField::<
6585            15,
6586            0x1,
6587            1,
6588            0,
6589            adcmpansr0::Cmpcha15,
6590            adcmpansr0::Cmpcha15,
6591            Adcmpansr0_SPEC,
6592            crate::common::RW,
6593        >::from_register(self, 0)
6594    }
6595}
6596impl ::core::default::Default for Adcmpansr0 {
6597    #[inline(always)]
6598    fn default() -> Adcmpansr0 {
6599        <crate::RegValueT<Adcmpansr0_SPEC> as RegisterValue<_>>::new(0)
6600    }
6601}
6602pub mod adcmpansr0 {
6603
6604    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6605    pub struct Cmpcha00_SPEC;
6606    pub type Cmpcha00 = crate::EnumBitfieldStruct<u8, Cmpcha00_SPEC>;
6607    impl Cmpcha00 {
6608        #[doc = "Disable compare function for associated input channel"]
6609        pub const _0: Self = Self::new(0);
6610
6611        #[doc = "Enable compare function for associated input channel"]
6612        pub const _1: Self = Self::new(1);
6613    }
6614    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6615    pub struct Cmpcha01_SPEC;
6616    pub type Cmpcha01 = crate::EnumBitfieldStruct<u8, Cmpcha01_SPEC>;
6617    impl Cmpcha01 {
6618        #[doc = "Disable compare function for associated input channel"]
6619        pub const _0: Self = Self::new(0);
6620
6621        #[doc = "Enable compare function for associated input channel"]
6622        pub const _1: Self = Self::new(1);
6623    }
6624    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6625    pub struct Cmpcha02_SPEC;
6626    pub type Cmpcha02 = crate::EnumBitfieldStruct<u8, Cmpcha02_SPEC>;
6627    impl Cmpcha02 {
6628        #[doc = "Disable compare function for associated input channel"]
6629        pub const _0: Self = Self::new(0);
6630
6631        #[doc = "Enable compare function for associated input channel"]
6632        pub const _1: Self = Self::new(1);
6633    }
6634    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6635    pub struct Cmpcha03_SPEC;
6636    pub type Cmpcha03 = crate::EnumBitfieldStruct<u8, Cmpcha03_SPEC>;
6637    impl Cmpcha03 {
6638        #[doc = "Disable compare function for associated input channel"]
6639        pub const _0: Self = Self::new(0);
6640
6641        #[doc = "Enable compare function for associated input channel"]
6642        pub const _1: Self = Self::new(1);
6643    }
6644    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6645    pub struct Cmpcha04_SPEC;
6646    pub type Cmpcha04 = crate::EnumBitfieldStruct<u8, Cmpcha04_SPEC>;
6647    impl Cmpcha04 {
6648        #[doc = "Disable compare function for associated input channel"]
6649        pub const _0: Self = Self::new(0);
6650
6651        #[doc = "Enable compare function for associated input channel"]
6652        pub const _1: Self = Self::new(1);
6653    }
6654    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6655    pub struct Cmpcha05_SPEC;
6656    pub type Cmpcha05 = crate::EnumBitfieldStruct<u8, Cmpcha05_SPEC>;
6657    impl Cmpcha05 {
6658        #[doc = "Disable compare function for associated input channel"]
6659        pub const _0: Self = Self::new(0);
6660
6661        #[doc = "Enable compare function for associated input channel"]
6662        pub const _1: Self = Self::new(1);
6663    }
6664    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6665    pub struct Cmpcha06_SPEC;
6666    pub type Cmpcha06 = crate::EnumBitfieldStruct<u8, Cmpcha06_SPEC>;
6667    impl Cmpcha06 {
6668        #[doc = "Disable compare function for associated input channel"]
6669        pub const _0: Self = Self::new(0);
6670
6671        #[doc = "Enable compare function for associated input channel"]
6672        pub const _1: Self = Self::new(1);
6673    }
6674    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6675    pub struct Cmpcha07_SPEC;
6676    pub type Cmpcha07 = crate::EnumBitfieldStruct<u8, Cmpcha07_SPEC>;
6677    impl Cmpcha07 {
6678        #[doc = "Disable compare function for associated input channel"]
6679        pub const _0: Self = Self::new(0);
6680
6681        #[doc = "Enable compare function for associated input channel"]
6682        pub const _1: Self = Self::new(1);
6683    }
6684    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6685    pub struct Cmpcha08_SPEC;
6686    pub type Cmpcha08 = crate::EnumBitfieldStruct<u8, Cmpcha08_SPEC>;
6687    impl Cmpcha08 {
6688        #[doc = "Disable compare function for associated input channel"]
6689        pub const _0: Self = Self::new(0);
6690
6691        #[doc = "Enable compare function for associated input channel"]
6692        pub const _1: Self = Self::new(1);
6693    }
6694    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6695    pub struct Cmpcha09_SPEC;
6696    pub type Cmpcha09 = crate::EnumBitfieldStruct<u8, Cmpcha09_SPEC>;
6697    impl Cmpcha09 {
6698        #[doc = "Disable compare function for associated input channel"]
6699        pub const _0: Self = Self::new(0);
6700
6701        #[doc = "Enable compare function for associated input channel"]
6702        pub const _1: Self = Self::new(1);
6703    }
6704    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6705    pub struct Cmpcha10_SPEC;
6706    pub type Cmpcha10 = crate::EnumBitfieldStruct<u8, Cmpcha10_SPEC>;
6707    impl Cmpcha10 {
6708        #[doc = "Disable compare function for associated input channel"]
6709        pub const _0: Self = Self::new(0);
6710
6711        #[doc = "Enable compare function for associated input channel"]
6712        pub const _1: Self = Self::new(1);
6713    }
6714    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6715    pub struct Cmpcha11_SPEC;
6716    pub type Cmpcha11 = crate::EnumBitfieldStruct<u8, Cmpcha11_SPEC>;
6717    impl Cmpcha11 {
6718        #[doc = "Disable compare function for associated input channel"]
6719        pub const _0: Self = Self::new(0);
6720
6721        #[doc = "Enable compare function for associated input channel"]
6722        pub const _1: Self = Self::new(1);
6723    }
6724    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6725    pub struct Cmpcha12_SPEC;
6726    pub type Cmpcha12 = crate::EnumBitfieldStruct<u8, Cmpcha12_SPEC>;
6727    impl Cmpcha12 {
6728        #[doc = "Disable compare function for associated input channel"]
6729        pub const _0: Self = Self::new(0);
6730
6731        #[doc = "Enable compare function for associated input channel"]
6732        pub const _1: Self = Self::new(1);
6733    }
6734    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6735    pub struct Cmpcha13_SPEC;
6736    pub type Cmpcha13 = crate::EnumBitfieldStruct<u8, Cmpcha13_SPEC>;
6737    impl Cmpcha13 {
6738        #[doc = "Disable compare function for associated input channel"]
6739        pub const _0: Self = Self::new(0);
6740
6741        #[doc = "Enable compare function for associated input channel"]
6742        pub const _1: Self = Self::new(1);
6743    }
6744    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6745    pub struct Cmpcha14_SPEC;
6746    pub type Cmpcha14 = crate::EnumBitfieldStruct<u8, Cmpcha14_SPEC>;
6747    impl Cmpcha14 {
6748        #[doc = "Disable compare function for associated input channel"]
6749        pub const _0: Self = Self::new(0);
6750
6751        #[doc = "Enable compare function for associated input channel"]
6752        pub const _1: Self = Self::new(1);
6753    }
6754    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6755    pub struct Cmpcha15_SPEC;
6756    pub type Cmpcha15 = crate::EnumBitfieldStruct<u8, Cmpcha15_SPEC>;
6757    impl Cmpcha15 {
6758        #[doc = "Disable compare function for associated input channel"]
6759        pub const _0: Self = Self::new(0);
6760
6761        #[doc = "Enable compare function for associated input channel"]
6762        pub const _1: Self = Self::new(1);
6763    }
6764}
6765#[doc(hidden)]
6766#[derive(Copy, Clone, Eq, PartialEq)]
6767pub struct Adcmpansr1_SPEC;
6768impl crate::sealed::RegSpec for Adcmpansr1_SPEC {
6769    type DataType = u16;
6770}
6771
6772#[doc = "A/D Compare Function Window A Channel Select Register 1"]
6773pub type Adcmpansr1 = crate::RegValueT<Adcmpansr1_SPEC>;
6774
6775impl Adcmpansr1 {
6776    #[doc = "Compare Window A Channel Select"]
6777    #[inline(always)]
6778    pub fn cmpcha16(
6779        self,
6780    ) -> crate::common::RegisterField<
6781        0,
6782        0x1,
6783        1,
6784        0,
6785        adcmpansr1::Cmpcha16,
6786        adcmpansr1::Cmpcha16,
6787        Adcmpansr1_SPEC,
6788        crate::common::RW,
6789    > {
6790        crate::common::RegisterField::<
6791            0,
6792            0x1,
6793            1,
6794            0,
6795            adcmpansr1::Cmpcha16,
6796            adcmpansr1::Cmpcha16,
6797            Adcmpansr1_SPEC,
6798            crate::common::RW,
6799        >::from_register(self, 0)
6800    }
6801
6802    #[doc = "Compare Window A Channel Select"]
6803    #[inline(always)]
6804    pub fn cmpcha17(
6805        self,
6806    ) -> crate::common::RegisterField<
6807        1,
6808        0x1,
6809        1,
6810        0,
6811        adcmpansr1::Cmpcha17,
6812        adcmpansr1::Cmpcha17,
6813        Adcmpansr1_SPEC,
6814        crate::common::RW,
6815    > {
6816        crate::common::RegisterField::<
6817            1,
6818            0x1,
6819            1,
6820            0,
6821            adcmpansr1::Cmpcha17,
6822            adcmpansr1::Cmpcha17,
6823            Adcmpansr1_SPEC,
6824            crate::common::RW,
6825        >::from_register(self, 0)
6826    }
6827
6828    #[doc = "Compare Window A Channel Select"]
6829    #[inline(always)]
6830    pub fn cmpcha18(
6831        self,
6832    ) -> crate::common::RegisterField<
6833        2,
6834        0x1,
6835        1,
6836        0,
6837        adcmpansr1::Cmpcha18,
6838        adcmpansr1::Cmpcha18,
6839        Adcmpansr1_SPEC,
6840        crate::common::RW,
6841    > {
6842        crate::common::RegisterField::<
6843            2,
6844            0x1,
6845            1,
6846            0,
6847            adcmpansr1::Cmpcha18,
6848            adcmpansr1::Cmpcha18,
6849            Adcmpansr1_SPEC,
6850            crate::common::RW,
6851        >::from_register(self, 0)
6852    }
6853
6854    #[doc = "Compare Window A Channel Select"]
6855    #[inline(always)]
6856    pub fn cmpcha19(
6857        self,
6858    ) -> crate::common::RegisterField<
6859        3,
6860        0x1,
6861        1,
6862        0,
6863        adcmpansr1::Cmpcha19,
6864        adcmpansr1::Cmpcha19,
6865        Adcmpansr1_SPEC,
6866        crate::common::RW,
6867    > {
6868        crate::common::RegisterField::<
6869            3,
6870            0x1,
6871            1,
6872            0,
6873            adcmpansr1::Cmpcha19,
6874            adcmpansr1::Cmpcha19,
6875            Adcmpansr1_SPEC,
6876            crate::common::RW,
6877        >::from_register(self, 0)
6878    }
6879
6880    #[doc = "Compare Window A Channel Select"]
6881    #[inline(always)]
6882    pub fn cmpcha20(
6883        self,
6884    ) -> crate::common::RegisterField<
6885        4,
6886        0x1,
6887        1,
6888        0,
6889        adcmpansr1::Cmpcha20,
6890        adcmpansr1::Cmpcha20,
6891        Adcmpansr1_SPEC,
6892        crate::common::RW,
6893    > {
6894        crate::common::RegisterField::<
6895            4,
6896            0x1,
6897            1,
6898            0,
6899            adcmpansr1::Cmpcha20,
6900            adcmpansr1::Cmpcha20,
6901            Adcmpansr1_SPEC,
6902            crate::common::RW,
6903        >::from_register(self, 0)
6904    }
6905
6906    #[doc = "Compare Window A Channel Select"]
6907    #[inline(always)]
6908    pub fn cmpcha21(
6909        self,
6910    ) -> crate::common::RegisterField<
6911        5,
6912        0x1,
6913        1,
6914        0,
6915        adcmpansr1::Cmpcha21,
6916        adcmpansr1::Cmpcha21,
6917        Adcmpansr1_SPEC,
6918        crate::common::RW,
6919    > {
6920        crate::common::RegisterField::<
6921            5,
6922            0x1,
6923            1,
6924            0,
6925            adcmpansr1::Cmpcha21,
6926            adcmpansr1::Cmpcha21,
6927            Adcmpansr1_SPEC,
6928            crate::common::RW,
6929        >::from_register(self, 0)
6930    }
6931
6932    #[doc = "Compare Window A Channel Select"]
6933    #[inline(always)]
6934    pub fn cmpcha22(
6935        self,
6936    ) -> crate::common::RegisterField<
6937        6,
6938        0x1,
6939        1,
6940        0,
6941        adcmpansr1::Cmpcha22,
6942        adcmpansr1::Cmpcha22,
6943        Adcmpansr1_SPEC,
6944        crate::common::RW,
6945    > {
6946        crate::common::RegisterField::<
6947            6,
6948            0x1,
6949            1,
6950            0,
6951            adcmpansr1::Cmpcha22,
6952            adcmpansr1::Cmpcha22,
6953            Adcmpansr1_SPEC,
6954            crate::common::RW,
6955        >::from_register(self, 0)
6956    }
6957
6958    #[doc = "Compare Window A Channel Select"]
6959    #[inline(always)]
6960    pub fn cmpcha23(
6961        self,
6962    ) -> crate::common::RegisterField<
6963        7,
6964        0x1,
6965        1,
6966        0,
6967        adcmpansr1::Cmpcha23,
6968        adcmpansr1::Cmpcha23,
6969        Adcmpansr1_SPEC,
6970        crate::common::RW,
6971    > {
6972        crate::common::RegisterField::<
6973            7,
6974            0x1,
6975            1,
6976            0,
6977            adcmpansr1::Cmpcha23,
6978            adcmpansr1::Cmpcha23,
6979            Adcmpansr1_SPEC,
6980            crate::common::RW,
6981        >::from_register(self, 0)
6982    }
6983
6984    #[doc = "Compare Window A Channel Select"]
6985    #[inline(always)]
6986    pub fn cmpcha24(
6987        self,
6988    ) -> crate::common::RegisterField<
6989        8,
6990        0x1,
6991        1,
6992        0,
6993        adcmpansr1::Cmpcha24,
6994        adcmpansr1::Cmpcha24,
6995        Adcmpansr1_SPEC,
6996        crate::common::RW,
6997    > {
6998        crate::common::RegisterField::<
6999            8,
7000            0x1,
7001            1,
7002            0,
7003            adcmpansr1::Cmpcha24,
7004            adcmpansr1::Cmpcha24,
7005            Adcmpansr1_SPEC,
7006            crate::common::RW,
7007        >::from_register(self, 0)
7008    }
7009
7010    #[doc = "Compare Window A Channel Select"]
7011    #[inline(always)]
7012    pub fn cmpcha25(
7013        self,
7014    ) -> crate::common::RegisterField<
7015        9,
7016        0x1,
7017        1,
7018        0,
7019        adcmpansr1::Cmpcha25,
7020        adcmpansr1::Cmpcha25,
7021        Adcmpansr1_SPEC,
7022        crate::common::RW,
7023    > {
7024        crate::common::RegisterField::<
7025            9,
7026            0x1,
7027            1,
7028            0,
7029            adcmpansr1::Cmpcha25,
7030            adcmpansr1::Cmpcha25,
7031            Adcmpansr1_SPEC,
7032            crate::common::RW,
7033        >::from_register(self, 0)
7034    }
7035
7036    #[doc = "Compare Window A Channel Select"]
7037    #[inline(always)]
7038    pub fn cmpcha26(
7039        self,
7040    ) -> crate::common::RegisterField<
7041        10,
7042        0x1,
7043        1,
7044        0,
7045        adcmpansr1::Cmpcha26,
7046        adcmpansr1::Cmpcha26,
7047        Adcmpansr1_SPEC,
7048        crate::common::RW,
7049    > {
7050        crate::common::RegisterField::<
7051            10,
7052            0x1,
7053            1,
7054            0,
7055            adcmpansr1::Cmpcha26,
7056            adcmpansr1::Cmpcha26,
7057            Adcmpansr1_SPEC,
7058            crate::common::RW,
7059        >::from_register(self, 0)
7060    }
7061
7062    #[doc = "Compare Window A Channel Select"]
7063    #[inline(always)]
7064    pub fn cmpcha27(
7065        self,
7066    ) -> crate::common::RegisterField<
7067        11,
7068        0x1,
7069        1,
7070        0,
7071        adcmpansr1::Cmpcha27,
7072        adcmpansr1::Cmpcha27,
7073        Adcmpansr1_SPEC,
7074        crate::common::RW,
7075    > {
7076        crate::common::RegisterField::<
7077            11,
7078            0x1,
7079            1,
7080            0,
7081            adcmpansr1::Cmpcha27,
7082            adcmpansr1::Cmpcha27,
7083            Adcmpansr1_SPEC,
7084            crate::common::RW,
7085        >::from_register(self, 0)
7086    }
7087
7088    #[doc = "Compare Window A Channel Select"]
7089    #[inline(always)]
7090    pub fn cmpcha28(
7091        self,
7092    ) -> crate::common::RegisterField<
7093        12,
7094        0x1,
7095        1,
7096        0,
7097        adcmpansr1::Cmpcha28,
7098        adcmpansr1::Cmpcha28,
7099        Adcmpansr1_SPEC,
7100        crate::common::RW,
7101    > {
7102        crate::common::RegisterField::<
7103            12,
7104            0x1,
7105            1,
7106            0,
7107            adcmpansr1::Cmpcha28,
7108            adcmpansr1::Cmpcha28,
7109            Adcmpansr1_SPEC,
7110            crate::common::RW,
7111        >::from_register(self, 0)
7112    }
7113
7114    #[doc = "Compare Window A Channel Select"]
7115    #[inline(always)]
7116    pub fn cmpcha29(
7117        self,
7118    ) -> crate::common::RegisterField<
7119        13,
7120        0x1,
7121        1,
7122        0,
7123        adcmpansr1::Cmpcha29,
7124        adcmpansr1::Cmpcha29,
7125        Adcmpansr1_SPEC,
7126        crate::common::RW,
7127    > {
7128        crate::common::RegisterField::<
7129            13,
7130            0x1,
7131            1,
7132            0,
7133            adcmpansr1::Cmpcha29,
7134            adcmpansr1::Cmpcha29,
7135            Adcmpansr1_SPEC,
7136            crate::common::RW,
7137        >::from_register(self, 0)
7138    }
7139
7140    #[doc = "Compare Window A Channel Select"]
7141    #[inline(always)]
7142    pub fn cmpcha30(
7143        self,
7144    ) -> crate::common::RegisterField<
7145        14,
7146        0x1,
7147        1,
7148        0,
7149        adcmpansr1::Cmpcha30,
7150        adcmpansr1::Cmpcha30,
7151        Adcmpansr1_SPEC,
7152        crate::common::RW,
7153    > {
7154        crate::common::RegisterField::<
7155            14,
7156            0x1,
7157            1,
7158            0,
7159            adcmpansr1::Cmpcha30,
7160            adcmpansr1::Cmpcha30,
7161            Adcmpansr1_SPEC,
7162            crate::common::RW,
7163        >::from_register(self, 0)
7164    }
7165
7166    #[doc = "Compare Window A Channel Select"]
7167    #[inline(always)]
7168    pub fn cmpcha31(
7169        self,
7170    ) -> crate::common::RegisterField<
7171        15,
7172        0x1,
7173        1,
7174        0,
7175        adcmpansr1::Cmpcha31,
7176        adcmpansr1::Cmpcha31,
7177        Adcmpansr1_SPEC,
7178        crate::common::RW,
7179    > {
7180        crate::common::RegisterField::<
7181            15,
7182            0x1,
7183            1,
7184            0,
7185            adcmpansr1::Cmpcha31,
7186            adcmpansr1::Cmpcha31,
7187            Adcmpansr1_SPEC,
7188            crate::common::RW,
7189        >::from_register(self, 0)
7190    }
7191}
7192impl ::core::default::Default for Adcmpansr1 {
7193    #[inline(always)]
7194    fn default() -> Adcmpansr1 {
7195        <crate::RegValueT<Adcmpansr1_SPEC> as RegisterValue<_>>::new(0)
7196    }
7197}
7198pub mod adcmpansr1 {
7199
7200    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7201    pub struct Cmpcha16_SPEC;
7202    pub type Cmpcha16 = crate::EnumBitfieldStruct<u8, Cmpcha16_SPEC>;
7203    impl Cmpcha16 {
7204        #[doc = "Disable compare function for associated input channel"]
7205        pub const _0: Self = Self::new(0);
7206
7207        #[doc = "Enable compare function for associated input channel"]
7208        pub const _1: Self = Self::new(1);
7209    }
7210    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7211    pub struct Cmpcha17_SPEC;
7212    pub type Cmpcha17 = crate::EnumBitfieldStruct<u8, Cmpcha17_SPEC>;
7213    impl Cmpcha17 {
7214        #[doc = "Disable compare function for associated input channel"]
7215        pub const _0: Self = Self::new(0);
7216
7217        #[doc = "Enable compare function for associated input channel"]
7218        pub const _1: Self = Self::new(1);
7219    }
7220    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7221    pub struct Cmpcha18_SPEC;
7222    pub type Cmpcha18 = crate::EnumBitfieldStruct<u8, Cmpcha18_SPEC>;
7223    impl Cmpcha18 {
7224        #[doc = "Disable compare function for associated input channel"]
7225        pub const _0: Self = Self::new(0);
7226
7227        #[doc = "Enable compare function for associated input channel"]
7228        pub const _1: Self = Self::new(1);
7229    }
7230    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7231    pub struct Cmpcha19_SPEC;
7232    pub type Cmpcha19 = crate::EnumBitfieldStruct<u8, Cmpcha19_SPEC>;
7233    impl Cmpcha19 {
7234        #[doc = "Disable compare function for associated input channel"]
7235        pub const _0: Self = Self::new(0);
7236
7237        #[doc = "Enable compare function for associated input channel"]
7238        pub const _1: Self = Self::new(1);
7239    }
7240    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7241    pub struct Cmpcha20_SPEC;
7242    pub type Cmpcha20 = crate::EnumBitfieldStruct<u8, Cmpcha20_SPEC>;
7243    impl Cmpcha20 {
7244        #[doc = "Disable compare function for associated input channel"]
7245        pub const _0: Self = Self::new(0);
7246
7247        #[doc = "Enable compare function for associated input channel"]
7248        pub const _1: Self = Self::new(1);
7249    }
7250    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7251    pub struct Cmpcha21_SPEC;
7252    pub type Cmpcha21 = crate::EnumBitfieldStruct<u8, Cmpcha21_SPEC>;
7253    impl Cmpcha21 {
7254        #[doc = "Disable compare function for associated input channel"]
7255        pub const _0: Self = Self::new(0);
7256
7257        #[doc = "Enable compare function for associated input channel"]
7258        pub const _1: Self = Self::new(1);
7259    }
7260    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7261    pub struct Cmpcha22_SPEC;
7262    pub type Cmpcha22 = crate::EnumBitfieldStruct<u8, Cmpcha22_SPEC>;
7263    impl Cmpcha22 {
7264        #[doc = "Disable compare function for associated input channel"]
7265        pub const _0: Self = Self::new(0);
7266
7267        #[doc = "Enable compare function for associated input channel"]
7268        pub const _1: Self = Self::new(1);
7269    }
7270    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7271    pub struct Cmpcha23_SPEC;
7272    pub type Cmpcha23 = crate::EnumBitfieldStruct<u8, Cmpcha23_SPEC>;
7273    impl Cmpcha23 {
7274        #[doc = "Disable compare function for associated input channel"]
7275        pub const _0: Self = Self::new(0);
7276
7277        #[doc = "Enable compare function for associated input channel"]
7278        pub const _1: Self = Self::new(1);
7279    }
7280    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7281    pub struct Cmpcha24_SPEC;
7282    pub type Cmpcha24 = crate::EnumBitfieldStruct<u8, Cmpcha24_SPEC>;
7283    impl Cmpcha24 {
7284        #[doc = "Disable compare function for associated input channel"]
7285        pub const _0: Self = Self::new(0);
7286
7287        #[doc = "Enable compare function for associated input channel"]
7288        pub const _1: Self = Self::new(1);
7289    }
7290    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7291    pub struct Cmpcha25_SPEC;
7292    pub type Cmpcha25 = crate::EnumBitfieldStruct<u8, Cmpcha25_SPEC>;
7293    impl Cmpcha25 {
7294        #[doc = "Disable compare function for associated input channel"]
7295        pub const _0: Self = Self::new(0);
7296
7297        #[doc = "Enable compare function for associated input channel"]
7298        pub const _1: Self = Self::new(1);
7299    }
7300    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7301    pub struct Cmpcha26_SPEC;
7302    pub type Cmpcha26 = crate::EnumBitfieldStruct<u8, Cmpcha26_SPEC>;
7303    impl Cmpcha26 {
7304        #[doc = "Disable compare function for associated input channel"]
7305        pub const _0: Self = Self::new(0);
7306
7307        #[doc = "Enable compare function for associated input channel"]
7308        pub const _1: Self = Self::new(1);
7309    }
7310    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7311    pub struct Cmpcha27_SPEC;
7312    pub type Cmpcha27 = crate::EnumBitfieldStruct<u8, Cmpcha27_SPEC>;
7313    impl Cmpcha27 {
7314        #[doc = "Disable compare function for associated input channel"]
7315        pub const _0: Self = Self::new(0);
7316
7317        #[doc = "Enable compare function for associated input channel"]
7318        pub const _1: Self = Self::new(1);
7319    }
7320    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7321    pub struct Cmpcha28_SPEC;
7322    pub type Cmpcha28 = crate::EnumBitfieldStruct<u8, Cmpcha28_SPEC>;
7323    impl Cmpcha28 {
7324        #[doc = "Disable compare function for associated input channel"]
7325        pub const _0: Self = Self::new(0);
7326
7327        #[doc = "Enable compare function for associated input channel"]
7328        pub const _1: Self = Self::new(1);
7329    }
7330    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7331    pub struct Cmpcha29_SPEC;
7332    pub type Cmpcha29 = crate::EnumBitfieldStruct<u8, Cmpcha29_SPEC>;
7333    impl Cmpcha29 {
7334        #[doc = "Disable compare function for associated input channel"]
7335        pub const _0: Self = Self::new(0);
7336
7337        #[doc = "Enable compare function for associated input channel"]
7338        pub const _1: Self = Self::new(1);
7339    }
7340    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7341    pub struct Cmpcha30_SPEC;
7342    pub type Cmpcha30 = crate::EnumBitfieldStruct<u8, Cmpcha30_SPEC>;
7343    impl Cmpcha30 {
7344        #[doc = "Disable compare function for associated input channel"]
7345        pub const _0: Self = Self::new(0);
7346
7347        #[doc = "Enable compare function for associated input channel"]
7348        pub const _1: Self = Self::new(1);
7349    }
7350    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7351    pub struct Cmpcha31_SPEC;
7352    pub type Cmpcha31 = crate::EnumBitfieldStruct<u8, Cmpcha31_SPEC>;
7353    impl Cmpcha31 {
7354        #[doc = "Disable compare function for associated input channel"]
7355        pub const _0: Self = Self::new(0);
7356
7357        #[doc = "Enable compare function for associated input channel"]
7358        pub const _1: Self = Self::new(1);
7359    }
7360}
7361#[doc(hidden)]
7362#[derive(Copy, Clone, Eq, PartialEq)]
7363pub struct Adcmplr0_SPEC;
7364impl crate::sealed::RegSpec for Adcmplr0_SPEC {
7365    type DataType = u16;
7366}
7367
7368#[doc = "A/D Compare Function Window A Comparison Condition Setting Register 0"]
7369pub type Adcmplr0 = crate::RegValueT<Adcmplr0_SPEC>;
7370
7371impl Adcmplr0 {
7372    #[doc = "Compare Window A Comparison Condition Select"]
7373    #[inline(always)]
7374    pub fn cmplcha00(
7375        self,
7376    ) -> crate::common::RegisterField<
7377        0,
7378        0x1,
7379        1,
7380        0,
7381        adcmplr0::Cmplcha00,
7382        adcmplr0::Cmplcha00,
7383        Adcmplr0_SPEC,
7384        crate::common::RW,
7385    > {
7386        crate::common::RegisterField::<
7387            0,
7388            0x1,
7389            1,
7390            0,
7391            adcmplr0::Cmplcha00,
7392            adcmplr0::Cmplcha00,
7393            Adcmplr0_SPEC,
7394            crate::common::RW,
7395        >::from_register(self, 0)
7396    }
7397
7398    #[doc = "Compare Window A Comparison Condition Select"]
7399    #[inline(always)]
7400    pub fn cmplcha01(
7401        self,
7402    ) -> crate::common::RegisterField<
7403        1,
7404        0x1,
7405        1,
7406        0,
7407        adcmplr0::Cmplcha01,
7408        adcmplr0::Cmplcha01,
7409        Adcmplr0_SPEC,
7410        crate::common::RW,
7411    > {
7412        crate::common::RegisterField::<
7413            1,
7414            0x1,
7415            1,
7416            0,
7417            adcmplr0::Cmplcha01,
7418            adcmplr0::Cmplcha01,
7419            Adcmplr0_SPEC,
7420            crate::common::RW,
7421        >::from_register(self, 0)
7422    }
7423
7424    #[doc = "Compare Window A Comparison Condition Select"]
7425    #[inline(always)]
7426    pub fn cmplcha02(
7427        self,
7428    ) -> crate::common::RegisterField<
7429        2,
7430        0x1,
7431        1,
7432        0,
7433        adcmplr0::Cmplcha02,
7434        adcmplr0::Cmplcha02,
7435        Adcmplr0_SPEC,
7436        crate::common::RW,
7437    > {
7438        crate::common::RegisterField::<
7439            2,
7440            0x1,
7441            1,
7442            0,
7443            adcmplr0::Cmplcha02,
7444            adcmplr0::Cmplcha02,
7445            Adcmplr0_SPEC,
7446            crate::common::RW,
7447        >::from_register(self, 0)
7448    }
7449
7450    #[doc = "Compare Window A Comparison Condition Select"]
7451    #[inline(always)]
7452    pub fn cmplcha03(
7453        self,
7454    ) -> crate::common::RegisterField<
7455        3,
7456        0x1,
7457        1,
7458        0,
7459        adcmplr0::Cmplcha03,
7460        adcmplr0::Cmplcha03,
7461        Adcmplr0_SPEC,
7462        crate::common::RW,
7463    > {
7464        crate::common::RegisterField::<
7465            3,
7466            0x1,
7467            1,
7468            0,
7469            adcmplr0::Cmplcha03,
7470            adcmplr0::Cmplcha03,
7471            Adcmplr0_SPEC,
7472            crate::common::RW,
7473        >::from_register(self, 0)
7474    }
7475
7476    #[doc = "Compare Window A Comparison Condition Select"]
7477    #[inline(always)]
7478    pub fn cmplcha04(
7479        self,
7480    ) -> crate::common::RegisterField<
7481        4,
7482        0x1,
7483        1,
7484        0,
7485        adcmplr0::Cmplcha04,
7486        adcmplr0::Cmplcha04,
7487        Adcmplr0_SPEC,
7488        crate::common::RW,
7489    > {
7490        crate::common::RegisterField::<
7491            4,
7492            0x1,
7493            1,
7494            0,
7495            adcmplr0::Cmplcha04,
7496            adcmplr0::Cmplcha04,
7497            Adcmplr0_SPEC,
7498            crate::common::RW,
7499        >::from_register(self, 0)
7500    }
7501
7502    #[doc = "Compare Window A Comparison Condition Select"]
7503    #[inline(always)]
7504    pub fn cmplcha05(
7505        self,
7506    ) -> crate::common::RegisterField<
7507        5,
7508        0x1,
7509        1,
7510        0,
7511        adcmplr0::Cmplcha05,
7512        adcmplr0::Cmplcha05,
7513        Adcmplr0_SPEC,
7514        crate::common::RW,
7515    > {
7516        crate::common::RegisterField::<
7517            5,
7518            0x1,
7519            1,
7520            0,
7521            adcmplr0::Cmplcha05,
7522            adcmplr0::Cmplcha05,
7523            Adcmplr0_SPEC,
7524            crate::common::RW,
7525        >::from_register(self, 0)
7526    }
7527
7528    #[doc = "Compare Window A Comparison Condition Select"]
7529    #[inline(always)]
7530    pub fn cmplcha06(
7531        self,
7532    ) -> crate::common::RegisterField<
7533        6,
7534        0x1,
7535        1,
7536        0,
7537        adcmplr0::Cmplcha06,
7538        adcmplr0::Cmplcha06,
7539        Adcmplr0_SPEC,
7540        crate::common::RW,
7541    > {
7542        crate::common::RegisterField::<
7543            6,
7544            0x1,
7545            1,
7546            0,
7547            adcmplr0::Cmplcha06,
7548            adcmplr0::Cmplcha06,
7549            Adcmplr0_SPEC,
7550            crate::common::RW,
7551        >::from_register(self, 0)
7552    }
7553
7554    #[doc = "Compare Window A Comparison Condition Select"]
7555    #[inline(always)]
7556    pub fn cmplcha07(
7557        self,
7558    ) -> crate::common::RegisterField<
7559        7,
7560        0x1,
7561        1,
7562        0,
7563        adcmplr0::Cmplcha07,
7564        adcmplr0::Cmplcha07,
7565        Adcmplr0_SPEC,
7566        crate::common::RW,
7567    > {
7568        crate::common::RegisterField::<
7569            7,
7570            0x1,
7571            1,
7572            0,
7573            adcmplr0::Cmplcha07,
7574            adcmplr0::Cmplcha07,
7575            Adcmplr0_SPEC,
7576            crate::common::RW,
7577        >::from_register(self, 0)
7578    }
7579
7580    #[doc = "Compare Window A Comparison Condition Select"]
7581    #[inline(always)]
7582    pub fn cmplcha08(
7583        self,
7584    ) -> crate::common::RegisterField<
7585        8,
7586        0x1,
7587        1,
7588        0,
7589        adcmplr0::Cmplcha08,
7590        adcmplr0::Cmplcha08,
7591        Adcmplr0_SPEC,
7592        crate::common::RW,
7593    > {
7594        crate::common::RegisterField::<
7595            8,
7596            0x1,
7597            1,
7598            0,
7599            adcmplr0::Cmplcha08,
7600            adcmplr0::Cmplcha08,
7601            Adcmplr0_SPEC,
7602            crate::common::RW,
7603        >::from_register(self, 0)
7604    }
7605
7606    #[doc = "Compare Window A Comparison Condition Select"]
7607    #[inline(always)]
7608    pub fn cmplcha09(
7609        self,
7610    ) -> crate::common::RegisterField<
7611        9,
7612        0x1,
7613        1,
7614        0,
7615        adcmplr0::Cmplcha09,
7616        adcmplr0::Cmplcha09,
7617        Adcmplr0_SPEC,
7618        crate::common::RW,
7619    > {
7620        crate::common::RegisterField::<
7621            9,
7622            0x1,
7623            1,
7624            0,
7625            adcmplr0::Cmplcha09,
7626            adcmplr0::Cmplcha09,
7627            Adcmplr0_SPEC,
7628            crate::common::RW,
7629        >::from_register(self, 0)
7630    }
7631
7632    #[doc = "Compare Window A Comparison Condition Select"]
7633    #[inline(always)]
7634    pub fn cmplcha10(
7635        self,
7636    ) -> crate::common::RegisterField<
7637        10,
7638        0x1,
7639        1,
7640        0,
7641        adcmplr0::Cmplcha10,
7642        adcmplr0::Cmplcha10,
7643        Adcmplr0_SPEC,
7644        crate::common::RW,
7645    > {
7646        crate::common::RegisterField::<
7647            10,
7648            0x1,
7649            1,
7650            0,
7651            adcmplr0::Cmplcha10,
7652            adcmplr0::Cmplcha10,
7653            Adcmplr0_SPEC,
7654            crate::common::RW,
7655        >::from_register(self, 0)
7656    }
7657
7658    #[doc = "Compare Window A Comparison Condition Select"]
7659    #[inline(always)]
7660    pub fn cmplcha11(
7661        self,
7662    ) -> crate::common::RegisterField<
7663        11,
7664        0x1,
7665        1,
7666        0,
7667        adcmplr0::Cmplcha11,
7668        adcmplr0::Cmplcha11,
7669        Adcmplr0_SPEC,
7670        crate::common::RW,
7671    > {
7672        crate::common::RegisterField::<
7673            11,
7674            0x1,
7675            1,
7676            0,
7677            adcmplr0::Cmplcha11,
7678            adcmplr0::Cmplcha11,
7679            Adcmplr0_SPEC,
7680            crate::common::RW,
7681        >::from_register(self, 0)
7682    }
7683
7684    #[doc = "Compare Window A Comparison Condition Select"]
7685    #[inline(always)]
7686    pub fn cmplcha12(
7687        self,
7688    ) -> crate::common::RegisterField<
7689        12,
7690        0x1,
7691        1,
7692        0,
7693        adcmplr0::Cmplcha12,
7694        adcmplr0::Cmplcha12,
7695        Adcmplr0_SPEC,
7696        crate::common::RW,
7697    > {
7698        crate::common::RegisterField::<
7699            12,
7700            0x1,
7701            1,
7702            0,
7703            adcmplr0::Cmplcha12,
7704            adcmplr0::Cmplcha12,
7705            Adcmplr0_SPEC,
7706            crate::common::RW,
7707        >::from_register(self, 0)
7708    }
7709
7710    #[doc = "Compare Window A Comparison Condition Select"]
7711    #[inline(always)]
7712    pub fn cmplcha13(
7713        self,
7714    ) -> crate::common::RegisterField<
7715        13,
7716        0x1,
7717        1,
7718        0,
7719        adcmplr0::Cmplcha13,
7720        adcmplr0::Cmplcha13,
7721        Adcmplr0_SPEC,
7722        crate::common::RW,
7723    > {
7724        crate::common::RegisterField::<
7725            13,
7726            0x1,
7727            1,
7728            0,
7729            adcmplr0::Cmplcha13,
7730            adcmplr0::Cmplcha13,
7731            Adcmplr0_SPEC,
7732            crate::common::RW,
7733        >::from_register(self, 0)
7734    }
7735
7736    #[doc = "Compare Window A Comparison Condition Select"]
7737    #[inline(always)]
7738    pub fn cmplcha14(
7739        self,
7740    ) -> crate::common::RegisterField<
7741        14,
7742        0x1,
7743        1,
7744        0,
7745        adcmplr0::Cmplcha14,
7746        adcmplr0::Cmplcha14,
7747        Adcmplr0_SPEC,
7748        crate::common::RW,
7749    > {
7750        crate::common::RegisterField::<
7751            14,
7752            0x1,
7753            1,
7754            0,
7755            adcmplr0::Cmplcha14,
7756            adcmplr0::Cmplcha14,
7757            Adcmplr0_SPEC,
7758            crate::common::RW,
7759        >::from_register(self, 0)
7760    }
7761
7762    #[doc = "Compare Window A Comparison Condition Select"]
7763    #[inline(always)]
7764    pub fn cmplcha15(
7765        self,
7766    ) -> crate::common::RegisterField<
7767        15,
7768        0x1,
7769        1,
7770        0,
7771        adcmplr0::Cmplcha15,
7772        adcmplr0::Cmplcha15,
7773        Adcmplr0_SPEC,
7774        crate::common::RW,
7775    > {
7776        crate::common::RegisterField::<
7777            15,
7778            0x1,
7779            1,
7780            0,
7781            adcmplr0::Cmplcha15,
7782            adcmplr0::Cmplcha15,
7783            Adcmplr0_SPEC,
7784            crate::common::RW,
7785        >::from_register(self, 0)
7786    }
7787}
7788impl ::core::default::Default for Adcmplr0 {
7789    #[inline(always)]
7790    fn default() -> Adcmplr0 {
7791        <crate::RegValueT<Adcmplr0_SPEC> as RegisterValue<_>>::new(0)
7792    }
7793}
7794pub mod adcmplr0 {
7795
7796    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7797    pub struct Cmplcha00_SPEC;
7798    pub type Cmplcha00 = crate::EnumBitfieldStruct<u8, Cmplcha00_SPEC>;
7799    impl Cmplcha00 {
7800        #[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"]
7801        pub const _0: Self = Self::new(0);
7802
7803        #[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"]
7804        pub const _1: Self = Self::new(1);
7805    }
7806    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7807    pub struct Cmplcha01_SPEC;
7808    pub type Cmplcha01 = crate::EnumBitfieldStruct<u8, Cmplcha01_SPEC>;
7809    impl Cmplcha01 {
7810        #[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"]
7811        pub const _0: Self = Self::new(0);
7812
7813        #[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"]
7814        pub const _1: Self = Self::new(1);
7815    }
7816    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7817    pub struct Cmplcha02_SPEC;
7818    pub type Cmplcha02 = crate::EnumBitfieldStruct<u8, Cmplcha02_SPEC>;
7819    impl Cmplcha02 {
7820        #[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"]
7821        pub const _0: Self = Self::new(0);
7822
7823        #[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"]
7824        pub const _1: Self = Self::new(1);
7825    }
7826    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7827    pub struct Cmplcha03_SPEC;
7828    pub type Cmplcha03 = crate::EnumBitfieldStruct<u8, Cmplcha03_SPEC>;
7829    impl Cmplcha03 {
7830        #[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"]
7831        pub const _0: Self = Self::new(0);
7832
7833        #[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"]
7834        pub const _1: Self = Self::new(1);
7835    }
7836    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7837    pub struct Cmplcha04_SPEC;
7838    pub type Cmplcha04 = crate::EnumBitfieldStruct<u8, Cmplcha04_SPEC>;
7839    impl Cmplcha04 {
7840        #[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"]
7841        pub const _0: Self = Self::new(0);
7842
7843        #[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"]
7844        pub const _1: Self = Self::new(1);
7845    }
7846    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7847    pub struct Cmplcha05_SPEC;
7848    pub type Cmplcha05 = crate::EnumBitfieldStruct<u8, Cmplcha05_SPEC>;
7849    impl Cmplcha05 {
7850        #[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"]
7851        pub const _0: Self = Self::new(0);
7852
7853        #[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"]
7854        pub const _1: Self = Self::new(1);
7855    }
7856    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7857    pub struct Cmplcha06_SPEC;
7858    pub type Cmplcha06 = crate::EnumBitfieldStruct<u8, Cmplcha06_SPEC>;
7859    impl Cmplcha06 {
7860        #[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"]
7861        pub const _0: Self = Self::new(0);
7862
7863        #[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"]
7864        pub const _1: Self = Self::new(1);
7865    }
7866    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7867    pub struct Cmplcha07_SPEC;
7868    pub type Cmplcha07 = crate::EnumBitfieldStruct<u8, Cmplcha07_SPEC>;
7869    impl Cmplcha07 {
7870        #[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"]
7871        pub const _0: Self = Self::new(0);
7872
7873        #[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"]
7874        pub const _1: Self = Self::new(1);
7875    }
7876    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7877    pub struct Cmplcha08_SPEC;
7878    pub type Cmplcha08 = crate::EnumBitfieldStruct<u8, Cmplcha08_SPEC>;
7879    impl Cmplcha08 {
7880        #[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"]
7881        pub const _0: Self = Self::new(0);
7882
7883        #[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"]
7884        pub const _1: Self = Self::new(1);
7885    }
7886    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7887    pub struct Cmplcha09_SPEC;
7888    pub type Cmplcha09 = crate::EnumBitfieldStruct<u8, Cmplcha09_SPEC>;
7889    impl Cmplcha09 {
7890        #[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"]
7891        pub const _0: Self = Self::new(0);
7892
7893        #[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"]
7894        pub const _1: Self = Self::new(1);
7895    }
7896    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7897    pub struct Cmplcha10_SPEC;
7898    pub type Cmplcha10 = crate::EnumBitfieldStruct<u8, Cmplcha10_SPEC>;
7899    impl Cmplcha10 {
7900        #[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"]
7901        pub const _0: Self = Self::new(0);
7902
7903        #[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"]
7904        pub const _1: Self = Self::new(1);
7905    }
7906    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7907    pub struct Cmplcha11_SPEC;
7908    pub type Cmplcha11 = crate::EnumBitfieldStruct<u8, Cmplcha11_SPEC>;
7909    impl Cmplcha11 {
7910        #[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"]
7911        pub const _0: Self = Self::new(0);
7912
7913        #[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"]
7914        pub const _1: Self = Self::new(1);
7915    }
7916    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7917    pub struct Cmplcha12_SPEC;
7918    pub type Cmplcha12 = crate::EnumBitfieldStruct<u8, Cmplcha12_SPEC>;
7919    impl Cmplcha12 {
7920        #[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"]
7921        pub const _0: Self = Self::new(0);
7922
7923        #[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"]
7924        pub const _1: Self = Self::new(1);
7925    }
7926    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7927    pub struct Cmplcha13_SPEC;
7928    pub type Cmplcha13 = crate::EnumBitfieldStruct<u8, Cmplcha13_SPEC>;
7929    impl Cmplcha13 {
7930        #[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"]
7931        pub const _0: Self = Self::new(0);
7932
7933        #[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"]
7934        pub const _1: Self = Self::new(1);
7935    }
7936    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7937    pub struct Cmplcha14_SPEC;
7938    pub type Cmplcha14 = crate::EnumBitfieldStruct<u8, Cmplcha14_SPEC>;
7939    impl Cmplcha14 {
7940        #[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"]
7941        pub const _0: Self = Self::new(0);
7942
7943        #[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"]
7944        pub const _1: Self = Self::new(1);
7945    }
7946    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7947    pub struct Cmplcha15_SPEC;
7948    pub type Cmplcha15 = crate::EnumBitfieldStruct<u8, Cmplcha15_SPEC>;
7949    impl Cmplcha15 {
7950        #[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"]
7951        pub const _0: Self = Self::new(0);
7952
7953        #[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"]
7954        pub const _1: Self = Self::new(1);
7955    }
7956}
7957#[doc(hidden)]
7958#[derive(Copy, Clone, Eq, PartialEq)]
7959pub struct Adcmplr1_SPEC;
7960impl crate::sealed::RegSpec for Adcmplr1_SPEC {
7961    type DataType = u16;
7962}
7963
7964#[doc = "A/D Compare Function Window A Comparison Condition Setting Register 1"]
7965pub type Adcmplr1 = crate::RegValueT<Adcmplr1_SPEC>;
7966
7967impl Adcmplr1 {
7968    #[doc = "Compare Window A Comparison Condition Select"]
7969    #[inline(always)]
7970    pub fn cmplcha16(
7971        self,
7972    ) -> crate::common::RegisterField<
7973        0,
7974        0x1,
7975        1,
7976        0,
7977        adcmplr1::Cmplcha16,
7978        adcmplr1::Cmplcha16,
7979        Adcmplr1_SPEC,
7980        crate::common::RW,
7981    > {
7982        crate::common::RegisterField::<
7983            0,
7984            0x1,
7985            1,
7986            0,
7987            adcmplr1::Cmplcha16,
7988            adcmplr1::Cmplcha16,
7989            Adcmplr1_SPEC,
7990            crate::common::RW,
7991        >::from_register(self, 0)
7992    }
7993
7994    #[doc = "Compare Window A Comparison Condition Select"]
7995    #[inline(always)]
7996    pub fn cmplcha17(
7997        self,
7998    ) -> crate::common::RegisterField<
7999        1,
8000        0x1,
8001        1,
8002        0,
8003        adcmplr1::Cmplcha17,
8004        adcmplr1::Cmplcha17,
8005        Adcmplr1_SPEC,
8006        crate::common::RW,
8007    > {
8008        crate::common::RegisterField::<
8009            1,
8010            0x1,
8011            1,
8012            0,
8013            adcmplr1::Cmplcha17,
8014            adcmplr1::Cmplcha17,
8015            Adcmplr1_SPEC,
8016            crate::common::RW,
8017        >::from_register(self, 0)
8018    }
8019
8020    #[doc = "Compare Window A Comparison Condition Select"]
8021    #[inline(always)]
8022    pub fn cmplcha18(
8023        self,
8024    ) -> crate::common::RegisterField<
8025        2,
8026        0x1,
8027        1,
8028        0,
8029        adcmplr1::Cmplcha18,
8030        adcmplr1::Cmplcha18,
8031        Adcmplr1_SPEC,
8032        crate::common::RW,
8033    > {
8034        crate::common::RegisterField::<
8035            2,
8036            0x1,
8037            1,
8038            0,
8039            adcmplr1::Cmplcha18,
8040            adcmplr1::Cmplcha18,
8041            Adcmplr1_SPEC,
8042            crate::common::RW,
8043        >::from_register(self, 0)
8044    }
8045
8046    #[doc = "Compare Window A Comparison Condition Select"]
8047    #[inline(always)]
8048    pub fn cmplcha19(
8049        self,
8050    ) -> crate::common::RegisterField<
8051        3,
8052        0x1,
8053        1,
8054        0,
8055        adcmplr1::Cmplcha19,
8056        adcmplr1::Cmplcha19,
8057        Adcmplr1_SPEC,
8058        crate::common::RW,
8059    > {
8060        crate::common::RegisterField::<
8061            3,
8062            0x1,
8063            1,
8064            0,
8065            adcmplr1::Cmplcha19,
8066            adcmplr1::Cmplcha19,
8067            Adcmplr1_SPEC,
8068            crate::common::RW,
8069        >::from_register(self, 0)
8070    }
8071
8072    #[doc = "Compare Window A Comparison Condition Select"]
8073    #[inline(always)]
8074    pub fn cmplcha20(
8075        self,
8076    ) -> crate::common::RegisterField<
8077        4,
8078        0x1,
8079        1,
8080        0,
8081        adcmplr1::Cmplcha20,
8082        adcmplr1::Cmplcha20,
8083        Adcmplr1_SPEC,
8084        crate::common::RW,
8085    > {
8086        crate::common::RegisterField::<
8087            4,
8088            0x1,
8089            1,
8090            0,
8091            adcmplr1::Cmplcha20,
8092            adcmplr1::Cmplcha20,
8093            Adcmplr1_SPEC,
8094            crate::common::RW,
8095        >::from_register(self, 0)
8096    }
8097
8098    #[doc = "Compare Window A Comparison Condition Select"]
8099    #[inline(always)]
8100    pub fn cmplcha21(
8101        self,
8102    ) -> crate::common::RegisterField<
8103        5,
8104        0x1,
8105        1,
8106        0,
8107        adcmplr1::Cmplcha21,
8108        adcmplr1::Cmplcha21,
8109        Adcmplr1_SPEC,
8110        crate::common::RW,
8111    > {
8112        crate::common::RegisterField::<
8113            5,
8114            0x1,
8115            1,
8116            0,
8117            adcmplr1::Cmplcha21,
8118            adcmplr1::Cmplcha21,
8119            Adcmplr1_SPEC,
8120            crate::common::RW,
8121        >::from_register(self, 0)
8122    }
8123
8124    #[doc = "Compare Window A Comparison Condition Select"]
8125    #[inline(always)]
8126    pub fn cmplcha22(
8127        self,
8128    ) -> crate::common::RegisterField<
8129        6,
8130        0x1,
8131        1,
8132        0,
8133        adcmplr1::Cmplcha22,
8134        adcmplr1::Cmplcha22,
8135        Adcmplr1_SPEC,
8136        crate::common::RW,
8137    > {
8138        crate::common::RegisterField::<
8139            6,
8140            0x1,
8141            1,
8142            0,
8143            adcmplr1::Cmplcha22,
8144            adcmplr1::Cmplcha22,
8145            Adcmplr1_SPEC,
8146            crate::common::RW,
8147        >::from_register(self, 0)
8148    }
8149
8150    #[doc = "Compare Window A Comparison Condition Select"]
8151    #[inline(always)]
8152    pub fn cmplcha23(
8153        self,
8154    ) -> crate::common::RegisterField<
8155        7,
8156        0x1,
8157        1,
8158        0,
8159        adcmplr1::Cmplcha23,
8160        adcmplr1::Cmplcha23,
8161        Adcmplr1_SPEC,
8162        crate::common::RW,
8163    > {
8164        crate::common::RegisterField::<
8165            7,
8166            0x1,
8167            1,
8168            0,
8169            adcmplr1::Cmplcha23,
8170            adcmplr1::Cmplcha23,
8171            Adcmplr1_SPEC,
8172            crate::common::RW,
8173        >::from_register(self, 0)
8174    }
8175
8176    #[doc = "Compare Window A Comparison Condition Select"]
8177    #[inline(always)]
8178    pub fn cmplcha24(
8179        self,
8180    ) -> crate::common::RegisterField<
8181        8,
8182        0x1,
8183        1,
8184        0,
8185        adcmplr1::Cmplcha24,
8186        adcmplr1::Cmplcha24,
8187        Adcmplr1_SPEC,
8188        crate::common::RW,
8189    > {
8190        crate::common::RegisterField::<
8191            8,
8192            0x1,
8193            1,
8194            0,
8195            adcmplr1::Cmplcha24,
8196            adcmplr1::Cmplcha24,
8197            Adcmplr1_SPEC,
8198            crate::common::RW,
8199        >::from_register(self, 0)
8200    }
8201
8202    #[doc = "Compare Window A Comparison Condition Select"]
8203    #[inline(always)]
8204    pub fn cmplcha25(
8205        self,
8206    ) -> crate::common::RegisterField<
8207        9,
8208        0x1,
8209        1,
8210        0,
8211        adcmplr1::Cmplcha25,
8212        adcmplr1::Cmplcha25,
8213        Adcmplr1_SPEC,
8214        crate::common::RW,
8215    > {
8216        crate::common::RegisterField::<
8217            9,
8218            0x1,
8219            1,
8220            0,
8221            adcmplr1::Cmplcha25,
8222            adcmplr1::Cmplcha25,
8223            Adcmplr1_SPEC,
8224            crate::common::RW,
8225        >::from_register(self, 0)
8226    }
8227
8228    #[doc = "Compare Window A Comparison Condition Select"]
8229    #[inline(always)]
8230    pub fn cmplcha26(
8231        self,
8232    ) -> crate::common::RegisterField<
8233        10,
8234        0x1,
8235        1,
8236        0,
8237        adcmplr1::Cmplcha26,
8238        adcmplr1::Cmplcha26,
8239        Adcmplr1_SPEC,
8240        crate::common::RW,
8241    > {
8242        crate::common::RegisterField::<
8243            10,
8244            0x1,
8245            1,
8246            0,
8247            adcmplr1::Cmplcha26,
8248            adcmplr1::Cmplcha26,
8249            Adcmplr1_SPEC,
8250            crate::common::RW,
8251        >::from_register(self, 0)
8252    }
8253
8254    #[doc = "Compare Window A Comparison Condition Select"]
8255    #[inline(always)]
8256    pub fn cmplcha27(
8257        self,
8258    ) -> crate::common::RegisterField<
8259        11,
8260        0x1,
8261        1,
8262        0,
8263        adcmplr1::Cmplcha27,
8264        adcmplr1::Cmplcha27,
8265        Adcmplr1_SPEC,
8266        crate::common::RW,
8267    > {
8268        crate::common::RegisterField::<
8269            11,
8270            0x1,
8271            1,
8272            0,
8273            adcmplr1::Cmplcha27,
8274            adcmplr1::Cmplcha27,
8275            Adcmplr1_SPEC,
8276            crate::common::RW,
8277        >::from_register(self, 0)
8278    }
8279
8280    #[doc = "Compare Window A Comparison Condition Select"]
8281    #[inline(always)]
8282    pub fn cmplcha28(
8283        self,
8284    ) -> crate::common::RegisterField<
8285        12,
8286        0x1,
8287        1,
8288        0,
8289        adcmplr1::Cmplcha28,
8290        adcmplr1::Cmplcha28,
8291        Adcmplr1_SPEC,
8292        crate::common::RW,
8293    > {
8294        crate::common::RegisterField::<
8295            12,
8296            0x1,
8297            1,
8298            0,
8299            adcmplr1::Cmplcha28,
8300            adcmplr1::Cmplcha28,
8301            Adcmplr1_SPEC,
8302            crate::common::RW,
8303        >::from_register(self, 0)
8304    }
8305
8306    #[doc = "Compare Window A Comparison Condition Select"]
8307    #[inline(always)]
8308    pub fn cmplcha29(
8309        self,
8310    ) -> crate::common::RegisterField<
8311        13,
8312        0x1,
8313        1,
8314        0,
8315        adcmplr1::Cmplcha29,
8316        adcmplr1::Cmplcha29,
8317        Adcmplr1_SPEC,
8318        crate::common::RW,
8319    > {
8320        crate::common::RegisterField::<
8321            13,
8322            0x1,
8323            1,
8324            0,
8325            adcmplr1::Cmplcha29,
8326            adcmplr1::Cmplcha29,
8327            Adcmplr1_SPEC,
8328            crate::common::RW,
8329        >::from_register(self, 0)
8330    }
8331
8332    #[doc = "Compare Window A Comparison Condition Select"]
8333    #[inline(always)]
8334    pub fn cmplcha30(
8335        self,
8336    ) -> crate::common::RegisterField<
8337        14,
8338        0x1,
8339        1,
8340        0,
8341        adcmplr1::Cmplcha30,
8342        adcmplr1::Cmplcha30,
8343        Adcmplr1_SPEC,
8344        crate::common::RW,
8345    > {
8346        crate::common::RegisterField::<
8347            14,
8348            0x1,
8349            1,
8350            0,
8351            adcmplr1::Cmplcha30,
8352            adcmplr1::Cmplcha30,
8353            Adcmplr1_SPEC,
8354            crate::common::RW,
8355        >::from_register(self, 0)
8356    }
8357
8358    #[doc = "Compare Window A Comparison Condition Select"]
8359    #[inline(always)]
8360    pub fn cmplcha31(
8361        self,
8362    ) -> crate::common::RegisterField<
8363        15,
8364        0x1,
8365        1,
8366        0,
8367        adcmplr1::Cmplcha31,
8368        adcmplr1::Cmplcha31,
8369        Adcmplr1_SPEC,
8370        crate::common::RW,
8371    > {
8372        crate::common::RegisterField::<
8373            15,
8374            0x1,
8375            1,
8376            0,
8377            adcmplr1::Cmplcha31,
8378            adcmplr1::Cmplcha31,
8379            Adcmplr1_SPEC,
8380            crate::common::RW,
8381        >::from_register(self, 0)
8382    }
8383}
8384impl ::core::default::Default for Adcmplr1 {
8385    #[inline(always)]
8386    fn default() -> Adcmplr1 {
8387        <crate::RegValueT<Adcmplr1_SPEC> as RegisterValue<_>>::new(0)
8388    }
8389}
8390pub mod adcmplr1 {
8391
8392    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8393    pub struct Cmplcha16_SPEC;
8394    pub type Cmplcha16 = crate::EnumBitfieldStruct<u8, Cmplcha16_SPEC>;
8395    impl Cmplcha16 {
8396        #[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"]
8397        pub const _0: Self = Self::new(0);
8398
8399        #[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"]
8400        pub const _1: Self = Self::new(1);
8401    }
8402    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8403    pub struct Cmplcha17_SPEC;
8404    pub type Cmplcha17 = crate::EnumBitfieldStruct<u8, Cmplcha17_SPEC>;
8405    impl Cmplcha17 {
8406        #[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"]
8407        pub const _0: Self = Self::new(0);
8408
8409        #[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"]
8410        pub const _1: Self = Self::new(1);
8411    }
8412    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8413    pub struct Cmplcha18_SPEC;
8414    pub type Cmplcha18 = crate::EnumBitfieldStruct<u8, Cmplcha18_SPEC>;
8415    impl Cmplcha18 {
8416        #[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"]
8417        pub const _0: Self = Self::new(0);
8418
8419        #[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"]
8420        pub const _1: Self = Self::new(1);
8421    }
8422    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8423    pub struct Cmplcha19_SPEC;
8424    pub type Cmplcha19 = crate::EnumBitfieldStruct<u8, Cmplcha19_SPEC>;
8425    impl Cmplcha19 {
8426        #[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"]
8427        pub const _0: Self = Self::new(0);
8428
8429        #[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"]
8430        pub const _1: Self = Self::new(1);
8431    }
8432    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8433    pub struct Cmplcha20_SPEC;
8434    pub type Cmplcha20 = crate::EnumBitfieldStruct<u8, Cmplcha20_SPEC>;
8435    impl Cmplcha20 {
8436        #[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"]
8437        pub const _0: Self = Self::new(0);
8438
8439        #[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"]
8440        pub const _1: Self = Self::new(1);
8441    }
8442    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8443    pub struct Cmplcha21_SPEC;
8444    pub type Cmplcha21 = crate::EnumBitfieldStruct<u8, Cmplcha21_SPEC>;
8445    impl Cmplcha21 {
8446        #[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"]
8447        pub const _0: Self = Self::new(0);
8448
8449        #[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"]
8450        pub const _1: Self = Self::new(1);
8451    }
8452    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8453    pub struct Cmplcha22_SPEC;
8454    pub type Cmplcha22 = crate::EnumBitfieldStruct<u8, Cmplcha22_SPEC>;
8455    impl Cmplcha22 {
8456        #[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"]
8457        pub const _0: Self = Self::new(0);
8458
8459        #[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"]
8460        pub const _1: Self = Self::new(1);
8461    }
8462    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8463    pub struct Cmplcha23_SPEC;
8464    pub type Cmplcha23 = crate::EnumBitfieldStruct<u8, Cmplcha23_SPEC>;
8465    impl Cmplcha23 {
8466        #[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"]
8467        pub const _0: Self = Self::new(0);
8468
8469        #[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"]
8470        pub const _1: Self = Self::new(1);
8471    }
8472    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8473    pub struct Cmplcha24_SPEC;
8474    pub type Cmplcha24 = crate::EnumBitfieldStruct<u8, Cmplcha24_SPEC>;
8475    impl Cmplcha24 {
8476        #[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"]
8477        pub const _0: Self = Self::new(0);
8478
8479        #[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"]
8480        pub const _1: Self = Self::new(1);
8481    }
8482    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8483    pub struct Cmplcha25_SPEC;
8484    pub type Cmplcha25 = crate::EnumBitfieldStruct<u8, Cmplcha25_SPEC>;
8485    impl Cmplcha25 {
8486        #[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"]
8487        pub const _0: Self = Self::new(0);
8488
8489        #[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"]
8490        pub const _1: Self = Self::new(1);
8491    }
8492    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8493    pub struct Cmplcha26_SPEC;
8494    pub type Cmplcha26 = crate::EnumBitfieldStruct<u8, Cmplcha26_SPEC>;
8495    impl Cmplcha26 {
8496        #[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"]
8497        pub const _0: Self = Self::new(0);
8498
8499        #[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"]
8500        pub const _1: Self = Self::new(1);
8501    }
8502    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8503    pub struct Cmplcha27_SPEC;
8504    pub type Cmplcha27 = crate::EnumBitfieldStruct<u8, Cmplcha27_SPEC>;
8505    impl Cmplcha27 {
8506        #[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"]
8507        pub const _0: Self = Self::new(0);
8508
8509        #[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"]
8510        pub const _1: Self = Self::new(1);
8511    }
8512    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8513    pub struct Cmplcha28_SPEC;
8514    pub type Cmplcha28 = crate::EnumBitfieldStruct<u8, Cmplcha28_SPEC>;
8515    impl Cmplcha28 {
8516        #[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"]
8517        pub const _0: Self = Self::new(0);
8518
8519        #[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"]
8520        pub const _1: Self = Self::new(1);
8521    }
8522    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8523    pub struct Cmplcha29_SPEC;
8524    pub type Cmplcha29 = crate::EnumBitfieldStruct<u8, Cmplcha29_SPEC>;
8525    impl Cmplcha29 {
8526        #[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"]
8527        pub const _0: Self = Self::new(0);
8528
8529        #[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"]
8530        pub const _1: Self = Self::new(1);
8531    }
8532    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8533    pub struct Cmplcha30_SPEC;
8534    pub type Cmplcha30 = crate::EnumBitfieldStruct<u8, Cmplcha30_SPEC>;
8535    impl Cmplcha30 {
8536        #[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"]
8537        pub const _0: Self = Self::new(0);
8538
8539        #[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"]
8540        pub const _1: Self = Self::new(1);
8541    }
8542    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8543    pub struct Cmplcha31_SPEC;
8544    pub type Cmplcha31 = crate::EnumBitfieldStruct<u8, Cmplcha31_SPEC>;
8545    impl Cmplcha31 {
8546        #[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"]
8547        pub const _0: Self = Self::new(0);
8548
8549        #[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"]
8550        pub const _1: Self = Self::new(1);
8551    }
8552}
8553#[doc(hidden)]
8554#[derive(Copy, Clone, Eq, PartialEq)]
8555pub struct Adcmpdr_SPEC;
8556impl crate::sealed::RegSpec for Adcmpdr_SPEC {
8557    type DataType = u16;
8558}
8559
8560#[doc = "A/D Compare Function Window A Lower-Side/Upper-Side Level Setting Register"]
8561pub type Adcmpdr = crate::RegValueT<Adcmpdr_SPEC>;
8562
8563impl NoBitfieldReg<Adcmpdr_SPEC> for Adcmpdr {}
8564impl ::core::default::Default for Adcmpdr {
8565    #[inline(always)]
8566    fn default() -> Adcmpdr {
8567        <crate::RegValueT<Adcmpdr_SPEC> as RegisterValue<_>>::new(0)
8568    }
8569}
8570
8571#[doc(hidden)]
8572#[derive(Copy, Clone, Eq, PartialEq)]
8573pub struct Adcmpsr0_SPEC;
8574impl crate::sealed::RegSpec for Adcmpsr0_SPEC {
8575    type DataType = u16;
8576}
8577
8578#[doc = "A/D Compare Function Window A Channel Status Register 0"]
8579pub type Adcmpsr0 = crate::RegValueT<Adcmpsr0_SPEC>;
8580
8581impl Adcmpsr0 {
8582    #[doc = "Compare Window A Flag"]
8583    #[inline(always)]
8584    pub fn cmpstcha00(
8585        self,
8586    ) -> crate::common::RegisterField<
8587        0,
8588        0x1,
8589        1,
8590        0,
8591        adcmpsr0::Cmpstcha00,
8592        adcmpsr0::Cmpstcha00,
8593        Adcmpsr0_SPEC,
8594        crate::common::RW,
8595    > {
8596        crate::common::RegisterField::<
8597            0,
8598            0x1,
8599            1,
8600            0,
8601            adcmpsr0::Cmpstcha00,
8602            adcmpsr0::Cmpstcha00,
8603            Adcmpsr0_SPEC,
8604            crate::common::RW,
8605        >::from_register(self, 0)
8606    }
8607
8608    #[doc = "Compare Window A Flag"]
8609    #[inline(always)]
8610    pub fn cmpstcha01(
8611        self,
8612    ) -> crate::common::RegisterField<
8613        1,
8614        0x1,
8615        1,
8616        0,
8617        adcmpsr0::Cmpstcha01,
8618        adcmpsr0::Cmpstcha01,
8619        Adcmpsr0_SPEC,
8620        crate::common::RW,
8621    > {
8622        crate::common::RegisterField::<
8623            1,
8624            0x1,
8625            1,
8626            0,
8627            adcmpsr0::Cmpstcha01,
8628            adcmpsr0::Cmpstcha01,
8629            Adcmpsr0_SPEC,
8630            crate::common::RW,
8631        >::from_register(self, 0)
8632    }
8633
8634    #[doc = "Compare Window A Flag"]
8635    #[inline(always)]
8636    pub fn cmpstcha02(
8637        self,
8638    ) -> crate::common::RegisterField<
8639        2,
8640        0x1,
8641        1,
8642        0,
8643        adcmpsr0::Cmpstcha02,
8644        adcmpsr0::Cmpstcha02,
8645        Adcmpsr0_SPEC,
8646        crate::common::RW,
8647    > {
8648        crate::common::RegisterField::<
8649            2,
8650            0x1,
8651            1,
8652            0,
8653            adcmpsr0::Cmpstcha02,
8654            adcmpsr0::Cmpstcha02,
8655            Adcmpsr0_SPEC,
8656            crate::common::RW,
8657        >::from_register(self, 0)
8658    }
8659
8660    #[doc = "Compare Window A Flag"]
8661    #[inline(always)]
8662    pub fn cmpstcha03(
8663        self,
8664    ) -> crate::common::RegisterField<
8665        3,
8666        0x1,
8667        1,
8668        0,
8669        adcmpsr0::Cmpstcha03,
8670        adcmpsr0::Cmpstcha03,
8671        Adcmpsr0_SPEC,
8672        crate::common::RW,
8673    > {
8674        crate::common::RegisterField::<
8675            3,
8676            0x1,
8677            1,
8678            0,
8679            adcmpsr0::Cmpstcha03,
8680            adcmpsr0::Cmpstcha03,
8681            Adcmpsr0_SPEC,
8682            crate::common::RW,
8683        >::from_register(self, 0)
8684    }
8685
8686    #[doc = "Compare Window A Flag"]
8687    #[inline(always)]
8688    pub fn cmpstcha04(
8689        self,
8690    ) -> crate::common::RegisterField<
8691        4,
8692        0x1,
8693        1,
8694        0,
8695        adcmpsr0::Cmpstcha04,
8696        adcmpsr0::Cmpstcha04,
8697        Adcmpsr0_SPEC,
8698        crate::common::RW,
8699    > {
8700        crate::common::RegisterField::<
8701            4,
8702            0x1,
8703            1,
8704            0,
8705            adcmpsr0::Cmpstcha04,
8706            adcmpsr0::Cmpstcha04,
8707            Adcmpsr0_SPEC,
8708            crate::common::RW,
8709        >::from_register(self, 0)
8710    }
8711
8712    #[doc = "Compare Window A Flag"]
8713    #[inline(always)]
8714    pub fn cmpstcha05(
8715        self,
8716    ) -> crate::common::RegisterField<
8717        5,
8718        0x1,
8719        1,
8720        0,
8721        adcmpsr0::Cmpstcha05,
8722        adcmpsr0::Cmpstcha05,
8723        Adcmpsr0_SPEC,
8724        crate::common::RW,
8725    > {
8726        crate::common::RegisterField::<
8727            5,
8728            0x1,
8729            1,
8730            0,
8731            adcmpsr0::Cmpstcha05,
8732            adcmpsr0::Cmpstcha05,
8733            Adcmpsr0_SPEC,
8734            crate::common::RW,
8735        >::from_register(self, 0)
8736    }
8737
8738    #[doc = "Compare Window A Flag"]
8739    #[inline(always)]
8740    pub fn cmpstcha06(
8741        self,
8742    ) -> crate::common::RegisterField<
8743        6,
8744        0x1,
8745        1,
8746        0,
8747        adcmpsr0::Cmpstcha06,
8748        adcmpsr0::Cmpstcha06,
8749        Adcmpsr0_SPEC,
8750        crate::common::RW,
8751    > {
8752        crate::common::RegisterField::<
8753            6,
8754            0x1,
8755            1,
8756            0,
8757            adcmpsr0::Cmpstcha06,
8758            adcmpsr0::Cmpstcha06,
8759            Adcmpsr0_SPEC,
8760            crate::common::RW,
8761        >::from_register(self, 0)
8762    }
8763
8764    #[doc = "Compare Window A Flag"]
8765    #[inline(always)]
8766    pub fn cmpstcha07(
8767        self,
8768    ) -> crate::common::RegisterField<
8769        7,
8770        0x1,
8771        1,
8772        0,
8773        adcmpsr0::Cmpstcha07,
8774        adcmpsr0::Cmpstcha07,
8775        Adcmpsr0_SPEC,
8776        crate::common::RW,
8777    > {
8778        crate::common::RegisterField::<
8779            7,
8780            0x1,
8781            1,
8782            0,
8783            adcmpsr0::Cmpstcha07,
8784            adcmpsr0::Cmpstcha07,
8785            Adcmpsr0_SPEC,
8786            crate::common::RW,
8787        >::from_register(self, 0)
8788    }
8789
8790    #[doc = "Compare Window A Flag"]
8791    #[inline(always)]
8792    pub fn cmpstcha08(
8793        self,
8794    ) -> crate::common::RegisterField<
8795        8,
8796        0x1,
8797        1,
8798        0,
8799        adcmpsr0::Cmpstcha08,
8800        adcmpsr0::Cmpstcha08,
8801        Adcmpsr0_SPEC,
8802        crate::common::RW,
8803    > {
8804        crate::common::RegisterField::<
8805            8,
8806            0x1,
8807            1,
8808            0,
8809            adcmpsr0::Cmpstcha08,
8810            adcmpsr0::Cmpstcha08,
8811            Adcmpsr0_SPEC,
8812            crate::common::RW,
8813        >::from_register(self, 0)
8814    }
8815
8816    #[doc = "Compare Window A Flag"]
8817    #[inline(always)]
8818    pub fn cmpstcha09(
8819        self,
8820    ) -> crate::common::RegisterField<
8821        9,
8822        0x1,
8823        1,
8824        0,
8825        adcmpsr0::Cmpstcha09,
8826        adcmpsr0::Cmpstcha09,
8827        Adcmpsr0_SPEC,
8828        crate::common::RW,
8829    > {
8830        crate::common::RegisterField::<
8831            9,
8832            0x1,
8833            1,
8834            0,
8835            adcmpsr0::Cmpstcha09,
8836            adcmpsr0::Cmpstcha09,
8837            Adcmpsr0_SPEC,
8838            crate::common::RW,
8839        >::from_register(self, 0)
8840    }
8841
8842    #[doc = "Compare Window A Flag"]
8843    #[inline(always)]
8844    pub fn cmpstcha10(
8845        self,
8846    ) -> crate::common::RegisterField<
8847        10,
8848        0x1,
8849        1,
8850        0,
8851        adcmpsr0::Cmpstcha10,
8852        adcmpsr0::Cmpstcha10,
8853        Adcmpsr0_SPEC,
8854        crate::common::RW,
8855    > {
8856        crate::common::RegisterField::<
8857            10,
8858            0x1,
8859            1,
8860            0,
8861            adcmpsr0::Cmpstcha10,
8862            adcmpsr0::Cmpstcha10,
8863            Adcmpsr0_SPEC,
8864            crate::common::RW,
8865        >::from_register(self, 0)
8866    }
8867
8868    #[doc = "Compare Window A Flag"]
8869    #[inline(always)]
8870    pub fn cmpstcha11(
8871        self,
8872    ) -> crate::common::RegisterField<
8873        11,
8874        0x1,
8875        1,
8876        0,
8877        adcmpsr0::Cmpstcha11,
8878        adcmpsr0::Cmpstcha11,
8879        Adcmpsr0_SPEC,
8880        crate::common::RW,
8881    > {
8882        crate::common::RegisterField::<
8883            11,
8884            0x1,
8885            1,
8886            0,
8887            adcmpsr0::Cmpstcha11,
8888            adcmpsr0::Cmpstcha11,
8889            Adcmpsr0_SPEC,
8890            crate::common::RW,
8891        >::from_register(self, 0)
8892    }
8893
8894    #[doc = "Compare Window A Flag"]
8895    #[inline(always)]
8896    pub fn cmpstcha12(
8897        self,
8898    ) -> crate::common::RegisterField<
8899        12,
8900        0x1,
8901        1,
8902        0,
8903        adcmpsr0::Cmpstcha12,
8904        adcmpsr0::Cmpstcha12,
8905        Adcmpsr0_SPEC,
8906        crate::common::RW,
8907    > {
8908        crate::common::RegisterField::<
8909            12,
8910            0x1,
8911            1,
8912            0,
8913            adcmpsr0::Cmpstcha12,
8914            adcmpsr0::Cmpstcha12,
8915            Adcmpsr0_SPEC,
8916            crate::common::RW,
8917        >::from_register(self, 0)
8918    }
8919
8920    #[doc = "Compare Window A Flag"]
8921    #[inline(always)]
8922    pub fn cmpstcha13(
8923        self,
8924    ) -> crate::common::RegisterField<
8925        13,
8926        0x1,
8927        1,
8928        0,
8929        adcmpsr0::Cmpstcha13,
8930        adcmpsr0::Cmpstcha13,
8931        Adcmpsr0_SPEC,
8932        crate::common::RW,
8933    > {
8934        crate::common::RegisterField::<
8935            13,
8936            0x1,
8937            1,
8938            0,
8939            adcmpsr0::Cmpstcha13,
8940            adcmpsr0::Cmpstcha13,
8941            Adcmpsr0_SPEC,
8942            crate::common::RW,
8943        >::from_register(self, 0)
8944    }
8945
8946    #[doc = "Compare Window A Flag"]
8947    #[inline(always)]
8948    pub fn cmpstcha14(
8949        self,
8950    ) -> crate::common::RegisterField<
8951        14,
8952        0x1,
8953        1,
8954        0,
8955        adcmpsr0::Cmpstcha14,
8956        adcmpsr0::Cmpstcha14,
8957        Adcmpsr0_SPEC,
8958        crate::common::RW,
8959    > {
8960        crate::common::RegisterField::<
8961            14,
8962            0x1,
8963            1,
8964            0,
8965            adcmpsr0::Cmpstcha14,
8966            adcmpsr0::Cmpstcha14,
8967            Adcmpsr0_SPEC,
8968            crate::common::RW,
8969        >::from_register(self, 0)
8970    }
8971
8972    #[doc = "Compare Window A Flag"]
8973    #[inline(always)]
8974    pub fn cmpstcha15(
8975        self,
8976    ) -> crate::common::RegisterField<
8977        15,
8978        0x1,
8979        1,
8980        0,
8981        adcmpsr0::Cmpstcha15,
8982        adcmpsr0::Cmpstcha15,
8983        Adcmpsr0_SPEC,
8984        crate::common::RW,
8985    > {
8986        crate::common::RegisterField::<
8987            15,
8988            0x1,
8989            1,
8990            0,
8991            adcmpsr0::Cmpstcha15,
8992            adcmpsr0::Cmpstcha15,
8993            Adcmpsr0_SPEC,
8994            crate::common::RW,
8995        >::from_register(self, 0)
8996    }
8997}
8998impl ::core::default::Default for Adcmpsr0 {
8999    #[inline(always)]
9000    fn default() -> Adcmpsr0 {
9001        <crate::RegValueT<Adcmpsr0_SPEC> as RegisterValue<_>>::new(0)
9002    }
9003}
9004pub mod adcmpsr0 {
9005
9006    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9007    pub struct Cmpstcha00_SPEC;
9008    pub type Cmpstcha00 = crate::EnumBitfieldStruct<u8, Cmpstcha00_SPEC>;
9009    impl Cmpstcha00 {
9010        #[doc = "Comparison conditions are not met."]
9011        pub const _0: Self = Self::new(0);
9012
9013        #[doc = "Comparison conditions are met."]
9014        pub const _1: Self = Self::new(1);
9015    }
9016    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9017    pub struct Cmpstcha01_SPEC;
9018    pub type Cmpstcha01 = crate::EnumBitfieldStruct<u8, Cmpstcha01_SPEC>;
9019    impl Cmpstcha01 {
9020        #[doc = "Comparison conditions are not met."]
9021        pub const _0: Self = Self::new(0);
9022
9023        #[doc = "Comparison conditions are met."]
9024        pub const _1: Self = Self::new(1);
9025    }
9026    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9027    pub struct Cmpstcha02_SPEC;
9028    pub type Cmpstcha02 = crate::EnumBitfieldStruct<u8, Cmpstcha02_SPEC>;
9029    impl Cmpstcha02 {
9030        #[doc = "Comparison conditions are not met."]
9031        pub const _0: Self = Self::new(0);
9032
9033        #[doc = "Comparison conditions are met."]
9034        pub const _1: Self = Self::new(1);
9035    }
9036    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9037    pub struct Cmpstcha03_SPEC;
9038    pub type Cmpstcha03 = crate::EnumBitfieldStruct<u8, Cmpstcha03_SPEC>;
9039    impl Cmpstcha03 {
9040        #[doc = "Comparison conditions are not met."]
9041        pub const _0: Self = Self::new(0);
9042
9043        #[doc = "Comparison conditions are met."]
9044        pub const _1: Self = Self::new(1);
9045    }
9046    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9047    pub struct Cmpstcha04_SPEC;
9048    pub type Cmpstcha04 = crate::EnumBitfieldStruct<u8, Cmpstcha04_SPEC>;
9049    impl Cmpstcha04 {
9050        #[doc = "Comparison conditions are not met."]
9051        pub const _0: Self = Self::new(0);
9052
9053        #[doc = "Comparison conditions are met."]
9054        pub const _1: Self = Self::new(1);
9055    }
9056    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9057    pub struct Cmpstcha05_SPEC;
9058    pub type Cmpstcha05 = crate::EnumBitfieldStruct<u8, Cmpstcha05_SPEC>;
9059    impl Cmpstcha05 {
9060        #[doc = "Comparison conditions are not met."]
9061        pub const _0: Self = Self::new(0);
9062
9063        #[doc = "Comparison conditions are met."]
9064        pub const _1: Self = Self::new(1);
9065    }
9066    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9067    pub struct Cmpstcha06_SPEC;
9068    pub type Cmpstcha06 = crate::EnumBitfieldStruct<u8, Cmpstcha06_SPEC>;
9069    impl Cmpstcha06 {
9070        #[doc = "Comparison conditions are not met."]
9071        pub const _0: Self = Self::new(0);
9072
9073        #[doc = "Comparison conditions are met."]
9074        pub const _1: Self = Self::new(1);
9075    }
9076    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9077    pub struct Cmpstcha07_SPEC;
9078    pub type Cmpstcha07 = crate::EnumBitfieldStruct<u8, Cmpstcha07_SPEC>;
9079    impl Cmpstcha07 {
9080        #[doc = "Comparison conditions are not met."]
9081        pub const _0: Self = Self::new(0);
9082
9083        #[doc = "Comparison conditions are met."]
9084        pub const _1: Self = Self::new(1);
9085    }
9086    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9087    pub struct Cmpstcha08_SPEC;
9088    pub type Cmpstcha08 = crate::EnumBitfieldStruct<u8, Cmpstcha08_SPEC>;
9089    impl Cmpstcha08 {
9090        #[doc = "Comparison conditions are not met."]
9091        pub const _0: Self = Self::new(0);
9092
9093        #[doc = "Comparison conditions are met."]
9094        pub const _1: Self = Self::new(1);
9095    }
9096    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9097    pub struct Cmpstcha09_SPEC;
9098    pub type Cmpstcha09 = crate::EnumBitfieldStruct<u8, Cmpstcha09_SPEC>;
9099    impl Cmpstcha09 {
9100        #[doc = "Comparison conditions are not met."]
9101        pub const _0: Self = Self::new(0);
9102
9103        #[doc = "Comparison conditions are met."]
9104        pub const _1: Self = Self::new(1);
9105    }
9106    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9107    pub struct Cmpstcha10_SPEC;
9108    pub type Cmpstcha10 = crate::EnumBitfieldStruct<u8, Cmpstcha10_SPEC>;
9109    impl Cmpstcha10 {
9110        #[doc = "Comparison conditions are not met."]
9111        pub const _0: Self = Self::new(0);
9112
9113        #[doc = "Comparison conditions are met."]
9114        pub const _1: Self = Self::new(1);
9115    }
9116    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9117    pub struct Cmpstcha11_SPEC;
9118    pub type Cmpstcha11 = crate::EnumBitfieldStruct<u8, Cmpstcha11_SPEC>;
9119    impl Cmpstcha11 {
9120        #[doc = "Comparison conditions are not met."]
9121        pub const _0: Self = Self::new(0);
9122
9123        #[doc = "Comparison conditions are met."]
9124        pub const _1: Self = Self::new(1);
9125    }
9126    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9127    pub struct Cmpstcha12_SPEC;
9128    pub type Cmpstcha12 = crate::EnumBitfieldStruct<u8, Cmpstcha12_SPEC>;
9129    impl Cmpstcha12 {
9130        #[doc = "Comparison conditions are not met."]
9131        pub const _0: Self = Self::new(0);
9132
9133        #[doc = "Comparison conditions are met."]
9134        pub const _1: Self = Self::new(1);
9135    }
9136    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9137    pub struct Cmpstcha13_SPEC;
9138    pub type Cmpstcha13 = crate::EnumBitfieldStruct<u8, Cmpstcha13_SPEC>;
9139    impl Cmpstcha13 {
9140        #[doc = "Comparison conditions are not met."]
9141        pub const _0: Self = Self::new(0);
9142
9143        #[doc = "Comparison conditions are met."]
9144        pub const _1: Self = Self::new(1);
9145    }
9146    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9147    pub struct Cmpstcha14_SPEC;
9148    pub type Cmpstcha14 = crate::EnumBitfieldStruct<u8, Cmpstcha14_SPEC>;
9149    impl Cmpstcha14 {
9150        #[doc = "Comparison conditions are not met."]
9151        pub const _0: Self = Self::new(0);
9152
9153        #[doc = "Comparison conditions are met."]
9154        pub const _1: Self = Self::new(1);
9155    }
9156    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9157    pub struct Cmpstcha15_SPEC;
9158    pub type Cmpstcha15 = crate::EnumBitfieldStruct<u8, Cmpstcha15_SPEC>;
9159    impl Cmpstcha15 {
9160        #[doc = "Comparison conditions are not met."]
9161        pub const _0: Self = Self::new(0);
9162
9163        #[doc = "Comparison conditions are met."]
9164        pub const _1: Self = Self::new(1);
9165    }
9166}
9167#[doc(hidden)]
9168#[derive(Copy, Clone, Eq, PartialEq)]
9169pub struct Adcmpsr1_SPEC;
9170impl crate::sealed::RegSpec for Adcmpsr1_SPEC {
9171    type DataType = u16;
9172}
9173
9174#[doc = "A/D Compare Function Window A Channel Status Register1"]
9175pub type Adcmpsr1 = crate::RegValueT<Adcmpsr1_SPEC>;
9176
9177impl Adcmpsr1 {
9178    #[doc = "Compare Window A Flag"]
9179    #[inline(always)]
9180    pub fn cmpstcha16(
9181        self,
9182    ) -> crate::common::RegisterField<
9183        0,
9184        0x1,
9185        1,
9186        0,
9187        adcmpsr1::Cmpstcha16,
9188        adcmpsr1::Cmpstcha16,
9189        Adcmpsr1_SPEC,
9190        crate::common::RW,
9191    > {
9192        crate::common::RegisterField::<
9193            0,
9194            0x1,
9195            1,
9196            0,
9197            adcmpsr1::Cmpstcha16,
9198            adcmpsr1::Cmpstcha16,
9199            Adcmpsr1_SPEC,
9200            crate::common::RW,
9201        >::from_register(self, 0)
9202    }
9203
9204    #[doc = "Compare Window A Flag"]
9205    #[inline(always)]
9206    pub fn cmpstcha17(
9207        self,
9208    ) -> crate::common::RegisterField<
9209        1,
9210        0x1,
9211        1,
9212        0,
9213        adcmpsr1::Cmpstcha17,
9214        adcmpsr1::Cmpstcha17,
9215        Adcmpsr1_SPEC,
9216        crate::common::RW,
9217    > {
9218        crate::common::RegisterField::<
9219            1,
9220            0x1,
9221            1,
9222            0,
9223            adcmpsr1::Cmpstcha17,
9224            adcmpsr1::Cmpstcha17,
9225            Adcmpsr1_SPEC,
9226            crate::common::RW,
9227        >::from_register(self, 0)
9228    }
9229
9230    #[doc = "Compare Window A Flag"]
9231    #[inline(always)]
9232    pub fn cmpstcha18(
9233        self,
9234    ) -> crate::common::RegisterField<
9235        2,
9236        0x1,
9237        1,
9238        0,
9239        adcmpsr1::Cmpstcha18,
9240        adcmpsr1::Cmpstcha18,
9241        Adcmpsr1_SPEC,
9242        crate::common::RW,
9243    > {
9244        crate::common::RegisterField::<
9245            2,
9246            0x1,
9247            1,
9248            0,
9249            adcmpsr1::Cmpstcha18,
9250            adcmpsr1::Cmpstcha18,
9251            Adcmpsr1_SPEC,
9252            crate::common::RW,
9253        >::from_register(self, 0)
9254    }
9255
9256    #[doc = "Compare Window A Flag"]
9257    #[inline(always)]
9258    pub fn cmpstcha19(
9259        self,
9260    ) -> crate::common::RegisterField<
9261        3,
9262        0x1,
9263        1,
9264        0,
9265        adcmpsr1::Cmpstcha19,
9266        adcmpsr1::Cmpstcha19,
9267        Adcmpsr1_SPEC,
9268        crate::common::RW,
9269    > {
9270        crate::common::RegisterField::<
9271            3,
9272            0x1,
9273            1,
9274            0,
9275            adcmpsr1::Cmpstcha19,
9276            adcmpsr1::Cmpstcha19,
9277            Adcmpsr1_SPEC,
9278            crate::common::RW,
9279        >::from_register(self, 0)
9280    }
9281
9282    #[doc = "Compare Window A Flag"]
9283    #[inline(always)]
9284    pub fn cmpstcha20(
9285        self,
9286    ) -> crate::common::RegisterField<
9287        4,
9288        0x1,
9289        1,
9290        0,
9291        adcmpsr1::Cmpstcha20,
9292        adcmpsr1::Cmpstcha20,
9293        Adcmpsr1_SPEC,
9294        crate::common::RW,
9295    > {
9296        crate::common::RegisterField::<
9297            4,
9298            0x1,
9299            1,
9300            0,
9301            adcmpsr1::Cmpstcha20,
9302            adcmpsr1::Cmpstcha20,
9303            Adcmpsr1_SPEC,
9304            crate::common::RW,
9305        >::from_register(self, 0)
9306    }
9307
9308    #[doc = "Compare Window A Flag"]
9309    #[inline(always)]
9310    pub fn cmpstcha21(
9311        self,
9312    ) -> crate::common::RegisterField<
9313        5,
9314        0x1,
9315        1,
9316        0,
9317        adcmpsr1::Cmpstcha21,
9318        adcmpsr1::Cmpstcha21,
9319        Adcmpsr1_SPEC,
9320        crate::common::RW,
9321    > {
9322        crate::common::RegisterField::<
9323            5,
9324            0x1,
9325            1,
9326            0,
9327            adcmpsr1::Cmpstcha21,
9328            adcmpsr1::Cmpstcha21,
9329            Adcmpsr1_SPEC,
9330            crate::common::RW,
9331        >::from_register(self, 0)
9332    }
9333
9334    #[doc = "Compare Window A Flag"]
9335    #[inline(always)]
9336    pub fn cmpstcha22(
9337        self,
9338    ) -> crate::common::RegisterField<
9339        6,
9340        0x1,
9341        1,
9342        0,
9343        adcmpsr1::Cmpstcha22,
9344        adcmpsr1::Cmpstcha22,
9345        Adcmpsr1_SPEC,
9346        crate::common::RW,
9347    > {
9348        crate::common::RegisterField::<
9349            6,
9350            0x1,
9351            1,
9352            0,
9353            adcmpsr1::Cmpstcha22,
9354            adcmpsr1::Cmpstcha22,
9355            Adcmpsr1_SPEC,
9356            crate::common::RW,
9357        >::from_register(self, 0)
9358    }
9359
9360    #[doc = "Compare Window A Flag"]
9361    #[inline(always)]
9362    pub fn cmpstcha23(
9363        self,
9364    ) -> crate::common::RegisterField<
9365        7,
9366        0x1,
9367        1,
9368        0,
9369        adcmpsr1::Cmpstcha23,
9370        adcmpsr1::Cmpstcha23,
9371        Adcmpsr1_SPEC,
9372        crate::common::RW,
9373    > {
9374        crate::common::RegisterField::<
9375            7,
9376            0x1,
9377            1,
9378            0,
9379            adcmpsr1::Cmpstcha23,
9380            adcmpsr1::Cmpstcha23,
9381            Adcmpsr1_SPEC,
9382            crate::common::RW,
9383        >::from_register(self, 0)
9384    }
9385
9386    #[doc = "Compare Window A Flag"]
9387    #[inline(always)]
9388    pub fn cmpstcha24(
9389        self,
9390    ) -> crate::common::RegisterField<
9391        8,
9392        0x1,
9393        1,
9394        0,
9395        adcmpsr1::Cmpstcha24,
9396        adcmpsr1::Cmpstcha24,
9397        Adcmpsr1_SPEC,
9398        crate::common::RW,
9399    > {
9400        crate::common::RegisterField::<
9401            8,
9402            0x1,
9403            1,
9404            0,
9405            adcmpsr1::Cmpstcha24,
9406            adcmpsr1::Cmpstcha24,
9407            Adcmpsr1_SPEC,
9408            crate::common::RW,
9409        >::from_register(self, 0)
9410    }
9411
9412    #[doc = "Compare Window A Flag"]
9413    #[inline(always)]
9414    pub fn cmpstcha25(
9415        self,
9416    ) -> crate::common::RegisterField<
9417        9,
9418        0x1,
9419        1,
9420        0,
9421        adcmpsr1::Cmpstcha25,
9422        adcmpsr1::Cmpstcha25,
9423        Adcmpsr1_SPEC,
9424        crate::common::RW,
9425    > {
9426        crate::common::RegisterField::<
9427            9,
9428            0x1,
9429            1,
9430            0,
9431            adcmpsr1::Cmpstcha25,
9432            adcmpsr1::Cmpstcha25,
9433            Adcmpsr1_SPEC,
9434            crate::common::RW,
9435        >::from_register(self, 0)
9436    }
9437
9438    #[doc = "Compare Window A Flag"]
9439    #[inline(always)]
9440    pub fn cmpstcha26(
9441        self,
9442    ) -> crate::common::RegisterField<
9443        10,
9444        0x1,
9445        1,
9446        0,
9447        adcmpsr1::Cmpstcha26,
9448        adcmpsr1::Cmpstcha26,
9449        Adcmpsr1_SPEC,
9450        crate::common::RW,
9451    > {
9452        crate::common::RegisterField::<
9453            10,
9454            0x1,
9455            1,
9456            0,
9457            adcmpsr1::Cmpstcha26,
9458            adcmpsr1::Cmpstcha26,
9459            Adcmpsr1_SPEC,
9460            crate::common::RW,
9461        >::from_register(self, 0)
9462    }
9463
9464    #[doc = "Compare Window A Flag"]
9465    #[inline(always)]
9466    pub fn cmpstcha27(
9467        self,
9468    ) -> crate::common::RegisterField<
9469        11,
9470        0x1,
9471        1,
9472        0,
9473        adcmpsr1::Cmpstcha27,
9474        adcmpsr1::Cmpstcha27,
9475        Adcmpsr1_SPEC,
9476        crate::common::RW,
9477    > {
9478        crate::common::RegisterField::<
9479            11,
9480            0x1,
9481            1,
9482            0,
9483            adcmpsr1::Cmpstcha27,
9484            adcmpsr1::Cmpstcha27,
9485            Adcmpsr1_SPEC,
9486            crate::common::RW,
9487        >::from_register(self, 0)
9488    }
9489
9490    #[doc = "Compare Window A Flag"]
9491    #[inline(always)]
9492    pub fn cmpstcha28(
9493        self,
9494    ) -> crate::common::RegisterField<
9495        12,
9496        0x1,
9497        1,
9498        0,
9499        adcmpsr1::Cmpstcha28,
9500        adcmpsr1::Cmpstcha28,
9501        Adcmpsr1_SPEC,
9502        crate::common::RW,
9503    > {
9504        crate::common::RegisterField::<
9505            12,
9506            0x1,
9507            1,
9508            0,
9509            adcmpsr1::Cmpstcha28,
9510            adcmpsr1::Cmpstcha28,
9511            Adcmpsr1_SPEC,
9512            crate::common::RW,
9513        >::from_register(self, 0)
9514    }
9515
9516    #[doc = "Compare Window A Flag"]
9517    #[inline(always)]
9518    pub fn cmpstcha29(
9519        self,
9520    ) -> crate::common::RegisterField<
9521        13,
9522        0x1,
9523        1,
9524        0,
9525        adcmpsr1::Cmpstcha29,
9526        adcmpsr1::Cmpstcha29,
9527        Adcmpsr1_SPEC,
9528        crate::common::RW,
9529    > {
9530        crate::common::RegisterField::<
9531            13,
9532            0x1,
9533            1,
9534            0,
9535            adcmpsr1::Cmpstcha29,
9536            adcmpsr1::Cmpstcha29,
9537            Adcmpsr1_SPEC,
9538            crate::common::RW,
9539        >::from_register(self, 0)
9540    }
9541
9542    #[doc = "Compare Window A Flag"]
9543    #[inline(always)]
9544    pub fn cmpstcha30(
9545        self,
9546    ) -> crate::common::RegisterField<
9547        14,
9548        0x1,
9549        1,
9550        0,
9551        adcmpsr1::Cmpstcha30,
9552        adcmpsr1::Cmpstcha30,
9553        Adcmpsr1_SPEC,
9554        crate::common::RW,
9555    > {
9556        crate::common::RegisterField::<
9557            14,
9558            0x1,
9559            1,
9560            0,
9561            adcmpsr1::Cmpstcha30,
9562            adcmpsr1::Cmpstcha30,
9563            Adcmpsr1_SPEC,
9564            crate::common::RW,
9565        >::from_register(self, 0)
9566    }
9567
9568    #[doc = "Compare Window A Flag"]
9569    #[inline(always)]
9570    pub fn cmpstcha31(
9571        self,
9572    ) -> crate::common::RegisterField<
9573        15,
9574        0x1,
9575        1,
9576        0,
9577        adcmpsr1::Cmpstcha31,
9578        adcmpsr1::Cmpstcha31,
9579        Adcmpsr1_SPEC,
9580        crate::common::RW,
9581    > {
9582        crate::common::RegisterField::<
9583            15,
9584            0x1,
9585            1,
9586            0,
9587            adcmpsr1::Cmpstcha31,
9588            adcmpsr1::Cmpstcha31,
9589            Adcmpsr1_SPEC,
9590            crate::common::RW,
9591        >::from_register(self, 0)
9592    }
9593}
9594impl ::core::default::Default for Adcmpsr1 {
9595    #[inline(always)]
9596    fn default() -> Adcmpsr1 {
9597        <crate::RegValueT<Adcmpsr1_SPEC> as RegisterValue<_>>::new(0)
9598    }
9599}
9600pub mod adcmpsr1 {
9601
9602    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9603    pub struct Cmpstcha16_SPEC;
9604    pub type Cmpstcha16 = crate::EnumBitfieldStruct<u8, Cmpstcha16_SPEC>;
9605    impl Cmpstcha16 {
9606        #[doc = "Comparison conditions are not met."]
9607        pub const _0: Self = Self::new(0);
9608
9609        #[doc = "Comparison conditions are met."]
9610        pub const _1: Self = Self::new(1);
9611    }
9612    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9613    pub struct Cmpstcha17_SPEC;
9614    pub type Cmpstcha17 = crate::EnumBitfieldStruct<u8, Cmpstcha17_SPEC>;
9615    impl Cmpstcha17 {
9616        #[doc = "Comparison conditions are not met."]
9617        pub const _0: Self = Self::new(0);
9618
9619        #[doc = "Comparison conditions are met."]
9620        pub const _1: Self = Self::new(1);
9621    }
9622    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9623    pub struct Cmpstcha18_SPEC;
9624    pub type Cmpstcha18 = crate::EnumBitfieldStruct<u8, Cmpstcha18_SPEC>;
9625    impl Cmpstcha18 {
9626        #[doc = "Comparison conditions are not met."]
9627        pub const _0: Self = Self::new(0);
9628
9629        #[doc = "Comparison conditions are met."]
9630        pub const _1: Self = Self::new(1);
9631    }
9632    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9633    pub struct Cmpstcha19_SPEC;
9634    pub type Cmpstcha19 = crate::EnumBitfieldStruct<u8, Cmpstcha19_SPEC>;
9635    impl Cmpstcha19 {
9636        #[doc = "Comparison conditions are not met."]
9637        pub const _0: Self = Self::new(0);
9638
9639        #[doc = "Comparison conditions are met."]
9640        pub const _1: Self = Self::new(1);
9641    }
9642    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9643    pub struct Cmpstcha20_SPEC;
9644    pub type Cmpstcha20 = crate::EnumBitfieldStruct<u8, Cmpstcha20_SPEC>;
9645    impl Cmpstcha20 {
9646        #[doc = "Comparison conditions are not met."]
9647        pub const _0: Self = Self::new(0);
9648
9649        #[doc = "Comparison conditions are met."]
9650        pub const _1: Self = Self::new(1);
9651    }
9652    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9653    pub struct Cmpstcha21_SPEC;
9654    pub type Cmpstcha21 = crate::EnumBitfieldStruct<u8, Cmpstcha21_SPEC>;
9655    impl Cmpstcha21 {
9656        #[doc = "Comparison conditions are not met."]
9657        pub const _0: Self = Self::new(0);
9658
9659        #[doc = "Comparison conditions are met."]
9660        pub const _1: Self = Self::new(1);
9661    }
9662    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9663    pub struct Cmpstcha22_SPEC;
9664    pub type Cmpstcha22 = crate::EnumBitfieldStruct<u8, Cmpstcha22_SPEC>;
9665    impl Cmpstcha22 {
9666        #[doc = "Comparison conditions are not met."]
9667        pub const _0: Self = Self::new(0);
9668
9669        #[doc = "Comparison conditions are met."]
9670        pub const _1: Self = Self::new(1);
9671    }
9672    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9673    pub struct Cmpstcha23_SPEC;
9674    pub type Cmpstcha23 = crate::EnumBitfieldStruct<u8, Cmpstcha23_SPEC>;
9675    impl Cmpstcha23 {
9676        #[doc = "Comparison conditions are not met."]
9677        pub const _0: Self = Self::new(0);
9678
9679        #[doc = "Comparison conditions are met."]
9680        pub const _1: Self = Self::new(1);
9681    }
9682    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9683    pub struct Cmpstcha24_SPEC;
9684    pub type Cmpstcha24 = crate::EnumBitfieldStruct<u8, Cmpstcha24_SPEC>;
9685    impl Cmpstcha24 {
9686        #[doc = "Comparison conditions are not met."]
9687        pub const _0: Self = Self::new(0);
9688
9689        #[doc = "Comparison conditions are met."]
9690        pub const _1: Self = Self::new(1);
9691    }
9692    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9693    pub struct Cmpstcha25_SPEC;
9694    pub type Cmpstcha25 = crate::EnumBitfieldStruct<u8, Cmpstcha25_SPEC>;
9695    impl Cmpstcha25 {
9696        #[doc = "Comparison conditions are not met."]
9697        pub const _0: Self = Self::new(0);
9698
9699        #[doc = "Comparison conditions are met."]
9700        pub const _1: Self = Self::new(1);
9701    }
9702    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9703    pub struct Cmpstcha26_SPEC;
9704    pub type Cmpstcha26 = crate::EnumBitfieldStruct<u8, Cmpstcha26_SPEC>;
9705    impl Cmpstcha26 {
9706        #[doc = "Comparison conditions are not met."]
9707        pub const _0: Self = Self::new(0);
9708
9709        #[doc = "Comparison conditions are met."]
9710        pub const _1: Self = Self::new(1);
9711    }
9712    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9713    pub struct Cmpstcha27_SPEC;
9714    pub type Cmpstcha27 = crate::EnumBitfieldStruct<u8, Cmpstcha27_SPEC>;
9715    impl Cmpstcha27 {
9716        #[doc = "Comparison conditions are not met."]
9717        pub const _0: Self = Self::new(0);
9718
9719        #[doc = "Comparison conditions are met."]
9720        pub const _1: Self = Self::new(1);
9721    }
9722    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9723    pub struct Cmpstcha28_SPEC;
9724    pub type Cmpstcha28 = crate::EnumBitfieldStruct<u8, Cmpstcha28_SPEC>;
9725    impl Cmpstcha28 {
9726        #[doc = "Comparison conditions are not met."]
9727        pub const _0: Self = Self::new(0);
9728
9729        #[doc = "Comparison conditions are met."]
9730        pub const _1: Self = Self::new(1);
9731    }
9732    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9733    pub struct Cmpstcha29_SPEC;
9734    pub type Cmpstcha29 = crate::EnumBitfieldStruct<u8, Cmpstcha29_SPEC>;
9735    impl Cmpstcha29 {
9736        #[doc = "Comparison conditions are not met."]
9737        pub const _0: Self = Self::new(0);
9738
9739        #[doc = "Comparison conditions are met."]
9740        pub const _1: Self = Self::new(1);
9741    }
9742    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9743    pub struct Cmpstcha30_SPEC;
9744    pub type Cmpstcha30 = crate::EnumBitfieldStruct<u8, Cmpstcha30_SPEC>;
9745    impl Cmpstcha30 {
9746        #[doc = "Comparison conditions are not met."]
9747        pub const _0: Self = Self::new(0);
9748
9749        #[doc = "Comparison conditions are met."]
9750        pub const _1: Self = Self::new(1);
9751    }
9752    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9753    pub struct Cmpstcha31_SPEC;
9754    pub type Cmpstcha31 = crate::EnumBitfieldStruct<u8, Cmpstcha31_SPEC>;
9755    impl Cmpstcha31 {
9756        #[doc = "Comparison conditions are not met."]
9757        pub const _0: Self = Self::new(0);
9758
9759        #[doc = "Comparison conditions are met."]
9760        pub const _1: Self = Self::new(1);
9761    }
9762}
9763#[doc(hidden)]
9764#[derive(Copy, Clone, Eq, PartialEq)]
9765pub struct Adcmpser_SPEC;
9766impl crate::sealed::RegSpec for Adcmpser_SPEC {
9767    type DataType = u8;
9768}
9769
9770#[doc = "A/D Compare Function Window A Extended Input Channel Status Register"]
9771pub type Adcmpser = crate::RegValueT<Adcmpser_SPEC>;
9772
9773impl Adcmpser {
9774    #[doc = "Compare Window A Temperature Sensor Output Compare Flag"]
9775    #[inline(always)]
9776    pub fn cmpsttsa(
9777        self,
9778    ) -> crate::common::RegisterField<
9779        0,
9780        0x1,
9781        1,
9782        0,
9783        adcmpser::Cmpsttsa,
9784        adcmpser::Cmpsttsa,
9785        Adcmpser_SPEC,
9786        crate::common::RW,
9787    > {
9788        crate::common::RegisterField::<
9789            0,
9790            0x1,
9791            1,
9792            0,
9793            adcmpser::Cmpsttsa,
9794            adcmpser::Cmpsttsa,
9795            Adcmpser_SPEC,
9796            crate::common::RW,
9797        >::from_register(self, 0)
9798    }
9799
9800    #[doc = "Compare Window A Internal Reference Voltage Compare Flag"]
9801    #[inline(always)]
9802    pub fn cmpstoca(
9803        self,
9804    ) -> crate::common::RegisterField<
9805        1,
9806        0x1,
9807        1,
9808        0,
9809        adcmpser::Cmpstoca,
9810        adcmpser::Cmpstoca,
9811        Adcmpser_SPEC,
9812        crate::common::RW,
9813    > {
9814        crate::common::RegisterField::<
9815            1,
9816            0x1,
9817            1,
9818            0,
9819            adcmpser::Cmpstoca,
9820            adcmpser::Cmpstoca,
9821            Adcmpser_SPEC,
9822            crate::common::RW,
9823        >::from_register(self, 0)
9824    }
9825}
9826impl ::core::default::Default for Adcmpser {
9827    #[inline(always)]
9828    fn default() -> Adcmpser {
9829        <crate::RegValueT<Adcmpser_SPEC> as RegisterValue<_>>::new(0)
9830    }
9831}
9832pub mod adcmpser {
9833
9834    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9835    pub struct Cmpsttsa_SPEC;
9836    pub type Cmpsttsa = crate::EnumBitfieldStruct<u8, Cmpsttsa_SPEC>;
9837    impl Cmpsttsa {
9838        #[doc = "Comparison conditions are not met."]
9839        pub const _0: Self = Self::new(0);
9840
9841        #[doc = "Comparison conditions are met."]
9842        pub const _1: Self = Self::new(1);
9843    }
9844    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9845    pub struct Cmpstoca_SPEC;
9846    pub type Cmpstoca = crate::EnumBitfieldStruct<u8, Cmpstoca_SPEC>;
9847    impl Cmpstoca {
9848        #[doc = "Comparison conditions are not met."]
9849        pub const _0: Self = Self::new(0);
9850
9851        #[doc = "Comparison conditions are met."]
9852        pub const _1: Self = Self::new(1);
9853    }
9854}
9855#[doc(hidden)]
9856#[derive(Copy, Clone, Eq, PartialEq)]
9857pub struct Adcmpbnsr_SPEC;
9858impl crate::sealed::RegSpec for Adcmpbnsr_SPEC {
9859    type DataType = u8;
9860}
9861
9862#[doc = "A/D Compare Function Window B Channel Select Register"]
9863pub type Adcmpbnsr = crate::RegValueT<Adcmpbnsr_SPEC>;
9864
9865impl Adcmpbnsr {
9866    #[doc = "Compare Window B Channel Select"]
9867    #[inline(always)]
9868    pub fn cmpchb(
9869        self,
9870    ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, Adcmpbnsr_SPEC, crate::common::RW>
9871    {
9872        crate::common::RegisterField::<0,0x3f,1,0,u8,u8,Adcmpbnsr_SPEC,crate::common::RW>::from_register(self,0)
9873    }
9874
9875    #[doc = "Compare Window B Comparison Condition Setting"]
9876    #[inline(always)]
9877    pub fn cmplb(
9878        self,
9879    ) -> crate::common::RegisterField<
9880        7,
9881        0x1,
9882        1,
9883        0,
9884        adcmpbnsr::Cmplb,
9885        adcmpbnsr::Cmplb,
9886        Adcmpbnsr_SPEC,
9887        crate::common::RW,
9888    > {
9889        crate::common::RegisterField::<
9890            7,
9891            0x1,
9892            1,
9893            0,
9894            adcmpbnsr::Cmplb,
9895            adcmpbnsr::Cmplb,
9896            Adcmpbnsr_SPEC,
9897            crate::common::RW,
9898        >::from_register(self, 0)
9899    }
9900}
9901impl ::core::default::Default for Adcmpbnsr {
9902    #[inline(always)]
9903    fn default() -> Adcmpbnsr {
9904        <crate::RegValueT<Adcmpbnsr_SPEC> as RegisterValue<_>>::new(0)
9905    }
9906}
9907pub mod adcmpbnsr {
9908
9909    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9910    pub struct Cmplb_SPEC;
9911    pub type Cmplb = crate::EnumBitfieldStruct<u8, Cmplb_SPEC>;
9912    impl Cmplb {
9913        #[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"]
9914        pub const _0: Self = Self::new(0);
9915
9916        #[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"]
9917        pub const _1: Self = Self::new(1);
9918    }
9919}
9920#[doc(hidden)]
9921#[derive(Copy, Clone, Eq, PartialEq)]
9922pub struct Adwinllb_SPEC;
9923impl crate::sealed::RegSpec for Adwinllb_SPEC {
9924    type DataType = u16;
9925}
9926
9927#[doc = "A/D Compare Function Window B Lower-Side/Upper-Side Level Setting Register"]
9928pub type Adwinllb = crate::RegValueT<Adwinllb_SPEC>;
9929
9930impl NoBitfieldReg<Adwinllb_SPEC> for Adwinllb {}
9931impl ::core::default::Default for Adwinllb {
9932    #[inline(always)]
9933    fn default() -> Adwinllb {
9934        <crate::RegValueT<Adwinllb_SPEC> as RegisterValue<_>>::new(0)
9935    }
9936}
9937
9938#[doc(hidden)]
9939#[derive(Copy, Clone, Eq, PartialEq)]
9940pub struct Adwinulb_SPEC;
9941impl crate::sealed::RegSpec for Adwinulb_SPEC {
9942    type DataType = u16;
9943}
9944
9945#[doc = "A/D Compare Function Window B Lower-Side/Upper-Side Level Setting Register"]
9946pub type Adwinulb = crate::RegValueT<Adwinulb_SPEC>;
9947
9948impl NoBitfieldReg<Adwinulb_SPEC> for Adwinulb {}
9949impl ::core::default::Default for Adwinulb {
9950    #[inline(always)]
9951    fn default() -> Adwinulb {
9952        <crate::RegValueT<Adwinulb_SPEC> as RegisterValue<_>>::new(0)
9953    }
9954}
9955
9956#[doc(hidden)]
9957#[derive(Copy, Clone, Eq, PartialEq)]
9958pub struct Adcmpbsr_SPEC;
9959impl crate::sealed::RegSpec for Adcmpbsr_SPEC {
9960    type DataType = u8;
9961}
9962
9963#[doc = "A/D Compare Function Window B Status Register"]
9964pub type Adcmpbsr = crate::RegValueT<Adcmpbsr_SPEC>;
9965
9966impl Adcmpbsr {
9967    #[doc = "Compare Window B Flag"]
9968    #[inline(always)]
9969    pub fn cmpstb(
9970        self,
9971    ) -> crate::common::RegisterField<
9972        0,
9973        0x1,
9974        1,
9975        0,
9976        adcmpbsr::Cmpstb,
9977        adcmpbsr::Cmpstb,
9978        Adcmpbsr_SPEC,
9979        crate::common::RW,
9980    > {
9981        crate::common::RegisterField::<
9982            0,
9983            0x1,
9984            1,
9985            0,
9986            adcmpbsr::Cmpstb,
9987            adcmpbsr::Cmpstb,
9988            Adcmpbsr_SPEC,
9989            crate::common::RW,
9990        >::from_register(self, 0)
9991    }
9992}
9993impl ::core::default::Default for Adcmpbsr {
9994    #[inline(always)]
9995    fn default() -> Adcmpbsr {
9996        <crate::RegValueT<Adcmpbsr_SPEC> as RegisterValue<_>>::new(0)
9997    }
9998}
9999pub mod adcmpbsr {
10000
10001    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10002    pub struct Cmpstb_SPEC;
10003    pub type Cmpstb = crate::EnumBitfieldStruct<u8, Cmpstb_SPEC>;
10004    impl Cmpstb {
10005        #[doc = "Comparison conditions are not met."]
10006        pub const _0: Self = Self::new(0);
10007
10008        #[doc = "Comparison conditions are met."]
10009        pub const _1: Self = Self::new(1);
10010    }
10011}
10012#[doc(hidden)]
10013#[derive(Copy, Clone, Eq, PartialEq)]
10014pub struct Adsstrl_SPEC;
10015impl crate::sealed::RegSpec for Adsstrl_SPEC {
10016    type DataType = u8;
10017}
10018
10019#[doc = "A/D Sampling State Register"]
10020pub type Adsstrl = crate::RegValueT<Adsstrl_SPEC>;
10021
10022impl Adsstrl {
10023    #[doc = "Sampling Time Setting"]
10024    #[inline(always)]
10025    pub fn sst(
10026        self,
10027    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Adsstrl_SPEC, crate::common::RW> {
10028        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Adsstrl_SPEC,crate::common::RW>::from_register(self,0)
10029    }
10030}
10031impl ::core::default::Default for Adsstrl {
10032    #[inline(always)]
10033    fn default() -> Adsstrl {
10034        <crate::RegValueT<Adsstrl_SPEC> as RegisterValue<_>>::new(13)
10035    }
10036}
10037
10038#[doc(hidden)]
10039#[derive(Copy, Clone, Eq, PartialEq)]
10040pub struct Adsstrt_SPEC;
10041impl crate::sealed::RegSpec for Adsstrt_SPEC {
10042    type DataType = u8;
10043}
10044
10045#[doc = "A/D Sampling State Register"]
10046pub type Adsstrt = crate::RegValueT<Adsstrt_SPEC>;
10047
10048impl Adsstrt {
10049    #[doc = "Sampling Time Setting"]
10050    #[inline(always)]
10051    pub fn sst(
10052        self,
10053    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Adsstrt_SPEC, crate::common::RW> {
10054        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Adsstrt_SPEC,crate::common::RW>::from_register(self,0)
10055    }
10056}
10057impl ::core::default::Default for Adsstrt {
10058    #[inline(always)]
10059    fn default() -> Adsstrt {
10060        <crate::RegValueT<Adsstrt_SPEC> as RegisterValue<_>>::new(13)
10061    }
10062}
10063
10064#[doc(hidden)]
10065#[derive(Copy, Clone, Eq, PartialEq)]
10066pub struct Adsstro_SPEC;
10067impl crate::sealed::RegSpec for Adsstro_SPEC {
10068    type DataType = u8;
10069}
10070
10071#[doc = "A/D Sampling State Register"]
10072pub type Adsstro = crate::RegValueT<Adsstro_SPEC>;
10073
10074impl Adsstro {
10075    #[doc = "Sampling Time Setting"]
10076    #[inline(always)]
10077    pub fn sst(
10078        self,
10079    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Adsstro_SPEC, crate::common::RW> {
10080        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Adsstro_SPEC,crate::common::RW>::from_register(self,0)
10081    }
10082}
10083impl ::core::default::Default for Adsstro {
10084    #[inline(always)]
10085    fn default() -> Adsstro {
10086        <crate::RegValueT<Adsstro_SPEC> as RegisterValue<_>>::new(13)
10087    }
10088}
10089
10090#[doc(hidden)]
10091#[derive(Copy, Clone, Eq, PartialEq)]
10092pub struct Adsstr_SPEC;
10093impl crate::sealed::RegSpec for Adsstr_SPEC {
10094    type DataType = u8;
10095}
10096
10097#[doc = "A/D Sampling State Register"]
10098pub type Adsstr = crate::RegValueT<Adsstr_SPEC>;
10099
10100impl Adsstr {
10101    #[doc = "Sampling Time Setting"]
10102    #[inline(always)]
10103    pub fn sst(
10104        self,
10105    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Adsstr_SPEC, crate::common::RW> {
10106        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Adsstr_SPEC,crate::common::RW>::from_register(self,0)
10107    }
10108}
10109impl ::core::default::Default for Adsstr {
10110    #[inline(always)]
10111    fn default() -> Adsstr {
10112        <crate::RegValueT<Adsstr_SPEC> as RegisterValue<_>>::new(13)
10113    }
10114}