Skip to main content

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