Skip to main content

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