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.0 on Thu, 24 Jul 2025 04:46:37 +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        #[doc = "Setting prohibited"]
3368        pub const OTHERS: Self = Self::new(0);
3369    }
3370    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3371    pub struct Avee_SPEC;
3372    pub type Avee = crate::EnumBitfieldStruct<u8, Avee_SPEC>;
3373    impl Avee {
3374        #[doc = "Enable addition mode"]
3375        pub const _0: Self = Self::new(0);
3376
3377        #[doc = "Enable average mode"]
3378        pub const _1: Self = Self::new(1);
3379    }
3380}
3381#[doc(hidden)]
3382#[derive(Copy, Clone, Eq, PartialEq)]
3383pub struct Adcer_SPEC;
3384impl crate::sealed::RegSpec for Adcer_SPEC {
3385    type DataType = u16;
3386}
3387
3388#[doc = "A/D Control Extended Register"]
3389pub type Adcer = crate::RegValueT<Adcer_SPEC>;
3390
3391impl Adcer {
3392    #[doc = "A/D Data Register Automatic Clearing Enable"]
3393    #[inline(always)]
3394    pub fn ace(
3395        self,
3396    ) -> crate::common::RegisterField<
3397        5,
3398        0x1,
3399        1,
3400        0,
3401        adcer::Ace,
3402        adcer::Ace,
3403        Adcer_SPEC,
3404        crate::common::RW,
3405    > {
3406        crate::common::RegisterField::<
3407            5,
3408            0x1,
3409            1,
3410            0,
3411            adcer::Ace,
3412            adcer::Ace,
3413            Adcer_SPEC,
3414            crate::common::RW,
3415        >::from_register(self, 0)
3416    }
3417
3418    #[doc = "Self-Diagnosis Conversion Voltage Select"]
3419    #[inline(always)]
3420    pub fn diagval(
3421        self,
3422    ) -> crate::common::RegisterField<
3423        8,
3424        0x3,
3425        1,
3426        0,
3427        adcer::Diagval,
3428        adcer::Diagval,
3429        Adcer_SPEC,
3430        crate::common::RW,
3431    > {
3432        crate::common::RegisterField::<
3433            8,
3434            0x3,
3435            1,
3436            0,
3437            adcer::Diagval,
3438            adcer::Diagval,
3439            Adcer_SPEC,
3440            crate::common::RW,
3441        >::from_register(self, 0)
3442    }
3443
3444    #[doc = "Self-Diagnosis Mode Select"]
3445    #[inline(always)]
3446    pub fn diagld(
3447        self,
3448    ) -> crate::common::RegisterField<
3449        10,
3450        0x1,
3451        1,
3452        0,
3453        adcer::Diagld,
3454        adcer::Diagld,
3455        Adcer_SPEC,
3456        crate::common::RW,
3457    > {
3458        crate::common::RegisterField::<
3459            10,
3460            0x1,
3461            1,
3462            0,
3463            adcer::Diagld,
3464            adcer::Diagld,
3465            Adcer_SPEC,
3466            crate::common::RW,
3467        >::from_register(self, 0)
3468    }
3469
3470    #[doc = "Self-Diagnosis Enable"]
3471    #[inline(always)]
3472    pub fn diagm(
3473        self,
3474    ) -> crate::common::RegisterField<
3475        11,
3476        0x1,
3477        1,
3478        0,
3479        adcer::Diagm,
3480        adcer::Diagm,
3481        Adcer_SPEC,
3482        crate::common::RW,
3483    > {
3484        crate::common::RegisterField::<
3485            11,
3486            0x1,
3487            1,
3488            0,
3489            adcer::Diagm,
3490            adcer::Diagm,
3491            Adcer_SPEC,
3492            crate::common::RW,
3493        >::from_register(self, 0)
3494    }
3495
3496    #[doc = "A/D Data Register Format Select"]
3497    #[inline(always)]
3498    pub fn adrfmt(
3499        self,
3500    ) -> crate::common::RegisterField<
3501        15,
3502        0x1,
3503        1,
3504        0,
3505        adcer::Adrfmt,
3506        adcer::Adrfmt,
3507        Adcer_SPEC,
3508        crate::common::RW,
3509    > {
3510        crate::common::RegisterField::<
3511            15,
3512            0x1,
3513            1,
3514            0,
3515            adcer::Adrfmt,
3516            adcer::Adrfmt,
3517            Adcer_SPEC,
3518            crate::common::RW,
3519        >::from_register(self, 0)
3520    }
3521}
3522impl ::core::default::Default for Adcer {
3523    #[inline(always)]
3524    fn default() -> Adcer {
3525        <crate::RegValueT<Adcer_SPEC> as RegisterValue<_>>::new(0)
3526    }
3527}
3528pub mod adcer {
3529
3530    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3531    pub struct Ace_SPEC;
3532    pub type Ace = crate::EnumBitfieldStruct<u8, Ace_SPEC>;
3533    impl Ace {
3534        #[doc = "Disable automatic clearing"]
3535        pub const _0: Self = Self::new(0);
3536
3537        #[doc = "Enable automatic clearing"]
3538        pub const _1: Self = Self::new(1);
3539    }
3540    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3541    pub struct Diagval_SPEC;
3542    pub type Diagval = crate::EnumBitfieldStruct<u8, Diagval_SPEC>;
3543    impl Diagval {
3544        #[doc = "Setting prohibited when self-diagnosis is enabled"]
3545        pub const _00: Self = Self::new(0);
3546
3547        #[doc = "0 volts"]
3548        pub const _01: Self = Self::new(1);
3549
3550        #[doc = "Reference voltage × 1/2"]
3551        pub const _10: Self = Self::new(2);
3552
3553        #[doc = "Reference voltage"]
3554        pub const _11: Self = Self::new(3);
3555    }
3556    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3557    pub struct Diagld_SPEC;
3558    pub type Diagld = crate::EnumBitfieldStruct<u8, Diagld_SPEC>;
3559    impl Diagld {
3560        #[doc = "Select rotation mode for self-diagnosis voltage"]
3561        pub const _0: Self = Self::new(0);
3562
3563        #[doc = "Select mixed mode for self-diagnosis voltage"]
3564        pub const _1: Self = Self::new(1);
3565    }
3566    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3567    pub struct Diagm_SPEC;
3568    pub type Diagm = crate::EnumBitfieldStruct<u8, Diagm_SPEC>;
3569    impl Diagm {
3570        #[doc = "Disable ADC12 self-diagnosis"]
3571        pub const _0: Self = Self::new(0);
3572
3573        #[doc = "Enable ADC12 self-diagnosis"]
3574        pub const _1: Self = Self::new(1);
3575    }
3576    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3577    pub struct Adrfmt_SPEC;
3578    pub type Adrfmt = crate::EnumBitfieldStruct<u8, Adrfmt_SPEC>;
3579    impl Adrfmt {
3580        #[doc = "Select right-justified for the A/D data register format"]
3581        pub const _0: Self = Self::new(0);
3582
3583        #[doc = "Select left-justified for the A/D data register format"]
3584        pub const _1: Self = Self::new(1);
3585    }
3586}
3587#[doc(hidden)]
3588#[derive(Copy, Clone, Eq, PartialEq)]
3589pub struct Adstrgr_SPEC;
3590impl crate::sealed::RegSpec for Adstrgr_SPEC {
3591    type DataType = u16;
3592}
3593
3594#[doc = "A/D Conversion Start Trigger Select Register"]
3595pub type Adstrgr = crate::RegValueT<Adstrgr_SPEC>;
3596
3597impl Adstrgr {
3598    #[doc = "A/D Conversion Start Trigger Select for Group B"]
3599    #[inline(always)]
3600    pub fn trsb(
3601        self,
3602    ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, Adstrgr_SPEC, crate::common::RW> {
3603        crate::common::RegisterField::<0,0x3f,1,0,u8,u8,Adstrgr_SPEC,crate::common::RW>::from_register(self,0)
3604    }
3605
3606    #[doc = "A/D Conversion Start Trigger Select"]
3607    #[inline(always)]
3608    pub fn trsa(
3609        self,
3610    ) -> crate::common::RegisterField<8, 0x3f, 1, 0, u8, u8, Adstrgr_SPEC, crate::common::RW> {
3611        crate::common::RegisterField::<8,0x3f,1,0,u8,u8,Adstrgr_SPEC,crate::common::RW>::from_register(self,0)
3612    }
3613}
3614impl ::core::default::Default for Adstrgr {
3615    #[inline(always)]
3616    fn default() -> Adstrgr {
3617        <crate::RegValueT<Adstrgr_SPEC> as RegisterValue<_>>::new(0)
3618    }
3619}
3620
3621#[doc(hidden)]
3622#[derive(Copy, Clone, Eq, PartialEq)]
3623pub struct Adexicr_SPEC;
3624impl crate::sealed::RegSpec for Adexicr_SPEC {
3625    type DataType = u16;
3626}
3627
3628#[doc = "A/D Conversion Extended Input Control Registers"]
3629pub type Adexicr = crate::RegValueT<Adexicr_SPEC>;
3630
3631impl Adexicr {
3632    #[doc = "Temperature Sensor Output A/D-Converted Value Addition/Average Mode Select"]
3633    #[inline(always)]
3634    pub fn tssad(
3635        self,
3636    ) -> crate::common::RegisterField<
3637        0,
3638        0x1,
3639        1,
3640        0,
3641        adexicr::Tssad,
3642        adexicr::Tssad,
3643        Adexicr_SPEC,
3644        crate::common::RW,
3645    > {
3646        crate::common::RegisterField::<
3647            0,
3648            0x1,
3649            1,
3650            0,
3651            adexicr::Tssad,
3652            adexicr::Tssad,
3653            Adexicr_SPEC,
3654            crate::common::RW,
3655        >::from_register(self, 0)
3656    }
3657
3658    #[doc = "Internal Reference Voltage A/D-Converted Value Addition/Average Mode Select"]
3659    #[inline(always)]
3660    pub fn ocsad(
3661        self,
3662    ) -> crate::common::RegisterField<
3663        1,
3664        0x1,
3665        1,
3666        0,
3667        adexicr::Ocsad,
3668        adexicr::Ocsad,
3669        Adexicr_SPEC,
3670        crate::common::RW,
3671    > {
3672        crate::common::RegisterField::<
3673            1,
3674            0x1,
3675            1,
3676            0,
3677            adexicr::Ocsad,
3678            adexicr::Ocsad,
3679            Adexicr_SPEC,
3680            crate::common::RW,
3681        >::from_register(self, 0)
3682    }
3683
3684    #[doc = "Temperature Sensor Output A/D Conversion Select"]
3685    #[inline(always)]
3686    pub fn tssa(
3687        self,
3688    ) -> crate::common::RegisterField<
3689        8,
3690        0x1,
3691        1,
3692        0,
3693        adexicr::Tssa,
3694        adexicr::Tssa,
3695        Adexicr_SPEC,
3696        crate::common::RW,
3697    > {
3698        crate::common::RegisterField::<
3699            8,
3700            0x1,
3701            1,
3702            0,
3703            adexicr::Tssa,
3704            adexicr::Tssa,
3705            Adexicr_SPEC,
3706            crate::common::RW,
3707        >::from_register(self, 0)
3708    }
3709
3710    #[doc = "Internal Reference Voltage A/D Conversion Select"]
3711    #[inline(always)]
3712    pub fn ocsa(
3713        self,
3714    ) -> crate::common::RegisterField<
3715        9,
3716        0x1,
3717        1,
3718        0,
3719        adexicr::Ocsa,
3720        adexicr::Ocsa,
3721        Adexicr_SPEC,
3722        crate::common::RW,
3723    > {
3724        crate::common::RegisterField::<
3725            9,
3726            0x1,
3727            1,
3728            0,
3729            adexicr::Ocsa,
3730            adexicr::Ocsa,
3731            Adexicr_SPEC,
3732            crate::common::RW,
3733        >::from_register(self, 0)
3734    }
3735}
3736impl ::core::default::Default for Adexicr {
3737    #[inline(always)]
3738    fn default() -> Adexicr {
3739        <crate::RegValueT<Adexicr_SPEC> as RegisterValue<_>>::new(0)
3740    }
3741}
3742pub mod adexicr {
3743
3744    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3745    pub struct Tssad_SPEC;
3746    pub type Tssad = crate::EnumBitfieldStruct<u8, Tssad_SPEC>;
3747    impl Tssad {
3748        #[doc = "Do not select addition/average mode for temperature sensor output."]
3749        pub const _0: Self = Self::new(0);
3750
3751        #[doc = "Select addition/average mode for temperature sensor output."]
3752        pub const _1: Self = Self::new(1);
3753    }
3754    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3755    pub struct Ocsad_SPEC;
3756    pub type Ocsad = crate::EnumBitfieldStruct<u8, Ocsad_SPEC>;
3757    impl Ocsad {
3758        #[doc = "Do not select addition/average mode for internal reference voltage."]
3759        pub const _0: Self = Self::new(0);
3760
3761        #[doc = "Select addition/average mode for internal reference voltage."]
3762        pub const _1: Self = Self::new(1);
3763    }
3764    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3765    pub struct Tssa_SPEC;
3766    pub type Tssa = crate::EnumBitfieldStruct<u8, Tssa_SPEC>;
3767    impl Tssa {
3768        #[doc = "Disable A/D conversion of temperature sensor output"]
3769        pub const _0: Self = Self::new(0);
3770
3771        #[doc = "Enable A/D conversion of temperature sensor output"]
3772        pub const _1: Self = Self::new(1);
3773    }
3774    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3775    pub struct Ocsa_SPEC;
3776    pub type Ocsa = crate::EnumBitfieldStruct<u8, Ocsa_SPEC>;
3777    impl Ocsa {
3778        #[doc = "Disable A/D conversion of internal reference voltage"]
3779        pub const _0: Self = Self::new(0);
3780
3781        #[doc = "Enable A/D conversion of internal reference voltage"]
3782        pub const _1: Self = Self::new(1);
3783    }
3784}
3785#[doc(hidden)]
3786#[derive(Copy, Clone, Eq, PartialEq)]
3787pub struct Adansb0_SPEC;
3788impl crate::sealed::RegSpec for Adansb0_SPEC {
3789    type DataType = u16;
3790}
3791
3792#[doc = "A/D Channel Select Register B0"]
3793pub type Adansb0 = crate::RegValueT<Adansb0_SPEC>;
3794
3795impl Adansb0 {
3796    #[doc = "A/D Conversion Channels Select"]
3797    #[inline(always)]
3798    pub fn ansb00(
3799        self,
3800    ) -> crate::common::RegisterField<
3801        0,
3802        0x1,
3803        1,
3804        0,
3805        adansb0::Ansb00,
3806        adansb0::Ansb00,
3807        Adansb0_SPEC,
3808        crate::common::RW,
3809    > {
3810        crate::common::RegisterField::<
3811            0,
3812            0x1,
3813            1,
3814            0,
3815            adansb0::Ansb00,
3816            adansb0::Ansb00,
3817            Adansb0_SPEC,
3818            crate::common::RW,
3819        >::from_register(self, 0)
3820    }
3821
3822    #[doc = "A/D Conversion Channels Select"]
3823    #[inline(always)]
3824    pub fn ansb01(
3825        self,
3826    ) -> crate::common::RegisterField<
3827        1,
3828        0x1,
3829        1,
3830        0,
3831        adansb0::Ansb01,
3832        adansb0::Ansb01,
3833        Adansb0_SPEC,
3834        crate::common::RW,
3835    > {
3836        crate::common::RegisterField::<
3837            1,
3838            0x1,
3839            1,
3840            0,
3841            adansb0::Ansb01,
3842            adansb0::Ansb01,
3843            Adansb0_SPEC,
3844            crate::common::RW,
3845        >::from_register(self, 0)
3846    }
3847
3848    #[doc = "A/D Conversion Channels Select"]
3849    #[inline(always)]
3850    pub fn ansb02(
3851        self,
3852    ) -> crate::common::RegisterField<
3853        2,
3854        0x1,
3855        1,
3856        0,
3857        adansb0::Ansb02,
3858        adansb0::Ansb02,
3859        Adansb0_SPEC,
3860        crate::common::RW,
3861    > {
3862        crate::common::RegisterField::<
3863            2,
3864            0x1,
3865            1,
3866            0,
3867            adansb0::Ansb02,
3868            adansb0::Ansb02,
3869            Adansb0_SPEC,
3870            crate::common::RW,
3871        >::from_register(self, 0)
3872    }
3873
3874    #[doc = "A/D Conversion Channels Select"]
3875    #[inline(always)]
3876    pub fn ansb03(
3877        self,
3878    ) -> crate::common::RegisterField<
3879        3,
3880        0x1,
3881        1,
3882        0,
3883        adansb0::Ansb03,
3884        adansb0::Ansb03,
3885        Adansb0_SPEC,
3886        crate::common::RW,
3887    > {
3888        crate::common::RegisterField::<
3889            3,
3890            0x1,
3891            1,
3892            0,
3893            adansb0::Ansb03,
3894            adansb0::Ansb03,
3895            Adansb0_SPEC,
3896            crate::common::RW,
3897        >::from_register(self, 0)
3898    }
3899
3900    #[doc = "A/D Conversion Channels Select"]
3901    #[inline(always)]
3902    pub fn ansb04(
3903        self,
3904    ) -> crate::common::RegisterField<
3905        4,
3906        0x1,
3907        1,
3908        0,
3909        adansb0::Ansb04,
3910        adansb0::Ansb04,
3911        Adansb0_SPEC,
3912        crate::common::RW,
3913    > {
3914        crate::common::RegisterField::<
3915            4,
3916            0x1,
3917            1,
3918            0,
3919            adansb0::Ansb04,
3920            adansb0::Ansb04,
3921            Adansb0_SPEC,
3922            crate::common::RW,
3923        >::from_register(self, 0)
3924    }
3925
3926    #[doc = "A/D Conversion Channels Select"]
3927    #[inline(always)]
3928    pub fn ansb05(
3929        self,
3930    ) -> crate::common::RegisterField<
3931        5,
3932        0x1,
3933        1,
3934        0,
3935        adansb0::Ansb05,
3936        adansb0::Ansb05,
3937        Adansb0_SPEC,
3938        crate::common::RW,
3939    > {
3940        crate::common::RegisterField::<
3941            5,
3942            0x1,
3943            1,
3944            0,
3945            adansb0::Ansb05,
3946            adansb0::Ansb05,
3947            Adansb0_SPEC,
3948            crate::common::RW,
3949        >::from_register(self, 0)
3950    }
3951
3952    #[doc = "A/D Conversion Channels Select"]
3953    #[inline(always)]
3954    pub fn ansb06(
3955        self,
3956    ) -> crate::common::RegisterField<
3957        6,
3958        0x1,
3959        1,
3960        0,
3961        adansb0::Ansb06,
3962        adansb0::Ansb06,
3963        Adansb0_SPEC,
3964        crate::common::RW,
3965    > {
3966        crate::common::RegisterField::<
3967            6,
3968            0x1,
3969            1,
3970            0,
3971            adansb0::Ansb06,
3972            adansb0::Ansb06,
3973            Adansb0_SPEC,
3974            crate::common::RW,
3975        >::from_register(self, 0)
3976    }
3977
3978    #[doc = "A/D Conversion Channels Select"]
3979    #[inline(always)]
3980    pub fn ansb07(
3981        self,
3982    ) -> crate::common::RegisterField<
3983        7,
3984        0x1,
3985        1,
3986        0,
3987        adansb0::Ansb07,
3988        adansb0::Ansb07,
3989        Adansb0_SPEC,
3990        crate::common::RW,
3991    > {
3992        crate::common::RegisterField::<
3993            7,
3994            0x1,
3995            1,
3996            0,
3997            adansb0::Ansb07,
3998            adansb0::Ansb07,
3999            Adansb0_SPEC,
4000            crate::common::RW,
4001        >::from_register(self, 0)
4002    }
4003
4004    #[doc = "A/D Conversion Channels Select"]
4005    #[inline(always)]
4006    pub fn ansb08(
4007        self,
4008    ) -> crate::common::RegisterField<
4009        8,
4010        0x1,
4011        1,
4012        0,
4013        adansb0::Ansb08,
4014        adansb0::Ansb08,
4015        Adansb0_SPEC,
4016        crate::common::RW,
4017    > {
4018        crate::common::RegisterField::<
4019            8,
4020            0x1,
4021            1,
4022            0,
4023            adansb0::Ansb08,
4024            adansb0::Ansb08,
4025            Adansb0_SPEC,
4026            crate::common::RW,
4027        >::from_register(self, 0)
4028    }
4029
4030    #[doc = "A/D Conversion Channels Select"]
4031    #[inline(always)]
4032    pub fn ansb09(
4033        self,
4034    ) -> crate::common::RegisterField<
4035        9,
4036        0x1,
4037        1,
4038        0,
4039        adansb0::Ansb09,
4040        adansb0::Ansb09,
4041        Adansb0_SPEC,
4042        crate::common::RW,
4043    > {
4044        crate::common::RegisterField::<
4045            9,
4046            0x1,
4047            1,
4048            0,
4049            adansb0::Ansb09,
4050            adansb0::Ansb09,
4051            Adansb0_SPEC,
4052            crate::common::RW,
4053        >::from_register(self, 0)
4054    }
4055
4056    #[doc = "A/D Conversion Channels Select"]
4057    #[inline(always)]
4058    pub fn ansb10(
4059        self,
4060    ) -> crate::common::RegisterField<
4061        10,
4062        0x1,
4063        1,
4064        0,
4065        adansb0::Ansb10,
4066        adansb0::Ansb10,
4067        Adansb0_SPEC,
4068        crate::common::RW,
4069    > {
4070        crate::common::RegisterField::<
4071            10,
4072            0x1,
4073            1,
4074            0,
4075            adansb0::Ansb10,
4076            adansb0::Ansb10,
4077            Adansb0_SPEC,
4078            crate::common::RW,
4079        >::from_register(self, 0)
4080    }
4081
4082    #[doc = "A/D Conversion Channels Select"]
4083    #[inline(always)]
4084    pub fn ansb11(
4085        self,
4086    ) -> crate::common::RegisterField<
4087        11,
4088        0x1,
4089        1,
4090        0,
4091        adansb0::Ansb11,
4092        adansb0::Ansb11,
4093        Adansb0_SPEC,
4094        crate::common::RW,
4095    > {
4096        crate::common::RegisterField::<
4097            11,
4098            0x1,
4099            1,
4100            0,
4101            adansb0::Ansb11,
4102            adansb0::Ansb11,
4103            Adansb0_SPEC,
4104            crate::common::RW,
4105        >::from_register(self, 0)
4106    }
4107
4108    #[doc = "A/D Conversion Channels Select"]
4109    #[inline(always)]
4110    pub fn ansb12(
4111        self,
4112    ) -> crate::common::RegisterField<
4113        12,
4114        0x1,
4115        1,
4116        0,
4117        adansb0::Ansb12,
4118        adansb0::Ansb12,
4119        Adansb0_SPEC,
4120        crate::common::RW,
4121    > {
4122        crate::common::RegisterField::<
4123            12,
4124            0x1,
4125            1,
4126            0,
4127            adansb0::Ansb12,
4128            adansb0::Ansb12,
4129            Adansb0_SPEC,
4130            crate::common::RW,
4131        >::from_register(self, 0)
4132    }
4133
4134    #[doc = "A/D Conversion Channels Select"]
4135    #[inline(always)]
4136    pub fn ansb13(
4137        self,
4138    ) -> crate::common::RegisterField<
4139        13,
4140        0x1,
4141        1,
4142        0,
4143        adansb0::Ansb13,
4144        adansb0::Ansb13,
4145        Adansb0_SPEC,
4146        crate::common::RW,
4147    > {
4148        crate::common::RegisterField::<
4149            13,
4150            0x1,
4151            1,
4152            0,
4153            adansb0::Ansb13,
4154            adansb0::Ansb13,
4155            Adansb0_SPEC,
4156            crate::common::RW,
4157        >::from_register(self, 0)
4158    }
4159
4160    #[doc = "A/D Conversion Channels Select"]
4161    #[inline(always)]
4162    pub fn ansb14(
4163        self,
4164    ) -> crate::common::RegisterField<
4165        14,
4166        0x1,
4167        1,
4168        0,
4169        adansb0::Ansb14,
4170        adansb0::Ansb14,
4171        Adansb0_SPEC,
4172        crate::common::RW,
4173    > {
4174        crate::common::RegisterField::<
4175            14,
4176            0x1,
4177            1,
4178            0,
4179            adansb0::Ansb14,
4180            adansb0::Ansb14,
4181            Adansb0_SPEC,
4182            crate::common::RW,
4183        >::from_register(self, 0)
4184    }
4185
4186    #[doc = "A/D Conversion Channels Select"]
4187    #[inline(always)]
4188    pub fn ansb15(
4189        self,
4190    ) -> crate::common::RegisterField<
4191        15,
4192        0x1,
4193        1,
4194        0,
4195        adansb0::Ansb15,
4196        adansb0::Ansb15,
4197        Adansb0_SPEC,
4198        crate::common::RW,
4199    > {
4200        crate::common::RegisterField::<
4201            15,
4202            0x1,
4203            1,
4204            0,
4205            adansb0::Ansb15,
4206            adansb0::Ansb15,
4207            Adansb0_SPEC,
4208            crate::common::RW,
4209        >::from_register(self, 0)
4210    }
4211}
4212impl ::core::default::Default for Adansb0 {
4213    #[inline(always)]
4214    fn default() -> Adansb0 {
4215        <crate::RegValueT<Adansb0_SPEC> as RegisterValue<_>>::new(0)
4216    }
4217}
4218pub mod adansb0 {
4219
4220    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4221    pub struct Ansb00_SPEC;
4222    pub type Ansb00 = crate::EnumBitfieldStruct<u8, Ansb00_SPEC>;
4223    impl Ansb00 {
4224        #[doc = "Do not select associated input channel."]
4225        pub const _0: Self = Self::new(0);
4226
4227        #[doc = "Select associated input channel."]
4228        pub const _1: Self = Self::new(1);
4229    }
4230    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4231    pub struct Ansb01_SPEC;
4232    pub type Ansb01 = crate::EnumBitfieldStruct<u8, Ansb01_SPEC>;
4233    impl Ansb01 {
4234        #[doc = "Do not select associated input channel."]
4235        pub const _0: Self = Self::new(0);
4236
4237        #[doc = "Select associated input channel."]
4238        pub const _1: Self = Self::new(1);
4239    }
4240    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4241    pub struct Ansb02_SPEC;
4242    pub type Ansb02 = crate::EnumBitfieldStruct<u8, Ansb02_SPEC>;
4243    impl Ansb02 {
4244        #[doc = "Do not select associated input channel."]
4245        pub const _0: Self = Self::new(0);
4246
4247        #[doc = "Select associated input channel."]
4248        pub const _1: Self = Self::new(1);
4249    }
4250    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4251    pub struct Ansb03_SPEC;
4252    pub type Ansb03 = crate::EnumBitfieldStruct<u8, Ansb03_SPEC>;
4253    impl Ansb03 {
4254        #[doc = "Do not select associated input channel."]
4255        pub const _0: Self = Self::new(0);
4256
4257        #[doc = "Select associated input channel."]
4258        pub const _1: Self = Self::new(1);
4259    }
4260    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4261    pub struct Ansb04_SPEC;
4262    pub type Ansb04 = crate::EnumBitfieldStruct<u8, Ansb04_SPEC>;
4263    impl Ansb04 {
4264        #[doc = "Do not select associated input channel."]
4265        pub const _0: Self = Self::new(0);
4266
4267        #[doc = "Select associated input channel."]
4268        pub const _1: Self = Self::new(1);
4269    }
4270    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4271    pub struct Ansb05_SPEC;
4272    pub type Ansb05 = crate::EnumBitfieldStruct<u8, Ansb05_SPEC>;
4273    impl Ansb05 {
4274        #[doc = "Do not select associated input channel."]
4275        pub const _0: Self = Self::new(0);
4276
4277        #[doc = "Select associated input channel."]
4278        pub const _1: Self = Self::new(1);
4279    }
4280    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4281    pub struct Ansb06_SPEC;
4282    pub type Ansb06 = crate::EnumBitfieldStruct<u8, Ansb06_SPEC>;
4283    impl Ansb06 {
4284        #[doc = "Do not select associated input channel."]
4285        pub const _0: Self = Self::new(0);
4286
4287        #[doc = "Select associated input channel."]
4288        pub const _1: Self = Self::new(1);
4289    }
4290    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4291    pub struct Ansb07_SPEC;
4292    pub type Ansb07 = crate::EnumBitfieldStruct<u8, Ansb07_SPEC>;
4293    impl Ansb07 {
4294        #[doc = "Do not select associated input channel."]
4295        pub const _0: Self = Self::new(0);
4296
4297        #[doc = "Select associated input channel."]
4298        pub const _1: Self = Self::new(1);
4299    }
4300    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4301    pub struct Ansb08_SPEC;
4302    pub type Ansb08 = crate::EnumBitfieldStruct<u8, Ansb08_SPEC>;
4303    impl Ansb08 {
4304        #[doc = "Do not select associated input channel."]
4305        pub const _0: Self = Self::new(0);
4306
4307        #[doc = "Select associated input channel."]
4308        pub const _1: Self = Self::new(1);
4309    }
4310    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4311    pub struct Ansb09_SPEC;
4312    pub type Ansb09 = crate::EnumBitfieldStruct<u8, Ansb09_SPEC>;
4313    impl Ansb09 {
4314        #[doc = "Do not select associated input channel."]
4315        pub const _0: Self = Self::new(0);
4316
4317        #[doc = "Select associated input channel."]
4318        pub const _1: Self = Self::new(1);
4319    }
4320    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4321    pub struct Ansb10_SPEC;
4322    pub type Ansb10 = crate::EnumBitfieldStruct<u8, Ansb10_SPEC>;
4323    impl Ansb10 {
4324        #[doc = "Do not select associated input channel."]
4325        pub const _0: Self = Self::new(0);
4326
4327        #[doc = "Select associated input channel."]
4328        pub const _1: Self = Self::new(1);
4329    }
4330    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4331    pub struct Ansb11_SPEC;
4332    pub type Ansb11 = crate::EnumBitfieldStruct<u8, Ansb11_SPEC>;
4333    impl Ansb11 {
4334        #[doc = "Do not select associated input channel."]
4335        pub const _0: Self = Self::new(0);
4336
4337        #[doc = "Select associated input channel."]
4338        pub const _1: Self = Self::new(1);
4339    }
4340    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4341    pub struct Ansb12_SPEC;
4342    pub type Ansb12 = crate::EnumBitfieldStruct<u8, Ansb12_SPEC>;
4343    impl Ansb12 {
4344        #[doc = "Do not select associated input channel."]
4345        pub const _0: Self = Self::new(0);
4346
4347        #[doc = "Select associated input channel."]
4348        pub const _1: Self = Self::new(1);
4349    }
4350    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4351    pub struct Ansb13_SPEC;
4352    pub type Ansb13 = crate::EnumBitfieldStruct<u8, Ansb13_SPEC>;
4353    impl Ansb13 {
4354        #[doc = "Do not select associated input channel."]
4355        pub const _0: Self = Self::new(0);
4356
4357        #[doc = "Select associated input channel."]
4358        pub const _1: Self = Self::new(1);
4359    }
4360    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4361    pub struct Ansb14_SPEC;
4362    pub type Ansb14 = crate::EnumBitfieldStruct<u8, Ansb14_SPEC>;
4363    impl Ansb14 {
4364        #[doc = "Do not select associated input channel."]
4365        pub const _0: Self = Self::new(0);
4366
4367        #[doc = "Select associated input channel."]
4368        pub const _1: Self = Self::new(1);
4369    }
4370    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4371    pub struct Ansb15_SPEC;
4372    pub type Ansb15 = crate::EnumBitfieldStruct<u8, Ansb15_SPEC>;
4373    impl Ansb15 {
4374        #[doc = "Do not select associated input channel."]
4375        pub const _0: Self = Self::new(0);
4376
4377        #[doc = "Select associated input channel."]
4378        pub const _1: Self = Self::new(1);
4379    }
4380}
4381#[doc(hidden)]
4382#[derive(Copy, Clone, Eq, PartialEq)]
4383pub struct Adansb1_SPEC;
4384impl crate::sealed::RegSpec for Adansb1_SPEC {
4385    type DataType = u16;
4386}
4387
4388#[doc = "A/D Channel Select Register B1"]
4389pub type Adansb1 = crate::RegValueT<Adansb1_SPEC>;
4390
4391impl Adansb1 {
4392    #[doc = "A/D Conversion Channels Select"]
4393    #[inline(always)]
4394    pub fn ansb16(
4395        self,
4396    ) -> crate::common::RegisterField<
4397        0,
4398        0x1,
4399        1,
4400        0,
4401        adansb1::Ansb16,
4402        adansb1::Ansb16,
4403        Adansb1_SPEC,
4404        crate::common::RW,
4405    > {
4406        crate::common::RegisterField::<
4407            0,
4408            0x1,
4409            1,
4410            0,
4411            adansb1::Ansb16,
4412            adansb1::Ansb16,
4413            Adansb1_SPEC,
4414            crate::common::RW,
4415        >::from_register(self, 0)
4416    }
4417
4418    #[doc = "A/D Conversion Channels Select"]
4419    #[inline(always)]
4420    pub fn ansb17(
4421        self,
4422    ) -> crate::common::RegisterField<
4423        1,
4424        0x1,
4425        1,
4426        0,
4427        adansb1::Ansb17,
4428        adansb1::Ansb17,
4429        Adansb1_SPEC,
4430        crate::common::RW,
4431    > {
4432        crate::common::RegisterField::<
4433            1,
4434            0x1,
4435            1,
4436            0,
4437            adansb1::Ansb17,
4438            adansb1::Ansb17,
4439            Adansb1_SPEC,
4440            crate::common::RW,
4441        >::from_register(self, 0)
4442    }
4443
4444    #[doc = "A/D Conversion Channels Select"]
4445    #[inline(always)]
4446    pub fn ansb18(
4447        self,
4448    ) -> crate::common::RegisterField<
4449        2,
4450        0x1,
4451        1,
4452        0,
4453        adansb1::Ansb18,
4454        adansb1::Ansb18,
4455        Adansb1_SPEC,
4456        crate::common::RW,
4457    > {
4458        crate::common::RegisterField::<
4459            2,
4460            0x1,
4461            1,
4462            0,
4463            adansb1::Ansb18,
4464            adansb1::Ansb18,
4465            Adansb1_SPEC,
4466            crate::common::RW,
4467        >::from_register(self, 0)
4468    }
4469
4470    #[doc = "A/D Conversion Channels Select"]
4471    #[inline(always)]
4472    pub fn ansb19(
4473        self,
4474    ) -> crate::common::RegisterField<
4475        3,
4476        0x1,
4477        1,
4478        0,
4479        adansb1::Ansb19,
4480        adansb1::Ansb19,
4481        Adansb1_SPEC,
4482        crate::common::RW,
4483    > {
4484        crate::common::RegisterField::<
4485            3,
4486            0x1,
4487            1,
4488            0,
4489            adansb1::Ansb19,
4490            adansb1::Ansb19,
4491            Adansb1_SPEC,
4492            crate::common::RW,
4493        >::from_register(self, 0)
4494    }
4495
4496    #[doc = "A/D Conversion Channels Select"]
4497    #[inline(always)]
4498    pub fn ansb20(
4499        self,
4500    ) -> crate::common::RegisterField<
4501        4,
4502        0x1,
4503        1,
4504        0,
4505        adansb1::Ansb20,
4506        adansb1::Ansb20,
4507        Adansb1_SPEC,
4508        crate::common::RW,
4509    > {
4510        crate::common::RegisterField::<
4511            4,
4512            0x1,
4513            1,
4514            0,
4515            adansb1::Ansb20,
4516            adansb1::Ansb20,
4517            Adansb1_SPEC,
4518            crate::common::RW,
4519        >::from_register(self, 0)
4520    }
4521
4522    #[doc = "A/D Conversion Channels Select"]
4523    #[inline(always)]
4524    pub fn ansb21(
4525        self,
4526    ) -> crate::common::RegisterField<
4527        5,
4528        0x1,
4529        1,
4530        0,
4531        adansb1::Ansb21,
4532        adansb1::Ansb21,
4533        Adansb1_SPEC,
4534        crate::common::RW,
4535    > {
4536        crate::common::RegisterField::<
4537            5,
4538            0x1,
4539            1,
4540            0,
4541            adansb1::Ansb21,
4542            adansb1::Ansb21,
4543            Adansb1_SPEC,
4544            crate::common::RW,
4545        >::from_register(self, 0)
4546    }
4547
4548    #[doc = "A/D Conversion Channels Select"]
4549    #[inline(always)]
4550    pub fn ansb22(
4551        self,
4552    ) -> crate::common::RegisterField<
4553        6,
4554        0x1,
4555        1,
4556        0,
4557        adansb1::Ansb22,
4558        adansb1::Ansb22,
4559        Adansb1_SPEC,
4560        crate::common::RW,
4561    > {
4562        crate::common::RegisterField::<
4563            6,
4564            0x1,
4565            1,
4566            0,
4567            adansb1::Ansb22,
4568            adansb1::Ansb22,
4569            Adansb1_SPEC,
4570            crate::common::RW,
4571        >::from_register(self, 0)
4572    }
4573
4574    #[doc = "A/D Conversion Channels Select"]
4575    #[inline(always)]
4576    pub fn ansb23(
4577        self,
4578    ) -> crate::common::RegisterField<
4579        7,
4580        0x1,
4581        1,
4582        0,
4583        adansb1::Ansb23,
4584        adansb1::Ansb23,
4585        Adansb1_SPEC,
4586        crate::common::RW,
4587    > {
4588        crate::common::RegisterField::<
4589            7,
4590            0x1,
4591            1,
4592            0,
4593            adansb1::Ansb23,
4594            adansb1::Ansb23,
4595            Adansb1_SPEC,
4596            crate::common::RW,
4597        >::from_register(self, 0)
4598    }
4599
4600    #[doc = "A/D Conversion Channels Select"]
4601    #[inline(always)]
4602    pub fn ansb24(
4603        self,
4604    ) -> crate::common::RegisterField<
4605        8,
4606        0x1,
4607        1,
4608        0,
4609        adansb1::Ansb24,
4610        adansb1::Ansb24,
4611        Adansb1_SPEC,
4612        crate::common::RW,
4613    > {
4614        crate::common::RegisterField::<
4615            8,
4616            0x1,
4617            1,
4618            0,
4619            adansb1::Ansb24,
4620            adansb1::Ansb24,
4621            Adansb1_SPEC,
4622            crate::common::RW,
4623        >::from_register(self, 0)
4624    }
4625
4626    #[doc = "A/D Conversion Channels Select"]
4627    #[inline(always)]
4628    pub fn ansb25(
4629        self,
4630    ) -> crate::common::RegisterField<
4631        9,
4632        0x1,
4633        1,
4634        0,
4635        adansb1::Ansb25,
4636        adansb1::Ansb25,
4637        Adansb1_SPEC,
4638        crate::common::RW,
4639    > {
4640        crate::common::RegisterField::<
4641            9,
4642            0x1,
4643            1,
4644            0,
4645            adansb1::Ansb25,
4646            adansb1::Ansb25,
4647            Adansb1_SPEC,
4648            crate::common::RW,
4649        >::from_register(self, 0)
4650    }
4651
4652    #[doc = "A/D Conversion Channels Select"]
4653    #[inline(always)]
4654    pub fn ansb26(
4655        self,
4656    ) -> crate::common::RegisterField<
4657        10,
4658        0x1,
4659        1,
4660        0,
4661        adansb1::Ansb26,
4662        adansb1::Ansb26,
4663        Adansb1_SPEC,
4664        crate::common::RW,
4665    > {
4666        crate::common::RegisterField::<
4667            10,
4668            0x1,
4669            1,
4670            0,
4671            adansb1::Ansb26,
4672            adansb1::Ansb26,
4673            Adansb1_SPEC,
4674            crate::common::RW,
4675        >::from_register(self, 0)
4676    }
4677
4678    #[doc = "A/D Conversion Channels Select"]
4679    #[inline(always)]
4680    pub fn ansb27(
4681        self,
4682    ) -> crate::common::RegisterField<
4683        11,
4684        0x1,
4685        1,
4686        0,
4687        adansb1::Ansb27,
4688        adansb1::Ansb27,
4689        Adansb1_SPEC,
4690        crate::common::RW,
4691    > {
4692        crate::common::RegisterField::<
4693            11,
4694            0x1,
4695            1,
4696            0,
4697            adansb1::Ansb27,
4698            adansb1::Ansb27,
4699            Adansb1_SPEC,
4700            crate::common::RW,
4701        >::from_register(self, 0)
4702    }
4703
4704    #[doc = "A/D Conversion Channels Select"]
4705    #[inline(always)]
4706    pub fn ansb28(
4707        self,
4708    ) -> crate::common::RegisterField<
4709        12,
4710        0x1,
4711        1,
4712        0,
4713        adansb1::Ansb28,
4714        adansb1::Ansb28,
4715        Adansb1_SPEC,
4716        crate::common::RW,
4717    > {
4718        crate::common::RegisterField::<
4719            12,
4720            0x1,
4721            1,
4722            0,
4723            adansb1::Ansb28,
4724            adansb1::Ansb28,
4725            Adansb1_SPEC,
4726            crate::common::RW,
4727        >::from_register(self, 0)
4728    }
4729
4730    #[doc = "A/D Conversion Channels Select"]
4731    #[inline(always)]
4732    pub fn ansb29(
4733        self,
4734    ) -> crate::common::RegisterField<
4735        13,
4736        0x1,
4737        1,
4738        0,
4739        adansb1::Ansb29,
4740        adansb1::Ansb29,
4741        Adansb1_SPEC,
4742        crate::common::RW,
4743    > {
4744        crate::common::RegisterField::<
4745            13,
4746            0x1,
4747            1,
4748            0,
4749            adansb1::Ansb29,
4750            adansb1::Ansb29,
4751            Adansb1_SPEC,
4752            crate::common::RW,
4753        >::from_register(self, 0)
4754    }
4755
4756    #[doc = "A/D Conversion Channels Select"]
4757    #[inline(always)]
4758    pub fn ansb30(
4759        self,
4760    ) -> crate::common::RegisterField<
4761        14,
4762        0x1,
4763        1,
4764        0,
4765        adansb1::Ansb30,
4766        adansb1::Ansb30,
4767        Adansb1_SPEC,
4768        crate::common::RW,
4769    > {
4770        crate::common::RegisterField::<
4771            14,
4772            0x1,
4773            1,
4774            0,
4775            adansb1::Ansb30,
4776            adansb1::Ansb30,
4777            Adansb1_SPEC,
4778            crate::common::RW,
4779        >::from_register(self, 0)
4780    }
4781
4782    #[doc = "A/D Conversion Channels Select"]
4783    #[inline(always)]
4784    pub fn ansb31(
4785        self,
4786    ) -> crate::common::RegisterField<
4787        15,
4788        0x1,
4789        1,
4790        0,
4791        adansb1::Ansb31,
4792        adansb1::Ansb31,
4793        Adansb1_SPEC,
4794        crate::common::RW,
4795    > {
4796        crate::common::RegisterField::<
4797            15,
4798            0x1,
4799            1,
4800            0,
4801            adansb1::Ansb31,
4802            adansb1::Ansb31,
4803            Adansb1_SPEC,
4804            crate::common::RW,
4805        >::from_register(self, 0)
4806    }
4807}
4808impl ::core::default::Default for Adansb1 {
4809    #[inline(always)]
4810    fn default() -> Adansb1 {
4811        <crate::RegValueT<Adansb1_SPEC> as RegisterValue<_>>::new(0)
4812    }
4813}
4814pub mod adansb1 {
4815
4816    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4817    pub struct Ansb16_SPEC;
4818    pub type Ansb16 = crate::EnumBitfieldStruct<u8, Ansb16_SPEC>;
4819    impl Ansb16 {
4820        #[doc = "Do not select associated input channel."]
4821        pub const _0: Self = Self::new(0);
4822
4823        #[doc = "Select associated input channel."]
4824        pub const _1: Self = Self::new(1);
4825    }
4826    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4827    pub struct Ansb17_SPEC;
4828    pub type Ansb17 = crate::EnumBitfieldStruct<u8, Ansb17_SPEC>;
4829    impl Ansb17 {
4830        #[doc = "Do not select associated input channel."]
4831        pub const _0: Self = Self::new(0);
4832
4833        #[doc = "Select associated input channel."]
4834        pub const _1: Self = Self::new(1);
4835    }
4836    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4837    pub struct Ansb18_SPEC;
4838    pub type Ansb18 = crate::EnumBitfieldStruct<u8, Ansb18_SPEC>;
4839    impl Ansb18 {
4840        #[doc = "Do not select associated input channel."]
4841        pub const _0: Self = Self::new(0);
4842
4843        #[doc = "Select associated input channel."]
4844        pub const _1: Self = Self::new(1);
4845    }
4846    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4847    pub struct Ansb19_SPEC;
4848    pub type Ansb19 = crate::EnumBitfieldStruct<u8, Ansb19_SPEC>;
4849    impl Ansb19 {
4850        #[doc = "Do not select associated input channel."]
4851        pub const _0: Self = Self::new(0);
4852
4853        #[doc = "Select associated input channel."]
4854        pub const _1: Self = Self::new(1);
4855    }
4856    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4857    pub struct Ansb20_SPEC;
4858    pub type Ansb20 = crate::EnumBitfieldStruct<u8, Ansb20_SPEC>;
4859    impl Ansb20 {
4860        #[doc = "Do not select associated input channel."]
4861        pub const _0: Self = Self::new(0);
4862
4863        #[doc = "Select associated input channel."]
4864        pub const _1: Self = Self::new(1);
4865    }
4866    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4867    pub struct Ansb21_SPEC;
4868    pub type Ansb21 = crate::EnumBitfieldStruct<u8, Ansb21_SPEC>;
4869    impl Ansb21 {
4870        #[doc = "Do not select associated input channel."]
4871        pub const _0: Self = Self::new(0);
4872
4873        #[doc = "Select associated input channel."]
4874        pub const _1: Self = Self::new(1);
4875    }
4876    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4877    pub struct Ansb22_SPEC;
4878    pub type Ansb22 = crate::EnumBitfieldStruct<u8, Ansb22_SPEC>;
4879    impl Ansb22 {
4880        #[doc = "Do not select associated input channel."]
4881        pub const _0: Self = Self::new(0);
4882
4883        #[doc = "Select associated input channel."]
4884        pub const _1: Self = Self::new(1);
4885    }
4886    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4887    pub struct Ansb23_SPEC;
4888    pub type Ansb23 = crate::EnumBitfieldStruct<u8, Ansb23_SPEC>;
4889    impl Ansb23 {
4890        #[doc = "Do not select associated input channel."]
4891        pub const _0: Self = Self::new(0);
4892
4893        #[doc = "Select associated input channel."]
4894        pub const _1: Self = Self::new(1);
4895    }
4896    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4897    pub struct Ansb24_SPEC;
4898    pub type Ansb24 = crate::EnumBitfieldStruct<u8, Ansb24_SPEC>;
4899    impl Ansb24 {
4900        #[doc = "Do not select associated input channel."]
4901        pub const _0: Self = Self::new(0);
4902
4903        #[doc = "Select associated input channel."]
4904        pub const _1: Self = Self::new(1);
4905    }
4906    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4907    pub struct Ansb25_SPEC;
4908    pub type Ansb25 = crate::EnumBitfieldStruct<u8, Ansb25_SPEC>;
4909    impl Ansb25 {
4910        #[doc = "Do not select associated input channel."]
4911        pub const _0: Self = Self::new(0);
4912
4913        #[doc = "Select associated input channel."]
4914        pub const _1: Self = Self::new(1);
4915    }
4916    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4917    pub struct Ansb26_SPEC;
4918    pub type Ansb26 = crate::EnumBitfieldStruct<u8, Ansb26_SPEC>;
4919    impl Ansb26 {
4920        #[doc = "Do not select associated input channel."]
4921        pub const _0: Self = Self::new(0);
4922
4923        #[doc = "Select associated input channel."]
4924        pub const _1: Self = Self::new(1);
4925    }
4926    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4927    pub struct Ansb27_SPEC;
4928    pub type Ansb27 = crate::EnumBitfieldStruct<u8, Ansb27_SPEC>;
4929    impl Ansb27 {
4930        #[doc = "Do not select associated input channel."]
4931        pub const _0: Self = Self::new(0);
4932
4933        #[doc = "Select associated input channel."]
4934        pub const _1: Self = Self::new(1);
4935    }
4936    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4937    pub struct Ansb28_SPEC;
4938    pub type Ansb28 = crate::EnumBitfieldStruct<u8, Ansb28_SPEC>;
4939    impl Ansb28 {
4940        #[doc = "Do not select associated input channel."]
4941        pub const _0: Self = Self::new(0);
4942
4943        #[doc = "Select associated input channel."]
4944        pub const _1: Self = Self::new(1);
4945    }
4946    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4947    pub struct Ansb29_SPEC;
4948    pub type Ansb29 = crate::EnumBitfieldStruct<u8, Ansb29_SPEC>;
4949    impl Ansb29 {
4950        #[doc = "Do not select associated input channel."]
4951        pub const _0: Self = Self::new(0);
4952
4953        #[doc = "Select associated input channel."]
4954        pub const _1: Self = Self::new(1);
4955    }
4956    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4957    pub struct Ansb30_SPEC;
4958    pub type Ansb30 = crate::EnumBitfieldStruct<u8, Ansb30_SPEC>;
4959    impl Ansb30 {
4960        #[doc = "Do not select associated input channel."]
4961        pub const _0: Self = Self::new(0);
4962
4963        #[doc = "Select associated input channel."]
4964        pub const _1: Self = Self::new(1);
4965    }
4966    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4967    pub struct Ansb31_SPEC;
4968    pub type Ansb31 = crate::EnumBitfieldStruct<u8, Ansb31_SPEC>;
4969    impl Ansb31 {
4970        #[doc = "Do not select associated input channel."]
4971        pub const _0: Self = Self::new(0);
4972
4973        #[doc = "Select associated input channel."]
4974        pub const _1: Self = Self::new(1);
4975    }
4976}
4977#[doc(hidden)]
4978#[derive(Copy, Clone, Eq, PartialEq)]
4979pub struct Addbldr_SPEC;
4980impl crate::sealed::RegSpec for Addbldr_SPEC {
4981    type DataType = u16;
4982}
4983
4984#[doc = "A/D Data Duplexing Register"]
4985pub type Addbldr = crate::RegValueT<Addbldr_SPEC>;
4986
4987impl Addbldr {
4988    #[doc = "Converted Value 15 to 0"]
4989    #[inline(always)]
4990    pub fn addbldr(
4991        self,
4992    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Addbldr_SPEC, crate::common::R>
4993    {
4994        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Addbldr_SPEC,crate::common::R>::from_register(self,0)
4995    }
4996}
4997impl ::core::default::Default for Addbldr {
4998    #[inline(always)]
4999    fn default() -> Addbldr {
5000        <crate::RegValueT<Addbldr_SPEC> as RegisterValue<_>>::new(0)
5001    }
5002}
5003
5004#[doc(hidden)]
5005#[derive(Copy, Clone, Eq, PartialEq)]
5006pub struct Adtsdr_SPEC;
5007impl crate::sealed::RegSpec for Adtsdr_SPEC {
5008    type DataType = u16;
5009}
5010
5011#[doc = "A/D Temperature Sensor Data Register"]
5012pub type Adtsdr = crate::RegValueT<Adtsdr_SPEC>;
5013
5014impl Adtsdr {
5015    #[doc = "Converted Value 15 to 0"]
5016    #[inline(always)]
5017    pub fn adtsdr(
5018        self,
5019    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Adtsdr_SPEC, crate::common::R>
5020    {
5021        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Adtsdr_SPEC,crate::common::R>::from_register(self,0)
5022    }
5023}
5024impl ::core::default::Default for Adtsdr {
5025    #[inline(always)]
5026    fn default() -> Adtsdr {
5027        <crate::RegValueT<Adtsdr_SPEC> as RegisterValue<_>>::new(0)
5028    }
5029}
5030
5031#[doc(hidden)]
5032#[derive(Copy, Clone, Eq, PartialEq)]
5033pub struct Adocdr_SPEC;
5034impl crate::sealed::RegSpec for Adocdr_SPEC {
5035    type DataType = u16;
5036}
5037
5038#[doc = "A/D Internal Reference Voltage Data Register"]
5039pub type Adocdr = crate::RegValueT<Adocdr_SPEC>;
5040
5041impl Adocdr {
5042    #[doc = "Converted Value 15 to 0"]
5043    #[inline(always)]
5044    pub fn adocdr(
5045        self,
5046    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Adocdr_SPEC, crate::common::R>
5047    {
5048        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Adocdr_SPEC,crate::common::R>::from_register(self,0)
5049    }
5050}
5051impl ::core::default::Default for Adocdr {
5052    #[inline(always)]
5053    fn default() -> Adocdr {
5054        <crate::RegValueT<Adocdr_SPEC> as RegisterValue<_>>::new(0)
5055    }
5056}
5057
5058#[doc(hidden)]
5059#[derive(Copy, Clone, Eq, PartialEq)]
5060pub struct Adrd_SPEC;
5061impl crate::sealed::RegSpec for Adrd_SPEC {
5062    type DataType = u16;
5063}
5064
5065#[doc = "A/D Self-Diagnosis Data Register"]
5066pub type Adrd = crate::RegValueT<Adrd_SPEC>;
5067
5068impl Adrd {
5069    #[doc = "Converted Value 11 to 0"]
5070    #[inline(always)]
5071    pub fn ad(
5072        self,
5073    ) -> crate::common::RegisterField<0, 0xfff, 1, 0, u16, u16, Adrd_SPEC, crate::common::R> {
5074        crate::common::RegisterField::<0,0xfff,1,0,u16,u16,Adrd_SPEC,crate::common::R>::from_register(self,0)
5075    }
5076
5077    #[doc = "Self-Diagnosis Status"]
5078    #[inline(always)]
5079    pub fn diagst(
5080        self,
5081    ) -> crate::common::RegisterField<
5082        14,
5083        0x3,
5084        1,
5085        0,
5086        adrd::Diagst,
5087        adrd::Diagst,
5088        Adrd_SPEC,
5089        crate::common::R,
5090    > {
5091        crate::common::RegisterField::<
5092            14,
5093            0x3,
5094            1,
5095            0,
5096            adrd::Diagst,
5097            adrd::Diagst,
5098            Adrd_SPEC,
5099            crate::common::R,
5100        >::from_register(self, 0)
5101    }
5102}
5103impl ::core::default::Default for Adrd {
5104    #[inline(always)]
5105    fn default() -> Adrd {
5106        <crate::RegValueT<Adrd_SPEC> as RegisterValue<_>>::new(0)
5107    }
5108}
5109pub mod adrd {
5110
5111    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5112    pub struct Diagst_SPEC;
5113    pub type Diagst = crate::EnumBitfieldStruct<u8, Diagst_SPEC>;
5114    impl Diagst {
5115        #[doc = "Self-diagnosis not executed after power-on."]
5116        pub const _00: Self = Self::new(0);
5117
5118        #[doc = "Self-diagnosis was executed using the 0 V voltage."]
5119        pub const _01: Self = Self::new(1);
5120
5121        #[doc = "Self-diagnosis was executed using the reference voltage × 1/2."]
5122        pub const _10: Self = Self::new(2);
5123
5124        #[doc = "Self-diagnosis was executed using the reference voltage ."]
5125        pub const _11: Self = Self::new(3);
5126    }
5127}
5128#[doc(hidden)]
5129#[derive(Copy, Clone, Eq, PartialEq)]
5130pub struct Addr_SPEC;
5131impl crate::sealed::RegSpec for Addr_SPEC {
5132    type DataType = u16;
5133}
5134
5135#[doc = "A/D Data Registers %s"]
5136pub type Addr = crate::RegValueT<Addr_SPEC>;
5137
5138impl Addr {
5139    #[doc = "Converted Value 15 to 0"]
5140    #[inline(always)]
5141    pub fn addr(
5142        self,
5143    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Addr_SPEC, crate::common::R> {
5144        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Addr_SPEC,crate::common::R>::from_register(self,0)
5145    }
5146}
5147impl ::core::default::Default for Addr {
5148    #[inline(always)]
5149    fn default() -> Addr {
5150        <crate::RegValueT<Addr_SPEC> as RegisterValue<_>>::new(0)
5151    }
5152}
5153
5154#[doc(hidden)]
5155#[derive(Copy, Clone, Eq, PartialEq)]
5156pub struct Addiscr_SPEC;
5157impl crate::sealed::RegSpec for Addiscr_SPEC {
5158    type DataType = u8;
5159}
5160
5161#[doc = "A/D Disconnection Detection Control Register"]
5162pub type Addiscr = crate::RegValueT<Addiscr_SPEC>;
5163
5164impl Addiscr {
5165    #[doc = "Disconnection Detection Assist Setting"]
5166    #[inline(always)]
5167    pub fn adndis(
5168        self,
5169    ) -> crate::common::RegisterField<
5170        0,
5171        0xf,
5172        1,
5173        0,
5174        addiscr::Adndis,
5175        addiscr::Adndis,
5176        Addiscr_SPEC,
5177        crate::common::RW,
5178    > {
5179        crate::common::RegisterField::<
5180            0,
5181            0xf,
5182            1,
5183            0,
5184            addiscr::Adndis,
5185            addiscr::Adndis,
5186            Addiscr_SPEC,
5187            crate::common::RW,
5188        >::from_register(self, 0)
5189    }
5190
5191    #[doc = "Precharge/discharge select"]
5192    #[inline(always)]
5193    pub fn pchg(
5194        self,
5195    ) -> crate::common::RegisterField<
5196        4,
5197        0x1,
5198        1,
5199        0,
5200        addiscr::Pchg,
5201        addiscr::Pchg,
5202        Addiscr_SPEC,
5203        crate::common::RW,
5204    > {
5205        crate::common::RegisterField::<
5206            4,
5207            0x1,
5208            1,
5209            0,
5210            addiscr::Pchg,
5211            addiscr::Pchg,
5212            Addiscr_SPEC,
5213            crate::common::RW,
5214        >::from_register(self, 0)
5215    }
5216}
5217impl ::core::default::Default for Addiscr {
5218    #[inline(always)]
5219    fn default() -> Addiscr {
5220        <crate::RegValueT<Addiscr_SPEC> as RegisterValue<_>>::new(0)
5221    }
5222}
5223pub mod addiscr {
5224
5225    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5226    pub struct Adndis_SPEC;
5227    pub type Adndis = crate::EnumBitfieldStruct<u8, Adndis_SPEC>;
5228    impl Adndis {
5229        #[doc = "The disconnection detection assist function is disabled"]
5230        pub const _0_X_0: Self = Self::new(0);
5231
5232        #[doc = "Setting prohibited"]
5233        pub const _0_X_1: Self = Self::new(1);
5234
5235        #[doc = "The number of states for the discharge or precharge period."]
5236        pub const OTHERS: Self = Self::new(0);
5237    }
5238    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5239    pub struct Pchg_SPEC;
5240    pub type Pchg = crate::EnumBitfieldStruct<u8, Pchg_SPEC>;
5241    impl Pchg {
5242        #[doc = "Discharge"]
5243        pub const _0: Self = Self::new(0);
5244
5245        #[doc = "Precharge"]
5246        pub const _1: Self = Self::new(1);
5247    }
5248}
5249#[doc(hidden)]
5250#[derive(Copy, Clone, Eq, PartialEq)]
5251pub struct Adacsr_SPEC;
5252impl crate::sealed::RegSpec for Adacsr_SPEC {
5253    type DataType = u8;
5254}
5255
5256#[doc = "A/D Conversion Operation Mode Select Register"]
5257pub type Adacsr = crate::RegValueT<Adacsr_SPEC>;
5258
5259impl Adacsr {
5260    #[doc = "Successive Approximation Control Setting"]
5261    #[inline(always)]
5262    pub fn adsac(
5263        self,
5264    ) -> crate::common::RegisterField<
5265        1,
5266        0x1,
5267        1,
5268        0,
5269        adacsr::Adsac,
5270        adacsr::Adsac,
5271        Adacsr_SPEC,
5272        crate::common::RW,
5273    > {
5274        crate::common::RegisterField::<
5275            1,
5276            0x1,
5277            1,
5278            0,
5279            adacsr::Adsac,
5280            adacsr::Adsac,
5281            Adacsr_SPEC,
5282            crate::common::RW,
5283        >::from_register(self, 0)
5284    }
5285}
5286impl ::core::default::Default for Adacsr {
5287    #[inline(always)]
5288    fn default() -> Adacsr {
5289        <crate::RegValueT<Adacsr_SPEC> as RegisterValue<_>>::new(0)
5290    }
5291}
5292pub mod adacsr {
5293
5294    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5295    pub struct Adsac_SPEC;
5296    pub type Adsac = crate::EnumBitfieldStruct<u8, Adsac_SPEC>;
5297    impl Adsac {
5298        #[doc = "Normal conversion mode (default)"]
5299        pub const _0: Self = Self::new(0);
5300
5301        #[doc = "Fast conversion mode"]
5302        pub const _1: Self = Self::new(1);
5303    }
5304}
5305#[doc(hidden)]
5306#[derive(Copy, Clone, Eq, PartialEq)]
5307pub struct Adgspcr_SPEC;
5308impl crate::sealed::RegSpec for Adgspcr_SPEC {
5309    type DataType = u16;
5310}
5311
5312#[doc = "A/D Group Scan Priority Control Register"]
5313pub type Adgspcr = crate::RegValueT<Adgspcr_SPEC>;
5314
5315impl Adgspcr {
5316    #[doc = "Group Priority Operation Setting"]
5317    #[inline(always)]
5318    pub fn pgs(
5319        self,
5320    ) -> crate::common::RegisterField<
5321        0,
5322        0x1,
5323        1,
5324        0,
5325        adgspcr::Pgs,
5326        adgspcr::Pgs,
5327        Adgspcr_SPEC,
5328        crate::common::RW,
5329    > {
5330        crate::common::RegisterField::<
5331            0,
5332            0x1,
5333            1,
5334            0,
5335            adgspcr::Pgs,
5336            adgspcr::Pgs,
5337            Adgspcr_SPEC,
5338            crate::common::RW,
5339        >::from_register(self, 0)
5340    }
5341
5342    #[doc = "Lower-Priority Group Restart Setting"]
5343    #[inline(always)]
5344    pub fn gbrscn(
5345        self,
5346    ) -> crate::common::RegisterField<
5347        1,
5348        0x1,
5349        1,
5350        0,
5351        adgspcr::Gbrscn,
5352        adgspcr::Gbrscn,
5353        Adgspcr_SPEC,
5354        crate::common::RW,
5355    > {
5356        crate::common::RegisterField::<
5357            1,
5358            0x1,
5359            1,
5360            0,
5361            adgspcr::Gbrscn,
5362            adgspcr::Gbrscn,
5363            Adgspcr_SPEC,
5364            crate::common::RW,
5365        >::from_register(self, 0)
5366    }
5367
5368    #[doc = "Single Scan Continuous Start"]
5369    #[inline(always)]
5370    pub fn gbrp(
5371        self,
5372    ) -> crate::common::RegisterField<
5373        15,
5374        0x1,
5375        1,
5376        0,
5377        adgspcr::Gbrp,
5378        adgspcr::Gbrp,
5379        Adgspcr_SPEC,
5380        crate::common::RW,
5381    > {
5382        crate::common::RegisterField::<
5383            15,
5384            0x1,
5385            1,
5386            0,
5387            adgspcr::Gbrp,
5388            adgspcr::Gbrp,
5389            Adgspcr_SPEC,
5390            crate::common::RW,
5391        >::from_register(self, 0)
5392    }
5393}
5394impl ::core::default::Default for Adgspcr {
5395    #[inline(always)]
5396    fn default() -> Adgspcr {
5397        <crate::RegValueT<Adgspcr_SPEC> as RegisterValue<_>>::new(0)
5398    }
5399}
5400pub mod adgspcr {
5401
5402    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5403    pub struct Pgs_SPEC;
5404    pub type Pgs = crate::EnumBitfieldStruct<u8, Pgs_SPEC>;
5405    impl Pgs {
5406        #[doc = "Operate without group priority control."]
5407        pub const _0: Self = Self::new(0);
5408
5409        #[doc = "Operate with group priority control."]
5410        pub const _1: Self = Self::new(1);
5411    }
5412    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5413    pub struct Gbrscn_SPEC;
5414    pub type Gbrscn = crate::EnumBitfieldStruct<u8, Gbrscn_SPEC>;
5415    impl Gbrscn {
5416        #[doc = "Disable rescanning of the group that was stopped in group priority operation"]
5417        pub const _0: Self = Self::new(0);
5418
5419        #[doc = "Enable rescanning of the group that was stopped in group priority operation."]
5420        pub const _1: Self = Self::new(1);
5421    }
5422    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5423    pub struct Gbrp_SPEC;
5424    pub type Gbrp = crate::EnumBitfieldStruct<u8, Gbrp_SPEC>;
5425    impl Gbrp {
5426        #[doc = "Single scan is not continuously activated."]
5427        pub const _0: Self = Self::new(0);
5428
5429        #[doc = "Single scan for the group with the lower-priority is continuously activated."]
5430        pub const _1: Self = Self::new(1);
5431    }
5432}
5433#[doc(hidden)]
5434#[derive(Copy, Clone, Eq, PartialEq)]
5435pub struct Addbldra_SPEC;
5436impl crate::sealed::RegSpec for Addbldra_SPEC {
5437    type DataType = u16;
5438}
5439
5440#[doc = "A/D Data Duplexing Register A"]
5441pub type Addbldra = crate::RegValueT<Addbldra_SPEC>;
5442
5443impl Addbldra {
5444    #[doc = "Converted Value 15 to 0"]
5445    #[inline(always)]
5446    pub fn addbldr(
5447        self,
5448    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Addbldra_SPEC, crate::common::R>
5449    {
5450        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Addbldra_SPEC,crate::common::R>::from_register(self,0)
5451    }
5452}
5453impl ::core::default::Default for Addbldra {
5454    #[inline(always)]
5455    fn default() -> Addbldra {
5456        <crate::RegValueT<Addbldra_SPEC> as RegisterValue<_>>::new(0)
5457    }
5458}
5459
5460#[doc(hidden)]
5461#[derive(Copy, Clone, Eq, PartialEq)]
5462pub struct Addbldrb_SPEC;
5463impl crate::sealed::RegSpec for Addbldrb_SPEC {
5464    type DataType = u16;
5465}
5466
5467#[doc = "A/D Data Duplexing Register B"]
5468pub type Addbldrb = crate::RegValueT<Addbldrb_SPEC>;
5469
5470impl Addbldrb {
5471    #[doc = "Converted Value 15 to 0"]
5472    #[inline(always)]
5473    pub fn addbldr(
5474        self,
5475    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Addbldrb_SPEC, crate::common::R>
5476    {
5477        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Addbldrb_SPEC,crate::common::R>::from_register(self,0)
5478    }
5479}
5480impl ::core::default::Default for Addbldrb {
5481    #[inline(always)]
5482    fn default() -> Addbldrb {
5483        <crate::RegValueT<Addbldrb_SPEC> as RegisterValue<_>>::new(0)
5484    }
5485}
5486
5487#[doc(hidden)]
5488#[derive(Copy, Clone, Eq, PartialEq)]
5489pub struct Adhvrefcnt_SPEC;
5490impl crate::sealed::RegSpec for Adhvrefcnt_SPEC {
5491    type DataType = u8;
5492}
5493
5494#[doc = "A/D High-Potential/Low-Potential Reference Voltage Control Register"]
5495pub type Adhvrefcnt = crate::RegValueT<Adhvrefcnt_SPEC>;
5496
5497impl Adhvrefcnt {
5498    #[doc = "High-Potential Reference Voltage Select"]
5499    #[inline(always)]
5500    pub fn hvsel(
5501        self,
5502    ) -> crate::common::RegisterField<
5503        0,
5504        0x3,
5505        1,
5506        0,
5507        adhvrefcnt::Hvsel,
5508        adhvrefcnt::Hvsel,
5509        Adhvrefcnt_SPEC,
5510        crate::common::RW,
5511    > {
5512        crate::common::RegisterField::<
5513            0,
5514            0x3,
5515            1,
5516            0,
5517            adhvrefcnt::Hvsel,
5518            adhvrefcnt::Hvsel,
5519            Adhvrefcnt_SPEC,
5520            crate::common::RW,
5521        >::from_register(self, 0)
5522    }
5523
5524    #[doc = "Low-Potential Reference Voltage Select"]
5525    #[inline(always)]
5526    pub fn lvsel(
5527        self,
5528    ) -> crate::common::RegisterField<
5529        4,
5530        0x1,
5531        1,
5532        0,
5533        adhvrefcnt::Lvsel,
5534        adhvrefcnt::Lvsel,
5535        Adhvrefcnt_SPEC,
5536        crate::common::RW,
5537    > {
5538        crate::common::RegisterField::<
5539            4,
5540            0x1,
5541            1,
5542            0,
5543            adhvrefcnt::Lvsel,
5544            adhvrefcnt::Lvsel,
5545            Adhvrefcnt_SPEC,
5546            crate::common::RW,
5547        >::from_register(self, 0)
5548    }
5549
5550    #[doc = "Sleep"]
5551    #[inline(always)]
5552    pub fn adslp(
5553        self,
5554    ) -> crate::common::RegisterField<
5555        7,
5556        0x1,
5557        1,
5558        0,
5559        adhvrefcnt::Adslp,
5560        adhvrefcnt::Adslp,
5561        Adhvrefcnt_SPEC,
5562        crate::common::RW,
5563    > {
5564        crate::common::RegisterField::<
5565            7,
5566            0x1,
5567            1,
5568            0,
5569            adhvrefcnt::Adslp,
5570            adhvrefcnt::Adslp,
5571            Adhvrefcnt_SPEC,
5572            crate::common::RW,
5573        >::from_register(self, 0)
5574    }
5575}
5576impl ::core::default::Default for Adhvrefcnt {
5577    #[inline(always)]
5578    fn default() -> Adhvrefcnt {
5579        <crate::RegValueT<Adhvrefcnt_SPEC> as RegisterValue<_>>::new(0)
5580    }
5581}
5582pub mod adhvrefcnt {
5583
5584    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5585    pub struct Hvsel_SPEC;
5586    pub type Hvsel = crate::EnumBitfieldStruct<u8, Hvsel_SPEC>;
5587    impl Hvsel {
5588        #[doc = "VCC0 is selected as the high-potential reference voltage"]
5589        pub const _00: Self = Self::new(0);
5590
5591        #[doc = "VREFH0 is selected as the high-potential reference voltage"]
5592        pub const _01: Self = Self::new(1);
5593
5594        #[doc = "Internal reference voltage is selected as the high-potential reference voltage"]
5595        pub const _10: Self = Self::new(2);
5596
5597        #[doc = "No reference voltage pin is selected (internal node discharge)"]
5598        pub const _11: Self = Self::new(3);
5599    }
5600    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5601    pub struct Lvsel_SPEC;
5602    pub type Lvsel = crate::EnumBitfieldStruct<u8, Lvsel_SPEC>;
5603    impl Lvsel {
5604        #[doc = "VSS0 is selected as the low-potential reference voltage."]
5605        pub const _0: Self = Self::new(0);
5606
5607        #[doc = "VREFL0 is selected as the low-potential reference voltage."]
5608        pub const _1: Self = Self::new(1);
5609    }
5610    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5611    pub struct Adslp_SPEC;
5612    pub type Adslp = crate::EnumBitfieldStruct<u8, Adslp_SPEC>;
5613    impl Adslp {
5614        #[doc = "Normal operation"]
5615        pub const _0: Self = Self::new(0);
5616
5617        #[doc = "Standby state"]
5618        pub const _1: Self = Self::new(1);
5619    }
5620}
5621#[doc(hidden)]
5622#[derive(Copy, Clone, Eq, PartialEq)]
5623pub struct Adwinmon_SPEC;
5624impl crate::sealed::RegSpec for Adwinmon_SPEC {
5625    type DataType = u8;
5626}
5627
5628#[doc = "A/D Compare Function Window A/B Status Monitor Register"]
5629pub type Adwinmon = crate::RegValueT<Adwinmon_SPEC>;
5630
5631impl Adwinmon {
5632    #[doc = "Combination Result Monitor"]
5633    #[inline(always)]
5634    pub fn moncomb(
5635        self,
5636    ) -> crate::common::RegisterField<
5637        0,
5638        0x1,
5639        1,
5640        0,
5641        adwinmon::Moncomb,
5642        adwinmon::Moncomb,
5643        Adwinmon_SPEC,
5644        crate::common::R,
5645    > {
5646        crate::common::RegisterField::<
5647            0,
5648            0x1,
5649            1,
5650            0,
5651            adwinmon::Moncomb,
5652            adwinmon::Moncomb,
5653            Adwinmon_SPEC,
5654            crate::common::R,
5655        >::from_register(self, 0)
5656    }
5657
5658    #[doc = "Comparison Result Monitor A"]
5659    #[inline(always)]
5660    pub fn moncmpa(
5661        self,
5662    ) -> crate::common::RegisterField<
5663        4,
5664        0x1,
5665        1,
5666        0,
5667        adwinmon::Moncmpa,
5668        adwinmon::Moncmpa,
5669        Adwinmon_SPEC,
5670        crate::common::R,
5671    > {
5672        crate::common::RegisterField::<
5673            4,
5674            0x1,
5675            1,
5676            0,
5677            adwinmon::Moncmpa,
5678            adwinmon::Moncmpa,
5679            Adwinmon_SPEC,
5680            crate::common::R,
5681        >::from_register(self, 0)
5682    }
5683
5684    #[doc = "Comparison Result Monitor B"]
5685    #[inline(always)]
5686    pub fn moncmpb(
5687        self,
5688    ) -> crate::common::RegisterField<
5689        5,
5690        0x1,
5691        1,
5692        0,
5693        adwinmon::Moncmpb,
5694        adwinmon::Moncmpb,
5695        Adwinmon_SPEC,
5696        crate::common::R,
5697    > {
5698        crate::common::RegisterField::<
5699            5,
5700            0x1,
5701            1,
5702            0,
5703            adwinmon::Moncmpb,
5704            adwinmon::Moncmpb,
5705            Adwinmon_SPEC,
5706            crate::common::R,
5707        >::from_register(self, 0)
5708    }
5709}
5710impl ::core::default::Default for Adwinmon {
5711    #[inline(always)]
5712    fn default() -> Adwinmon {
5713        <crate::RegValueT<Adwinmon_SPEC> as RegisterValue<_>>::new(0)
5714    }
5715}
5716pub mod adwinmon {
5717
5718    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5719    pub struct Moncomb_SPEC;
5720    pub type Moncomb = crate::EnumBitfieldStruct<u8, Moncomb_SPEC>;
5721    impl Moncomb {
5722        #[doc = "Window A/B composite conditions are not met."]
5723        pub const _0: Self = Self::new(0);
5724
5725        #[doc = "Window A/B composite conditions are met."]
5726        pub const _1: Self = Self::new(1);
5727    }
5728    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5729    pub struct Moncmpa_SPEC;
5730    pub type Moncmpa = crate::EnumBitfieldStruct<u8, Moncmpa_SPEC>;
5731    impl Moncmpa {
5732        #[doc = "Window A comparison conditions are not met."]
5733        pub const _0: Self = Self::new(0);
5734
5735        #[doc = "Window A comparison conditions are met."]
5736        pub const _1: Self = Self::new(1);
5737    }
5738    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5739    pub struct Moncmpb_SPEC;
5740    pub type Moncmpb = crate::EnumBitfieldStruct<u8, Moncmpb_SPEC>;
5741    impl Moncmpb {
5742        #[doc = "Window B comparison conditions are not met."]
5743        pub const _0: Self = Self::new(0);
5744
5745        #[doc = "Window B comparison conditions are met."]
5746        pub const _1: Self = Self::new(1);
5747    }
5748}
5749#[doc(hidden)]
5750#[derive(Copy, Clone, Eq, PartialEq)]
5751pub struct Adcmpcr_SPEC;
5752impl crate::sealed::RegSpec for Adcmpcr_SPEC {
5753    type DataType = u16;
5754}
5755
5756#[doc = "A/D Compare Function Control Register"]
5757pub type Adcmpcr = crate::RegValueT<Adcmpcr_SPEC>;
5758
5759impl Adcmpcr {
5760    #[doc = "Window A/B Composite Conditions Setting"]
5761    #[inline(always)]
5762    pub fn cmpab(
5763        self,
5764    ) -> crate::common::RegisterField<
5765        0,
5766        0x3,
5767        1,
5768        0,
5769        adcmpcr::Cmpab,
5770        adcmpcr::Cmpab,
5771        Adcmpcr_SPEC,
5772        crate::common::RW,
5773    > {
5774        crate::common::RegisterField::<
5775            0,
5776            0x3,
5777            1,
5778            0,
5779            adcmpcr::Cmpab,
5780            adcmpcr::Cmpab,
5781            Adcmpcr_SPEC,
5782            crate::common::RW,
5783        >::from_register(self, 0)
5784    }
5785
5786    #[doc = "Compare Window B Operation Enable"]
5787    #[inline(always)]
5788    pub fn cmpbe(
5789        self,
5790    ) -> crate::common::RegisterField<
5791        9,
5792        0x1,
5793        1,
5794        0,
5795        adcmpcr::Cmpbe,
5796        adcmpcr::Cmpbe,
5797        Adcmpcr_SPEC,
5798        crate::common::RW,
5799    > {
5800        crate::common::RegisterField::<
5801            9,
5802            0x1,
5803            1,
5804            0,
5805            adcmpcr::Cmpbe,
5806            adcmpcr::Cmpbe,
5807            Adcmpcr_SPEC,
5808            crate::common::RW,
5809        >::from_register(self, 0)
5810    }
5811
5812    #[doc = "Compare Window A Operation Enable"]
5813    #[inline(always)]
5814    pub fn cmpae(
5815        self,
5816    ) -> crate::common::RegisterField<
5817        11,
5818        0x1,
5819        1,
5820        0,
5821        adcmpcr::Cmpae,
5822        adcmpcr::Cmpae,
5823        Adcmpcr_SPEC,
5824        crate::common::RW,
5825    > {
5826        crate::common::RegisterField::<
5827            11,
5828            0x1,
5829            1,
5830            0,
5831            adcmpcr::Cmpae,
5832            adcmpcr::Cmpae,
5833            Adcmpcr_SPEC,
5834            crate::common::RW,
5835        >::from_register(self, 0)
5836    }
5837
5838    #[doc = "Compare B Interrupt Enable"]
5839    #[inline(always)]
5840    pub fn cmpbie(
5841        self,
5842    ) -> crate::common::RegisterField<
5843        13,
5844        0x1,
5845        1,
5846        0,
5847        adcmpcr::Cmpbie,
5848        adcmpcr::Cmpbie,
5849        Adcmpcr_SPEC,
5850        crate::common::RW,
5851    > {
5852        crate::common::RegisterField::<
5853            13,
5854            0x1,
5855            1,
5856            0,
5857            adcmpcr::Cmpbie,
5858            adcmpcr::Cmpbie,
5859            Adcmpcr_SPEC,
5860            crate::common::RW,
5861        >::from_register(self, 0)
5862    }
5863
5864    #[doc = "Window Function Setting"]
5865    #[inline(always)]
5866    pub fn wcmpe(
5867        self,
5868    ) -> crate::common::RegisterField<
5869        14,
5870        0x1,
5871        1,
5872        0,
5873        adcmpcr::Wcmpe,
5874        adcmpcr::Wcmpe,
5875        Adcmpcr_SPEC,
5876        crate::common::RW,
5877    > {
5878        crate::common::RegisterField::<
5879            14,
5880            0x1,
5881            1,
5882            0,
5883            adcmpcr::Wcmpe,
5884            adcmpcr::Wcmpe,
5885            Adcmpcr_SPEC,
5886            crate::common::RW,
5887        >::from_register(self, 0)
5888    }
5889
5890    #[doc = "Compare A Interrupt Enable"]
5891    #[inline(always)]
5892    pub fn cmpaie(
5893        self,
5894    ) -> crate::common::RegisterField<
5895        15,
5896        0x1,
5897        1,
5898        0,
5899        adcmpcr::Cmpaie,
5900        adcmpcr::Cmpaie,
5901        Adcmpcr_SPEC,
5902        crate::common::RW,
5903    > {
5904        crate::common::RegisterField::<
5905            15,
5906            0x1,
5907            1,
5908            0,
5909            adcmpcr::Cmpaie,
5910            adcmpcr::Cmpaie,
5911            Adcmpcr_SPEC,
5912            crate::common::RW,
5913        >::from_register(self, 0)
5914    }
5915}
5916impl ::core::default::Default for Adcmpcr {
5917    #[inline(always)]
5918    fn default() -> Adcmpcr {
5919        <crate::RegValueT<Adcmpcr_SPEC> as RegisterValue<_>>::new(0)
5920    }
5921}
5922pub mod adcmpcr {
5923
5924    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5925    pub struct Cmpab_SPEC;
5926    pub type Cmpab = crate::EnumBitfieldStruct<u8, Cmpab_SPEC>;
5927    impl Cmpab {
5928        #[doc = "Output ADC120_WCMPM when window A OR window B comparison conditions are met. Otherwise, output ADC120_WCMPUM."]
5929        pub const _00: Self = Self::new(0);
5930
5931        #[doc = "Output ADC120_WCMPM when window A EXOR window B comparison conditions are met. Otherwise, output ADC120_WCMPUM."]
5932        pub const _01: Self = Self::new(1);
5933
5934        #[doc = "Output ADC120_WCMPM when window A AND window B comparison conditions are met. Otherwise, output ADC120_WCMPUM."]
5935        pub const _10: Self = Self::new(2);
5936
5937        #[doc = "Setting prohibited."]
5938        pub const _11: Self = Self::new(3);
5939    }
5940    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5941    pub struct Cmpbe_SPEC;
5942    pub type Cmpbe = crate::EnumBitfieldStruct<u8, Cmpbe_SPEC>;
5943    impl Cmpbe {
5944        #[doc = "Disable compare window B operation. Disable ADC120_WCMPM and ADC120_WCMPUM outputs."]
5945        pub const _0: Self = Self::new(0);
5946
5947        #[doc = "Enable compare window B operation."]
5948        pub const _1: Self = Self::new(1);
5949    }
5950    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5951    pub struct Cmpae_SPEC;
5952    pub type Cmpae = crate::EnumBitfieldStruct<u8, Cmpae_SPEC>;
5953    impl Cmpae {
5954        #[doc = "Disable compare window A operation. Disable ADC120_WCMPM and ADC120_WCMPUM outputs."]
5955        pub const _0: Self = Self::new(0);
5956
5957        #[doc = "Enable compare window A operation."]
5958        pub const _1: Self = Self::new(1);
5959    }
5960    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5961    pub struct Cmpbie_SPEC;
5962    pub type Cmpbie = crate::EnumBitfieldStruct<u8, Cmpbie_SPEC>;
5963    impl Cmpbie {
5964        #[doc = "Disable ADC120_CMPBI interrupt when comparison conditions (window B) are met."]
5965        pub const _0: Self = Self::new(0);
5966
5967        #[doc = "Enable ADC120_CMPBI interrupt when comparison conditions (window B) are met."]
5968        pub const _1: Self = Self::new(1);
5969    }
5970    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5971    pub struct Wcmpe_SPEC;
5972    pub type Wcmpe = crate::EnumBitfieldStruct<u8, Wcmpe_SPEC>;
5973    impl Wcmpe {
5974        #[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."]
5975        pub const _0: Self = Self::new(0);
5976
5977        #[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."]
5978        pub const _1: Self = Self::new(1);
5979    }
5980    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5981    pub struct Cmpaie_SPEC;
5982    pub type Cmpaie = crate::EnumBitfieldStruct<u8, Cmpaie_SPEC>;
5983    impl Cmpaie {
5984        #[doc = "Disable ADC120_CMPAI interrupt when comparison conditions (window A) are met."]
5985        pub const _0: Self = Self::new(0);
5986
5987        #[doc = "Enable ADC120_CMPAI interrupt when comparison conditions (window A) are met."]
5988        pub const _1: Self = Self::new(1);
5989    }
5990}
5991#[doc(hidden)]
5992#[derive(Copy, Clone, Eq, PartialEq)]
5993pub struct Adcmpanser_SPEC;
5994impl crate::sealed::RegSpec for Adcmpanser_SPEC {
5995    type DataType = u8;
5996}
5997
5998#[doc = "A/D Compare Function Window A Extended Input Select Register"]
5999pub type Adcmpanser = crate::RegValueT<Adcmpanser_SPEC>;
6000
6001impl Adcmpanser {
6002    #[doc = "Temperature Sensor Output Compare Select"]
6003    #[inline(always)]
6004    pub fn cmptsa(
6005        self,
6006    ) -> crate::common::RegisterField<
6007        0,
6008        0x1,
6009        1,
6010        0,
6011        adcmpanser::Cmptsa,
6012        adcmpanser::Cmptsa,
6013        Adcmpanser_SPEC,
6014        crate::common::RW,
6015    > {
6016        crate::common::RegisterField::<
6017            0,
6018            0x1,
6019            1,
6020            0,
6021            adcmpanser::Cmptsa,
6022            adcmpanser::Cmptsa,
6023            Adcmpanser_SPEC,
6024            crate::common::RW,
6025        >::from_register(self, 0)
6026    }
6027
6028    #[doc = "Internal Reference Voltage Compare Select"]
6029    #[inline(always)]
6030    pub fn cmpoca(
6031        self,
6032    ) -> crate::common::RegisterField<
6033        1,
6034        0x1,
6035        1,
6036        0,
6037        adcmpanser::Cmpoca,
6038        adcmpanser::Cmpoca,
6039        Adcmpanser_SPEC,
6040        crate::common::RW,
6041    > {
6042        crate::common::RegisterField::<
6043            1,
6044            0x1,
6045            1,
6046            0,
6047            adcmpanser::Cmpoca,
6048            adcmpanser::Cmpoca,
6049            Adcmpanser_SPEC,
6050            crate::common::RW,
6051        >::from_register(self, 0)
6052    }
6053}
6054impl ::core::default::Default for Adcmpanser {
6055    #[inline(always)]
6056    fn default() -> Adcmpanser {
6057        <crate::RegValueT<Adcmpanser_SPEC> as RegisterValue<_>>::new(0)
6058    }
6059}
6060pub mod adcmpanser {
6061
6062    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6063    pub struct Cmptsa_SPEC;
6064    pub type Cmptsa = crate::EnumBitfieldStruct<u8, Cmptsa_SPEC>;
6065    impl Cmptsa {
6066        #[doc = "Exclude the temperature sensor output from the compare Window A target range."]
6067        pub const _0: Self = Self::new(0);
6068
6069        #[doc = "Include the temperature sensor output in the compare Window A target range."]
6070        pub const _1: Self = Self::new(1);
6071    }
6072    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6073    pub struct Cmpoca_SPEC;
6074    pub type Cmpoca = crate::EnumBitfieldStruct<u8, Cmpoca_SPEC>;
6075    impl Cmpoca {
6076        #[doc = "Exclude the internal reference voltage from the compare Window A target range."]
6077        pub const _0: Self = Self::new(0);
6078
6079        #[doc = "Include the internal reference voltage in the compare Window A target range."]
6080        pub const _1: Self = Self::new(1);
6081    }
6082}
6083#[doc(hidden)]
6084#[derive(Copy, Clone, Eq, PartialEq)]
6085pub struct Adcmpler_SPEC;
6086impl crate::sealed::RegSpec for Adcmpler_SPEC {
6087    type DataType = u8;
6088}
6089
6090#[doc = "A/D Compare Function Window A Extended Input Comparison Condition Setting Register"]
6091pub type Adcmpler = crate::RegValueT<Adcmpler_SPEC>;
6092
6093impl Adcmpler {
6094    #[doc = "Compare Window A Temperature Sensor Output Comparison Condition Select"]
6095    #[inline(always)]
6096    pub fn cmpltsa(
6097        self,
6098    ) -> crate::common::RegisterField<
6099        0,
6100        0x1,
6101        1,
6102        0,
6103        adcmpler::Cmpltsa,
6104        adcmpler::Cmpltsa,
6105        Adcmpler_SPEC,
6106        crate::common::RW,
6107    > {
6108        crate::common::RegisterField::<
6109            0,
6110            0x1,
6111            1,
6112            0,
6113            adcmpler::Cmpltsa,
6114            adcmpler::Cmpltsa,
6115            Adcmpler_SPEC,
6116            crate::common::RW,
6117        >::from_register(self, 0)
6118    }
6119
6120    #[doc = "Compare Window A Internal Reference Voltage Comparison Condition Select"]
6121    #[inline(always)]
6122    pub fn cmploca(
6123        self,
6124    ) -> crate::common::RegisterField<
6125        1,
6126        0x1,
6127        1,
6128        0,
6129        adcmpler::Cmploca,
6130        adcmpler::Cmploca,
6131        Adcmpler_SPEC,
6132        crate::common::RW,
6133    > {
6134        crate::common::RegisterField::<
6135            1,
6136            0x1,
6137            1,
6138            0,
6139            adcmpler::Cmploca,
6140            adcmpler::Cmploca,
6141            Adcmpler_SPEC,
6142            crate::common::RW,
6143        >::from_register(self, 0)
6144    }
6145}
6146impl ::core::default::Default for Adcmpler {
6147    #[inline(always)]
6148    fn default() -> Adcmpler {
6149        <crate::RegValueT<Adcmpler_SPEC> as RegisterValue<_>>::new(0)
6150    }
6151}
6152pub mod adcmpler {
6153
6154    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6155    pub struct Cmpltsa_SPEC;
6156    pub type Cmpltsa = crate::EnumBitfieldStruct<u8, Cmpltsa_SPEC>;
6157    impl Cmpltsa {
6158        #[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"]
6159        pub const _0: Self = Self::new(0);
6160
6161        #[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"]
6162        pub const _1: Self = Self::new(1);
6163    }
6164    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6165    pub struct Cmploca_SPEC;
6166    pub type Cmploca = crate::EnumBitfieldStruct<u8, Cmploca_SPEC>;
6167    impl Cmploca {
6168        #[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"]
6169        pub const _0: Self = Self::new(0);
6170
6171        #[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"]
6172        pub const _1: Self = Self::new(1);
6173    }
6174}
6175#[doc(hidden)]
6176#[derive(Copy, Clone, Eq, PartialEq)]
6177pub struct Adcmpansr0_SPEC;
6178impl crate::sealed::RegSpec for Adcmpansr0_SPEC {
6179    type DataType = u16;
6180}
6181
6182#[doc = "A/D Compare Function Window A Channel Select Register 0"]
6183pub type Adcmpansr0 = crate::RegValueT<Adcmpansr0_SPEC>;
6184
6185impl Adcmpansr0 {
6186    #[doc = "Compare Window A Channel Select"]
6187    #[inline(always)]
6188    pub fn cmpcha00(
6189        self,
6190    ) -> crate::common::RegisterField<
6191        0,
6192        0x1,
6193        1,
6194        0,
6195        adcmpansr0::Cmpcha00,
6196        adcmpansr0::Cmpcha00,
6197        Adcmpansr0_SPEC,
6198        crate::common::RW,
6199    > {
6200        crate::common::RegisterField::<
6201            0,
6202            0x1,
6203            1,
6204            0,
6205            adcmpansr0::Cmpcha00,
6206            adcmpansr0::Cmpcha00,
6207            Adcmpansr0_SPEC,
6208            crate::common::RW,
6209        >::from_register(self, 0)
6210    }
6211
6212    #[doc = "Compare Window A Channel Select"]
6213    #[inline(always)]
6214    pub fn cmpcha01(
6215        self,
6216    ) -> crate::common::RegisterField<
6217        1,
6218        0x1,
6219        1,
6220        0,
6221        adcmpansr0::Cmpcha01,
6222        adcmpansr0::Cmpcha01,
6223        Adcmpansr0_SPEC,
6224        crate::common::RW,
6225    > {
6226        crate::common::RegisterField::<
6227            1,
6228            0x1,
6229            1,
6230            0,
6231            adcmpansr0::Cmpcha01,
6232            adcmpansr0::Cmpcha01,
6233            Adcmpansr0_SPEC,
6234            crate::common::RW,
6235        >::from_register(self, 0)
6236    }
6237
6238    #[doc = "Compare Window A Channel Select"]
6239    #[inline(always)]
6240    pub fn cmpcha02(
6241        self,
6242    ) -> crate::common::RegisterField<
6243        2,
6244        0x1,
6245        1,
6246        0,
6247        adcmpansr0::Cmpcha02,
6248        adcmpansr0::Cmpcha02,
6249        Adcmpansr0_SPEC,
6250        crate::common::RW,
6251    > {
6252        crate::common::RegisterField::<
6253            2,
6254            0x1,
6255            1,
6256            0,
6257            adcmpansr0::Cmpcha02,
6258            adcmpansr0::Cmpcha02,
6259            Adcmpansr0_SPEC,
6260            crate::common::RW,
6261        >::from_register(self, 0)
6262    }
6263
6264    #[doc = "Compare Window A Channel Select"]
6265    #[inline(always)]
6266    pub fn cmpcha03(
6267        self,
6268    ) -> crate::common::RegisterField<
6269        3,
6270        0x1,
6271        1,
6272        0,
6273        adcmpansr0::Cmpcha03,
6274        adcmpansr0::Cmpcha03,
6275        Adcmpansr0_SPEC,
6276        crate::common::RW,
6277    > {
6278        crate::common::RegisterField::<
6279            3,
6280            0x1,
6281            1,
6282            0,
6283            adcmpansr0::Cmpcha03,
6284            adcmpansr0::Cmpcha03,
6285            Adcmpansr0_SPEC,
6286            crate::common::RW,
6287        >::from_register(self, 0)
6288    }
6289
6290    #[doc = "Compare Window A Channel Select"]
6291    #[inline(always)]
6292    pub fn cmpcha04(
6293        self,
6294    ) -> crate::common::RegisterField<
6295        4,
6296        0x1,
6297        1,
6298        0,
6299        adcmpansr0::Cmpcha04,
6300        adcmpansr0::Cmpcha04,
6301        Adcmpansr0_SPEC,
6302        crate::common::RW,
6303    > {
6304        crate::common::RegisterField::<
6305            4,
6306            0x1,
6307            1,
6308            0,
6309            adcmpansr0::Cmpcha04,
6310            adcmpansr0::Cmpcha04,
6311            Adcmpansr0_SPEC,
6312            crate::common::RW,
6313        >::from_register(self, 0)
6314    }
6315
6316    #[doc = "Compare Window A Channel Select"]
6317    #[inline(always)]
6318    pub fn cmpcha05(
6319        self,
6320    ) -> crate::common::RegisterField<
6321        5,
6322        0x1,
6323        1,
6324        0,
6325        adcmpansr0::Cmpcha05,
6326        adcmpansr0::Cmpcha05,
6327        Adcmpansr0_SPEC,
6328        crate::common::RW,
6329    > {
6330        crate::common::RegisterField::<
6331            5,
6332            0x1,
6333            1,
6334            0,
6335            adcmpansr0::Cmpcha05,
6336            adcmpansr0::Cmpcha05,
6337            Adcmpansr0_SPEC,
6338            crate::common::RW,
6339        >::from_register(self, 0)
6340    }
6341
6342    #[doc = "Compare Window A Channel Select"]
6343    #[inline(always)]
6344    pub fn cmpcha06(
6345        self,
6346    ) -> crate::common::RegisterField<
6347        6,
6348        0x1,
6349        1,
6350        0,
6351        adcmpansr0::Cmpcha06,
6352        adcmpansr0::Cmpcha06,
6353        Adcmpansr0_SPEC,
6354        crate::common::RW,
6355    > {
6356        crate::common::RegisterField::<
6357            6,
6358            0x1,
6359            1,
6360            0,
6361            adcmpansr0::Cmpcha06,
6362            adcmpansr0::Cmpcha06,
6363            Adcmpansr0_SPEC,
6364            crate::common::RW,
6365        >::from_register(self, 0)
6366    }
6367
6368    #[doc = "Compare Window A Channel Select"]
6369    #[inline(always)]
6370    pub fn cmpcha07(
6371        self,
6372    ) -> crate::common::RegisterField<
6373        7,
6374        0x1,
6375        1,
6376        0,
6377        adcmpansr0::Cmpcha07,
6378        adcmpansr0::Cmpcha07,
6379        Adcmpansr0_SPEC,
6380        crate::common::RW,
6381    > {
6382        crate::common::RegisterField::<
6383            7,
6384            0x1,
6385            1,
6386            0,
6387            adcmpansr0::Cmpcha07,
6388            adcmpansr0::Cmpcha07,
6389            Adcmpansr0_SPEC,
6390            crate::common::RW,
6391        >::from_register(self, 0)
6392    }
6393
6394    #[doc = "Compare Window A Channel Select"]
6395    #[inline(always)]
6396    pub fn cmpcha08(
6397        self,
6398    ) -> crate::common::RegisterField<
6399        8,
6400        0x1,
6401        1,
6402        0,
6403        adcmpansr0::Cmpcha08,
6404        adcmpansr0::Cmpcha08,
6405        Adcmpansr0_SPEC,
6406        crate::common::RW,
6407    > {
6408        crate::common::RegisterField::<
6409            8,
6410            0x1,
6411            1,
6412            0,
6413            adcmpansr0::Cmpcha08,
6414            adcmpansr0::Cmpcha08,
6415            Adcmpansr0_SPEC,
6416            crate::common::RW,
6417        >::from_register(self, 0)
6418    }
6419
6420    #[doc = "Compare Window A Channel Select"]
6421    #[inline(always)]
6422    pub fn cmpcha09(
6423        self,
6424    ) -> crate::common::RegisterField<
6425        9,
6426        0x1,
6427        1,
6428        0,
6429        adcmpansr0::Cmpcha09,
6430        adcmpansr0::Cmpcha09,
6431        Adcmpansr0_SPEC,
6432        crate::common::RW,
6433    > {
6434        crate::common::RegisterField::<
6435            9,
6436            0x1,
6437            1,
6438            0,
6439            adcmpansr0::Cmpcha09,
6440            adcmpansr0::Cmpcha09,
6441            Adcmpansr0_SPEC,
6442            crate::common::RW,
6443        >::from_register(self, 0)
6444    }
6445
6446    #[doc = "Compare Window A Channel Select"]
6447    #[inline(always)]
6448    pub fn cmpcha10(
6449        self,
6450    ) -> crate::common::RegisterField<
6451        10,
6452        0x1,
6453        1,
6454        0,
6455        adcmpansr0::Cmpcha10,
6456        adcmpansr0::Cmpcha10,
6457        Adcmpansr0_SPEC,
6458        crate::common::RW,
6459    > {
6460        crate::common::RegisterField::<
6461            10,
6462            0x1,
6463            1,
6464            0,
6465            adcmpansr0::Cmpcha10,
6466            adcmpansr0::Cmpcha10,
6467            Adcmpansr0_SPEC,
6468            crate::common::RW,
6469        >::from_register(self, 0)
6470    }
6471
6472    #[doc = "Compare Window A Channel Select"]
6473    #[inline(always)]
6474    pub fn cmpcha11(
6475        self,
6476    ) -> crate::common::RegisterField<
6477        11,
6478        0x1,
6479        1,
6480        0,
6481        adcmpansr0::Cmpcha11,
6482        adcmpansr0::Cmpcha11,
6483        Adcmpansr0_SPEC,
6484        crate::common::RW,
6485    > {
6486        crate::common::RegisterField::<
6487            11,
6488            0x1,
6489            1,
6490            0,
6491            adcmpansr0::Cmpcha11,
6492            adcmpansr0::Cmpcha11,
6493            Adcmpansr0_SPEC,
6494            crate::common::RW,
6495        >::from_register(self, 0)
6496    }
6497
6498    #[doc = "Compare Window A Channel Select"]
6499    #[inline(always)]
6500    pub fn cmpcha12(
6501        self,
6502    ) -> crate::common::RegisterField<
6503        12,
6504        0x1,
6505        1,
6506        0,
6507        adcmpansr0::Cmpcha12,
6508        adcmpansr0::Cmpcha12,
6509        Adcmpansr0_SPEC,
6510        crate::common::RW,
6511    > {
6512        crate::common::RegisterField::<
6513            12,
6514            0x1,
6515            1,
6516            0,
6517            adcmpansr0::Cmpcha12,
6518            adcmpansr0::Cmpcha12,
6519            Adcmpansr0_SPEC,
6520            crate::common::RW,
6521        >::from_register(self, 0)
6522    }
6523
6524    #[doc = "Compare Window A Channel Select"]
6525    #[inline(always)]
6526    pub fn cmpcha13(
6527        self,
6528    ) -> crate::common::RegisterField<
6529        13,
6530        0x1,
6531        1,
6532        0,
6533        adcmpansr0::Cmpcha13,
6534        adcmpansr0::Cmpcha13,
6535        Adcmpansr0_SPEC,
6536        crate::common::RW,
6537    > {
6538        crate::common::RegisterField::<
6539            13,
6540            0x1,
6541            1,
6542            0,
6543            adcmpansr0::Cmpcha13,
6544            adcmpansr0::Cmpcha13,
6545            Adcmpansr0_SPEC,
6546            crate::common::RW,
6547        >::from_register(self, 0)
6548    }
6549
6550    #[doc = "Compare Window A Channel Select"]
6551    #[inline(always)]
6552    pub fn cmpcha14(
6553        self,
6554    ) -> crate::common::RegisterField<
6555        14,
6556        0x1,
6557        1,
6558        0,
6559        adcmpansr0::Cmpcha14,
6560        adcmpansr0::Cmpcha14,
6561        Adcmpansr0_SPEC,
6562        crate::common::RW,
6563    > {
6564        crate::common::RegisterField::<
6565            14,
6566            0x1,
6567            1,
6568            0,
6569            adcmpansr0::Cmpcha14,
6570            adcmpansr0::Cmpcha14,
6571            Adcmpansr0_SPEC,
6572            crate::common::RW,
6573        >::from_register(self, 0)
6574    }
6575
6576    #[doc = "Compare Window A Channel Select"]
6577    #[inline(always)]
6578    pub fn cmpcha15(
6579        self,
6580    ) -> crate::common::RegisterField<
6581        15,
6582        0x1,
6583        1,
6584        0,
6585        adcmpansr0::Cmpcha15,
6586        adcmpansr0::Cmpcha15,
6587        Adcmpansr0_SPEC,
6588        crate::common::RW,
6589    > {
6590        crate::common::RegisterField::<
6591            15,
6592            0x1,
6593            1,
6594            0,
6595            adcmpansr0::Cmpcha15,
6596            adcmpansr0::Cmpcha15,
6597            Adcmpansr0_SPEC,
6598            crate::common::RW,
6599        >::from_register(self, 0)
6600    }
6601}
6602impl ::core::default::Default for Adcmpansr0 {
6603    #[inline(always)]
6604    fn default() -> Adcmpansr0 {
6605        <crate::RegValueT<Adcmpansr0_SPEC> as RegisterValue<_>>::new(0)
6606    }
6607}
6608pub mod adcmpansr0 {
6609
6610    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6611    pub struct Cmpcha00_SPEC;
6612    pub type Cmpcha00 = crate::EnumBitfieldStruct<u8, Cmpcha00_SPEC>;
6613    impl Cmpcha00 {
6614        #[doc = "Disable compare function for associated input channel"]
6615        pub const _0: Self = Self::new(0);
6616
6617        #[doc = "Enable compare function for associated input channel"]
6618        pub const _1: Self = Self::new(1);
6619    }
6620    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6621    pub struct Cmpcha01_SPEC;
6622    pub type Cmpcha01 = crate::EnumBitfieldStruct<u8, Cmpcha01_SPEC>;
6623    impl Cmpcha01 {
6624        #[doc = "Disable compare function for associated input channel"]
6625        pub const _0: Self = Self::new(0);
6626
6627        #[doc = "Enable compare function for associated input channel"]
6628        pub const _1: Self = Self::new(1);
6629    }
6630    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6631    pub struct Cmpcha02_SPEC;
6632    pub type Cmpcha02 = crate::EnumBitfieldStruct<u8, Cmpcha02_SPEC>;
6633    impl Cmpcha02 {
6634        #[doc = "Disable compare function for associated input channel"]
6635        pub const _0: Self = Self::new(0);
6636
6637        #[doc = "Enable compare function for associated input channel"]
6638        pub const _1: Self = Self::new(1);
6639    }
6640    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6641    pub struct Cmpcha03_SPEC;
6642    pub type Cmpcha03 = crate::EnumBitfieldStruct<u8, Cmpcha03_SPEC>;
6643    impl Cmpcha03 {
6644        #[doc = "Disable compare function for associated input channel"]
6645        pub const _0: Self = Self::new(0);
6646
6647        #[doc = "Enable compare function for associated input channel"]
6648        pub const _1: Self = Self::new(1);
6649    }
6650    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6651    pub struct Cmpcha04_SPEC;
6652    pub type Cmpcha04 = crate::EnumBitfieldStruct<u8, Cmpcha04_SPEC>;
6653    impl Cmpcha04 {
6654        #[doc = "Disable compare function for associated input channel"]
6655        pub const _0: Self = Self::new(0);
6656
6657        #[doc = "Enable compare function for associated input channel"]
6658        pub const _1: Self = Self::new(1);
6659    }
6660    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6661    pub struct Cmpcha05_SPEC;
6662    pub type Cmpcha05 = crate::EnumBitfieldStruct<u8, Cmpcha05_SPEC>;
6663    impl Cmpcha05 {
6664        #[doc = "Disable compare function for associated input channel"]
6665        pub const _0: Self = Self::new(0);
6666
6667        #[doc = "Enable compare function for associated input channel"]
6668        pub const _1: Self = Self::new(1);
6669    }
6670    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6671    pub struct Cmpcha06_SPEC;
6672    pub type Cmpcha06 = crate::EnumBitfieldStruct<u8, Cmpcha06_SPEC>;
6673    impl Cmpcha06 {
6674        #[doc = "Disable compare function for associated input channel"]
6675        pub const _0: Self = Self::new(0);
6676
6677        #[doc = "Enable compare function for associated input channel"]
6678        pub const _1: Self = Self::new(1);
6679    }
6680    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6681    pub struct Cmpcha07_SPEC;
6682    pub type Cmpcha07 = crate::EnumBitfieldStruct<u8, Cmpcha07_SPEC>;
6683    impl Cmpcha07 {
6684        #[doc = "Disable compare function for associated input channel"]
6685        pub const _0: Self = Self::new(0);
6686
6687        #[doc = "Enable compare function for associated input channel"]
6688        pub const _1: Self = Self::new(1);
6689    }
6690    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6691    pub struct Cmpcha08_SPEC;
6692    pub type Cmpcha08 = crate::EnumBitfieldStruct<u8, Cmpcha08_SPEC>;
6693    impl Cmpcha08 {
6694        #[doc = "Disable compare function for associated input channel"]
6695        pub const _0: Self = Self::new(0);
6696
6697        #[doc = "Enable compare function for associated input channel"]
6698        pub const _1: Self = Self::new(1);
6699    }
6700    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6701    pub struct Cmpcha09_SPEC;
6702    pub type Cmpcha09 = crate::EnumBitfieldStruct<u8, Cmpcha09_SPEC>;
6703    impl Cmpcha09 {
6704        #[doc = "Disable compare function for associated input channel"]
6705        pub const _0: Self = Self::new(0);
6706
6707        #[doc = "Enable compare function for associated input channel"]
6708        pub const _1: Self = Self::new(1);
6709    }
6710    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6711    pub struct Cmpcha10_SPEC;
6712    pub type Cmpcha10 = crate::EnumBitfieldStruct<u8, Cmpcha10_SPEC>;
6713    impl Cmpcha10 {
6714        #[doc = "Disable compare function for associated input channel"]
6715        pub const _0: Self = Self::new(0);
6716
6717        #[doc = "Enable compare function for associated input channel"]
6718        pub const _1: Self = Self::new(1);
6719    }
6720    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6721    pub struct Cmpcha11_SPEC;
6722    pub type Cmpcha11 = crate::EnumBitfieldStruct<u8, Cmpcha11_SPEC>;
6723    impl Cmpcha11 {
6724        #[doc = "Disable compare function for associated input channel"]
6725        pub const _0: Self = Self::new(0);
6726
6727        #[doc = "Enable compare function for associated input channel"]
6728        pub const _1: Self = Self::new(1);
6729    }
6730    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6731    pub struct Cmpcha12_SPEC;
6732    pub type Cmpcha12 = crate::EnumBitfieldStruct<u8, Cmpcha12_SPEC>;
6733    impl Cmpcha12 {
6734        #[doc = "Disable compare function for associated input channel"]
6735        pub const _0: Self = Self::new(0);
6736
6737        #[doc = "Enable compare function for associated input channel"]
6738        pub const _1: Self = Self::new(1);
6739    }
6740    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6741    pub struct Cmpcha13_SPEC;
6742    pub type Cmpcha13 = crate::EnumBitfieldStruct<u8, Cmpcha13_SPEC>;
6743    impl Cmpcha13 {
6744        #[doc = "Disable compare function for associated input channel"]
6745        pub const _0: Self = Self::new(0);
6746
6747        #[doc = "Enable compare function for associated input channel"]
6748        pub const _1: Self = Self::new(1);
6749    }
6750    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6751    pub struct Cmpcha14_SPEC;
6752    pub type Cmpcha14 = crate::EnumBitfieldStruct<u8, Cmpcha14_SPEC>;
6753    impl Cmpcha14 {
6754        #[doc = "Disable compare function for associated input channel"]
6755        pub const _0: Self = Self::new(0);
6756
6757        #[doc = "Enable compare function for associated input channel"]
6758        pub const _1: Self = Self::new(1);
6759    }
6760    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6761    pub struct Cmpcha15_SPEC;
6762    pub type Cmpcha15 = crate::EnumBitfieldStruct<u8, Cmpcha15_SPEC>;
6763    impl Cmpcha15 {
6764        #[doc = "Disable compare function for associated input channel"]
6765        pub const _0: Self = Self::new(0);
6766
6767        #[doc = "Enable compare function for associated input channel"]
6768        pub const _1: Self = Self::new(1);
6769    }
6770}
6771#[doc(hidden)]
6772#[derive(Copy, Clone, Eq, PartialEq)]
6773pub struct Adcmpansr1_SPEC;
6774impl crate::sealed::RegSpec for Adcmpansr1_SPEC {
6775    type DataType = u16;
6776}
6777
6778#[doc = "A/D Compare Function Window A Channel Select Register 1"]
6779pub type Adcmpansr1 = crate::RegValueT<Adcmpansr1_SPEC>;
6780
6781impl Adcmpansr1 {
6782    #[doc = "Compare Window A Channel Select"]
6783    #[inline(always)]
6784    pub fn cmpcha16(
6785        self,
6786    ) -> crate::common::RegisterField<
6787        0,
6788        0x1,
6789        1,
6790        0,
6791        adcmpansr1::Cmpcha16,
6792        adcmpansr1::Cmpcha16,
6793        Adcmpansr1_SPEC,
6794        crate::common::RW,
6795    > {
6796        crate::common::RegisterField::<
6797            0,
6798            0x1,
6799            1,
6800            0,
6801            adcmpansr1::Cmpcha16,
6802            adcmpansr1::Cmpcha16,
6803            Adcmpansr1_SPEC,
6804            crate::common::RW,
6805        >::from_register(self, 0)
6806    }
6807
6808    #[doc = "Compare Window A Channel Select"]
6809    #[inline(always)]
6810    pub fn cmpcha17(
6811        self,
6812    ) -> crate::common::RegisterField<
6813        1,
6814        0x1,
6815        1,
6816        0,
6817        adcmpansr1::Cmpcha17,
6818        adcmpansr1::Cmpcha17,
6819        Adcmpansr1_SPEC,
6820        crate::common::RW,
6821    > {
6822        crate::common::RegisterField::<
6823            1,
6824            0x1,
6825            1,
6826            0,
6827            adcmpansr1::Cmpcha17,
6828            adcmpansr1::Cmpcha17,
6829            Adcmpansr1_SPEC,
6830            crate::common::RW,
6831        >::from_register(self, 0)
6832    }
6833
6834    #[doc = "Compare Window A Channel Select"]
6835    #[inline(always)]
6836    pub fn cmpcha18(
6837        self,
6838    ) -> crate::common::RegisterField<
6839        2,
6840        0x1,
6841        1,
6842        0,
6843        adcmpansr1::Cmpcha18,
6844        adcmpansr1::Cmpcha18,
6845        Adcmpansr1_SPEC,
6846        crate::common::RW,
6847    > {
6848        crate::common::RegisterField::<
6849            2,
6850            0x1,
6851            1,
6852            0,
6853            adcmpansr1::Cmpcha18,
6854            adcmpansr1::Cmpcha18,
6855            Adcmpansr1_SPEC,
6856            crate::common::RW,
6857        >::from_register(self, 0)
6858    }
6859
6860    #[doc = "Compare Window A Channel Select"]
6861    #[inline(always)]
6862    pub fn cmpcha19(
6863        self,
6864    ) -> crate::common::RegisterField<
6865        3,
6866        0x1,
6867        1,
6868        0,
6869        adcmpansr1::Cmpcha19,
6870        adcmpansr1::Cmpcha19,
6871        Adcmpansr1_SPEC,
6872        crate::common::RW,
6873    > {
6874        crate::common::RegisterField::<
6875            3,
6876            0x1,
6877            1,
6878            0,
6879            adcmpansr1::Cmpcha19,
6880            adcmpansr1::Cmpcha19,
6881            Adcmpansr1_SPEC,
6882            crate::common::RW,
6883        >::from_register(self, 0)
6884    }
6885
6886    #[doc = "Compare Window A Channel Select"]
6887    #[inline(always)]
6888    pub fn cmpcha20(
6889        self,
6890    ) -> crate::common::RegisterField<
6891        4,
6892        0x1,
6893        1,
6894        0,
6895        adcmpansr1::Cmpcha20,
6896        adcmpansr1::Cmpcha20,
6897        Adcmpansr1_SPEC,
6898        crate::common::RW,
6899    > {
6900        crate::common::RegisterField::<
6901            4,
6902            0x1,
6903            1,
6904            0,
6905            adcmpansr1::Cmpcha20,
6906            adcmpansr1::Cmpcha20,
6907            Adcmpansr1_SPEC,
6908            crate::common::RW,
6909        >::from_register(self, 0)
6910    }
6911
6912    #[doc = "Compare Window A Channel Select"]
6913    #[inline(always)]
6914    pub fn cmpcha21(
6915        self,
6916    ) -> crate::common::RegisterField<
6917        5,
6918        0x1,
6919        1,
6920        0,
6921        adcmpansr1::Cmpcha21,
6922        adcmpansr1::Cmpcha21,
6923        Adcmpansr1_SPEC,
6924        crate::common::RW,
6925    > {
6926        crate::common::RegisterField::<
6927            5,
6928            0x1,
6929            1,
6930            0,
6931            adcmpansr1::Cmpcha21,
6932            adcmpansr1::Cmpcha21,
6933            Adcmpansr1_SPEC,
6934            crate::common::RW,
6935        >::from_register(self, 0)
6936    }
6937
6938    #[doc = "Compare Window A Channel Select"]
6939    #[inline(always)]
6940    pub fn cmpcha22(
6941        self,
6942    ) -> crate::common::RegisterField<
6943        6,
6944        0x1,
6945        1,
6946        0,
6947        adcmpansr1::Cmpcha22,
6948        adcmpansr1::Cmpcha22,
6949        Adcmpansr1_SPEC,
6950        crate::common::RW,
6951    > {
6952        crate::common::RegisterField::<
6953            6,
6954            0x1,
6955            1,
6956            0,
6957            adcmpansr1::Cmpcha22,
6958            adcmpansr1::Cmpcha22,
6959            Adcmpansr1_SPEC,
6960            crate::common::RW,
6961        >::from_register(self, 0)
6962    }
6963
6964    #[doc = "Compare Window A Channel Select"]
6965    #[inline(always)]
6966    pub fn cmpcha23(
6967        self,
6968    ) -> crate::common::RegisterField<
6969        7,
6970        0x1,
6971        1,
6972        0,
6973        adcmpansr1::Cmpcha23,
6974        adcmpansr1::Cmpcha23,
6975        Adcmpansr1_SPEC,
6976        crate::common::RW,
6977    > {
6978        crate::common::RegisterField::<
6979            7,
6980            0x1,
6981            1,
6982            0,
6983            adcmpansr1::Cmpcha23,
6984            adcmpansr1::Cmpcha23,
6985            Adcmpansr1_SPEC,
6986            crate::common::RW,
6987        >::from_register(self, 0)
6988    }
6989
6990    #[doc = "Compare Window A Channel Select"]
6991    #[inline(always)]
6992    pub fn cmpcha24(
6993        self,
6994    ) -> crate::common::RegisterField<
6995        8,
6996        0x1,
6997        1,
6998        0,
6999        adcmpansr1::Cmpcha24,
7000        adcmpansr1::Cmpcha24,
7001        Adcmpansr1_SPEC,
7002        crate::common::RW,
7003    > {
7004        crate::common::RegisterField::<
7005            8,
7006            0x1,
7007            1,
7008            0,
7009            adcmpansr1::Cmpcha24,
7010            adcmpansr1::Cmpcha24,
7011            Adcmpansr1_SPEC,
7012            crate::common::RW,
7013        >::from_register(self, 0)
7014    }
7015
7016    #[doc = "Compare Window A Channel Select"]
7017    #[inline(always)]
7018    pub fn cmpcha25(
7019        self,
7020    ) -> crate::common::RegisterField<
7021        9,
7022        0x1,
7023        1,
7024        0,
7025        adcmpansr1::Cmpcha25,
7026        adcmpansr1::Cmpcha25,
7027        Adcmpansr1_SPEC,
7028        crate::common::RW,
7029    > {
7030        crate::common::RegisterField::<
7031            9,
7032            0x1,
7033            1,
7034            0,
7035            adcmpansr1::Cmpcha25,
7036            adcmpansr1::Cmpcha25,
7037            Adcmpansr1_SPEC,
7038            crate::common::RW,
7039        >::from_register(self, 0)
7040    }
7041
7042    #[doc = "Compare Window A Channel Select"]
7043    #[inline(always)]
7044    pub fn cmpcha26(
7045        self,
7046    ) -> crate::common::RegisterField<
7047        10,
7048        0x1,
7049        1,
7050        0,
7051        adcmpansr1::Cmpcha26,
7052        adcmpansr1::Cmpcha26,
7053        Adcmpansr1_SPEC,
7054        crate::common::RW,
7055    > {
7056        crate::common::RegisterField::<
7057            10,
7058            0x1,
7059            1,
7060            0,
7061            adcmpansr1::Cmpcha26,
7062            adcmpansr1::Cmpcha26,
7063            Adcmpansr1_SPEC,
7064            crate::common::RW,
7065        >::from_register(self, 0)
7066    }
7067
7068    #[doc = "Compare Window A Channel Select"]
7069    #[inline(always)]
7070    pub fn cmpcha27(
7071        self,
7072    ) -> crate::common::RegisterField<
7073        11,
7074        0x1,
7075        1,
7076        0,
7077        adcmpansr1::Cmpcha27,
7078        adcmpansr1::Cmpcha27,
7079        Adcmpansr1_SPEC,
7080        crate::common::RW,
7081    > {
7082        crate::common::RegisterField::<
7083            11,
7084            0x1,
7085            1,
7086            0,
7087            adcmpansr1::Cmpcha27,
7088            adcmpansr1::Cmpcha27,
7089            Adcmpansr1_SPEC,
7090            crate::common::RW,
7091        >::from_register(self, 0)
7092    }
7093
7094    #[doc = "Compare Window A Channel Select"]
7095    #[inline(always)]
7096    pub fn cmpcha28(
7097        self,
7098    ) -> crate::common::RegisterField<
7099        12,
7100        0x1,
7101        1,
7102        0,
7103        adcmpansr1::Cmpcha28,
7104        adcmpansr1::Cmpcha28,
7105        Adcmpansr1_SPEC,
7106        crate::common::RW,
7107    > {
7108        crate::common::RegisterField::<
7109            12,
7110            0x1,
7111            1,
7112            0,
7113            adcmpansr1::Cmpcha28,
7114            adcmpansr1::Cmpcha28,
7115            Adcmpansr1_SPEC,
7116            crate::common::RW,
7117        >::from_register(self, 0)
7118    }
7119
7120    #[doc = "Compare Window A Channel Select"]
7121    #[inline(always)]
7122    pub fn cmpcha29(
7123        self,
7124    ) -> crate::common::RegisterField<
7125        13,
7126        0x1,
7127        1,
7128        0,
7129        adcmpansr1::Cmpcha29,
7130        adcmpansr1::Cmpcha29,
7131        Adcmpansr1_SPEC,
7132        crate::common::RW,
7133    > {
7134        crate::common::RegisterField::<
7135            13,
7136            0x1,
7137            1,
7138            0,
7139            adcmpansr1::Cmpcha29,
7140            adcmpansr1::Cmpcha29,
7141            Adcmpansr1_SPEC,
7142            crate::common::RW,
7143        >::from_register(self, 0)
7144    }
7145
7146    #[doc = "Compare Window A Channel Select"]
7147    #[inline(always)]
7148    pub fn cmpcha30(
7149        self,
7150    ) -> crate::common::RegisterField<
7151        14,
7152        0x1,
7153        1,
7154        0,
7155        adcmpansr1::Cmpcha30,
7156        adcmpansr1::Cmpcha30,
7157        Adcmpansr1_SPEC,
7158        crate::common::RW,
7159    > {
7160        crate::common::RegisterField::<
7161            14,
7162            0x1,
7163            1,
7164            0,
7165            adcmpansr1::Cmpcha30,
7166            adcmpansr1::Cmpcha30,
7167            Adcmpansr1_SPEC,
7168            crate::common::RW,
7169        >::from_register(self, 0)
7170    }
7171
7172    #[doc = "Compare Window A Channel Select"]
7173    #[inline(always)]
7174    pub fn cmpcha31(
7175        self,
7176    ) -> crate::common::RegisterField<
7177        15,
7178        0x1,
7179        1,
7180        0,
7181        adcmpansr1::Cmpcha31,
7182        adcmpansr1::Cmpcha31,
7183        Adcmpansr1_SPEC,
7184        crate::common::RW,
7185    > {
7186        crate::common::RegisterField::<
7187            15,
7188            0x1,
7189            1,
7190            0,
7191            adcmpansr1::Cmpcha31,
7192            adcmpansr1::Cmpcha31,
7193            Adcmpansr1_SPEC,
7194            crate::common::RW,
7195        >::from_register(self, 0)
7196    }
7197}
7198impl ::core::default::Default for Adcmpansr1 {
7199    #[inline(always)]
7200    fn default() -> Adcmpansr1 {
7201        <crate::RegValueT<Adcmpansr1_SPEC> as RegisterValue<_>>::new(0)
7202    }
7203}
7204pub mod adcmpansr1 {
7205
7206    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7207    pub struct Cmpcha16_SPEC;
7208    pub type Cmpcha16 = crate::EnumBitfieldStruct<u8, Cmpcha16_SPEC>;
7209    impl Cmpcha16 {
7210        #[doc = "Disable compare function for associated input channel"]
7211        pub const _0: Self = Self::new(0);
7212
7213        #[doc = "Enable compare function for associated input channel"]
7214        pub const _1: Self = Self::new(1);
7215    }
7216    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7217    pub struct Cmpcha17_SPEC;
7218    pub type Cmpcha17 = crate::EnumBitfieldStruct<u8, Cmpcha17_SPEC>;
7219    impl Cmpcha17 {
7220        #[doc = "Disable compare function for associated input channel"]
7221        pub const _0: Self = Self::new(0);
7222
7223        #[doc = "Enable compare function for associated input channel"]
7224        pub const _1: Self = Self::new(1);
7225    }
7226    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7227    pub struct Cmpcha18_SPEC;
7228    pub type Cmpcha18 = crate::EnumBitfieldStruct<u8, Cmpcha18_SPEC>;
7229    impl Cmpcha18 {
7230        #[doc = "Disable compare function for associated input channel"]
7231        pub const _0: Self = Self::new(0);
7232
7233        #[doc = "Enable compare function for associated input channel"]
7234        pub const _1: Self = Self::new(1);
7235    }
7236    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7237    pub struct Cmpcha19_SPEC;
7238    pub type Cmpcha19 = crate::EnumBitfieldStruct<u8, Cmpcha19_SPEC>;
7239    impl Cmpcha19 {
7240        #[doc = "Disable compare function for associated input channel"]
7241        pub const _0: Self = Self::new(0);
7242
7243        #[doc = "Enable compare function for associated input channel"]
7244        pub const _1: Self = Self::new(1);
7245    }
7246    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7247    pub struct Cmpcha20_SPEC;
7248    pub type Cmpcha20 = crate::EnumBitfieldStruct<u8, Cmpcha20_SPEC>;
7249    impl Cmpcha20 {
7250        #[doc = "Disable compare function for associated input channel"]
7251        pub const _0: Self = Self::new(0);
7252
7253        #[doc = "Enable compare function for associated input channel"]
7254        pub const _1: Self = Self::new(1);
7255    }
7256    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7257    pub struct Cmpcha21_SPEC;
7258    pub type Cmpcha21 = crate::EnumBitfieldStruct<u8, Cmpcha21_SPEC>;
7259    impl Cmpcha21 {
7260        #[doc = "Disable compare function for associated input channel"]
7261        pub const _0: Self = Self::new(0);
7262
7263        #[doc = "Enable compare function for associated input channel"]
7264        pub const _1: Self = Self::new(1);
7265    }
7266    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7267    pub struct Cmpcha22_SPEC;
7268    pub type Cmpcha22 = crate::EnumBitfieldStruct<u8, Cmpcha22_SPEC>;
7269    impl Cmpcha22 {
7270        #[doc = "Disable compare function for associated input channel"]
7271        pub const _0: Self = Self::new(0);
7272
7273        #[doc = "Enable compare function for associated input channel"]
7274        pub const _1: Self = Self::new(1);
7275    }
7276    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7277    pub struct Cmpcha23_SPEC;
7278    pub type Cmpcha23 = crate::EnumBitfieldStruct<u8, Cmpcha23_SPEC>;
7279    impl Cmpcha23 {
7280        #[doc = "Disable compare function for associated input channel"]
7281        pub const _0: Self = Self::new(0);
7282
7283        #[doc = "Enable compare function for associated input channel"]
7284        pub const _1: Self = Self::new(1);
7285    }
7286    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7287    pub struct Cmpcha24_SPEC;
7288    pub type Cmpcha24 = crate::EnumBitfieldStruct<u8, Cmpcha24_SPEC>;
7289    impl Cmpcha24 {
7290        #[doc = "Disable compare function for associated input channel"]
7291        pub const _0: Self = Self::new(0);
7292
7293        #[doc = "Enable compare function for associated input channel"]
7294        pub const _1: Self = Self::new(1);
7295    }
7296    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7297    pub struct Cmpcha25_SPEC;
7298    pub type Cmpcha25 = crate::EnumBitfieldStruct<u8, Cmpcha25_SPEC>;
7299    impl Cmpcha25 {
7300        #[doc = "Disable compare function for associated input channel"]
7301        pub const _0: Self = Self::new(0);
7302
7303        #[doc = "Enable compare function for associated input channel"]
7304        pub const _1: Self = Self::new(1);
7305    }
7306    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7307    pub struct Cmpcha26_SPEC;
7308    pub type Cmpcha26 = crate::EnumBitfieldStruct<u8, Cmpcha26_SPEC>;
7309    impl Cmpcha26 {
7310        #[doc = "Disable compare function for associated input channel"]
7311        pub const _0: Self = Self::new(0);
7312
7313        #[doc = "Enable compare function for associated input channel"]
7314        pub const _1: Self = Self::new(1);
7315    }
7316    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7317    pub struct Cmpcha27_SPEC;
7318    pub type Cmpcha27 = crate::EnumBitfieldStruct<u8, Cmpcha27_SPEC>;
7319    impl Cmpcha27 {
7320        #[doc = "Disable compare function for associated input channel"]
7321        pub const _0: Self = Self::new(0);
7322
7323        #[doc = "Enable compare function for associated input channel"]
7324        pub const _1: Self = Self::new(1);
7325    }
7326    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7327    pub struct Cmpcha28_SPEC;
7328    pub type Cmpcha28 = crate::EnumBitfieldStruct<u8, Cmpcha28_SPEC>;
7329    impl Cmpcha28 {
7330        #[doc = "Disable compare function for associated input channel"]
7331        pub const _0: Self = Self::new(0);
7332
7333        #[doc = "Enable compare function for associated input channel"]
7334        pub const _1: Self = Self::new(1);
7335    }
7336    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7337    pub struct Cmpcha29_SPEC;
7338    pub type Cmpcha29 = crate::EnumBitfieldStruct<u8, Cmpcha29_SPEC>;
7339    impl Cmpcha29 {
7340        #[doc = "Disable compare function for associated input channel"]
7341        pub const _0: Self = Self::new(0);
7342
7343        #[doc = "Enable compare function for associated input channel"]
7344        pub const _1: Self = Self::new(1);
7345    }
7346    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7347    pub struct Cmpcha30_SPEC;
7348    pub type Cmpcha30 = crate::EnumBitfieldStruct<u8, Cmpcha30_SPEC>;
7349    impl Cmpcha30 {
7350        #[doc = "Disable compare function for associated input channel"]
7351        pub const _0: Self = Self::new(0);
7352
7353        #[doc = "Enable compare function for associated input channel"]
7354        pub const _1: Self = Self::new(1);
7355    }
7356    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7357    pub struct Cmpcha31_SPEC;
7358    pub type Cmpcha31 = crate::EnumBitfieldStruct<u8, Cmpcha31_SPEC>;
7359    impl Cmpcha31 {
7360        #[doc = "Disable compare function for associated input channel"]
7361        pub const _0: Self = Self::new(0);
7362
7363        #[doc = "Enable compare function for associated input channel"]
7364        pub const _1: Self = Self::new(1);
7365    }
7366}
7367#[doc(hidden)]
7368#[derive(Copy, Clone, Eq, PartialEq)]
7369pub struct Adcmplr0_SPEC;
7370impl crate::sealed::RegSpec for Adcmplr0_SPEC {
7371    type DataType = u16;
7372}
7373
7374#[doc = "A/D Compare Function Window A Comparison Condition Setting Register 0"]
7375pub type Adcmplr0 = crate::RegValueT<Adcmplr0_SPEC>;
7376
7377impl Adcmplr0 {
7378    #[doc = "Compare Window A Comparison Condition Select"]
7379    #[inline(always)]
7380    pub fn cmplcha00(
7381        self,
7382    ) -> crate::common::RegisterField<
7383        0,
7384        0x1,
7385        1,
7386        0,
7387        adcmplr0::Cmplcha00,
7388        adcmplr0::Cmplcha00,
7389        Adcmplr0_SPEC,
7390        crate::common::RW,
7391    > {
7392        crate::common::RegisterField::<
7393            0,
7394            0x1,
7395            1,
7396            0,
7397            adcmplr0::Cmplcha00,
7398            adcmplr0::Cmplcha00,
7399            Adcmplr0_SPEC,
7400            crate::common::RW,
7401        >::from_register(self, 0)
7402    }
7403
7404    #[doc = "Compare Window A Comparison Condition Select"]
7405    #[inline(always)]
7406    pub fn cmplcha01(
7407        self,
7408    ) -> crate::common::RegisterField<
7409        1,
7410        0x1,
7411        1,
7412        0,
7413        adcmplr0::Cmplcha01,
7414        adcmplr0::Cmplcha01,
7415        Adcmplr0_SPEC,
7416        crate::common::RW,
7417    > {
7418        crate::common::RegisterField::<
7419            1,
7420            0x1,
7421            1,
7422            0,
7423            adcmplr0::Cmplcha01,
7424            adcmplr0::Cmplcha01,
7425            Adcmplr0_SPEC,
7426            crate::common::RW,
7427        >::from_register(self, 0)
7428    }
7429
7430    #[doc = "Compare Window A Comparison Condition Select"]
7431    #[inline(always)]
7432    pub fn cmplcha02(
7433        self,
7434    ) -> crate::common::RegisterField<
7435        2,
7436        0x1,
7437        1,
7438        0,
7439        adcmplr0::Cmplcha02,
7440        adcmplr0::Cmplcha02,
7441        Adcmplr0_SPEC,
7442        crate::common::RW,
7443    > {
7444        crate::common::RegisterField::<
7445            2,
7446            0x1,
7447            1,
7448            0,
7449            adcmplr0::Cmplcha02,
7450            adcmplr0::Cmplcha02,
7451            Adcmplr0_SPEC,
7452            crate::common::RW,
7453        >::from_register(self, 0)
7454    }
7455
7456    #[doc = "Compare Window A Comparison Condition Select"]
7457    #[inline(always)]
7458    pub fn cmplcha03(
7459        self,
7460    ) -> crate::common::RegisterField<
7461        3,
7462        0x1,
7463        1,
7464        0,
7465        adcmplr0::Cmplcha03,
7466        adcmplr0::Cmplcha03,
7467        Adcmplr0_SPEC,
7468        crate::common::RW,
7469    > {
7470        crate::common::RegisterField::<
7471            3,
7472            0x1,
7473            1,
7474            0,
7475            adcmplr0::Cmplcha03,
7476            adcmplr0::Cmplcha03,
7477            Adcmplr0_SPEC,
7478            crate::common::RW,
7479        >::from_register(self, 0)
7480    }
7481
7482    #[doc = "Compare Window A Comparison Condition Select"]
7483    #[inline(always)]
7484    pub fn cmplcha04(
7485        self,
7486    ) -> crate::common::RegisterField<
7487        4,
7488        0x1,
7489        1,
7490        0,
7491        adcmplr0::Cmplcha04,
7492        adcmplr0::Cmplcha04,
7493        Adcmplr0_SPEC,
7494        crate::common::RW,
7495    > {
7496        crate::common::RegisterField::<
7497            4,
7498            0x1,
7499            1,
7500            0,
7501            adcmplr0::Cmplcha04,
7502            adcmplr0::Cmplcha04,
7503            Adcmplr0_SPEC,
7504            crate::common::RW,
7505        >::from_register(self, 0)
7506    }
7507
7508    #[doc = "Compare Window A Comparison Condition Select"]
7509    #[inline(always)]
7510    pub fn cmplcha05(
7511        self,
7512    ) -> crate::common::RegisterField<
7513        5,
7514        0x1,
7515        1,
7516        0,
7517        adcmplr0::Cmplcha05,
7518        adcmplr0::Cmplcha05,
7519        Adcmplr0_SPEC,
7520        crate::common::RW,
7521    > {
7522        crate::common::RegisterField::<
7523            5,
7524            0x1,
7525            1,
7526            0,
7527            adcmplr0::Cmplcha05,
7528            adcmplr0::Cmplcha05,
7529            Adcmplr0_SPEC,
7530            crate::common::RW,
7531        >::from_register(self, 0)
7532    }
7533
7534    #[doc = "Compare Window A Comparison Condition Select"]
7535    #[inline(always)]
7536    pub fn cmplcha06(
7537        self,
7538    ) -> crate::common::RegisterField<
7539        6,
7540        0x1,
7541        1,
7542        0,
7543        adcmplr0::Cmplcha06,
7544        adcmplr0::Cmplcha06,
7545        Adcmplr0_SPEC,
7546        crate::common::RW,
7547    > {
7548        crate::common::RegisterField::<
7549            6,
7550            0x1,
7551            1,
7552            0,
7553            adcmplr0::Cmplcha06,
7554            adcmplr0::Cmplcha06,
7555            Adcmplr0_SPEC,
7556            crate::common::RW,
7557        >::from_register(self, 0)
7558    }
7559
7560    #[doc = "Compare Window A Comparison Condition Select"]
7561    #[inline(always)]
7562    pub fn cmplcha07(
7563        self,
7564    ) -> crate::common::RegisterField<
7565        7,
7566        0x1,
7567        1,
7568        0,
7569        adcmplr0::Cmplcha07,
7570        adcmplr0::Cmplcha07,
7571        Adcmplr0_SPEC,
7572        crate::common::RW,
7573    > {
7574        crate::common::RegisterField::<
7575            7,
7576            0x1,
7577            1,
7578            0,
7579            adcmplr0::Cmplcha07,
7580            adcmplr0::Cmplcha07,
7581            Adcmplr0_SPEC,
7582            crate::common::RW,
7583        >::from_register(self, 0)
7584    }
7585
7586    #[doc = "Compare Window A Comparison Condition Select"]
7587    #[inline(always)]
7588    pub fn cmplcha08(
7589        self,
7590    ) -> crate::common::RegisterField<
7591        8,
7592        0x1,
7593        1,
7594        0,
7595        adcmplr0::Cmplcha08,
7596        adcmplr0::Cmplcha08,
7597        Adcmplr0_SPEC,
7598        crate::common::RW,
7599    > {
7600        crate::common::RegisterField::<
7601            8,
7602            0x1,
7603            1,
7604            0,
7605            adcmplr0::Cmplcha08,
7606            adcmplr0::Cmplcha08,
7607            Adcmplr0_SPEC,
7608            crate::common::RW,
7609        >::from_register(self, 0)
7610    }
7611
7612    #[doc = "Compare Window A Comparison Condition Select"]
7613    #[inline(always)]
7614    pub fn cmplcha09(
7615        self,
7616    ) -> crate::common::RegisterField<
7617        9,
7618        0x1,
7619        1,
7620        0,
7621        adcmplr0::Cmplcha09,
7622        adcmplr0::Cmplcha09,
7623        Adcmplr0_SPEC,
7624        crate::common::RW,
7625    > {
7626        crate::common::RegisterField::<
7627            9,
7628            0x1,
7629            1,
7630            0,
7631            adcmplr0::Cmplcha09,
7632            adcmplr0::Cmplcha09,
7633            Adcmplr0_SPEC,
7634            crate::common::RW,
7635        >::from_register(self, 0)
7636    }
7637
7638    #[doc = "Compare Window A Comparison Condition Select"]
7639    #[inline(always)]
7640    pub fn cmplcha10(
7641        self,
7642    ) -> crate::common::RegisterField<
7643        10,
7644        0x1,
7645        1,
7646        0,
7647        adcmplr0::Cmplcha10,
7648        adcmplr0::Cmplcha10,
7649        Adcmplr0_SPEC,
7650        crate::common::RW,
7651    > {
7652        crate::common::RegisterField::<
7653            10,
7654            0x1,
7655            1,
7656            0,
7657            adcmplr0::Cmplcha10,
7658            adcmplr0::Cmplcha10,
7659            Adcmplr0_SPEC,
7660            crate::common::RW,
7661        >::from_register(self, 0)
7662    }
7663
7664    #[doc = "Compare Window A Comparison Condition Select"]
7665    #[inline(always)]
7666    pub fn cmplcha11(
7667        self,
7668    ) -> crate::common::RegisterField<
7669        11,
7670        0x1,
7671        1,
7672        0,
7673        adcmplr0::Cmplcha11,
7674        adcmplr0::Cmplcha11,
7675        Adcmplr0_SPEC,
7676        crate::common::RW,
7677    > {
7678        crate::common::RegisterField::<
7679            11,
7680            0x1,
7681            1,
7682            0,
7683            adcmplr0::Cmplcha11,
7684            adcmplr0::Cmplcha11,
7685            Adcmplr0_SPEC,
7686            crate::common::RW,
7687        >::from_register(self, 0)
7688    }
7689
7690    #[doc = "Compare Window A Comparison Condition Select"]
7691    #[inline(always)]
7692    pub fn cmplcha12(
7693        self,
7694    ) -> crate::common::RegisterField<
7695        12,
7696        0x1,
7697        1,
7698        0,
7699        adcmplr0::Cmplcha12,
7700        adcmplr0::Cmplcha12,
7701        Adcmplr0_SPEC,
7702        crate::common::RW,
7703    > {
7704        crate::common::RegisterField::<
7705            12,
7706            0x1,
7707            1,
7708            0,
7709            adcmplr0::Cmplcha12,
7710            adcmplr0::Cmplcha12,
7711            Adcmplr0_SPEC,
7712            crate::common::RW,
7713        >::from_register(self, 0)
7714    }
7715
7716    #[doc = "Compare Window A Comparison Condition Select"]
7717    #[inline(always)]
7718    pub fn cmplcha13(
7719        self,
7720    ) -> crate::common::RegisterField<
7721        13,
7722        0x1,
7723        1,
7724        0,
7725        adcmplr0::Cmplcha13,
7726        adcmplr0::Cmplcha13,
7727        Adcmplr0_SPEC,
7728        crate::common::RW,
7729    > {
7730        crate::common::RegisterField::<
7731            13,
7732            0x1,
7733            1,
7734            0,
7735            adcmplr0::Cmplcha13,
7736            adcmplr0::Cmplcha13,
7737            Adcmplr0_SPEC,
7738            crate::common::RW,
7739        >::from_register(self, 0)
7740    }
7741
7742    #[doc = "Compare Window A Comparison Condition Select"]
7743    #[inline(always)]
7744    pub fn cmplcha14(
7745        self,
7746    ) -> crate::common::RegisterField<
7747        14,
7748        0x1,
7749        1,
7750        0,
7751        adcmplr0::Cmplcha14,
7752        adcmplr0::Cmplcha14,
7753        Adcmplr0_SPEC,
7754        crate::common::RW,
7755    > {
7756        crate::common::RegisterField::<
7757            14,
7758            0x1,
7759            1,
7760            0,
7761            adcmplr0::Cmplcha14,
7762            adcmplr0::Cmplcha14,
7763            Adcmplr0_SPEC,
7764            crate::common::RW,
7765        >::from_register(self, 0)
7766    }
7767
7768    #[doc = "Compare Window A Comparison Condition Select"]
7769    #[inline(always)]
7770    pub fn cmplcha15(
7771        self,
7772    ) -> crate::common::RegisterField<
7773        15,
7774        0x1,
7775        1,
7776        0,
7777        adcmplr0::Cmplcha15,
7778        adcmplr0::Cmplcha15,
7779        Adcmplr0_SPEC,
7780        crate::common::RW,
7781    > {
7782        crate::common::RegisterField::<
7783            15,
7784            0x1,
7785            1,
7786            0,
7787            adcmplr0::Cmplcha15,
7788            adcmplr0::Cmplcha15,
7789            Adcmplr0_SPEC,
7790            crate::common::RW,
7791        >::from_register(self, 0)
7792    }
7793}
7794impl ::core::default::Default for Adcmplr0 {
7795    #[inline(always)]
7796    fn default() -> Adcmplr0 {
7797        <crate::RegValueT<Adcmplr0_SPEC> as RegisterValue<_>>::new(0)
7798    }
7799}
7800pub mod adcmplr0 {
7801
7802    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7803    pub struct Cmplcha00_SPEC;
7804    pub type Cmplcha00 = crate::EnumBitfieldStruct<u8, Cmplcha00_SPEC>;
7805    impl Cmplcha00 {
7806        #[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"]
7807        pub const _0: Self = Self::new(0);
7808
7809        #[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"]
7810        pub const _1: Self = Self::new(1);
7811    }
7812    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7813    pub struct Cmplcha01_SPEC;
7814    pub type Cmplcha01 = crate::EnumBitfieldStruct<u8, Cmplcha01_SPEC>;
7815    impl Cmplcha01 {
7816        #[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"]
7817        pub const _0: Self = Self::new(0);
7818
7819        #[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"]
7820        pub const _1: Self = Self::new(1);
7821    }
7822    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7823    pub struct Cmplcha02_SPEC;
7824    pub type Cmplcha02 = crate::EnumBitfieldStruct<u8, Cmplcha02_SPEC>;
7825    impl Cmplcha02 {
7826        #[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"]
7827        pub const _0: Self = Self::new(0);
7828
7829        #[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"]
7830        pub const _1: Self = Self::new(1);
7831    }
7832    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7833    pub struct Cmplcha03_SPEC;
7834    pub type Cmplcha03 = crate::EnumBitfieldStruct<u8, Cmplcha03_SPEC>;
7835    impl Cmplcha03 {
7836        #[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"]
7837        pub const _0: Self = Self::new(0);
7838
7839        #[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"]
7840        pub const _1: Self = Self::new(1);
7841    }
7842    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7843    pub struct Cmplcha04_SPEC;
7844    pub type Cmplcha04 = crate::EnumBitfieldStruct<u8, Cmplcha04_SPEC>;
7845    impl Cmplcha04 {
7846        #[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"]
7847        pub const _0: Self = Self::new(0);
7848
7849        #[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"]
7850        pub const _1: Self = Self::new(1);
7851    }
7852    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7853    pub struct Cmplcha05_SPEC;
7854    pub type Cmplcha05 = crate::EnumBitfieldStruct<u8, Cmplcha05_SPEC>;
7855    impl Cmplcha05 {
7856        #[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"]
7857        pub const _0: Self = Self::new(0);
7858
7859        #[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"]
7860        pub const _1: Self = Self::new(1);
7861    }
7862    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7863    pub struct Cmplcha06_SPEC;
7864    pub type Cmplcha06 = crate::EnumBitfieldStruct<u8, Cmplcha06_SPEC>;
7865    impl Cmplcha06 {
7866        #[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"]
7867        pub const _0: Self = Self::new(0);
7868
7869        #[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"]
7870        pub const _1: Self = Self::new(1);
7871    }
7872    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7873    pub struct Cmplcha07_SPEC;
7874    pub type Cmplcha07 = crate::EnumBitfieldStruct<u8, Cmplcha07_SPEC>;
7875    impl Cmplcha07 {
7876        #[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"]
7877        pub const _0: Self = Self::new(0);
7878
7879        #[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"]
7880        pub const _1: Self = Self::new(1);
7881    }
7882    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7883    pub struct Cmplcha08_SPEC;
7884    pub type Cmplcha08 = crate::EnumBitfieldStruct<u8, Cmplcha08_SPEC>;
7885    impl Cmplcha08 {
7886        #[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"]
7887        pub const _0: Self = Self::new(0);
7888
7889        #[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"]
7890        pub const _1: Self = Self::new(1);
7891    }
7892    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7893    pub struct Cmplcha09_SPEC;
7894    pub type Cmplcha09 = crate::EnumBitfieldStruct<u8, Cmplcha09_SPEC>;
7895    impl Cmplcha09 {
7896        #[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"]
7897        pub const _0: Self = Self::new(0);
7898
7899        #[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"]
7900        pub const _1: Self = Self::new(1);
7901    }
7902    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7903    pub struct Cmplcha10_SPEC;
7904    pub type Cmplcha10 = crate::EnumBitfieldStruct<u8, Cmplcha10_SPEC>;
7905    impl Cmplcha10 {
7906        #[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"]
7907        pub const _0: Self = Self::new(0);
7908
7909        #[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"]
7910        pub const _1: Self = Self::new(1);
7911    }
7912    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7913    pub struct Cmplcha11_SPEC;
7914    pub type Cmplcha11 = crate::EnumBitfieldStruct<u8, Cmplcha11_SPEC>;
7915    impl Cmplcha11 {
7916        #[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"]
7917        pub const _0: Self = Self::new(0);
7918
7919        #[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"]
7920        pub const _1: Self = Self::new(1);
7921    }
7922    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7923    pub struct Cmplcha12_SPEC;
7924    pub type Cmplcha12 = crate::EnumBitfieldStruct<u8, Cmplcha12_SPEC>;
7925    impl Cmplcha12 {
7926        #[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"]
7927        pub const _0: Self = Self::new(0);
7928
7929        #[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"]
7930        pub const _1: Self = Self::new(1);
7931    }
7932    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7933    pub struct Cmplcha13_SPEC;
7934    pub type Cmplcha13 = crate::EnumBitfieldStruct<u8, Cmplcha13_SPEC>;
7935    impl Cmplcha13 {
7936        #[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"]
7937        pub const _0: Self = Self::new(0);
7938
7939        #[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"]
7940        pub const _1: Self = Self::new(1);
7941    }
7942    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7943    pub struct Cmplcha14_SPEC;
7944    pub type Cmplcha14 = crate::EnumBitfieldStruct<u8, Cmplcha14_SPEC>;
7945    impl Cmplcha14 {
7946        #[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"]
7947        pub const _0: Self = Self::new(0);
7948
7949        #[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"]
7950        pub const _1: Self = Self::new(1);
7951    }
7952    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7953    pub struct Cmplcha15_SPEC;
7954    pub type Cmplcha15 = crate::EnumBitfieldStruct<u8, Cmplcha15_SPEC>;
7955    impl Cmplcha15 {
7956        #[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"]
7957        pub const _0: Self = Self::new(0);
7958
7959        #[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"]
7960        pub const _1: Self = Self::new(1);
7961    }
7962}
7963#[doc(hidden)]
7964#[derive(Copy, Clone, Eq, PartialEq)]
7965pub struct Adcmplr1_SPEC;
7966impl crate::sealed::RegSpec for Adcmplr1_SPEC {
7967    type DataType = u16;
7968}
7969
7970#[doc = "A/D Compare Function Window A Comparison Condition Setting Register 1"]
7971pub type Adcmplr1 = crate::RegValueT<Adcmplr1_SPEC>;
7972
7973impl Adcmplr1 {
7974    #[doc = "Compare Window A Comparison Condition Select"]
7975    #[inline(always)]
7976    pub fn cmplcha16(
7977        self,
7978    ) -> crate::common::RegisterField<
7979        0,
7980        0x1,
7981        1,
7982        0,
7983        adcmplr1::Cmplcha16,
7984        adcmplr1::Cmplcha16,
7985        Adcmplr1_SPEC,
7986        crate::common::RW,
7987    > {
7988        crate::common::RegisterField::<
7989            0,
7990            0x1,
7991            1,
7992            0,
7993            adcmplr1::Cmplcha16,
7994            adcmplr1::Cmplcha16,
7995            Adcmplr1_SPEC,
7996            crate::common::RW,
7997        >::from_register(self, 0)
7998    }
7999
8000    #[doc = "Compare Window A Comparison Condition Select"]
8001    #[inline(always)]
8002    pub fn cmplcha17(
8003        self,
8004    ) -> crate::common::RegisterField<
8005        1,
8006        0x1,
8007        1,
8008        0,
8009        adcmplr1::Cmplcha17,
8010        adcmplr1::Cmplcha17,
8011        Adcmplr1_SPEC,
8012        crate::common::RW,
8013    > {
8014        crate::common::RegisterField::<
8015            1,
8016            0x1,
8017            1,
8018            0,
8019            adcmplr1::Cmplcha17,
8020            adcmplr1::Cmplcha17,
8021            Adcmplr1_SPEC,
8022            crate::common::RW,
8023        >::from_register(self, 0)
8024    }
8025
8026    #[doc = "Compare Window A Comparison Condition Select"]
8027    #[inline(always)]
8028    pub fn cmplcha18(
8029        self,
8030    ) -> crate::common::RegisterField<
8031        2,
8032        0x1,
8033        1,
8034        0,
8035        adcmplr1::Cmplcha18,
8036        adcmplr1::Cmplcha18,
8037        Adcmplr1_SPEC,
8038        crate::common::RW,
8039    > {
8040        crate::common::RegisterField::<
8041            2,
8042            0x1,
8043            1,
8044            0,
8045            adcmplr1::Cmplcha18,
8046            adcmplr1::Cmplcha18,
8047            Adcmplr1_SPEC,
8048            crate::common::RW,
8049        >::from_register(self, 0)
8050    }
8051
8052    #[doc = "Compare Window A Comparison Condition Select"]
8053    #[inline(always)]
8054    pub fn cmplcha19(
8055        self,
8056    ) -> crate::common::RegisterField<
8057        3,
8058        0x1,
8059        1,
8060        0,
8061        adcmplr1::Cmplcha19,
8062        adcmplr1::Cmplcha19,
8063        Adcmplr1_SPEC,
8064        crate::common::RW,
8065    > {
8066        crate::common::RegisterField::<
8067            3,
8068            0x1,
8069            1,
8070            0,
8071            adcmplr1::Cmplcha19,
8072            adcmplr1::Cmplcha19,
8073            Adcmplr1_SPEC,
8074            crate::common::RW,
8075        >::from_register(self, 0)
8076    }
8077
8078    #[doc = "Compare Window A Comparison Condition Select"]
8079    #[inline(always)]
8080    pub fn cmplcha20(
8081        self,
8082    ) -> crate::common::RegisterField<
8083        4,
8084        0x1,
8085        1,
8086        0,
8087        adcmplr1::Cmplcha20,
8088        adcmplr1::Cmplcha20,
8089        Adcmplr1_SPEC,
8090        crate::common::RW,
8091    > {
8092        crate::common::RegisterField::<
8093            4,
8094            0x1,
8095            1,
8096            0,
8097            adcmplr1::Cmplcha20,
8098            adcmplr1::Cmplcha20,
8099            Adcmplr1_SPEC,
8100            crate::common::RW,
8101        >::from_register(self, 0)
8102    }
8103
8104    #[doc = "Compare Window A Comparison Condition Select"]
8105    #[inline(always)]
8106    pub fn cmplcha21(
8107        self,
8108    ) -> crate::common::RegisterField<
8109        5,
8110        0x1,
8111        1,
8112        0,
8113        adcmplr1::Cmplcha21,
8114        adcmplr1::Cmplcha21,
8115        Adcmplr1_SPEC,
8116        crate::common::RW,
8117    > {
8118        crate::common::RegisterField::<
8119            5,
8120            0x1,
8121            1,
8122            0,
8123            adcmplr1::Cmplcha21,
8124            adcmplr1::Cmplcha21,
8125            Adcmplr1_SPEC,
8126            crate::common::RW,
8127        >::from_register(self, 0)
8128    }
8129
8130    #[doc = "Compare Window A Comparison Condition Select"]
8131    #[inline(always)]
8132    pub fn cmplcha22(
8133        self,
8134    ) -> crate::common::RegisterField<
8135        6,
8136        0x1,
8137        1,
8138        0,
8139        adcmplr1::Cmplcha22,
8140        adcmplr1::Cmplcha22,
8141        Adcmplr1_SPEC,
8142        crate::common::RW,
8143    > {
8144        crate::common::RegisterField::<
8145            6,
8146            0x1,
8147            1,
8148            0,
8149            adcmplr1::Cmplcha22,
8150            adcmplr1::Cmplcha22,
8151            Adcmplr1_SPEC,
8152            crate::common::RW,
8153        >::from_register(self, 0)
8154    }
8155
8156    #[doc = "Compare Window A Comparison Condition Select"]
8157    #[inline(always)]
8158    pub fn cmplcha23(
8159        self,
8160    ) -> crate::common::RegisterField<
8161        7,
8162        0x1,
8163        1,
8164        0,
8165        adcmplr1::Cmplcha23,
8166        adcmplr1::Cmplcha23,
8167        Adcmplr1_SPEC,
8168        crate::common::RW,
8169    > {
8170        crate::common::RegisterField::<
8171            7,
8172            0x1,
8173            1,
8174            0,
8175            adcmplr1::Cmplcha23,
8176            adcmplr1::Cmplcha23,
8177            Adcmplr1_SPEC,
8178            crate::common::RW,
8179        >::from_register(self, 0)
8180    }
8181
8182    #[doc = "Compare Window A Comparison Condition Select"]
8183    #[inline(always)]
8184    pub fn cmplcha24(
8185        self,
8186    ) -> crate::common::RegisterField<
8187        8,
8188        0x1,
8189        1,
8190        0,
8191        adcmplr1::Cmplcha24,
8192        adcmplr1::Cmplcha24,
8193        Adcmplr1_SPEC,
8194        crate::common::RW,
8195    > {
8196        crate::common::RegisterField::<
8197            8,
8198            0x1,
8199            1,
8200            0,
8201            adcmplr1::Cmplcha24,
8202            adcmplr1::Cmplcha24,
8203            Adcmplr1_SPEC,
8204            crate::common::RW,
8205        >::from_register(self, 0)
8206    }
8207
8208    #[doc = "Compare Window A Comparison Condition Select"]
8209    #[inline(always)]
8210    pub fn cmplcha25(
8211        self,
8212    ) -> crate::common::RegisterField<
8213        9,
8214        0x1,
8215        1,
8216        0,
8217        adcmplr1::Cmplcha25,
8218        adcmplr1::Cmplcha25,
8219        Adcmplr1_SPEC,
8220        crate::common::RW,
8221    > {
8222        crate::common::RegisterField::<
8223            9,
8224            0x1,
8225            1,
8226            0,
8227            adcmplr1::Cmplcha25,
8228            adcmplr1::Cmplcha25,
8229            Adcmplr1_SPEC,
8230            crate::common::RW,
8231        >::from_register(self, 0)
8232    }
8233
8234    #[doc = "Compare Window A Comparison Condition Select"]
8235    #[inline(always)]
8236    pub fn cmplcha26(
8237        self,
8238    ) -> crate::common::RegisterField<
8239        10,
8240        0x1,
8241        1,
8242        0,
8243        adcmplr1::Cmplcha26,
8244        adcmplr1::Cmplcha26,
8245        Adcmplr1_SPEC,
8246        crate::common::RW,
8247    > {
8248        crate::common::RegisterField::<
8249            10,
8250            0x1,
8251            1,
8252            0,
8253            adcmplr1::Cmplcha26,
8254            adcmplr1::Cmplcha26,
8255            Adcmplr1_SPEC,
8256            crate::common::RW,
8257        >::from_register(self, 0)
8258    }
8259
8260    #[doc = "Compare Window A Comparison Condition Select"]
8261    #[inline(always)]
8262    pub fn cmplcha27(
8263        self,
8264    ) -> crate::common::RegisterField<
8265        11,
8266        0x1,
8267        1,
8268        0,
8269        adcmplr1::Cmplcha27,
8270        adcmplr1::Cmplcha27,
8271        Adcmplr1_SPEC,
8272        crate::common::RW,
8273    > {
8274        crate::common::RegisterField::<
8275            11,
8276            0x1,
8277            1,
8278            0,
8279            adcmplr1::Cmplcha27,
8280            adcmplr1::Cmplcha27,
8281            Adcmplr1_SPEC,
8282            crate::common::RW,
8283        >::from_register(self, 0)
8284    }
8285
8286    #[doc = "Compare Window A Comparison Condition Select"]
8287    #[inline(always)]
8288    pub fn cmplcha28(
8289        self,
8290    ) -> crate::common::RegisterField<
8291        12,
8292        0x1,
8293        1,
8294        0,
8295        adcmplr1::Cmplcha28,
8296        adcmplr1::Cmplcha28,
8297        Adcmplr1_SPEC,
8298        crate::common::RW,
8299    > {
8300        crate::common::RegisterField::<
8301            12,
8302            0x1,
8303            1,
8304            0,
8305            adcmplr1::Cmplcha28,
8306            adcmplr1::Cmplcha28,
8307            Adcmplr1_SPEC,
8308            crate::common::RW,
8309        >::from_register(self, 0)
8310    }
8311
8312    #[doc = "Compare Window A Comparison Condition Select"]
8313    #[inline(always)]
8314    pub fn cmplcha29(
8315        self,
8316    ) -> crate::common::RegisterField<
8317        13,
8318        0x1,
8319        1,
8320        0,
8321        adcmplr1::Cmplcha29,
8322        adcmplr1::Cmplcha29,
8323        Adcmplr1_SPEC,
8324        crate::common::RW,
8325    > {
8326        crate::common::RegisterField::<
8327            13,
8328            0x1,
8329            1,
8330            0,
8331            adcmplr1::Cmplcha29,
8332            adcmplr1::Cmplcha29,
8333            Adcmplr1_SPEC,
8334            crate::common::RW,
8335        >::from_register(self, 0)
8336    }
8337
8338    #[doc = "Compare Window A Comparison Condition Select"]
8339    #[inline(always)]
8340    pub fn cmplcha30(
8341        self,
8342    ) -> crate::common::RegisterField<
8343        14,
8344        0x1,
8345        1,
8346        0,
8347        adcmplr1::Cmplcha30,
8348        adcmplr1::Cmplcha30,
8349        Adcmplr1_SPEC,
8350        crate::common::RW,
8351    > {
8352        crate::common::RegisterField::<
8353            14,
8354            0x1,
8355            1,
8356            0,
8357            adcmplr1::Cmplcha30,
8358            adcmplr1::Cmplcha30,
8359            Adcmplr1_SPEC,
8360            crate::common::RW,
8361        >::from_register(self, 0)
8362    }
8363
8364    #[doc = "Compare Window A Comparison Condition Select"]
8365    #[inline(always)]
8366    pub fn cmplcha31(
8367        self,
8368    ) -> crate::common::RegisterField<
8369        15,
8370        0x1,
8371        1,
8372        0,
8373        adcmplr1::Cmplcha31,
8374        adcmplr1::Cmplcha31,
8375        Adcmplr1_SPEC,
8376        crate::common::RW,
8377    > {
8378        crate::common::RegisterField::<
8379            15,
8380            0x1,
8381            1,
8382            0,
8383            adcmplr1::Cmplcha31,
8384            adcmplr1::Cmplcha31,
8385            Adcmplr1_SPEC,
8386            crate::common::RW,
8387        >::from_register(self, 0)
8388    }
8389}
8390impl ::core::default::Default for Adcmplr1 {
8391    #[inline(always)]
8392    fn default() -> Adcmplr1 {
8393        <crate::RegValueT<Adcmplr1_SPEC> as RegisterValue<_>>::new(0)
8394    }
8395}
8396pub mod adcmplr1 {
8397
8398    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8399    pub struct Cmplcha16_SPEC;
8400    pub type Cmplcha16 = crate::EnumBitfieldStruct<u8, Cmplcha16_SPEC>;
8401    impl Cmplcha16 {
8402        #[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"]
8403        pub const _0: Self = Self::new(0);
8404
8405        #[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"]
8406        pub const _1: Self = Self::new(1);
8407    }
8408    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8409    pub struct Cmplcha17_SPEC;
8410    pub type Cmplcha17 = crate::EnumBitfieldStruct<u8, Cmplcha17_SPEC>;
8411    impl Cmplcha17 {
8412        #[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"]
8413        pub const _0: Self = Self::new(0);
8414
8415        #[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"]
8416        pub const _1: Self = Self::new(1);
8417    }
8418    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8419    pub struct Cmplcha18_SPEC;
8420    pub type Cmplcha18 = crate::EnumBitfieldStruct<u8, Cmplcha18_SPEC>;
8421    impl Cmplcha18 {
8422        #[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"]
8423        pub const _0: Self = Self::new(0);
8424
8425        #[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"]
8426        pub const _1: Self = Self::new(1);
8427    }
8428    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8429    pub struct Cmplcha19_SPEC;
8430    pub type Cmplcha19 = crate::EnumBitfieldStruct<u8, Cmplcha19_SPEC>;
8431    impl Cmplcha19 {
8432        #[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"]
8433        pub const _0: Self = Self::new(0);
8434
8435        #[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"]
8436        pub const _1: Self = Self::new(1);
8437    }
8438    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8439    pub struct Cmplcha20_SPEC;
8440    pub type Cmplcha20 = crate::EnumBitfieldStruct<u8, Cmplcha20_SPEC>;
8441    impl Cmplcha20 {
8442        #[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"]
8443        pub const _0: Self = Self::new(0);
8444
8445        #[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"]
8446        pub const _1: Self = Self::new(1);
8447    }
8448    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8449    pub struct Cmplcha21_SPEC;
8450    pub type Cmplcha21 = crate::EnumBitfieldStruct<u8, Cmplcha21_SPEC>;
8451    impl Cmplcha21 {
8452        #[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"]
8453        pub const _0: Self = Self::new(0);
8454
8455        #[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"]
8456        pub const _1: Self = Self::new(1);
8457    }
8458    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8459    pub struct Cmplcha22_SPEC;
8460    pub type Cmplcha22 = crate::EnumBitfieldStruct<u8, Cmplcha22_SPEC>;
8461    impl Cmplcha22 {
8462        #[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"]
8463        pub const _0: Self = Self::new(0);
8464
8465        #[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"]
8466        pub const _1: Self = Self::new(1);
8467    }
8468    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8469    pub struct Cmplcha23_SPEC;
8470    pub type Cmplcha23 = crate::EnumBitfieldStruct<u8, Cmplcha23_SPEC>;
8471    impl Cmplcha23 {
8472        #[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"]
8473        pub const _0: Self = Self::new(0);
8474
8475        #[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"]
8476        pub const _1: Self = Self::new(1);
8477    }
8478    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8479    pub struct Cmplcha24_SPEC;
8480    pub type Cmplcha24 = crate::EnumBitfieldStruct<u8, Cmplcha24_SPEC>;
8481    impl Cmplcha24 {
8482        #[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"]
8483        pub const _0: Self = Self::new(0);
8484
8485        #[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"]
8486        pub const _1: Self = Self::new(1);
8487    }
8488    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8489    pub struct Cmplcha25_SPEC;
8490    pub type Cmplcha25 = crate::EnumBitfieldStruct<u8, Cmplcha25_SPEC>;
8491    impl Cmplcha25 {
8492        #[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"]
8493        pub const _0: Self = Self::new(0);
8494
8495        #[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"]
8496        pub const _1: Self = Self::new(1);
8497    }
8498    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8499    pub struct Cmplcha26_SPEC;
8500    pub type Cmplcha26 = crate::EnumBitfieldStruct<u8, Cmplcha26_SPEC>;
8501    impl Cmplcha26 {
8502        #[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"]
8503        pub const _0: Self = Self::new(0);
8504
8505        #[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"]
8506        pub const _1: Self = Self::new(1);
8507    }
8508    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8509    pub struct Cmplcha27_SPEC;
8510    pub type Cmplcha27 = crate::EnumBitfieldStruct<u8, Cmplcha27_SPEC>;
8511    impl Cmplcha27 {
8512        #[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"]
8513        pub const _0: Self = Self::new(0);
8514
8515        #[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"]
8516        pub const _1: Self = Self::new(1);
8517    }
8518    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8519    pub struct Cmplcha28_SPEC;
8520    pub type Cmplcha28 = crate::EnumBitfieldStruct<u8, Cmplcha28_SPEC>;
8521    impl Cmplcha28 {
8522        #[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"]
8523        pub const _0: Self = Self::new(0);
8524
8525        #[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"]
8526        pub const _1: Self = Self::new(1);
8527    }
8528    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8529    pub struct Cmplcha29_SPEC;
8530    pub type Cmplcha29 = crate::EnumBitfieldStruct<u8, Cmplcha29_SPEC>;
8531    impl Cmplcha29 {
8532        #[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"]
8533        pub const _0: Self = Self::new(0);
8534
8535        #[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"]
8536        pub const _1: Self = Self::new(1);
8537    }
8538    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8539    pub struct Cmplcha30_SPEC;
8540    pub type Cmplcha30 = crate::EnumBitfieldStruct<u8, Cmplcha30_SPEC>;
8541    impl Cmplcha30 {
8542        #[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"]
8543        pub const _0: Self = Self::new(0);
8544
8545        #[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"]
8546        pub const _1: Self = Self::new(1);
8547    }
8548    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8549    pub struct Cmplcha31_SPEC;
8550    pub type Cmplcha31 = crate::EnumBitfieldStruct<u8, Cmplcha31_SPEC>;
8551    impl Cmplcha31 {
8552        #[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"]
8553        pub const _0: Self = Self::new(0);
8554
8555        #[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"]
8556        pub const _1: Self = Self::new(1);
8557    }
8558}
8559#[doc(hidden)]
8560#[derive(Copy, Clone, Eq, PartialEq)]
8561pub struct Adcmpdr_SPEC;
8562impl crate::sealed::RegSpec for Adcmpdr_SPEC {
8563    type DataType = u16;
8564}
8565
8566#[doc = "A/D Compare Function Window A Lower-Side/Upper-Side Level Setting Register"]
8567pub type Adcmpdr = crate::RegValueT<Adcmpdr_SPEC>;
8568
8569impl NoBitfieldReg<Adcmpdr_SPEC> for Adcmpdr {}
8570impl ::core::default::Default for Adcmpdr {
8571    #[inline(always)]
8572    fn default() -> Adcmpdr {
8573        <crate::RegValueT<Adcmpdr_SPEC> as RegisterValue<_>>::new(0)
8574    }
8575}
8576
8577#[doc(hidden)]
8578#[derive(Copy, Clone, Eq, PartialEq)]
8579pub struct Adcmpsr0_SPEC;
8580impl crate::sealed::RegSpec for Adcmpsr0_SPEC {
8581    type DataType = u16;
8582}
8583
8584#[doc = "A/D Compare Function Window A Channel Status Register 0"]
8585pub type Adcmpsr0 = crate::RegValueT<Adcmpsr0_SPEC>;
8586
8587impl Adcmpsr0 {
8588    #[doc = "Compare Window A Flag"]
8589    #[inline(always)]
8590    pub fn cmpstcha00(
8591        self,
8592    ) -> crate::common::RegisterField<
8593        0,
8594        0x1,
8595        1,
8596        0,
8597        adcmpsr0::Cmpstcha00,
8598        adcmpsr0::Cmpstcha00,
8599        Adcmpsr0_SPEC,
8600        crate::common::RW,
8601    > {
8602        crate::common::RegisterField::<
8603            0,
8604            0x1,
8605            1,
8606            0,
8607            adcmpsr0::Cmpstcha00,
8608            adcmpsr0::Cmpstcha00,
8609            Adcmpsr0_SPEC,
8610            crate::common::RW,
8611        >::from_register(self, 0)
8612    }
8613
8614    #[doc = "Compare Window A Flag"]
8615    #[inline(always)]
8616    pub fn cmpstcha01(
8617        self,
8618    ) -> crate::common::RegisterField<
8619        1,
8620        0x1,
8621        1,
8622        0,
8623        adcmpsr0::Cmpstcha01,
8624        adcmpsr0::Cmpstcha01,
8625        Adcmpsr0_SPEC,
8626        crate::common::RW,
8627    > {
8628        crate::common::RegisterField::<
8629            1,
8630            0x1,
8631            1,
8632            0,
8633            adcmpsr0::Cmpstcha01,
8634            adcmpsr0::Cmpstcha01,
8635            Adcmpsr0_SPEC,
8636            crate::common::RW,
8637        >::from_register(self, 0)
8638    }
8639
8640    #[doc = "Compare Window A Flag"]
8641    #[inline(always)]
8642    pub fn cmpstcha02(
8643        self,
8644    ) -> crate::common::RegisterField<
8645        2,
8646        0x1,
8647        1,
8648        0,
8649        adcmpsr0::Cmpstcha02,
8650        adcmpsr0::Cmpstcha02,
8651        Adcmpsr0_SPEC,
8652        crate::common::RW,
8653    > {
8654        crate::common::RegisterField::<
8655            2,
8656            0x1,
8657            1,
8658            0,
8659            adcmpsr0::Cmpstcha02,
8660            adcmpsr0::Cmpstcha02,
8661            Adcmpsr0_SPEC,
8662            crate::common::RW,
8663        >::from_register(self, 0)
8664    }
8665
8666    #[doc = "Compare Window A Flag"]
8667    #[inline(always)]
8668    pub fn cmpstcha03(
8669        self,
8670    ) -> crate::common::RegisterField<
8671        3,
8672        0x1,
8673        1,
8674        0,
8675        adcmpsr0::Cmpstcha03,
8676        adcmpsr0::Cmpstcha03,
8677        Adcmpsr0_SPEC,
8678        crate::common::RW,
8679    > {
8680        crate::common::RegisterField::<
8681            3,
8682            0x1,
8683            1,
8684            0,
8685            adcmpsr0::Cmpstcha03,
8686            adcmpsr0::Cmpstcha03,
8687            Adcmpsr0_SPEC,
8688            crate::common::RW,
8689        >::from_register(self, 0)
8690    }
8691
8692    #[doc = "Compare Window A Flag"]
8693    #[inline(always)]
8694    pub fn cmpstcha04(
8695        self,
8696    ) -> crate::common::RegisterField<
8697        4,
8698        0x1,
8699        1,
8700        0,
8701        adcmpsr0::Cmpstcha04,
8702        adcmpsr0::Cmpstcha04,
8703        Adcmpsr0_SPEC,
8704        crate::common::RW,
8705    > {
8706        crate::common::RegisterField::<
8707            4,
8708            0x1,
8709            1,
8710            0,
8711            adcmpsr0::Cmpstcha04,
8712            adcmpsr0::Cmpstcha04,
8713            Adcmpsr0_SPEC,
8714            crate::common::RW,
8715        >::from_register(self, 0)
8716    }
8717
8718    #[doc = "Compare Window A Flag"]
8719    #[inline(always)]
8720    pub fn cmpstcha05(
8721        self,
8722    ) -> crate::common::RegisterField<
8723        5,
8724        0x1,
8725        1,
8726        0,
8727        adcmpsr0::Cmpstcha05,
8728        adcmpsr0::Cmpstcha05,
8729        Adcmpsr0_SPEC,
8730        crate::common::RW,
8731    > {
8732        crate::common::RegisterField::<
8733            5,
8734            0x1,
8735            1,
8736            0,
8737            adcmpsr0::Cmpstcha05,
8738            adcmpsr0::Cmpstcha05,
8739            Adcmpsr0_SPEC,
8740            crate::common::RW,
8741        >::from_register(self, 0)
8742    }
8743
8744    #[doc = "Compare Window A Flag"]
8745    #[inline(always)]
8746    pub fn cmpstcha06(
8747        self,
8748    ) -> crate::common::RegisterField<
8749        6,
8750        0x1,
8751        1,
8752        0,
8753        adcmpsr0::Cmpstcha06,
8754        adcmpsr0::Cmpstcha06,
8755        Adcmpsr0_SPEC,
8756        crate::common::RW,
8757    > {
8758        crate::common::RegisterField::<
8759            6,
8760            0x1,
8761            1,
8762            0,
8763            adcmpsr0::Cmpstcha06,
8764            adcmpsr0::Cmpstcha06,
8765            Adcmpsr0_SPEC,
8766            crate::common::RW,
8767        >::from_register(self, 0)
8768    }
8769
8770    #[doc = "Compare Window A Flag"]
8771    #[inline(always)]
8772    pub fn cmpstcha07(
8773        self,
8774    ) -> crate::common::RegisterField<
8775        7,
8776        0x1,
8777        1,
8778        0,
8779        adcmpsr0::Cmpstcha07,
8780        adcmpsr0::Cmpstcha07,
8781        Adcmpsr0_SPEC,
8782        crate::common::RW,
8783    > {
8784        crate::common::RegisterField::<
8785            7,
8786            0x1,
8787            1,
8788            0,
8789            adcmpsr0::Cmpstcha07,
8790            adcmpsr0::Cmpstcha07,
8791            Adcmpsr0_SPEC,
8792            crate::common::RW,
8793        >::from_register(self, 0)
8794    }
8795
8796    #[doc = "Compare Window A Flag"]
8797    #[inline(always)]
8798    pub fn cmpstcha08(
8799        self,
8800    ) -> crate::common::RegisterField<
8801        8,
8802        0x1,
8803        1,
8804        0,
8805        adcmpsr0::Cmpstcha08,
8806        adcmpsr0::Cmpstcha08,
8807        Adcmpsr0_SPEC,
8808        crate::common::RW,
8809    > {
8810        crate::common::RegisterField::<
8811            8,
8812            0x1,
8813            1,
8814            0,
8815            adcmpsr0::Cmpstcha08,
8816            adcmpsr0::Cmpstcha08,
8817            Adcmpsr0_SPEC,
8818            crate::common::RW,
8819        >::from_register(self, 0)
8820    }
8821
8822    #[doc = "Compare Window A Flag"]
8823    #[inline(always)]
8824    pub fn cmpstcha09(
8825        self,
8826    ) -> crate::common::RegisterField<
8827        9,
8828        0x1,
8829        1,
8830        0,
8831        adcmpsr0::Cmpstcha09,
8832        adcmpsr0::Cmpstcha09,
8833        Adcmpsr0_SPEC,
8834        crate::common::RW,
8835    > {
8836        crate::common::RegisterField::<
8837            9,
8838            0x1,
8839            1,
8840            0,
8841            adcmpsr0::Cmpstcha09,
8842            adcmpsr0::Cmpstcha09,
8843            Adcmpsr0_SPEC,
8844            crate::common::RW,
8845        >::from_register(self, 0)
8846    }
8847
8848    #[doc = "Compare Window A Flag"]
8849    #[inline(always)]
8850    pub fn cmpstcha10(
8851        self,
8852    ) -> crate::common::RegisterField<
8853        10,
8854        0x1,
8855        1,
8856        0,
8857        adcmpsr0::Cmpstcha10,
8858        adcmpsr0::Cmpstcha10,
8859        Adcmpsr0_SPEC,
8860        crate::common::RW,
8861    > {
8862        crate::common::RegisterField::<
8863            10,
8864            0x1,
8865            1,
8866            0,
8867            adcmpsr0::Cmpstcha10,
8868            adcmpsr0::Cmpstcha10,
8869            Adcmpsr0_SPEC,
8870            crate::common::RW,
8871        >::from_register(self, 0)
8872    }
8873
8874    #[doc = "Compare Window A Flag"]
8875    #[inline(always)]
8876    pub fn cmpstcha11(
8877        self,
8878    ) -> crate::common::RegisterField<
8879        11,
8880        0x1,
8881        1,
8882        0,
8883        adcmpsr0::Cmpstcha11,
8884        adcmpsr0::Cmpstcha11,
8885        Adcmpsr0_SPEC,
8886        crate::common::RW,
8887    > {
8888        crate::common::RegisterField::<
8889            11,
8890            0x1,
8891            1,
8892            0,
8893            adcmpsr0::Cmpstcha11,
8894            adcmpsr0::Cmpstcha11,
8895            Adcmpsr0_SPEC,
8896            crate::common::RW,
8897        >::from_register(self, 0)
8898    }
8899
8900    #[doc = "Compare Window A Flag"]
8901    #[inline(always)]
8902    pub fn cmpstcha12(
8903        self,
8904    ) -> crate::common::RegisterField<
8905        12,
8906        0x1,
8907        1,
8908        0,
8909        adcmpsr0::Cmpstcha12,
8910        adcmpsr0::Cmpstcha12,
8911        Adcmpsr0_SPEC,
8912        crate::common::RW,
8913    > {
8914        crate::common::RegisterField::<
8915            12,
8916            0x1,
8917            1,
8918            0,
8919            adcmpsr0::Cmpstcha12,
8920            adcmpsr0::Cmpstcha12,
8921            Adcmpsr0_SPEC,
8922            crate::common::RW,
8923        >::from_register(self, 0)
8924    }
8925
8926    #[doc = "Compare Window A Flag"]
8927    #[inline(always)]
8928    pub fn cmpstcha13(
8929        self,
8930    ) -> crate::common::RegisterField<
8931        13,
8932        0x1,
8933        1,
8934        0,
8935        adcmpsr0::Cmpstcha13,
8936        adcmpsr0::Cmpstcha13,
8937        Adcmpsr0_SPEC,
8938        crate::common::RW,
8939    > {
8940        crate::common::RegisterField::<
8941            13,
8942            0x1,
8943            1,
8944            0,
8945            adcmpsr0::Cmpstcha13,
8946            adcmpsr0::Cmpstcha13,
8947            Adcmpsr0_SPEC,
8948            crate::common::RW,
8949        >::from_register(self, 0)
8950    }
8951
8952    #[doc = "Compare Window A Flag"]
8953    #[inline(always)]
8954    pub fn cmpstcha14(
8955        self,
8956    ) -> crate::common::RegisterField<
8957        14,
8958        0x1,
8959        1,
8960        0,
8961        adcmpsr0::Cmpstcha14,
8962        adcmpsr0::Cmpstcha14,
8963        Adcmpsr0_SPEC,
8964        crate::common::RW,
8965    > {
8966        crate::common::RegisterField::<
8967            14,
8968            0x1,
8969            1,
8970            0,
8971            adcmpsr0::Cmpstcha14,
8972            adcmpsr0::Cmpstcha14,
8973            Adcmpsr0_SPEC,
8974            crate::common::RW,
8975        >::from_register(self, 0)
8976    }
8977
8978    #[doc = "Compare Window A Flag"]
8979    #[inline(always)]
8980    pub fn cmpstcha15(
8981        self,
8982    ) -> crate::common::RegisterField<
8983        15,
8984        0x1,
8985        1,
8986        0,
8987        adcmpsr0::Cmpstcha15,
8988        adcmpsr0::Cmpstcha15,
8989        Adcmpsr0_SPEC,
8990        crate::common::RW,
8991    > {
8992        crate::common::RegisterField::<
8993            15,
8994            0x1,
8995            1,
8996            0,
8997            adcmpsr0::Cmpstcha15,
8998            adcmpsr0::Cmpstcha15,
8999            Adcmpsr0_SPEC,
9000            crate::common::RW,
9001        >::from_register(self, 0)
9002    }
9003}
9004impl ::core::default::Default for Adcmpsr0 {
9005    #[inline(always)]
9006    fn default() -> Adcmpsr0 {
9007        <crate::RegValueT<Adcmpsr0_SPEC> as RegisterValue<_>>::new(0)
9008    }
9009}
9010pub mod adcmpsr0 {
9011
9012    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9013    pub struct Cmpstcha00_SPEC;
9014    pub type Cmpstcha00 = crate::EnumBitfieldStruct<u8, Cmpstcha00_SPEC>;
9015    impl Cmpstcha00 {
9016        #[doc = "Comparison conditions are not met."]
9017        pub const _0: Self = Self::new(0);
9018
9019        #[doc = "Comparison conditions are met."]
9020        pub const _1: Self = Self::new(1);
9021    }
9022    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9023    pub struct Cmpstcha01_SPEC;
9024    pub type Cmpstcha01 = crate::EnumBitfieldStruct<u8, Cmpstcha01_SPEC>;
9025    impl Cmpstcha01 {
9026        #[doc = "Comparison conditions are not met."]
9027        pub const _0: Self = Self::new(0);
9028
9029        #[doc = "Comparison conditions are met."]
9030        pub const _1: Self = Self::new(1);
9031    }
9032    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9033    pub struct Cmpstcha02_SPEC;
9034    pub type Cmpstcha02 = crate::EnumBitfieldStruct<u8, Cmpstcha02_SPEC>;
9035    impl Cmpstcha02 {
9036        #[doc = "Comparison conditions are not met."]
9037        pub const _0: Self = Self::new(0);
9038
9039        #[doc = "Comparison conditions are met."]
9040        pub const _1: Self = Self::new(1);
9041    }
9042    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9043    pub struct Cmpstcha03_SPEC;
9044    pub type Cmpstcha03 = crate::EnumBitfieldStruct<u8, Cmpstcha03_SPEC>;
9045    impl Cmpstcha03 {
9046        #[doc = "Comparison conditions are not met."]
9047        pub const _0: Self = Self::new(0);
9048
9049        #[doc = "Comparison conditions are met."]
9050        pub const _1: Self = Self::new(1);
9051    }
9052    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9053    pub struct Cmpstcha04_SPEC;
9054    pub type Cmpstcha04 = crate::EnumBitfieldStruct<u8, Cmpstcha04_SPEC>;
9055    impl Cmpstcha04 {
9056        #[doc = "Comparison conditions are not met."]
9057        pub const _0: Self = Self::new(0);
9058
9059        #[doc = "Comparison conditions are met."]
9060        pub const _1: Self = Self::new(1);
9061    }
9062    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9063    pub struct Cmpstcha05_SPEC;
9064    pub type Cmpstcha05 = crate::EnumBitfieldStruct<u8, Cmpstcha05_SPEC>;
9065    impl Cmpstcha05 {
9066        #[doc = "Comparison conditions are not met."]
9067        pub const _0: Self = Self::new(0);
9068
9069        #[doc = "Comparison conditions are met."]
9070        pub const _1: Self = Self::new(1);
9071    }
9072    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9073    pub struct Cmpstcha06_SPEC;
9074    pub type Cmpstcha06 = crate::EnumBitfieldStruct<u8, Cmpstcha06_SPEC>;
9075    impl Cmpstcha06 {
9076        #[doc = "Comparison conditions are not met."]
9077        pub const _0: Self = Self::new(0);
9078
9079        #[doc = "Comparison conditions are met."]
9080        pub const _1: Self = Self::new(1);
9081    }
9082    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9083    pub struct Cmpstcha07_SPEC;
9084    pub type Cmpstcha07 = crate::EnumBitfieldStruct<u8, Cmpstcha07_SPEC>;
9085    impl Cmpstcha07 {
9086        #[doc = "Comparison conditions are not met."]
9087        pub const _0: Self = Self::new(0);
9088
9089        #[doc = "Comparison conditions are met."]
9090        pub const _1: Self = Self::new(1);
9091    }
9092    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9093    pub struct Cmpstcha08_SPEC;
9094    pub type Cmpstcha08 = crate::EnumBitfieldStruct<u8, Cmpstcha08_SPEC>;
9095    impl Cmpstcha08 {
9096        #[doc = "Comparison conditions are not met."]
9097        pub const _0: Self = Self::new(0);
9098
9099        #[doc = "Comparison conditions are met."]
9100        pub const _1: Self = Self::new(1);
9101    }
9102    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9103    pub struct Cmpstcha09_SPEC;
9104    pub type Cmpstcha09 = crate::EnumBitfieldStruct<u8, Cmpstcha09_SPEC>;
9105    impl Cmpstcha09 {
9106        #[doc = "Comparison conditions are not met."]
9107        pub const _0: Self = Self::new(0);
9108
9109        #[doc = "Comparison conditions are met."]
9110        pub const _1: Self = Self::new(1);
9111    }
9112    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9113    pub struct Cmpstcha10_SPEC;
9114    pub type Cmpstcha10 = crate::EnumBitfieldStruct<u8, Cmpstcha10_SPEC>;
9115    impl Cmpstcha10 {
9116        #[doc = "Comparison conditions are not met."]
9117        pub const _0: Self = Self::new(0);
9118
9119        #[doc = "Comparison conditions are met."]
9120        pub const _1: Self = Self::new(1);
9121    }
9122    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9123    pub struct Cmpstcha11_SPEC;
9124    pub type Cmpstcha11 = crate::EnumBitfieldStruct<u8, Cmpstcha11_SPEC>;
9125    impl Cmpstcha11 {
9126        #[doc = "Comparison conditions are not met."]
9127        pub const _0: Self = Self::new(0);
9128
9129        #[doc = "Comparison conditions are met."]
9130        pub const _1: Self = Self::new(1);
9131    }
9132    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9133    pub struct Cmpstcha12_SPEC;
9134    pub type Cmpstcha12 = crate::EnumBitfieldStruct<u8, Cmpstcha12_SPEC>;
9135    impl Cmpstcha12 {
9136        #[doc = "Comparison conditions are not met."]
9137        pub const _0: Self = Self::new(0);
9138
9139        #[doc = "Comparison conditions are met."]
9140        pub const _1: Self = Self::new(1);
9141    }
9142    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9143    pub struct Cmpstcha13_SPEC;
9144    pub type Cmpstcha13 = crate::EnumBitfieldStruct<u8, Cmpstcha13_SPEC>;
9145    impl Cmpstcha13 {
9146        #[doc = "Comparison conditions are not met."]
9147        pub const _0: Self = Self::new(0);
9148
9149        #[doc = "Comparison conditions are met."]
9150        pub const _1: Self = Self::new(1);
9151    }
9152    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9153    pub struct Cmpstcha14_SPEC;
9154    pub type Cmpstcha14 = crate::EnumBitfieldStruct<u8, Cmpstcha14_SPEC>;
9155    impl Cmpstcha14 {
9156        #[doc = "Comparison conditions are not met."]
9157        pub const _0: Self = Self::new(0);
9158
9159        #[doc = "Comparison conditions are met."]
9160        pub const _1: Self = Self::new(1);
9161    }
9162    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9163    pub struct Cmpstcha15_SPEC;
9164    pub type Cmpstcha15 = crate::EnumBitfieldStruct<u8, Cmpstcha15_SPEC>;
9165    impl Cmpstcha15 {
9166        #[doc = "Comparison conditions are not met."]
9167        pub const _0: Self = Self::new(0);
9168
9169        #[doc = "Comparison conditions are met."]
9170        pub const _1: Self = Self::new(1);
9171    }
9172}
9173#[doc(hidden)]
9174#[derive(Copy, Clone, Eq, PartialEq)]
9175pub struct Adcmpsr1_SPEC;
9176impl crate::sealed::RegSpec for Adcmpsr1_SPEC {
9177    type DataType = u16;
9178}
9179
9180#[doc = "A/D Compare Function Window A Channel Status Register1"]
9181pub type Adcmpsr1 = crate::RegValueT<Adcmpsr1_SPEC>;
9182
9183impl Adcmpsr1 {
9184    #[doc = "Compare Window A Flag"]
9185    #[inline(always)]
9186    pub fn cmpstcha16(
9187        self,
9188    ) -> crate::common::RegisterField<
9189        0,
9190        0x1,
9191        1,
9192        0,
9193        adcmpsr1::Cmpstcha16,
9194        adcmpsr1::Cmpstcha16,
9195        Adcmpsr1_SPEC,
9196        crate::common::RW,
9197    > {
9198        crate::common::RegisterField::<
9199            0,
9200            0x1,
9201            1,
9202            0,
9203            adcmpsr1::Cmpstcha16,
9204            adcmpsr1::Cmpstcha16,
9205            Adcmpsr1_SPEC,
9206            crate::common::RW,
9207        >::from_register(self, 0)
9208    }
9209
9210    #[doc = "Compare Window A Flag"]
9211    #[inline(always)]
9212    pub fn cmpstcha17(
9213        self,
9214    ) -> crate::common::RegisterField<
9215        1,
9216        0x1,
9217        1,
9218        0,
9219        adcmpsr1::Cmpstcha17,
9220        adcmpsr1::Cmpstcha17,
9221        Adcmpsr1_SPEC,
9222        crate::common::RW,
9223    > {
9224        crate::common::RegisterField::<
9225            1,
9226            0x1,
9227            1,
9228            0,
9229            adcmpsr1::Cmpstcha17,
9230            adcmpsr1::Cmpstcha17,
9231            Adcmpsr1_SPEC,
9232            crate::common::RW,
9233        >::from_register(self, 0)
9234    }
9235
9236    #[doc = "Compare Window A Flag"]
9237    #[inline(always)]
9238    pub fn cmpstcha18(
9239        self,
9240    ) -> crate::common::RegisterField<
9241        2,
9242        0x1,
9243        1,
9244        0,
9245        adcmpsr1::Cmpstcha18,
9246        adcmpsr1::Cmpstcha18,
9247        Adcmpsr1_SPEC,
9248        crate::common::RW,
9249    > {
9250        crate::common::RegisterField::<
9251            2,
9252            0x1,
9253            1,
9254            0,
9255            adcmpsr1::Cmpstcha18,
9256            adcmpsr1::Cmpstcha18,
9257            Adcmpsr1_SPEC,
9258            crate::common::RW,
9259        >::from_register(self, 0)
9260    }
9261
9262    #[doc = "Compare Window A Flag"]
9263    #[inline(always)]
9264    pub fn cmpstcha19(
9265        self,
9266    ) -> crate::common::RegisterField<
9267        3,
9268        0x1,
9269        1,
9270        0,
9271        adcmpsr1::Cmpstcha19,
9272        adcmpsr1::Cmpstcha19,
9273        Adcmpsr1_SPEC,
9274        crate::common::RW,
9275    > {
9276        crate::common::RegisterField::<
9277            3,
9278            0x1,
9279            1,
9280            0,
9281            adcmpsr1::Cmpstcha19,
9282            adcmpsr1::Cmpstcha19,
9283            Adcmpsr1_SPEC,
9284            crate::common::RW,
9285        >::from_register(self, 0)
9286    }
9287
9288    #[doc = "Compare Window A Flag"]
9289    #[inline(always)]
9290    pub fn cmpstcha20(
9291        self,
9292    ) -> crate::common::RegisterField<
9293        4,
9294        0x1,
9295        1,
9296        0,
9297        adcmpsr1::Cmpstcha20,
9298        adcmpsr1::Cmpstcha20,
9299        Adcmpsr1_SPEC,
9300        crate::common::RW,
9301    > {
9302        crate::common::RegisterField::<
9303            4,
9304            0x1,
9305            1,
9306            0,
9307            adcmpsr1::Cmpstcha20,
9308            adcmpsr1::Cmpstcha20,
9309            Adcmpsr1_SPEC,
9310            crate::common::RW,
9311        >::from_register(self, 0)
9312    }
9313
9314    #[doc = "Compare Window A Flag"]
9315    #[inline(always)]
9316    pub fn cmpstcha21(
9317        self,
9318    ) -> crate::common::RegisterField<
9319        5,
9320        0x1,
9321        1,
9322        0,
9323        adcmpsr1::Cmpstcha21,
9324        adcmpsr1::Cmpstcha21,
9325        Adcmpsr1_SPEC,
9326        crate::common::RW,
9327    > {
9328        crate::common::RegisterField::<
9329            5,
9330            0x1,
9331            1,
9332            0,
9333            adcmpsr1::Cmpstcha21,
9334            adcmpsr1::Cmpstcha21,
9335            Adcmpsr1_SPEC,
9336            crate::common::RW,
9337        >::from_register(self, 0)
9338    }
9339
9340    #[doc = "Compare Window A Flag"]
9341    #[inline(always)]
9342    pub fn cmpstcha22(
9343        self,
9344    ) -> crate::common::RegisterField<
9345        6,
9346        0x1,
9347        1,
9348        0,
9349        adcmpsr1::Cmpstcha22,
9350        adcmpsr1::Cmpstcha22,
9351        Adcmpsr1_SPEC,
9352        crate::common::RW,
9353    > {
9354        crate::common::RegisterField::<
9355            6,
9356            0x1,
9357            1,
9358            0,
9359            adcmpsr1::Cmpstcha22,
9360            adcmpsr1::Cmpstcha22,
9361            Adcmpsr1_SPEC,
9362            crate::common::RW,
9363        >::from_register(self, 0)
9364    }
9365
9366    #[doc = "Compare Window A Flag"]
9367    #[inline(always)]
9368    pub fn cmpstcha23(
9369        self,
9370    ) -> crate::common::RegisterField<
9371        7,
9372        0x1,
9373        1,
9374        0,
9375        adcmpsr1::Cmpstcha23,
9376        adcmpsr1::Cmpstcha23,
9377        Adcmpsr1_SPEC,
9378        crate::common::RW,
9379    > {
9380        crate::common::RegisterField::<
9381            7,
9382            0x1,
9383            1,
9384            0,
9385            adcmpsr1::Cmpstcha23,
9386            adcmpsr1::Cmpstcha23,
9387            Adcmpsr1_SPEC,
9388            crate::common::RW,
9389        >::from_register(self, 0)
9390    }
9391
9392    #[doc = "Compare Window A Flag"]
9393    #[inline(always)]
9394    pub fn cmpstcha24(
9395        self,
9396    ) -> crate::common::RegisterField<
9397        8,
9398        0x1,
9399        1,
9400        0,
9401        adcmpsr1::Cmpstcha24,
9402        adcmpsr1::Cmpstcha24,
9403        Adcmpsr1_SPEC,
9404        crate::common::RW,
9405    > {
9406        crate::common::RegisterField::<
9407            8,
9408            0x1,
9409            1,
9410            0,
9411            adcmpsr1::Cmpstcha24,
9412            adcmpsr1::Cmpstcha24,
9413            Adcmpsr1_SPEC,
9414            crate::common::RW,
9415        >::from_register(self, 0)
9416    }
9417
9418    #[doc = "Compare Window A Flag"]
9419    #[inline(always)]
9420    pub fn cmpstcha25(
9421        self,
9422    ) -> crate::common::RegisterField<
9423        9,
9424        0x1,
9425        1,
9426        0,
9427        adcmpsr1::Cmpstcha25,
9428        adcmpsr1::Cmpstcha25,
9429        Adcmpsr1_SPEC,
9430        crate::common::RW,
9431    > {
9432        crate::common::RegisterField::<
9433            9,
9434            0x1,
9435            1,
9436            0,
9437            adcmpsr1::Cmpstcha25,
9438            adcmpsr1::Cmpstcha25,
9439            Adcmpsr1_SPEC,
9440            crate::common::RW,
9441        >::from_register(self, 0)
9442    }
9443
9444    #[doc = "Compare Window A Flag"]
9445    #[inline(always)]
9446    pub fn cmpstcha26(
9447        self,
9448    ) -> crate::common::RegisterField<
9449        10,
9450        0x1,
9451        1,
9452        0,
9453        adcmpsr1::Cmpstcha26,
9454        adcmpsr1::Cmpstcha26,
9455        Adcmpsr1_SPEC,
9456        crate::common::RW,
9457    > {
9458        crate::common::RegisterField::<
9459            10,
9460            0x1,
9461            1,
9462            0,
9463            adcmpsr1::Cmpstcha26,
9464            adcmpsr1::Cmpstcha26,
9465            Adcmpsr1_SPEC,
9466            crate::common::RW,
9467        >::from_register(self, 0)
9468    }
9469
9470    #[doc = "Compare Window A Flag"]
9471    #[inline(always)]
9472    pub fn cmpstcha27(
9473        self,
9474    ) -> crate::common::RegisterField<
9475        11,
9476        0x1,
9477        1,
9478        0,
9479        adcmpsr1::Cmpstcha27,
9480        adcmpsr1::Cmpstcha27,
9481        Adcmpsr1_SPEC,
9482        crate::common::RW,
9483    > {
9484        crate::common::RegisterField::<
9485            11,
9486            0x1,
9487            1,
9488            0,
9489            adcmpsr1::Cmpstcha27,
9490            adcmpsr1::Cmpstcha27,
9491            Adcmpsr1_SPEC,
9492            crate::common::RW,
9493        >::from_register(self, 0)
9494    }
9495
9496    #[doc = "Compare Window A Flag"]
9497    #[inline(always)]
9498    pub fn cmpstcha28(
9499        self,
9500    ) -> crate::common::RegisterField<
9501        12,
9502        0x1,
9503        1,
9504        0,
9505        adcmpsr1::Cmpstcha28,
9506        adcmpsr1::Cmpstcha28,
9507        Adcmpsr1_SPEC,
9508        crate::common::RW,
9509    > {
9510        crate::common::RegisterField::<
9511            12,
9512            0x1,
9513            1,
9514            0,
9515            adcmpsr1::Cmpstcha28,
9516            adcmpsr1::Cmpstcha28,
9517            Adcmpsr1_SPEC,
9518            crate::common::RW,
9519        >::from_register(self, 0)
9520    }
9521
9522    #[doc = "Compare Window A Flag"]
9523    #[inline(always)]
9524    pub fn cmpstcha29(
9525        self,
9526    ) -> crate::common::RegisterField<
9527        13,
9528        0x1,
9529        1,
9530        0,
9531        adcmpsr1::Cmpstcha29,
9532        adcmpsr1::Cmpstcha29,
9533        Adcmpsr1_SPEC,
9534        crate::common::RW,
9535    > {
9536        crate::common::RegisterField::<
9537            13,
9538            0x1,
9539            1,
9540            0,
9541            adcmpsr1::Cmpstcha29,
9542            adcmpsr1::Cmpstcha29,
9543            Adcmpsr1_SPEC,
9544            crate::common::RW,
9545        >::from_register(self, 0)
9546    }
9547
9548    #[doc = "Compare Window A Flag"]
9549    #[inline(always)]
9550    pub fn cmpstcha30(
9551        self,
9552    ) -> crate::common::RegisterField<
9553        14,
9554        0x1,
9555        1,
9556        0,
9557        adcmpsr1::Cmpstcha30,
9558        adcmpsr1::Cmpstcha30,
9559        Adcmpsr1_SPEC,
9560        crate::common::RW,
9561    > {
9562        crate::common::RegisterField::<
9563            14,
9564            0x1,
9565            1,
9566            0,
9567            adcmpsr1::Cmpstcha30,
9568            adcmpsr1::Cmpstcha30,
9569            Adcmpsr1_SPEC,
9570            crate::common::RW,
9571        >::from_register(self, 0)
9572    }
9573
9574    #[doc = "Compare Window A Flag"]
9575    #[inline(always)]
9576    pub fn cmpstcha31(
9577        self,
9578    ) -> crate::common::RegisterField<
9579        15,
9580        0x1,
9581        1,
9582        0,
9583        adcmpsr1::Cmpstcha31,
9584        adcmpsr1::Cmpstcha31,
9585        Adcmpsr1_SPEC,
9586        crate::common::RW,
9587    > {
9588        crate::common::RegisterField::<
9589            15,
9590            0x1,
9591            1,
9592            0,
9593            adcmpsr1::Cmpstcha31,
9594            adcmpsr1::Cmpstcha31,
9595            Adcmpsr1_SPEC,
9596            crate::common::RW,
9597        >::from_register(self, 0)
9598    }
9599}
9600impl ::core::default::Default for Adcmpsr1 {
9601    #[inline(always)]
9602    fn default() -> Adcmpsr1 {
9603        <crate::RegValueT<Adcmpsr1_SPEC> as RegisterValue<_>>::new(0)
9604    }
9605}
9606pub mod adcmpsr1 {
9607
9608    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9609    pub struct Cmpstcha16_SPEC;
9610    pub type Cmpstcha16 = crate::EnumBitfieldStruct<u8, Cmpstcha16_SPEC>;
9611    impl Cmpstcha16 {
9612        #[doc = "Comparison conditions are not met."]
9613        pub const _0: Self = Self::new(0);
9614
9615        #[doc = "Comparison conditions are met."]
9616        pub const _1: Self = Self::new(1);
9617    }
9618    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9619    pub struct Cmpstcha17_SPEC;
9620    pub type Cmpstcha17 = crate::EnumBitfieldStruct<u8, Cmpstcha17_SPEC>;
9621    impl Cmpstcha17 {
9622        #[doc = "Comparison conditions are not met."]
9623        pub const _0: Self = Self::new(0);
9624
9625        #[doc = "Comparison conditions are met."]
9626        pub const _1: Self = Self::new(1);
9627    }
9628    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9629    pub struct Cmpstcha18_SPEC;
9630    pub type Cmpstcha18 = crate::EnumBitfieldStruct<u8, Cmpstcha18_SPEC>;
9631    impl Cmpstcha18 {
9632        #[doc = "Comparison conditions are not met."]
9633        pub const _0: Self = Self::new(0);
9634
9635        #[doc = "Comparison conditions are met."]
9636        pub const _1: Self = Self::new(1);
9637    }
9638    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9639    pub struct Cmpstcha19_SPEC;
9640    pub type Cmpstcha19 = crate::EnumBitfieldStruct<u8, Cmpstcha19_SPEC>;
9641    impl Cmpstcha19 {
9642        #[doc = "Comparison conditions are not met."]
9643        pub const _0: Self = Self::new(0);
9644
9645        #[doc = "Comparison conditions are met."]
9646        pub const _1: Self = Self::new(1);
9647    }
9648    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9649    pub struct Cmpstcha20_SPEC;
9650    pub type Cmpstcha20 = crate::EnumBitfieldStruct<u8, Cmpstcha20_SPEC>;
9651    impl Cmpstcha20 {
9652        #[doc = "Comparison conditions are not met."]
9653        pub const _0: Self = Self::new(0);
9654
9655        #[doc = "Comparison conditions are met."]
9656        pub const _1: Self = Self::new(1);
9657    }
9658    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9659    pub struct Cmpstcha21_SPEC;
9660    pub type Cmpstcha21 = crate::EnumBitfieldStruct<u8, Cmpstcha21_SPEC>;
9661    impl Cmpstcha21 {
9662        #[doc = "Comparison conditions are not met."]
9663        pub const _0: Self = Self::new(0);
9664
9665        #[doc = "Comparison conditions are met."]
9666        pub const _1: Self = Self::new(1);
9667    }
9668    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9669    pub struct Cmpstcha22_SPEC;
9670    pub type Cmpstcha22 = crate::EnumBitfieldStruct<u8, Cmpstcha22_SPEC>;
9671    impl Cmpstcha22 {
9672        #[doc = "Comparison conditions are not met."]
9673        pub const _0: Self = Self::new(0);
9674
9675        #[doc = "Comparison conditions are met."]
9676        pub const _1: Self = Self::new(1);
9677    }
9678    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9679    pub struct Cmpstcha23_SPEC;
9680    pub type Cmpstcha23 = crate::EnumBitfieldStruct<u8, Cmpstcha23_SPEC>;
9681    impl Cmpstcha23 {
9682        #[doc = "Comparison conditions are not met."]
9683        pub const _0: Self = Self::new(0);
9684
9685        #[doc = "Comparison conditions are met."]
9686        pub const _1: Self = Self::new(1);
9687    }
9688    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9689    pub struct Cmpstcha24_SPEC;
9690    pub type Cmpstcha24 = crate::EnumBitfieldStruct<u8, Cmpstcha24_SPEC>;
9691    impl Cmpstcha24 {
9692        #[doc = "Comparison conditions are not met."]
9693        pub const _0: Self = Self::new(0);
9694
9695        #[doc = "Comparison conditions are met."]
9696        pub const _1: Self = Self::new(1);
9697    }
9698    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9699    pub struct Cmpstcha25_SPEC;
9700    pub type Cmpstcha25 = crate::EnumBitfieldStruct<u8, Cmpstcha25_SPEC>;
9701    impl Cmpstcha25 {
9702        #[doc = "Comparison conditions are not met."]
9703        pub const _0: Self = Self::new(0);
9704
9705        #[doc = "Comparison conditions are met."]
9706        pub const _1: Self = Self::new(1);
9707    }
9708    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9709    pub struct Cmpstcha26_SPEC;
9710    pub type Cmpstcha26 = crate::EnumBitfieldStruct<u8, Cmpstcha26_SPEC>;
9711    impl Cmpstcha26 {
9712        #[doc = "Comparison conditions are not met."]
9713        pub const _0: Self = Self::new(0);
9714
9715        #[doc = "Comparison conditions are met."]
9716        pub const _1: Self = Self::new(1);
9717    }
9718    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9719    pub struct Cmpstcha27_SPEC;
9720    pub type Cmpstcha27 = crate::EnumBitfieldStruct<u8, Cmpstcha27_SPEC>;
9721    impl Cmpstcha27 {
9722        #[doc = "Comparison conditions are not met."]
9723        pub const _0: Self = Self::new(0);
9724
9725        #[doc = "Comparison conditions are met."]
9726        pub const _1: Self = Self::new(1);
9727    }
9728    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9729    pub struct Cmpstcha28_SPEC;
9730    pub type Cmpstcha28 = crate::EnumBitfieldStruct<u8, Cmpstcha28_SPEC>;
9731    impl Cmpstcha28 {
9732        #[doc = "Comparison conditions are not met."]
9733        pub const _0: Self = Self::new(0);
9734
9735        #[doc = "Comparison conditions are met."]
9736        pub const _1: Self = Self::new(1);
9737    }
9738    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9739    pub struct Cmpstcha29_SPEC;
9740    pub type Cmpstcha29 = crate::EnumBitfieldStruct<u8, Cmpstcha29_SPEC>;
9741    impl Cmpstcha29 {
9742        #[doc = "Comparison conditions are not met."]
9743        pub const _0: Self = Self::new(0);
9744
9745        #[doc = "Comparison conditions are met."]
9746        pub const _1: Self = Self::new(1);
9747    }
9748    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9749    pub struct Cmpstcha30_SPEC;
9750    pub type Cmpstcha30 = crate::EnumBitfieldStruct<u8, Cmpstcha30_SPEC>;
9751    impl Cmpstcha30 {
9752        #[doc = "Comparison conditions are not met."]
9753        pub const _0: Self = Self::new(0);
9754
9755        #[doc = "Comparison conditions are met."]
9756        pub const _1: Self = Self::new(1);
9757    }
9758    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9759    pub struct Cmpstcha31_SPEC;
9760    pub type Cmpstcha31 = crate::EnumBitfieldStruct<u8, Cmpstcha31_SPEC>;
9761    impl Cmpstcha31 {
9762        #[doc = "Comparison conditions are not met."]
9763        pub const _0: Self = Self::new(0);
9764
9765        #[doc = "Comparison conditions are met."]
9766        pub const _1: Self = Self::new(1);
9767    }
9768}
9769#[doc(hidden)]
9770#[derive(Copy, Clone, Eq, PartialEq)]
9771pub struct Adcmpser_SPEC;
9772impl crate::sealed::RegSpec for Adcmpser_SPEC {
9773    type DataType = u8;
9774}
9775
9776#[doc = "A/D Compare Function Window A Extended Input Channel Status Register"]
9777pub type Adcmpser = crate::RegValueT<Adcmpser_SPEC>;
9778
9779impl Adcmpser {
9780    #[doc = "Compare Window A Temperature Sensor Output Compare Flag"]
9781    #[inline(always)]
9782    pub fn cmpsttsa(
9783        self,
9784    ) -> crate::common::RegisterField<
9785        0,
9786        0x1,
9787        1,
9788        0,
9789        adcmpser::Cmpsttsa,
9790        adcmpser::Cmpsttsa,
9791        Adcmpser_SPEC,
9792        crate::common::RW,
9793    > {
9794        crate::common::RegisterField::<
9795            0,
9796            0x1,
9797            1,
9798            0,
9799            adcmpser::Cmpsttsa,
9800            adcmpser::Cmpsttsa,
9801            Adcmpser_SPEC,
9802            crate::common::RW,
9803        >::from_register(self, 0)
9804    }
9805
9806    #[doc = "Compare Window A Internal Reference Voltage Compare Flag"]
9807    #[inline(always)]
9808    pub fn cmpstoca(
9809        self,
9810    ) -> crate::common::RegisterField<
9811        1,
9812        0x1,
9813        1,
9814        0,
9815        adcmpser::Cmpstoca,
9816        adcmpser::Cmpstoca,
9817        Adcmpser_SPEC,
9818        crate::common::RW,
9819    > {
9820        crate::common::RegisterField::<
9821            1,
9822            0x1,
9823            1,
9824            0,
9825            adcmpser::Cmpstoca,
9826            adcmpser::Cmpstoca,
9827            Adcmpser_SPEC,
9828            crate::common::RW,
9829        >::from_register(self, 0)
9830    }
9831}
9832impl ::core::default::Default for Adcmpser {
9833    #[inline(always)]
9834    fn default() -> Adcmpser {
9835        <crate::RegValueT<Adcmpser_SPEC> as RegisterValue<_>>::new(0)
9836    }
9837}
9838pub mod adcmpser {
9839
9840    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9841    pub struct Cmpsttsa_SPEC;
9842    pub type Cmpsttsa = crate::EnumBitfieldStruct<u8, Cmpsttsa_SPEC>;
9843    impl Cmpsttsa {
9844        #[doc = "Comparison conditions are not met."]
9845        pub const _0: Self = Self::new(0);
9846
9847        #[doc = "Comparison conditions are met."]
9848        pub const _1: Self = Self::new(1);
9849    }
9850    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9851    pub struct Cmpstoca_SPEC;
9852    pub type Cmpstoca = crate::EnumBitfieldStruct<u8, Cmpstoca_SPEC>;
9853    impl Cmpstoca {
9854        #[doc = "Comparison conditions are not met."]
9855        pub const _0: Self = Self::new(0);
9856
9857        #[doc = "Comparison conditions are met."]
9858        pub const _1: Self = Self::new(1);
9859    }
9860}
9861#[doc(hidden)]
9862#[derive(Copy, Clone, Eq, PartialEq)]
9863pub struct Adcmpbnsr_SPEC;
9864impl crate::sealed::RegSpec for Adcmpbnsr_SPEC {
9865    type DataType = u8;
9866}
9867
9868#[doc = "A/D Compare Function Window B Channel Select Register"]
9869pub type Adcmpbnsr = crate::RegValueT<Adcmpbnsr_SPEC>;
9870
9871impl Adcmpbnsr {
9872    #[doc = "Compare Window B Channel Select"]
9873    #[inline(always)]
9874    pub fn cmpchb(
9875        self,
9876    ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, Adcmpbnsr_SPEC, crate::common::RW>
9877    {
9878        crate::common::RegisterField::<0,0x3f,1,0,u8,u8,Adcmpbnsr_SPEC,crate::common::RW>::from_register(self,0)
9879    }
9880
9881    #[doc = "Compare Window B Comparison Condition Setting"]
9882    #[inline(always)]
9883    pub fn cmplb(
9884        self,
9885    ) -> crate::common::RegisterField<
9886        7,
9887        0x1,
9888        1,
9889        0,
9890        adcmpbnsr::Cmplb,
9891        adcmpbnsr::Cmplb,
9892        Adcmpbnsr_SPEC,
9893        crate::common::RW,
9894    > {
9895        crate::common::RegisterField::<
9896            7,
9897            0x1,
9898            1,
9899            0,
9900            adcmpbnsr::Cmplb,
9901            adcmpbnsr::Cmplb,
9902            Adcmpbnsr_SPEC,
9903            crate::common::RW,
9904        >::from_register(self, 0)
9905    }
9906}
9907impl ::core::default::Default for Adcmpbnsr {
9908    #[inline(always)]
9909    fn default() -> Adcmpbnsr {
9910        <crate::RegValueT<Adcmpbnsr_SPEC> as RegisterValue<_>>::new(0)
9911    }
9912}
9913pub mod adcmpbnsr {
9914
9915    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9916    pub struct Cmplb_SPEC;
9917    pub type Cmplb = crate::EnumBitfieldStruct<u8, Cmplb_SPEC>;
9918    impl Cmplb {
9919        #[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"]
9920        pub const _0: Self = Self::new(0);
9921
9922        #[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"]
9923        pub const _1: Self = Self::new(1);
9924    }
9925}
9926#[doc(hidden)]
9927#[derive(Copy, Clone, Eq, PartialEq)]
9928pub struct Adwinllb_SPEC;
9929impl crate::sealed::RegSpec for Adwinllb_SPEC {
9930    type DataType = u16;
9931}
9932
9933#[doc = "A/D Compare Function Window B Lower-Side/Upper-Side Level Setting Register"]
9934pub type Adwinllb = crate::RegValueT<Adwinllb_SPEC>;
9935
9936impl NoBitfieldReg<Adwinllb_SPEC> for Adwinllb {}
9937impl ::core::default::Default for Adwinllb {
9938    #[inline(always)]
9939    fn default() -> Adwinllb {
9940        <crate::RegValueT<Adwinllb_SPEC> as RegisterValue<_>>::new(0)
9941    }
9942}
9943
9944#[doc(hidden)]
9945#[derive(Copy, Clone, Eq, PartialEq)]
9946pub struct Adwinulb_SPEC;
9947impl crate::sealed::RegSpec for Adwinulb_SPEC {
9948    type DataType = u16;
9949}
9950
9951#[doc = "A/D Compare Function Window B Lower-Side/Upper-Side Level Setting Register"]
9952pub type Adwinulb = crate::RegValueT<Adwinulb_SPEC>;
9953
9954impl NoBitfieldReg<Adwinulb_SPEC> for Adwinulb {}
9955impl ::core::default::Default for Adwinulb {
9956    #[inline(always)]
9957    fn default() -> Adwinulb {
9958        <crate::RegValueT<Adwinulb_SPEC> as RegisterValue<_>>::new(0)
9959    }
9960}
9961
9962#[doc(hidden)]
9963#[derive(Copy, Clone, Eq, PartialEq)]
9964pub struct Adcmpbsr_SPEC;
9965impl crate::sealed::RegSpec for Adcmpbsr_SPEC {
9966    type DataType = u8;
9967}
9968
9969#[doc = "A/D Compare Function Window B Status Register"]
9970pub type Adcmpbsr = crate::RegValueT<Adcmpbsr_SPEC>;
9971
9972impl Adcmpbsr {
9973    #[doc = "Compare Window B Flag"]
9974    #[inline(always)]
9975    pub fn cmpstb(
9976        self,
9977    ) -> crate::common::RegisterField<
9978        0,
9979        0x1,
9980        1,
9981        0,
9982        adcmpbsr::Cmpstb,
9983        adcmpbsr::Cmpstb,
9984        Adcmpbsr_SPEC,
9985        crate::common::RW,
9986    > {
9987        crate::common::RegisterField::<
9988            0,
9989            0x1,
9990            1,
9991            0,
9992            adcmpbsr::Cmpstb,
9993            adcmpbsr::Cmpstb,
9994            Adcmpbsr_SPEC,
9995            crate::common::RW,
9996        >::from_register(self, 0)
9997    }
9998}
9999impl ::core::default::Default for Adcmpbsr {
10000    #[inline(always)]
10001    fn default() -> Adcmpbsr {
10002        <crate::RegValueT<Adcmpbsr_SPEC> as RegisterValue<_>>::new(0)
10003    }
10004}
10005pub mod adcmpbsr {
10006
10007    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10008    pub struct Cmpstb_SPEC;
10009    pub type Cmpstb = crate::EnumBitfieldStruct<u8, Cmpstb_SPEC>;
10010    impl Cmpstb {
10011        #[doc = "Comparison conditions are not met."]
10012        pub const _0: Self = Self::new(0);
10013
10014        #[doc = "Comparison conditions are met."]
10015        pub const _1: Self = Self::new(1);
10016    }
10017}
10018#[doc(hidden)]
10019#[derive(Copy, Clone, Eq, PartialEq)]
10020pub struct Adsstrl_SPEC;
10021impl crate::sealed::RegSpec for Adsstrl_SPEC {
10022    type DataType = u8;
10023}
10024
10025#[doc = "A/D Sampling State Register"]
10026pub type Adsstrl = crate::RegValueT<Adsstrl_SPEC>;
10027
10028impl Adsstrl {
10029    #[doc = "Sampling Time Setting"]
10030    #[inline(always)]
10031    pub fn sst(
10032        self,
10033    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Adsstrl_SPEC, crate::common::RW> {
10034        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Adsstrl_SPEC,crate::common::RW>::from_register(self,0)
10035    }
10036}
10037impl ::core::default::Default for Adsstrl {
10038    #[inline(always)]
10039    fn default() -> Adsstrl {
10040        <crate::RegValueT<Adsstrl_SPEC> as RegisterValue<_>>::new(13)
10041    }
10042}
10043
10044#[doc(hidden)]
10045#[derive(Copy, Clone, Eq, PartialEq)]
10046pub struct Adsstrt_SPEC;
10047impl crate::sealed::RegSpec for Adsstrt_SPEC {
10048    type DataType = u8;
10049}
10050
10051#[doc = "A/D Sampling State Register"]
10052pub type Adsstrt = crate::RegValueT<Adsstrt_SPEC>;
10053
10054impl Adsstrt {
10055    #[doc = "Sampling Time Setting"]
10056    #[inline(always)]
10057    pub fn sst(
10058        self,
10059    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Adsstrt_SPEC, crate::common::RW> {
10060        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Adsstrt_SPEC,crate::common::RW>::from_register(self,0)
10061    }
10062}
10063impl ::core::default::Default for Adsstrt {
10064    #[inline(always)]
10065    fn default() -> Adsstrt {
10066        <crate::RegValueT<Adsstrt_SPEC> as RegisterValue<_>>::new(13)
10067    }
10068}
10069
10070#[doc(hidden)]
10071#[derive(Copy, Clone, Eq, PartialEq)]
10072pub struct Adsstro_SPEC;
10073impl crate::sealed::RegSpec for Adsstro_SPEC {
10074    type DataType = u8;
10075}
10076
10077#[doc = "A/D Sampling State Register"]
10078pub type Adsstro = crate::RegValueT<Adsstro_SPEC>;
10079
10080impl Adsstro {
10081    #[doc = "Sampling Time Setting"]
10082    #[inline(always)]
10083    pub fn sst(
10084        self,
10085    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Adsstro_SPEC, crate::common::RW> {
10086        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Adsstro_SPEC,crate::common::RW>::from_register(self,0)
10087    }
10088}
10089impl ::core::default::Default for Adsstro {
10090    #[inline(always)]
10091    fn default() -> Adsstro {
10092        <crate::RegValueT<Adsstro_SPEC> as RegisterValue<_>>::new(13)
10093    }
10094}
10095
10096#[doc(hidden)]
10097#[derive(Copy, Clone, Eq, PartialEq)]
10098pub struct Adsstr_SPEC;
10099impl crate::sealed::RegSpec for Adsstr_SPEC {
10100    type DataType = u8;
10101}
10102
10103#[doc = "A/D Sampling State Register"]
10104pub type Adsstr = crate::RegValueT<Adsstr_SPEC>;
10105
10106impl Adsstr {
10107    #[doc = "Sampling Time Setting"]
10108    #[inline(always)]
10109    pub fn sst(
10110        self,
10111    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Adsstr_SPEC, crate::common::RW> {
10112        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Adsstr_SPEC,crate::common::RW>::from_register(self,0)
10113    }
10114}
10115impl ::core::default::Default for Adsstr {
10116    #[inline(always)]
10117    fn default() -> Adsstr {
10118        <crate::RegValueT<Adsstr_SPEC> as RegisterValue<_>>::new(13)
10119    }
10120}