ra4e2_pac/
rtc.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.30.00, with svd2pac 0.6.0 on Thu, 24 Jul 2025 04:48:35 +0000
19
20#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"Realtime Clock"]
28unsafe impl ::core::marker::Send for super::Rtc {}
29unsafe impl ::core::marker::Sync for super::Rtc {}
30impl super::Rtc {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "64-Hz Counter"]
38    #[inline(always)]
39    pub const fn r64cnt(&self) -> &'static crate::common::Reg<self::R64Cnt_SPEC, crate::common::R> {
40        unsafe {
41            crate::common::Reg::<self::R64Cnt_SPEC, crate::common::R>::from_ptr(
42                self._svd2pac_as_ptr().add(0usize),
43            )
44        }
45    }
46
47    #[doc = "Binary Counter %s"]
48    #[inline(always)]
49    pub const fn bcnt(
50        &self,
51    ) -> &'static crate::common::ClusterRegisterArray<
52        crate::common::Reg<self::Bcnt_SPEC, crate::common::RW>,
53        4,
54        0x2,
55    > {
56        unsafe {
57            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x2usize))
58        }
59    }
60    #[inline(always)]
61    pub const fn bcnt0(&self) -> &'static crate::common::Reg<self::Bcnt_SPEC, crate::common::RW> {
62        unsafe {
63            crate::common::Reg::<self::Bcnt_SPEC, crate::common::RW>::from_ptr(
64                self._svd2pac_as_ptr().add(0x2usize),
65            )
66        }
67    }
68    #[inline(always)]
69    pub const fn bcnt1(&self) -> &'static crate::common::Reg<self::Bcnt_SPEC, crate::common::RW> {
70        unsafe {
71            crate::common::Reg::<self::Bcnt_SPEC, crate::common::RW>::from_ptr(
72                self._svd2pac_as_ptr().add(0x4usize),
73            )
74        }
75    }
76    #[inline(always)]
77    pub const fn bcnt2(&self) -> &'static crate::common::Reg<self::Bcnt_SPEC, crate::common::RW> {
78        unsafe {
79            crate::common::Reg::<self::Bcnt_SPEC, crate::common::RW>::from_ptr(
80                self._svd2pac_as_ptr().add(0x6usize),
81            )
82        }
83    }
84    #[inline(always)]
85    pub const fn bcnt3(&self) -> &'static crate::common::Reg<self::Bcnt_SPEC, crate::common::RW> {
86        unsafe {
87            crate::common::Reg::<self::Bcnt_SPEC, crate::common::RW>::from_ptr(
88                self._svd2pac_as_ptr().add(0x8usize),
89            )
90        }
91    }
92
93    #[doc = "Second Counter (in Calendar Count Mode)"]
94    #[inline(always)]
95    pub const fn rseccnt(
96        &self,
97    ) -> &'static crate::common::Reg<self::Rseccnt_SPEC, crate::common::RW> {
98        unsafe {
99            crate::common::Reg::<self::Rseccnt_SPEC, crate::common::RW>::from_ptr(
100                self._svd2pac_as_ptr().add(2usize),
101            )
102        }
103    }
104
105    #[doc = "Minute Counter (in Calendar Count Mode)"]
106    #[inline(always)]
107    pub const fn rmincnt(
108        &self,
109    ) -> &'static crate::common::Reg<self::Rmincnt_SPEC, crate::common::RW> {
110        unsafe {
111            crate::common::Reg::<self::Rmincnt_SPEC, crate::common::RW>::from_ptr(
112                self._svd2pac_as_ptr().add(4usize),
113            )
114        }
115    }
116
117    #[doc = "Hour Counter (in Calendar Count Mode)"]
118    #[inline(always)]
119    pub const fn rhrcnt(
120        &self,
121    ) -> &'static crate::common::Reg<self::Rhrcnt_SPEC, crate::common::RW> {
122        unsafe {
123            crate::common::Reg::<self::Rhrcnt_SPEC, crate::common::RW>::from_ptr(
124                self._svd2pac_as_ptr().add(6usize),
125            )
126        }
127    }
128
129    #[doc = "Day-of-Week Counter (in Calendar Count Mode)"]
130    #[inline(always)]
131    pub const fn rwkcnt(
132        &self,
133    ) -> &'static crate::common::Reg<self::Rwkcnt_SPEC, crate::common::RW> {
134        unsafe {
135            crate::common::Reg::<self::Rwkcnt_SPEC, crate::common::RW>::from_ptr(
136                self._svd2pac_as_ptr().add(8usize),
137            )
138        }
139    }
140
141    #[doc = "Day Counter"]
142    #[inline(always)]
143    pub const fn rdaycnt(
144        &self,
145    ) -> &'static crate::common::Reg<self::Rdaycnt_SPEC, crate::common::RW> {
146        unsafe {
147            crate::common::Reg::<self::Rdaycnt_SPEC, crate::common::RW>::from_ptr(
148                self._svd2pac_as_ptr().add(10usize),
149            )
150        }
151    }
152
153    #[doc = "Month Counter"]
154    #[inline(always)]
155    pub const fn rmoncnt(
156        &self,
157    ) -> &'static crate::common::Reg<self::Rmoncnt_SPEC, crate::common::RW> {
158        unsafe {
159            crate::common::Reg::<self::Rmoncnt_SPEC, crate::common::RW>::from_ptr(
160                self._svd2pac_as_ptr().add(12usize),
161            )
162        }
163    }
164
165    #[doc = "Year Counter"]
166    #[inline(always)]
167    pub const fn ryrcnt(
168        &self,
169    ) -> &'static crate::common::Reg<self::Ryrcnt_SPEC, crate::common::RW> {
170        unsafe {
171            crate::common::Reg::<self::Ryrcnt_SPEC, crate::common::RW>::from_ptr(
172                self._svd2pac_as_ptr().add(14usize),
173            )
174        }
175    }
176
177    #[doc = "Binary Counter %s Alarm Register"]
178    #[inline(always)]
179    pub const fn bcntar(
180        &self,
181    ) -> &'static crate::common::ClusterRegisterArray<
182        crate::common::Reg<self::Bcntar_SPEC, crate::common::RW>,
183        4,
184        0x2,
185    > {
186        unsafe {
187            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x10usize))
188        }
189    }
190    #[inline(always)]
191    pub const fn bcnt0ar(
192        &self,
193    ) -> &'static crate::common::Reg<self::Bcntar_SPEC, crate::common::RW> {
194        unsafe {
195            crate::common::Reg::<self::Bcntar_SPEC, crate::common::RW>::from_ptr(
196                self._svd2pac_as_ptr().add(0x10usize),
197            )
198        }
199    }
200    #[inline(always)]
201    pub const fn bcnt1ar(
202        &self,
203    ) -> &'static crate::common::Reg<self::Bcntar_SPEC, crate::common::RW> {
204        unsafe {
205            crate::common::Reg::<self::Bcntar_SPEC, crate::common::RW>::from_ptr(
206                self._svd2pac_as_ptr().add(0x12usize),
207            )
208        }
209    }
210    #[inline(always)]
211    pub const fn bcnt2ar(
212        &self,
213    ) -> &'static crate::common::Reg<self::Bcntar_SPEC, crate::common::RW> {
214        unsafe {
215            crate::common::Reg::<self::Bcntar_SPEC, crate::common::RW>::from_ptr(
216                self._svd2pac_as_ptr().add(0x14usize),
217            )
218        }
219    }
220    #[inline(always)]
221    pub const fn bcnt3ar(
222        &self,
223    ) -> &'static crate::common::Reg<self::Bcntar_SPEC, crate::common::RW> {
224        unsafe {
225            crate::common::Reg::<self::Bcntar_SPEC, crate::common::RW>::from_ptr(
226                self._svd2pac_as_ptr().add(0x16usize),
227            )
228        }
229    }
230
231    #[doc = "Second Alarm Register (in Calendar Count Mode)"]
232    #[inline(always)]
233    pub const fn rsecar(
234        &self,
235    ) -> &'static crate::common::Reg<self::Rsecar_SPEC, crate::common::RW> {
236        unsafe {
237            crate::common::Reg::<self::Rsecar_SPEC, crate::common::RW>::from_ptr(
238                self._svd2pac_as_ptr().add(16usize),
239            )
240        }
241    }
242
243    #[doc = "Minute Alarm Register (in Calendar Count Mode)"]
244    #[inline(always)]
245    pub const fn rminar(
246        &self,
247    ) -> &'static crate::common::Reg<self::Rminar_SPEC, crate::common::RW> {
248        unsafe {
249            crate::common::Reg::<self::Rminar_SPEC, crate::common::RW>::from_ptr(
250                self._svd2pac_as_ptr().add(18usize),
251            )
252        }
253    }
254
255    #[doc = "Hour Alarm Register (in Calendar Count Mode)"]
256    #[inline(always)]
257    pub const fn rhrar(&self) -> &'static crate::common::Reg<self::Rhrar_SPEC, crate::common::RW> {
258        unsafe {
259            crate::common::Reg::<self::Rhrar_SPEC, crate::common::RW>::from_ptr(
260                self._svd2pac_as_ptr().add(20usize),
261            )
262        }
263    }
264
265    #[doc = "Day-of-Week Alarm Register (in Calendar Count Mode)"]
266    #[inline(always)]
267    pub const fn rwkar(&self) -> &'static crate::common::Reg<self::Rwkar_SPEC, crate::common::RW> {
268        unsafe {
269            crate::common::Reg::<self::Rwkar_SPEC, crate::common::RW>::from_ptr(
270                self._svd2pac_as_ptr().add(22usize),
271            )
272        }
273    }
274
275    #[doc = "Binary Counter %s Alarm Enable Register"]
276    #[inline(always)]
277    pub const fn bcntaer(
278        &self,
279    ) -> &'static crate::common::ClusterRegisterArray<
280        crate::common::Reg<self::Bcntaer_SPEC, crate::common::RW>,
281        2,
282        0x2,
283    > {
284        unsafe {
285            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x18usize))
286        }
287    }
288    #[inline(always)]
289    pub const fn bcnt0aer(
290        &self,
291    ) -> &'static crate::common::Reg<self::Bcntaer_SPEC, crate::common::RW> {
292        unsafe {
293            crate::common::Reg::<self::Bcntaer_SPEC, crate::common::RW>::from_ptr(
294                self._svd2pac_as_ptr().add(0x18usize),
295            )
296        }
297    }
298    #[inline(always)]
299    pub const fn bcnt1aer(
300        &self,
301    ) -> &'static crate::common::Reg<self::Bcntaer_SPEC, crate::common::RW> {
302        unsafe {
303            crate::common::Reg::<self::Bcntaer_SPEC, crate::common::RW>::from_ptr(
304                self._svd2pac_as_ptr().add(0x1ausize),
305            )
306        }
307    }
308
309    #[doc = "Date Alarm Register (in Calendar Count Mode)"]
310    #[inline(always)]
311    pub const fn rdayar(
312        &self,
313    ) -> &'static crate::common::Reg<self::Rdayar_SPEC, crate::common::RW> {
314        unsafe {
315            crate::common::Reg::<self::Rdayar_SPEC, crate::common::RW>::from_ptr(
316                self._svd2pac_as_ptr().add(24usize),
317            )
318        }
319    }
320
321    #[doc = "Month Alarm Register (in Calendar Count Mode)"]
322    #[inline(always)]
323    pub const fn rmonar(
324        &self,
325    ) -> &'static crate::common::Reg<self::Rmonar_SPEC, crate::common::RW> {
326        unsafe {
327            crate::common::Reg::<self::Rmonar_SPEC, crate::common::RW>::from_ptr(
328                self._svd2pac_as_ptr().add(26usize),
329            )
330        }
331    }
332
333    #[doc = "Binary Counter 2 Alarm Enable Register"]
334    #[inline(always)]
335    pub const fn bcnt2aer(
336        &self,
337    ) -> &'static crate::common::Reg<self::Bcnt2Aer_SPEC, crate::common::RW> {
338        unsafe {
339            crate::common::Reg::<self::Bcnt2Aer_SPEC, crate::common::RW>::from_ptr(
340                self._svd2pac_as_ptr().add(28usize),
341            )
342        }
343    }
344
345    #[doc = "Year Alarm Register (in Calendar Count Mode)"]
346    #[inline(always)]
347    pub const fn ryrar(&self) -> &'static crate::common::Reg<self::Ryrar_SPEC, crate::common::RW> {
348        unsafe {
349            crate::common::Reg::<self::Ryrar_SPEC, crate::common::RW>::from_ptr(
350                self._svd2pac_as_ptr().add(28usize),
351            )
352        }
353    }
354
355    #[doc = "Binary Counter 3 Alarm Enable Register"]
356    #[inline(always)]
357    pub const fn bcnt3aer(
358        &self,
359    ) -> &'static crate::common::Reg<self::Bcnt3Aer_SPEC, crate::common::RW> {
360        unsafe {
361            crate::common::Reg::<self::Bcnt3Aer_SPEC, crate::common::RW>::from_ptr(
362                self._svd2pac_as_ptr().add(30usize),
363            )
364        }
365    }
366
367    #[doc = "Year Alarm Enable Register (in Calendar Count Mode)"]
368    #[inline(always)]
369    pub const fn ryraren(
370        &self,
371    ) -> &'static crate::common::Reg<self::Ryraren_SPEC, crate::common::RW> {
372        unsafe {
373            crate::common::Reg::<self::Ryraren_SPEC, crate::common::RW>::from_ptr(
374                self._svd2pac_as_ptr().add(30usize),
375            )
376        }
377    }
378
379    #[doc = "RTC Control Register 1"]
380    #[inline(always)]
381    pub const fn rcr1(&self) -> &'static crate::common::Reg<self::Rcr1_SPEC, crate::common::RW> {
382        unsafe {
383            crate::common::Reg::<self::Rcr1_SPEC, crate::common::RW>::from_ptr(
384                self._svd2pac_as_ptr().add(34usize),
385            )
386        }
387    }
388
389    #[doc = "RTC Control Register 2 (in Calendar Count Mode)"]
390    #[inline(always)]
391    pub const fn rcr2(&self) -> &'static crate::common::Reg<self::Rcr2_SPEC, crate::common::RW> {
392        unsafe {
393            crate::common::Reg::<self::Rcr2_SPEC, crate::common::RW>::from_ptr(
394                self._svd2pac_as_ptr().add(36usize),
395            )
396        }
397    }
398
399    #[doc = "RTC Control Register 2 (in Binary Count Mode)"]
400    #[inline(always)]
401    pub const fn rcr2_bcnt(
402        &self,
403    ) -> &'static crate::common::Reg<self::Rcr2Bcnt_SPEC, crate::common::RW> {
404        unsafe {
405            crate::common::Reg::<self::Rcr2Bcnt_SPEC, crate::common::RW>::from_ptr(
406                self._svd2pac_as_ptr().add(36usize),
407            )
408        }
409    }
410
411    #[doc = "RTC Control Register 4"]
412    #[inline(always)]
413    pub const fn rcr4(&self) -> &'static crate::common::Reg<self::Rcr4_SPEC, crate::common::RW> {
414        unsafe {
415            crate::common::Reg::<self::Rcr4_SPEC, crate::common::RW>::from_ptr(
416                self._svd2pac_as_ptr().add(40usize),
417            )
418        }
419    }
420
421    #[doc = "Frequency Register H"]
422    #[inline(always)]
423    pub const fn rfrh(&self) -> &'static crate::common::Reg<self::Rfrh_SPEC, crate::common::RW> {
424        unsafe {
425            crate::common::Reg::<self::Rfrh_SPEC, crate::common::RW>::from_ptr(
426                self._svd2pac_as_ptr().add(42usize),
427            )
428        }
429    }
430
431    #[doc = "Frequency Register L"]
432    #[inline(always)]
433    pub const fn rfrl(&self) -> &'static crate::common::Reg<self::Rfrl_SPEC, crate::common::RW> {
434        unsafe {
435            crate::common::Reg::<self::Rfrl_SPEC, crate::common::RW>::from_ptr(
436                self._svd2pac_as_ptr().add(44usize),
437            )
438        }
439    }
440
441    #[doc = "Time Error Adjustment Register"]
442    #[inline(always)]
443    pub const fn radj(&self) -> &'static crate::common::Reg<self::Radj_SPEC, crate::common::RW> {
444        unsafe {
445            crate::common::Reg::<self::Radj_SPEC, crate::common::RW>::from_ptr(
446                self._svd2pac_as_ptr().add(46usize),
447            )
448        }
449    }
450
451    #[doc = "Time Capture Control Register %s"]
452    #[inline(always)]
453    pub const fn rtccr(
454        &self,
455    ) -> &'static crate::common::ClusterRegisterArray<
456        crate::common::Reg<self::Rtccr_SPEC, crate::common::RW>,
457        2,
458        0x2,
459    > {
460        unsafe {
461            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x40usize))
462        }
463    }
464    #[inline(always)]
465    pub const fn rtccr0(&self) -> &'static crate::common::Reg<self::Rtccr_SPEC, crate::common::RW> {
466        unsafe {
467            crate::common::Reg::<self::Rtccr_SPEC, crate::common::RW>::from_ptr(
468                self._svd2pac_as_ptr().add(0x40usize),
469            )
470        }
471    }
472    #[inline(always)]
473    pub const fn rtccr1(&self) -> &'static crate::common::Reg<self::Rtccr_SPEC, crate::common::RW> {
474        unsafe {
475            crate::common::Reg::<self::Rtccr_SPEC, crate::common::RW>::from_ptr(
476                self._svd2pac_as_ptr().add(0x42usize),
477            )
478        }
479    }
480
481    #[doc = "BCNT0 Capture Register %s"]
482    #[inline(always)]
483    pub const fn bcnt0cp(
484        &self,
485    ) -> &'static crate::common::ClusterRegisterArray<
486        crate::common::Reg<self::Bcnt0Cp_SPEC, crate::common::R>,
487        2,
488        0x10,
489    > {
490        unsafe {
491            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x52usize))
492        }
493    }
494    #[inline(always)]
495    pub const fn bcnt0cp0(
496        &self,
497    ) -> &'static crate::common::Reg<self::Bcnt0Cp_SPEC, crate::common::R> {
498        unsafe {
499            crate::common::Reg::<self::Bcnt0Cp_SPEC, crate::common::R>::from_ptr(
500                self._svd2pac_as_ptr().add(0x52usize),
501            )
502        }
503    }
504    #[inline(always)]
505    pub const fn bcnt0cp1(
506        &self,
507    ) -> &'static crate::common::Reg<self::Bcnt0Cp_SPEC, crate::common::R> {
508        unsafe {
509            crate::common::Reg::<self::Bcnt0Cp_SPEC, crate::common::R>::from_ptr(
510                self._svd2pac_as_ptr().add(0x62usize),
511            )
512        }
513    }
514
515    #[doc = "Second Capture Register %s"]
516    #[inline(always)]
517    pub const fn rseccp(
518        &self,
519    ) -> &'static crate::common::ClusterRegisterArray<
520        crate::common::Reg<self::Rseccp_SPEC, crate::common::R>,
521        2,
522        0x10,
523    > {
524        unsafe {
525            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x52usize))
526        }
527    }
528    #[inline(always)]
529    pub const fn rseccp0(
530        &self,
531    ) -> &'static crate::common::Reg<self::Rseccp_SPEC, crate::common::R> {
532        unsafe {
533            crate::common::Reg::<self::Rseccp_SPEC, crate::common::R>::from_ptr(
534                self._svd2pac_as_ptr().add(0x52usize),
535            )
536        }
537    }
538    #[inline(always)]
539    pub const fn rseccp1(
540        &self,
541    ) -> &'static crate::common::Reg<self::Rseccp_SPEC, crate::common::R> {
542        unsafe {
543            crate::common::Reg::<self::Rseccp_SPEC, crate::common::R>::from_ptr(
544                self._svd2pac_as_ptr().add(0x62usize),
545            )
546        }
547    }
548
549    #[doc = "BCNT1 Capture Register %s"]
550    #[inline(always)]
551    pub const fn bcnt1cp(
552        &self,
553    ) -> &'static crate::common::ClusterRegisterArray<
554        crate::common::Reg<self::Bcnt1Cp_SPEC, crate::common::R>,
555        2,
556        0x10,
557    > {
558        unsafe {
559            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x54usize))
560        }
561    }
562    #[inline(always)]
563    pub const fn bcnt1cp0(
564        &self,
565    ) -> &'static crate::common::Reg<self::Bcnt1Cp_SPEC, crate::common::R> {
566        unsafe {
567            crate::common::Reg::<self::Bcnt1Cp_SPEC, crate::common::R>::from_ptr(
568                self._svd2pac_as_ptr().add(0x54usize),
569            )
570        }
571    }
572    #[inline(always)]
573    pub const fn bcnt1cp1(
574        &self,
575    ) -> &'static crate::common::Reg<self::Bcnt1Cp_SPEC, crate::common::R> {
576        unsafe {
577            crate::common::Reg::<self::Bcnt1Cp_SPEC, crate::common::R>::from_ptr(
578                self._svd2pac_as_ptr().add(0x64usize),
579            )
580        }
581    }
582
583    #[doc = "Minute Capture Register %s"]
584    #[inline(always)]
585    pub const fn rmincp(
586        &self,
587    ) -> &'static crate::common::ClusterRegisterArray<
588        crate::common::Reg<self::Rmincp_SPEC, crate::common::R>,
589        2,
590        0x10,
591    > {
592        unsafe {
593            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x54usize))
594        }
595    }
596    #[inline(always)]
597    pub const fn rmincp0(
598        &self,
599    ) -> &'static crate::common::Reg<self::Rmincp_SPEC, crate::common::R> {
600        unsafe {
601            crate::common::Reg::<self::Rmincp_SPEC, crate::common::R>::from_ptr(
602                self._svd2pac_as_ptr().add(0x54usize),
603            )
604        }
605    }
606    #[inline(always)]
607    pub const fn rmincp1(
608        &self,
609    ) -> &'static crate::common::Reg<self::Rmincp_SPEC, crate::common::R> {
610        unsafe {
611            crate::common::Reg::<self::Rmincp_SPEC, crate::common::R>::from_ptr(
612                self._svd2pac_as_ptr().add(0x64usize),
613            )
614        }
615    }
616
617    #[doc = "BCNT2 Capture Register %s"]
618    #[inline(always)]
619    pub const fn bcnt2cp(
620        &self,
621    ) -> &'static crate::common::ClusterRegisterArray<
622        crate::common::Reg<self::Bcnt2Cp_SPEC, crate::common::R>,
623        2,
624        0x10,
625    > {
626        unsafe {
627            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x56usize))
628        }
629    }
630    #[inline(always)]
631    pub const fn bcnt2cp0(
632        &self,
633    ) -> &'static crate::common::Reg<self::Bcnt2Cp_SPEC, crate::common::R> {
634        unsafe {
635            crate::common::Reg::<self::Bcnt2Cp_SPEC, crate::common::R>::from_ptr(
636                self._svd2pac_as_ptr().add(0x56usize),
637            )
638        }
639    }
640    #[inline(always)]
641    pub const fn bcnt2cp1(
642        &self,
643    ) -> &'static crate::common::Reg<self::Bcnt2Cp_SPEC, crate::common::R> {
644        unsafe {
645            crate::common::Reg::<self::Bcnt2Cp_SPEC, crate::common::R>::from_ptr(
646                self._svd2pac_as_ptr().add(0x66usize),
647            )
648        }
649    }
650
651    #[doc = "Hour Capture Register %s"]
652    #[inline(always)]
653    pub const fn rhrcp(
654        &self,
655    ) -> &'static crate::common::ClusterRegisterArray<
656        crate::common::Reg<self::Rhrcp_SPEC, crate::common::R>,
657        2,
658        0x10,
659    > {
660        unsafe {
661            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x56usize))
662        }
663    }
664    #[inline(always)]
665    pub const fn rhrcp0(&self) -> &'static crate::common::Reg<self::Rhrcp_SPEC, crate::common::R> {
666        unsafe {
667            crate::common::Reg::<self::Rhrcp_SPEC, crate::common::R>::from_ptr(
668                self._svd2pac_as_ptr().add(0x56usize),
669            )
670        }
671    }
672    #[inline(always)]
673    pub const fn rhrcp1(&self) -> &'static crate::common::Reg<self::Rhrcp_SPEC, crate::common::R> {
674        unsafe {
675            crate::common::Reg::<self::Rhrcp_SPEC, crate::common::R>::from_ptr(
676                self._svd2pac_as_ptr().add(0x66usize),
677            )
678        }
679    }
680
681    #[doc = "BCNT3 Capture Register %s"]
682    #[inline(always)]
683    pub const fn bcnt3cp(
684        &self,
685    ) -> &'static crate::common::ClusterRegisterArray<
686        crate::common::Reg<self::Bcnt3Cp_SPEC, crate::common::R>,
687        2,
688        0x10,
689    > {
690        unsafe {
691            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x5ausize))
692        }
693    }
694    #[inline(always)]
695    pub const fn bcnt3cp0(
696        &self,
697    ) -> &'static crate::common::Reg<self::Bcnt3Cp_SPEC, crate::common::R> {
698        unsafe {
699            crate::common::Reg::<self::Bcnt3Cp_SPEC, crate::common::R>::from_ptr(
700                self._svd2pac_as_ptr().add(0x5ausize),
701            )
702        }
703    }
704    #[inline(always)]
705    pub const fn bcnt3cp1(
706        &self,
707    ) -> &'static crate::common::Reg<self::Bcnt3Cp_SPEC, crate::common::R> {
708        unsafe {
709            crate::common::Reg::<self::Bcnt3Cp_SPEC, crate::common::R>::from_ptr(
710                self._svd2pac_as_ptr().add(0x6ausize),
711            )
712        }
713    }
714
715    #[doc = "Date Capture Register %s"]
716    #[inline(always)]
717    pub const fn rdaycp(
718        &self,
719    ) -> &'static crate::common::ClusterRegisterArray<
720        crate::common::Reg<self::Rdaycp_SPEC, crate::common::R>,
721        2,
722        0x10,
723    > {
724        unsafe {
725            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x5ausize))
726        }
727    }
728    #[inline(always)]
729    pub const fn rdaycp0(
730        &self,
731    ) -> &'static crate::common::Reg<self::Rdaycp_SPEC, crate::common::R> {
732        unsafe {
733            crate::common::Reg::<self::Rdaycp_SPEC, crate::common::R>::from_ptr(
734                self._svd2pac_as_ptr().add(0x5ausize),
735            )
736        }
737    }
738    #[inline(always)]
739    pub const fn rdaycp1(
740        &self,
741    ) -> &'static crate::common::Reg<self::Rdaycp_SPEC, crate::common::R> {
742        unsafe {
743            crate::common::Reg::<self::Rdaycp_SPEC, crate::common::R>::from_ptr(
744                self._svd2pac_as_ptr().add(0x6ausize),
745            )
746        }
747    }
748
749    #[doc = "Month Capture Register %s"]
750    #[inline(always)]
751    pub const fn rmoncp(
752        &self,
753    ) -> &'static crate::common::ClusterRegisterArray<
754        crate::common::Reg<self::Rmoncp_SPEC, crate::common::R>,
755        2,
756        0x10,
757    > {
758        unsafe {
759            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x5cusize))
760        }
761    }
762    #[inline(always)]
763    pub const fn rmoncp0(
764        &self,
765    ) -> &'static crate::common::Reg<self::Rmoncp_SPEC, crate::common::R> {
766        unsafe {
767            crate::common::Reg::<self::Rmoncp_SPEC, crate::common::R>::from_ptr(
768                self._svd2pac_as_ptr().add(0x5cusize),
769            )
770        }
771    }
772    #[inline(always)]
773    pub const fn rmoncp1(
774        &self,
775    ) -> &'static crate::common::Reg<self::Rmoncp_SPEC, crate::common::R> {
776        unsafe {
777            crate::common::Reg::<self::Rmoncp_SPEC, crate::common::R>::from_ptr(
778                self._svd2pac_as_ptr().add(0x6cusize),
779            )
780        }
781    }
782}
783#[doc(hidden)]
784#[derive(Copy, Clone, Eq, PartialEq)]
785pub struct R64Cnt_SPEC;
786impl crate::sealed::RegSpec for R64Cnt_SPEC {
787    type DataType = u8;
788}
789
790#[doc = "64-Hz Counter"]
791pub type R64Cnt = crate::RegValueT<R64Cnt_SPEC>;
792
793impl R64Cnt {
794    #[doc = "64-Hz Flag"]
795    #[inline(always)]
796    pub fn f64hz(self) -> crate::common::RegisterFieldBool<0, 1, 0, R64Cnt_SPEC, crate::common::R> {
797        crate::common::RegisterFieldBool::<0, 1, 0, R64Cnt_SPEC, crate::common::R>::from_register(
798            self, 0,
799        )
800    }
801
802    #[doc = "32-Hz Flag"]
803    #[inline(always)]
804    pub fn f32hz(self) -> crate::common::RegisterFieldBool<1, 1, 0, R64Cnt_SPEC, crate::common::R> {
805        crate::common::RegisterFieldBool::<1, 1, 0, R64Cnt_SPEC, crate::common::R>::from_register(
806            self, 0,
807        )
808    }
809
810    #[doc = "16-Hz Flag"]
811    #[inline(always)]
812    pub fn f16hz(self) -> crate::common::RegisterFieldBool<2, 1, 0, R64Cnt_SPEC, crate::common::R> {
813        crate::common::RegisterFieldBool::<2, 1, 0, R64Cnt_SPEC, crate::common::R>::from_register(
814            self, 0,
815        )
816    }
817
818    #[doc = "8-Hz Flag"]
819    #[inline(always)]
820    pub fn f8hz(self) -> crate::common::RegisterFieldBool<3, 1, 0, R64Cnt_SPEC, crate::common::R> {
821        crate::common::RegisterFieldBool::<3, 1, 0, R64Cnt_SPEC, crate::common::R>::from_register(
822            self, 0,
823        )
824    }
825
826    #[doc = "4-Hz Flag"]
827    #[inline(always)]
828    pub fn f4hz(self) -> crate::common::RegisterFieldBool<4, 1, 0, R64Cnt_SPEC, crate::common::R> {
829        crate::common::RegisterFieldBool::<4, 1, 0, R64Cnt_SPEC, crate::common::R>::from_register(
830            self, 0,
831        )
832    }
833
834    #[doc = "2-Hz Flag"]
835    #[inline(always)]
836    pub fn f2hz(self) -> crate::common::RegisterFieldBool<5, 1, 0, R64Cnt_SPEC, crate::common::R> {
837        crate::common::RegisterFieldBool::<5, 1, 0, R64Cnt_SPEC, crate::common::R>::from_register(
838            self, 0,
839        )
840    }
841
842    #[doc = "1-Hz Flag"]
843    #[inline(always)]
844    pub fn f1hz(self) -> crate::common::RegisterFieldBool<6, 1, 0, R64Cnt_SPEC, crate::common::R> {
845        crate::common::RegisterFieldBool::<6, 1, 0, R64Cnt_SPEC, crate::common::R>::from_register(
846            self, 0,
847        )
848    }
849}
850impl ::core::default::Default for R64Cnt {
851    #[inline(always)]
852    fn default() -> R64Cnt {
853        <crate::RegValueT<R64Cnt_SPEC> as RegisterValue<_>>::new(0)
854    }
855}
856
857#[doc(hidden)]
858#[derive(Copy, Clone, Eq, PartialEq)]
859pub struct Bcnt_SPEC;
860impl crate::sealed::RegSpec for Bcnt_SPEC {
861    type DataType = u8;
862}
863
864#[doc = "Binary Counter %s"]
865pub type Bcnt = crate::RegValueT<Bcnt_SPEC>;
866
867impl Bcnt {
868    #[doc = "Binary Counter"]
869    #[inline(always)]
870    pub fn bcnt(
871        self,
872    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Bcnt_SPEC, crate::common::RW> {
873        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Bcnt_SPEC,crate::common::RW>::from_register(self,0)
874    }
875}
876impl ::core::default::Default for Bcnt {
877    #[inline(always)]
878    fn default() -> Bcnt {
879        <crate::RegValueT<Bcnt_SPEC> as RegisterValue<_>>::new(0)
880    }
881}
882
883#[doc(hidden)]
884#[derive(Copy, Clone, Eq, PartialEq)]
885pub struct Rseccnt_SPEC;
886impl crate::sealed::RegSpec for Rseccnt_SPEC {
887    type DataType = u8;
888}
889
890#[doc = "Second Counter (in Calendar Count Mode)"]
891pub type Rseccnt = crate::RegValueT<Rseccnt_SPEC>;
892
893impl Rseccnt {
894    #[doc = "1-Second Count"]
895    #[inline(always)]
896    pub fn sec1(
897        self,
898    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rseccnt_SPEC, crate::common::RW> {
899        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rseccnt_SPEC,crate::common::RW>::from_register(self,0)
900    }
901
902    #[doc = "10-Second Count"]
903    #[inline(always)]
904    pub fn sec10(
905        self,
906    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, Rseccnt_SPEC, crate::common::RW> {
907        crate::common::RegisterField::<4,0x7,1,0,u8,u8,Rseccnt_SPEC,crate::common::RW>::from_register(self,0)
908    }
909}
910impl ::core::default::Default for Rseccnt {
911    #[inline(always)]
912    fn default() -> Rseccnt {
913        <crate::RegValueT<Rseccnt_SPEC> as RegisterValue<_>>::new(0)
914    }
915}
916
917#[doc(hidden)]
918#[derive(Copy, Clone, Eq, PartialEq)]
919pub struct Rmincnt_SPEC;
920impl crate::sealed::RegSpec for Rmincnt_SPEC {
921    type DataType = u8;
922}
923
924#[doc = "Minute Counter (in Calendar Count Mode)"]
925pub type Rmincnt = crate::RegValueT<Rmincnt_SPEC>;
926
927impl Rmincnt {
928    #[doc = "1-Minute Count"]
929    #[inline(always)]
930    pub fn min1(
931        self,
932    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rmincnt_SPEC, crate::common::RW> {
933        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rmincnt_SPEC,crate::common::RW>::from_register(self,0)
934    }
935
936    #[doc = "10-Minute Count"]
937    #[inline(always)]
938    pub fn min10(
939        self,
940    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, Rmincnt_SPEC, crate::common::RW> {
941        crate::common::RegisterField::<4,0x7,1,0,u8,u8,Rmincnt_SPEC,crate::common::RW>::from_register(self,0)
942    }
943}
944impl ::core::default::Default for Rmincnt {
945    #[inline(always)]
946    fn default() -> Rmincnt {
947        <crate::RegValueT<Rmincnt_SPEC> as RegisterValue<_>>::new(0)
948    }
949}
950
951#[doc(hidden)]
952#[derive(Copy, Clone, Eq, PartialEq)]
953pub struct Rhrcnt_SPEC;
954impl crate::sealed::RegSpec for Rhrcnt_SPEC {
955    type DataType = u8;
956}
957
958#[doc = "Hour Counter (in Calendar Count Mode)"]
959pub type Rhrcnt = crate::RegValueT<Rhrcnt_SPEC>;
960
961impl Rhrcnt {
962    #[doc = "1-Hour Count"]
963    #[inline(always)]
964    pub fn hr1(
965        self,
966    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rhrcnt_SPEC, crate::common::RW> {
967        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rhrcnt_SPEC,crate::common::RW>::from_register(self,0)
968    }
969
970    #[doc = "10-Hour Count"]
971    #[inline(always)]
972    pub fn hr10(
973        self,
974    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Rhrcnt_SPEC, crate::common::RW> {
975        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Rhrcnt_SPEC,crate::common::RW>::from_register(self,0)
976    }
977
978    #[doc = "AM/PM select for time counter setting."]
979    #[inline(always)]
980    pub fn pm(
981        self,
982    ) -> crate::common::RegisterField<
983        6,
984        0x1,
985        1,
986        0,
987        rhrcnt::Pm,
988        rhrcnt::Pm,
989        Rhrcnt_SPEC,
990        crate::common::RW,
991    > {
992        crate::common::RegisterField::<
993            6,
994            0x1,
995            1,
996            0,
997            rhrcnt::Pm,
998            rhrcnt::Pm,
999            Rhrcnt_SPEC,
1000            crate::common::RW,
1001        >::from_register(self, 0)
1002    }
1003}
1004impl ::core::default::Default for Rhrcnt {
1005    #[inline(always)]
1006    fn default() -> Rhrcnt {
1007        <crate::RegValueT<Rhrcnt_SPEC> as RegisterValue<_>>::new(0)
1008    }
1009}
1010pub mod rhrcnt {
1011
1012    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1013    pub struct Pm_SPEC;
1014    pub type Pm = crate::EnumBitfieldStruct<u8, Pm_SPEC>;
1015    impl Pm {
1016        #[doc = "AM"]
1017        pub const _0: Self = Self::new(0);
1018
1019        #[doc = "PM"]
1020        pub const _1: Self = Self::new(1);
1021    }
1022}
1023#[doc(hidden)]
1024#[derive(Copy, Clone, Eq, PartialEq)]
1025pub struct Rwkcnt_SPEC;
1026impl crate::sealed::RegSpec for Rwkcnt_SPEC {
1027    type DataType = u8;
1028}
1029
1030#[doc = "Day-of-Week Counter (in Calendar Count Mode)"]
1031pub type Rwkcnt = crate::RegValueT<Rwkcnt_SPEC>;
1032
1033impl Rwkcnt {
1034    #[doc = "Day-of-Week Counting"]
1035    #[inline(always)]
1036    pub fn dayw(
1037        self,
1038    ) -> crate::common::RegisterField<
1039        0,
1040        0x7,
1041        1,
1042        0,
1043        rwkcnt::Dayw,
1044        rwkcnt::Dayw,
1045        Rwkcnt_SPEC,
1046        crate::common::RW,
1047    > {
1048        crate::common::RegisterField::<
1049            0,
1050            0x7,
1051            1,
1052            0,
1053            rwkcnt::Dayw,
1054            rwkcnt::Dayw,
1055            Rwkcnt_SPEC,
1056            crate::common::RW,
1057        >::from_register(self, 0)
1058    }
1059}
1060impl ::core::default::Default for Rwkcnt {
1061    #[inline(always)]
1062    fn default() -> Rwkcnt {
1063        <crate::RegValueT<Rwkcnt_SPEC> as RegisterValue<_>>::new(0)
1064    }
1065}
1066pub mod rwkcnt {
1067
1068    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1069    pub struct Dayw_SPEC;
1070    pub type Dayw = crate::EnumBitfieldStruct<u8, Dayw_SPEC>;
1071    impl Dayw {
1072        #[doc = "Sunday"]
1073        pub const _000: Self = Self::new(0);
1074
1075        #[doc = "Monday"]
1076        pub const _001: Self = Self::new(1);
1077
1078        #[doc = "Tuesday"]
1079        pub const _010: Self = Self::new(2);
1080
1081        #[doc = "Wednesday"]
1082        pub const _011: Self = Self::new(3);
1083
1084        #[doc = "Thursday"]
1085        pub const _100: Self = Self::new(4);
1086
1087        #[doc = "Friday"]
1088        pub const _101: Self = Self::new(5);
1089
1090        #[doc = "Saturday"]
1091        pub const _110: Self = Self::new(6);
1092
1093        #[doc = "Setting prohibited"]
1094        pub const _111: Self = Self::new(7);
1095    }
1096}
1097#[doc(hidden)]
1098#[derive(Copy, Clone, Eq, PartialEq)]
1099pub struct Rdaycnt_SPEC;
1100impl crate::sealed::RegSpec for Rdaycnt_SPEC {
1101    type DataType = u8;
1102}
1103
1104#[doc = "Day Counter"]
1105pub type Rdaycnt = crate::RegValueT<Rdaycnt_SPEC>;
1106
1107impl Rdaycnt {
1108    #[doc = "1-Day Count"]
1109    #[inline(always)]
1110    pub fn date1(
1111        self,
1112    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rdaycnt_SPEC, crate::common::RW> {
1113        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rdaycnt_SPEC,crate::common::RW>::from_register(self,0)
1114    }
1115
1116    #[doc = "10-Day Count"]
1117    #[inline(always)]
1118    pub fn date10(
1119        self,
1120    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Rdaycnt_SPEC, crate::common::RW> {
1121        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Rdaycnt_SPEC,crate::common::RW>::from_register(self,0)
1122    }
1123}
1124impl ::core::default::Default for Rdaycnt {
1125    #[inline(always)]
1126    fn default() -> Rdaycnt {
1127        <crate::RegValueT<Rdaycnt_SPEC> as RegisterValue<_>>::new(0)
1128    }
1129}
1130
1131#[doc(hidden)]
1132#[derive(Copy, Clone, Eq, PartialEq)]
1133pub struct Rmoncnt_SPEC;
1134impl crate::sealed::RegSpec for Rmoncnt_SPEC {
1135    type DataType = u8;
1136}
1137
1138#[doc = "Month Counter"]
1139pub type Rmoncnt = crate::RegValueT<Rmoncnt_SPEC>;
1140
1141impl Rmoncnt {
1142    #[doc = "1-Month Count"]
1143    #[inline(always)]
1144    pub fn mon1(
1145        self,
1146    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rmoncnt_SPEC, crate::common::RW> {
1147        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rmoncnt_SPEC,crate::common::RW>::from_register(self,0)
1148    }
1149
1150    #[doc = "10-Month Count"]
1151    #[inline(always)]
1152    pub fn mon10(
1153        self,
1154    ) -> crate::common::RegisterFieldBool<4, 1, 0, Rmoncnt_SPEC, crate::common::RW> {
1155        crate::common::RegisterFieldBool::<4, 1, 0, Rmoncnt_SPEC, crate::common::RW>::from_register(
1156            self, 0,
1157        )
1158    }
1159}
1160impl ::core::default::Default for Rmoncnt {
1161    #[inline(always)]
1162    fn default() -> Rmoncnt {
1163        <crate::RegValueT<Rmoncnt_SPEC> as RegisterValue<_>>::new(0)
1164    }
1165}
1166
1167#[doc(hidden)]
1168#[derive(Copy, Clone, Eq, PartialEq)]
1169pub struct Ryrcnt_SPEC;
1170impl crate::sealed::RegSpec for Ryrcnt_SPEC {
1171    type DataType = u16;
1172}
1173
1174#[doc = "Year Counter"]
1175pub type Ryrcnt = crate::RegValueT<Ryrcnt_SPEC>;
1176
1177impl Ryrcnt {
1178    #[doc = "1-Year Count"]
1179    #[inline(always)]
1180    pub fn yr1(
1181        self,
1182    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Ryrcnt_SPEC, crate::common::RW> {
1183        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Ryrcnt_SPEC,crate::common::RW>::from_register(self,0)
1184    }
1185
1186    #[doc = "10-Year Count"]
1187    #[inline(always)]
1188    pub fn yr10(
1189        self,
1190    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, Ryrcnt_SPEC, crate::common::RW> {
1191        crate::common::RegisterField::<4,0xf,1,0,u8,u8,Ryrcnt_SPEC,crate::common::RW>::from_register(self,0)
1192    }
1193}
1194impl ::core::default::Default for Ryrcnt {
1195    #[inline(always)]
1196    fn default() -> Ryrcnt {
1197        <crate::RegValueT<Ryrcnt_SPEC> as RegisterValue<_>>::new(0)
1198    }
1199}
1200
1201#[doc(hidden)]
1202#[derive(Copy, Clone, Eq, PartialEq)]
1203pub struct Bcntar_SPEC;
1204impl crate::sealed::RegSpec for Bcntar_SPEC {
1205    type DataType = u8;
1206}
1207
1208#[doc = "Binary Counter %s Alarm Register"]
1209pub type Bcntar = crate::RegValueT<Bcntar_SPEC>;
1210
1211impl Bcntar {
1212    #[doc = "Alarm register associated with the 32-bit binary counter"]
1213    #[inline(always)]
1214    pub fn bcntar(
1215        self,
1216    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Bcntar_SPEC, crate::common::RW> {
1217        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Bcntar_SPEC,crate::common::RW>::from_register(self,0)
1218    }
1219}
1220impl ::core::default::Default for Bcntar {
1221    #[inline(always)]
1222    fn default() -> Bcntar {
1223        <crate::RegValueT<Bcntar_SPEC> as RegisterValue<_>>::new(0)
1224    }
1225}
1226
1227#[doc(hidden)]
1228#[derive(Copy, Clone, Eq, PartialEq)]
1229pub struct Rsecar_SPEC;
1230impl crate::sealed::RegSpec for Rsecar_SPEC {
1231    type DataType = u8;
1232}
1233
1234#[doc = "Second Alarm Register (in Calendar Count Mode)"]
1235pub type Rsecar = crate::RegValueT<Rsecar_SPEC>;
1236
1237impl Rsecar {
1238    #[doc = "1 Second"]
1239    #[inline(always)]
1240    pub fn sec1(
1241        self,
1242    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rsecar_SPEC, crate::common::RW> {
1243        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rsecar_SPEC,crate::common::RW>::from_register(self,0)
1244    }
1245
1246    #[doc = "10 Seconds"]
1247    #[inline(always)]
1248    pub fn sec10(
1249        self,
1250    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, Rsecar_SPEC, crate::common::RW> {
1251        crate::common::RegisterField::<4,0x7,1,0,u8,u8,Rsecar_SPEC,crate::common::RW>::from_register(self,0)
1252    }
1253
1254    #[doc = "ENB"]
1255    #[inline(always)]
1256    pub fn enb(
1257        self,
1258    ) -> crate::common::RegisterField<
1259        7,
1260        0x1,
1261        1,
1262        0,
1263        rsecar::Enb,
1264        rsecar::Enb,
1265        Rsecar_SPEC,
1266        crate::common::RW,
1267    > {
1268        crate::common::RegisterField::<
1269            7,
1270            0x1,
1271            1,
1272            0,
1273            rsecar::Enb,
1274            rsecar::Enb,
1275            Rsecar_SPEC,
1276            crate::common::RW,
1277        >::from_register(self, 0)
1278    }
1279}
1280impl ::core::default::Default for Rsecar {
1281    #[inline(always)]
1282    fn default() -> Rsecar {
1283        <crate::RegValueT<Rsecar_SPEC> as RegisterValue<_>>::new(0)
1284    }
1285}
1286pub mod rsecar {
1287
1288    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1289    pub struct Enb_SPEC;
1290    pub type Enb = crate::EnumBitfieldStruct<u8, Enb_SPEC>;
1291    impl Enb {
1292        #[doc = "Do not compare register value with RSECCNT counter value"]
1293        pub const _0: Self = Self::new(0);
1294
1295        #[doc = "Compare register value with RSECCNT counter value"]
1296        pub const _1: Self = Self::new(1);
1297    }
1298}
1299#[doc(hidden)]
1300#[derive(Copy, Clone, Eq, PartialEq)]
1301pub struct Rminar_SPEC;
1302impl crate::sealed::RegSpec for Rminar_SPEC {
1303    type DataType = u8;
1304}
1305
1306#[doc = "Minute Alarm Register (in Calendar Count Mode)"]
1307pub type Rminar = crate::RegValueT<Rminar_SPEC>;
1308
1309impl Rminar {
1310    #[doc = "1 Minute"]
1311    #[inline(always)]
1312    pub fn min1(
1313        self,
1314    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rminar_SPEC, crate::common::RW> {
1315        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rminar_SPEC,crate::common::RW>::from_register(self,0)
1316    }
1317
1318    #[doc = "10 Minutes"]
1319    #[inline(always)]
1320    pub fn min10(
1321        self,
1322    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, Rminar_SPEC, crate::common::RW> {
1323        crate::common::RegisterField::<4,0x7,1,0,u8,u8,Rminar_SPEC,crate::common::RW>::from_register(self,0)
1324    }
1325
1326    #[doc = "ENB"]
1327    #[inline(always)]
1328    pub fn enb(
1329        self,
1330    ) -> crate::common::RegisterField<
1331        7,
1332        0x1,
1333        1,
1334        0,
1335        rminar::Enb,
1336        rminar::Enb,
1337        Rminar_SPEC,
1338        crate::common::RW,
1339    > {
1340        crate::common::RegisterField::<
1341            7,
1342            0x1,
1343            1,
1344            0,
1345            rminar::Enb,
1346            rminar::Enb,
1347            Rminar_SPEC,
1348            crate::common::RW,
1349        >::from_register(self, 0)
1350    }
1351}
1352impl ::core::default::Default for Rminar {
1353    #[inline(always)]
1354    fn default() -> Rminar {
1355        <crate::RegValueT<Rminar_SPEC> as RegisterValue<_>>::new(0)
1356    }
1357}
1358pub mod rminar {
1359
1360    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1361    pub struct Enb_SPEC;
1362    pub type Enb = crate::EnumBitfieldStruct<u8, Enb_SPEC>;
1363    impl Enb {
1364        #[doc = "Do not compare register value with RMINCNT counter value"]
1365        pub const _0: Self = Self::new(0);
1366
1367        #[doc = "Compare register value with RMINCNT counter value"]
1368        pub const _1: Self = Self::new(1);
1369    }
1370}
1371#[doc(hidden)]
1372#[derive(Copy, Clone, Eq, PartialEq)]
1373pub struct Rhrar_SPEC;
1374impl crate::sealed::RegSpec for Rhrar_SPEC {
1375    type DataType = u8;
1376}
1377
1378#[doc = "Hour Alarm Register (in Calendar Count Mode)"]
1379pub type Rhrar = crate::RegValueT<Rhrar_SPEC>;
1380
1381impl Rhrar {
1382    #[doc = "1 Hour"]
1383    #[inline(always)]
1384    pub fn hr1(
1385        self,
1386    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rhrar_SPEC, crate::common::RW> {
1387        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rhrar_SPEC,crate::common::RW>::from_register(self,0)
1388    }
1389
1390    #[doc = "10 Hours"]
1391    #[inline(always)]
1392    pub fn hr10(
1393        self,
1394    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Rhrar_SPEC, crate::common::RW> {
1395        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Rhrar_SPEC,crate::common::RW>::from_register(self,0)
1396    }
1397
1398    #[doc = "AM/PM select for alarm setting."]
1399    #[inline(always)]
1400    pub fn pm(
1401        self,
1402    ) -> crate::common::RegisterField<
1403        6,
1404        0x1,
1405        1,
1406        0,
1407        rhrar::Pm,
1408        rhrar::Pm,
1409        Rhrar_SPEC,
1410        crate::common::RW,
1411    > {
1412        crate::common::RegisterField::<
1413            6,
1414            0x1,
1415            1,
1416            0,
1417            rhrar::Pm,
1418            rhrar::Pm,
1419            Rhrar_SPEC,
1420            crate::common::RW,
1421        >::from_register(self, 0)
1422    }
1423
1424    #[doc = "ENB"]
1425    #[inline(always)]
1426    pub fn enb(
1427        self,
1428    ) -> crate::common::RegisterField<
1429        7,
1430        0x1,
1431        1,
1432        0,
1433        rhrar::Enb,
1434        rhrar::Enb,
1435        Rhrar_SPEC,
1436        crate::common::RW,
1437    > {
1438        crate::common::RegisterField::<
1439            7,
1440            0x1,
1441            1,
1442            0,
1443            rhrar::Enb,
1444            rhrar::Enb,
1445            Rhrar_SPEC,
1446            crate::common::RW,
1447        >::from_register(self, 0)
1448    }
1449}
1450impl ::core::default::Default for Rhrar {
1451    #[inline(always)]
1452    fn default() -> Rhrar {
1453        <crate::RegValueT<Rhrar_SPEC> as RegisterValue<_>>::new(0)
1454    }
1455}
1456pub mod rhrar {
1457
1458    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1459    pub struct Pm_SPEC;
1460    pub type Pm = crate::EnumBitfieldStruct<u8, Pm_SPEC>;
1461    impl Pm {
1462        #[doc = "AM"]
1463        pub const _0: Self = Self::new(0);
1464
1465        #[doc = "PM"]
1466        pub const _1: Self = Self::new(1);
1467    }
1468    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1469    pub struct Enb_SPEC;
1470    pub type Enb = crate::EnumBitfieldStruct<u8, Enb_SPEC>;
1471    impl Enb {
1472        #[doc = "Do not compare register value with RHRCNT counter value"]
1473        pub const _0: Self = Self::new(0);
1474
1475        #[doc = "Compare register value with RHRCNT counter value"]
1476        pub const _1: Self = Self::new(1);
1477    }
1478}
1479#[doc(hidden)]
1480#[derive(Copy, Clone, Eq, PartialEq)]
1481pub struct Rwkar_SPEC;
1482impl crate::sealed::RegSpec for Rwkar_SPEC {
1483    type DataType = u8;
1484}
1485
1486#[doc = "Day-of-Week Alarm Register (in Calendar Count Mode)"]
1487pub type Rwkar = crate::RegValueT<Rwkar_SPEC>;
1488
1489impl Rwkar {
1490    #[doc = "Day-of-Week Setting"]
1491    #[inline(always)]
1492    pub fn dayw(
1493        self,
1494    ) -> crate::common::RegisterField<
1495        0,
1496        0x7,
1497        1,
1498        0,
1499        rwkar::Dayw,
1500        rwkar::Dayw,
1501        Rwkar_SPEC,
1502        crate::common::RW,
1503    > {
1504        crate::common::RegisterField::<
1505            0,
1506            0x7,
1507            1,
1508            0,
1509            rwkar::Dayw,
1510            rwkar::Dayw,
1511            Rwkar_SPEC,
1512            crate::common::RW,
1513        >::from_register(self, 0)
1514    }
1515
1516    #[doc = "ENB"]
1517    #[inline(always)]
1518    pub fn enb(
1519        self,
1520    ) -> crate::common::RegisterField<
1521        7,
1522        0x1,
1523        1,
1524        0,
1525        rwkar::Enb,
1526        rwkar::Enb,
1527        Rwkar_SPEC,
1528        crate::common::RW,
1529    > {
1530        crate::common::RegisterField::<
1531            7,
1532            0x1,
1533            1,
1534            0,
1535            rwkar::Enb,
1536            rwkar::Enb,
1537            Rwkar_SPEC,
1538            crate::common::RW,
1539        >::from_register(self, 0)
1540    }
1541}
1542impl ::core::default::Default for Rwkar {
1543    #[inline(always)]
1544    fn default() -> Rwkar {
1545        <crate::RegValueT<Rwkar_SPEC> as RegisterValue<_>>::new(0)
1546    }
1547}
1548pub mod rwkar {
1549
1550    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1551    pub struct Dayw_SPEC;
1552    pub type Dayw = crate::EnumBitfieldStruct<u8, Dayw_SPEC>;
1553    impl Dayw {
1554        #[doc = "Sunday"]
1555        pub const _000: Self = Self::new(0);
1556
1557        #[doc = "Monday"]
1558        pub const _001: Self = Self::new(1);
1559
1560        #[doc = "Tuesday"]
1561        pub const _010: Self = Self::new(2);
1562
1563        #[doc = "Wednesday"]
1564        pub const _011: Self = Self::new(3);
1565
1566        #[doc = "Thursday"]
1567        pub const _100: Self = Self::new(4);
1568
1569        #[doc = "Friday"]
1570        pub const _101: Self = Self::new(5);
1571
1572        #[doc = "Saturday"]
1573        pub const _110: Self = Self::new(6);
1574
1575        #[doc = "Setting prohibited"]
1576        pub const _111: Self = Self::new(7);
1577    }
1578    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1579    pub struct Enb_SPEC;
1580    pub type Enb = crate::EnumBitfieldStruct<u8, Enb_SPEC>;
1581    impl Enb {
1582        #[doc = "Do not compare register value with RWKCNT counter value"]
1583        pub const _0: Self = Self::new(0);
1584
1585        #[doc = "Compare register value with RWKCNT counter value"]
1586        pub const _1: Self = Self::new(1);
1587    }
1588}
1589#[doc(hidden)]
1590#[derive(Copy, Clone, Eq, PartialEq)]
1591pub struct Bcntaer_SPEC;
1592impl crate::sealed::RegSpec for Bcntaer_SPEC {
1593    type DataType = u8;
1594}
1595
1596#[doc = "Binary Counter %s Alarm Enable Register"]
1597pub type Bcntaer = crate::RegValueT<Bcntaer_SPEC>;
1598
1599impl Bcntaer {
1600    #[doc = "Setting the alarm enable associated with the 32-bit binary counter"]
1601    #[inline(always)]
1602    pub fn enb(
1603        self,
1604    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Bcntaer_SPEC, crate::common::RW> {
1605        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Bcntaer_SPEC,crate::common::RW>::from_register(self,0)
1606    }
1607}
1608impl ::core::default::Default for Bcntaer {
1609    #[inline(always)]
1610    fn default() -> Bcntaer {
1611        <crate::RegValueT<Bcntaer_SPEC> as RegisterValue<_>>::new(0)
1612    }
1613}
1614
1615#[doc(hidden)]
1616#[derive(Copy, Clone, Eq, PartialEq)]
1617pub struct Rdayar_SPEC;
1618impl crate::sealed::RegSpec for Rdayar_SPEC {
1619    type DataType = u8;
1620}
1621
1622#[doc = "Date Alarm Register (in Calendar Count Mode)"]
1623pub type Rdayar = crate::RegValueT<Rdayar_SPEC>;
1624
1625impl Rdayar {
1626    #[doc = "1 Day"]
1627    #[inline(always)]
1628    pub fn date1(
1629        self,
1630    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rdayar_SPEC, crate::common::RW> {
1631        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rdayar_SPEC,crate::common::RW>::from_register(self,0)
1632    }
1633
1634    #[doc = "10 Days"]
1635    #[inline(always)]
1636    pub fn date10(
1637        self,
1638    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Rdayar_SPEC, crate::common::RW> {
1639        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Rdayar_SPEC,crate::common::RW>::from_register(self,0)
1640    }
1641
1642    #[doc = "ENB"]
1643    #[inline(always)]
1644    pub fn enb(
1645        self,
1646    ) -> crate::common::RegisterField<
1647        7,
1648        0x1,
1649        1,
1650        0,
1651        rdayar::Enb,
1652        rdayar::Enb,
1653        Rdayar_SPEC,
1654        crate::common::RW,
1655    > {
1656        crate::common::RegisterField::<
1657            7,
1658            0x1,
1659            1,
1660            0,
1661            rdayar::Enb,
1662            rdayar::Enb,
1663            Rdayar_SPEC,
1664            crate::common::RW,
1665        >::from_register(self, 0)
1666    }
1667}
1668impl ::core::default::Default for Rdayar {
1669    #[inline(always)]
1670    fn default() -> Rdayar {
1671        <crate::RegValueT<Rdayar_SPEC> as RegisterValue<_>>::new(0)
1672    }
1673}
1674pub mod rdayar {
1675
1676    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1677    pub struct Enb_SPEC;
1678    pub type Enb = crate::EnumBitfieldStruct<u8, Enb_SPEC>;
1679    impl Enb {
1680        #[doc = "Do not compare register value with RDAYCNT counter value"]
1681        pub const _0: Self = Self::new(0);
1682
1683        #[doc = "Compare register value with RDAYCNT counter value"]
1684        pub const _1: Self = Self::new(1);
1685    }
1686}
1687#[doc(hidden)]
1688#[derive(Copy, Clone, Eq, PartialEq)]
1689pub struct Rmonar_SPEC;
1690impl crate::sealed::RegSpec for Rmonar_SPEC {
1691    type DataType = u8;
1692}
1693
1694#[doc = "Month Alarm Register (in Calendar Count Mode)"]
1695pub type Rmonar = crate::RegValueT<Rmonar_SPEC>;
1696
1697impl Rmonar {
1698    #[doc = "1 Month"]
1699    #[inline(always)]
1700    pub fn mon1(
1701        self,
1702    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rmonar_SPEC, crate::common::RW> {
1703        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rmonar_SPEC,crate::common::RW>::from_register(self,0)
1704    }
1705
1706    #[doc = "10 Months"]
1707    #[inline(always)]
1708    pub fn mon10(
1709        self,
1710    ) -> crate::common::RegisterFieldBool<4, 1, 0, Rmonar_SPEC, crate::common::RW> {
1711        crate::common::RegisterFieldBool::<4, 1, 0, Rmonar_SPEC, crate::common::RW>::from_register(
1712            self, 0,
1713        )
1714    }
1715
1716    #[doc = "ENB"]
1717    #[inline(always)]
1718    pub fn enb(
1719        self,
1720    ) -> crate::common::RegisterField<
1721        7,
1722        0x1,
1723        1,
1724        0,
1725        rmonar::Enb,
1726        rmonar::Enb,
1727        Rmonar_SPEC,
1728        crate::common::RW,
1729    > {
1730        crate::common::RegisterField::<
1731            7,
1732            0x1,
1733            1,
1734            0,
1735            rmonar::Enb,
1736            rmonar::Enb,
1737            Rmonar_SPEC,
1738            crate::common::RW,
1739        >::from_register(self, 0)
1740    }
1741}
1742impl ::core::default::Default for Rmonar {
1743    #[inline(always)]
1744    fn default() -> Rmonar {
1745        <crate::RegValueT<Rmonar_SPEC> as RegisterValue<_>>::new(0)
1746    }
1747}
1748pub mod rmonar {
1749
1750    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1751    pub struct Enb_SPEC;
1752    pub type Enb = crate::EnumBitfieldStruct<u8, Enb_SPEC>;
1753    impl Enb {
1754        #[doc = "Do not compare register value with RMONCNT counter value"]
1755        pub const _0: Self = Self::new(0);
1756
1757        #[doc = "Compare register value with RMONCNT counter value"]
1758        pub const _1: Self = Self::new(1);
1759    }
1760}
1761#[doc(hidden)]
1762#[derive(Copy, Clone, Eq, PartialEq)]
1763pub struct Bcnt2Aer_SPEC;
1764impl crate::sealed::RegSpec for Bcnt2Aer_SPEC {
1765    type DataType = u16;
1766}
1767
1768#[doc = "Binary Counter 2 Alarm Enable Register"]
1769pub type Bcnt2Aer = crate::RegValueT<Bcnt2Aer_SPEC>;
1770
1771impl Bcnt2Aer {
1772    #[doc = "Setting the alarm enable associated with the 32-bit binary counter"]
1773    #[inline(always)]
1774    pub fn enb(
1775        self,
1776    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Bcnt2Aer_SPEC, crate::common::RW> {
1777        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Bcnt2Aer_SPEC,crate::common::RW>::from_register(self,0)
1778    }
1779}
1780impl ::core::default::Default for Bcnt2Aer {
1781    #[inline(always)]
1782    fn default() -> Bcnt2Aer {
1783        <crate::RegValueT<Bcnt2Aer_SPEC> as RegisterValue<_>>::new(0)
1784    }
1785}
1786
1787#[doc(hidden)]
1788#[derive(Copy, Clone, Eq, PartialEq)]
1789pub struct Ryrar_SPEC;
1790impl crate::sealed::RegSpec for Ryrar_SPEC {
1791    type DataType = u16;
1792}
1793
1794#[doc = "Year Alarm Register (in Calendar Count Mode)"]
1795pub type Ryrar = crate::RegValueT<Ryrar_SPEC>;
1796
1797impl Ryrar {
1798    #[doc = "1 Year"]
1799    #[inline(always)]
1800    pub fn yr1(
1801        self,
1802    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Ryrar_SPEC, crate::common::RW> {
1803        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Ryrar_SPEC,crate::common::RW>::from_register(self,0)
1804    }
1805
1806    #[doc = "10 Years"]
1807    #[inline(always)]
1808    pub fn yr10(
1809        self,
1810    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, Ryrar_SPEC, crate::common::RW> {
1811        crate::common::RegisterField::<4,0xf,1,0,u8,u8,Ryrar_SPEC,crate::common::RW>::from_register(self,0)
1812    }
1813}
1814impl ::core::default::Default for Ryrar {
1815    #[inline(always)]
1816    fn default() -> Ryrar {
1817        <crate::RegValueT<Ryrar_SPEC> as RegisterValue<_>>::new(0)
1818    }
1819}
1820
1821#[doc(hidden)]
1822#[derive(Copy, Clone, Eq, PartialEq)]
1823pub struct Bcnt3Aer_SPEC;
1824impl crate::sealed::RegSpec for Bcnt3Aer_SPEC {
1825    type DataType = u8;
1826}
1827
1828#[doc = "Binary Counter 3 Alarm Enable Register"]
1829pub type Bcnt3Aer = crate::RegValueT<Bcnt3Aer_SPEC>;
1830
1831impl Bcnt3Aer {
1832    #[doc = "Setting the alarm enable associated with the 32-bit binary counter"]
1833    #[inline(always)]
1834    pub fn enb(
1835        self,
1836    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Bcnt3Aer_SPEC, crate::common::RW> {
1837        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Bcnt3Aer_SPEC,crate::common::RW>::from_register(self,0)
1838    }
1839}
1840impl ::core::default::Default for Bcnt3Aer {
1841    #[inline(always)]
1842    fn default() -> Bcnt3Aer {
1843        <crate::RegValueT<Bcnt3Aer_SPEC> as RegisterValue<_>>::new(0)
1844    }
1845}
1846
1847#[doc(hidden)]
1848#[derive(Copy, Clone, Eq, PartialEq)]
1849pub struct Ryraren_SPEC;
1850impl crate::sealed::RegSpec for Ryraren_SPEC {
1851    type DataType = u8;
1852}
1853
1854#[doc = "Year Alarm Enable Register (in Calendar Count Mode)"]
1855pub type Ryraren = crate::RegValueT<Ryraren_SPEC>;
1856
1857impl Ryraren {
1858    #[doc = "ENB"]
1859    #[inline(always)]
1860    pub fn enb(
1861        self,
1862    ) -> crate::common::RegisterField<
1863        7,
1864        0x1,
1865        1,
1866        0,
1867        ryraren::Enb,
1868        ryraren::Enb,
1869        Ryraren_SPEC,
1870        crate::common::RW,
1871    > {
1872        crate::common::RegisterField::<
1873            7,
1874            0x1,
1875            1,
1876            0,
1877            ryraren::Enb,
1878            ryraren::Enb,
1879            Ryraren_SPEC,
1880            crate::common::RW,
1881        >::from_register(self, 0)
1882    }
1883}
1884impl ::core::default::Default for Ryraren {
1885    #[inline(always)]
1886    fn default() -> Ryraren {
1887        <crate::RegValueT<Ryraren_SPEC> as RegisterValue<_>>::new(0)
1888    }
1889}
1890pub mod ryraren {
1891
1892    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1893    pub struct Enb_SPEC;
1894    pub type Enb = crate::EnumBitfieldStruct<u8, Enb_SPEC>;
1895    impl Enb {
1896        #[doc = "Do not compare register value with the RYRCNT counter value"]
1897        pub const _0: Self = Self::new(0);
1898
1899        #[doc = "Compare register value with the RYRCNT counter value"]
1900        pub const _1: Self = Self::new(1);
1901    }
1902}
1903#[doc(hidden)]
1904#[derive(Copy, Clone, Eq, PartialEq)]
1905pub struct Rcr1_SPEC;
1906impl crate::sealed::RegSpec for Rcr1_SPEC {
1907    type DataType = u8;
1908}
1909
1910#[doc = "RTC Control Register 1"]
1911pub type Rcr1 = crate::RegValueT<Rcr1_SPEC>;
1912
1913impl Rcr1 {
1914    #[doc = "Alarm Interrupt Enable"]
1915    #[inline(always)]
1916    pub fn aie(
1917        self,
1918    ) -> crate::common::RegisterField<
1919        0,
1920        0x1,
1921        1,
1922        0,
1923        rcr1::Aie,
1924        rcr1::Aie,
1925        Rcr1_SPEC,
1926        crate::common::RW,
1927    > {
1928        crate::common::RegisterField::<
1929            0,
1930            0x1,
1931            1,
1932            0,
1933            rcr1::Aie,
1934            rcr1::Aie,
1935            Rcr1_SPEC,
1936            crate::common::RW,
1937        >::from_register(self, 0)
1938    }
1939
1940    #[doc = "Carry Interrupt Enable"]
1941    #[inline(always)]
1942    pub fn cie(
1943        self,
1944    ) -> crate::common::RegisterField<
1945        1,
1946        0x1,
1947        1,
1948        0,
1949        rcr1::Cie,
1950        rcr1::Cie,
1951        Rcr1_SPEC,
1952        crate::common::RW,
1953    > {
1954        crate::common::RegisterField::<
1955            1,
1956            0x1,
1957            1,
1958            0,
1959            rcr1::Cie,
1960            rcr1::Cie,
1961            Rcr1_SPEC,
1962            crate::common::RW,
1963        >::from_register(self, 0)
1964    }
1965
1966    #[doc = "Periodic Interrupt Enable"]
1967    #[inline(always)]
1968    pub fn pie(
1969        self,
1970    ) -> crate::common::RegisterField<
1971        2,
1972        0x1,
1973        1,
1974        0,
1975        rcr1::Pie,
1976        rcr1::Pie,
1977        Rcr1_SPEC,
1978        crate::common::RW,
1979    > {
1980        crate::common::RegisterField::<
1981            2,
1982            0x1,
1983            1,
1984            0,
1985            rcr1::Pie,
1986            rcr1::Pie,
1987            Rcr1_SPEC,
1988            crate::common::RW,
1989        >::from_register(self, 0)
1990    }
1991
1992    #[doc = "RTCOUT Output Select"]
1993    #[inline(always)]
1994    pub fn rtcos(
1995        self,
1996    ) -> crate::common::RegisterField<
1997        3,
1998        0x1,
1999        1,
2000        0,
2001        rcr1::Rtcos,
2002        rcr1::Rtcos,
2003        Rcr1_SPEC,
2004        crate::common::RW,
2005    > {
2006        crate::common::RegisterField::<
2007            3,
2008            0x1,
2009            1,
2010            0,
2011            rcr1::Rtcos,
2012            rcr1::Rtcos,
2013            Rcr1_SPEC,
2014            crate::common::RW,
2015        >::from_register(self, 0)
2016    }
2017
2018    #[doc = "Periodic Interrupt Select"]
2019    #[inline(always)]
2020    pub fn pes(
2021        self,
2022    ) -> crate::common::RegisterField<
2023        4,
2024        0xf,
2025        1,
2026        0,
2027        rcr1::Pes,
2028        rcr1::Pes,
2029        Rcr1_SPEC,
2030        crate::common::RW,
2031    > {
2032        crate::common::RegisterField::<
2033            4,
2034            0xf,
2035            1,
2036            0,
2037            rcr1::Pes,
2038            rcr1::Pes,
2039            Rcr1_SPEC,
2040            crate::common::RW,
2041        >::from_register(self, 0)
2042    }
2043}
2044impl ::core::default::Default for Rcr1 {
2045    #[inline(always)]
2046    fn default() -> Rcr1 {
2047        <crate::RegValueT<Rcr1_SPEC> as RegisterValue<_>>::new(0)
2048    }
2049}
2050pub mod rcr1 {
2051
2052    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2053    pub struct Aie_SPEC;
2054    pub type Aie = crate::EnumBitfieldStruct<u8, Aie_SPEC>;
2055    impl Aie {
2056        #[doc = "Disable alarm interrupt requests"]
2057        pub const _0: Self = Self::new(0);
2058
2059        #[doc = "Enable alarm interrupt requests"]
2060        pub const _1: Self = Self::new(1);
2061    }
2062    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2063    pub struct Cie_SPEC;
2064    pub type Cie = crate::EnumBitfieldStruct<u8, Cie_SPEC>;
2065    impl Cie {
2066        #[doc = "Disable carry interrupt requests"]
2067        pub const _0: Self = Self::new(0);
2068
2069        #[doc = "Enable carry interrupt requests"]
2070        pub const _1: Self = Self::new(1);
2071    }
2072    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2073    pub struct Pie_SPEC;
2074    pub type Pie = crate::EnumBitfieldStruct<u8, Pie_SPEC>;
2075    impl Pie {
2076        #[doc = "Disable periodic interrupt requests"]
2077        pub const _0: Self = Self::new(0);
2078
2079        #[doc = "Enable periodic interrupt requests"]
2080        pub const _1: Self = Self::new(1);
2081    }
2082    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2083    pub struct Rtcos_SPEC;
2084    pub type Rtcos = crate::EnumBitfieldStruct<u8, Rtcos_SPEC>;
2085    impl Rtcos {
2086        #[doc = "Outputs 1 Hz on RTCOUT"]
2087        pub const _0: Self = Self::new(0);
2088
2089        #[doc = "Outputs 64 Hz RTCOUT"]
2090        pub const _1: Self = Self::new(1);
2091    }
2092    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2093    pub struct Pes_SPEC;
2094    pub type Pes = crate::EnumBitfieldStruct<u8, Pes_SPEC>;
2095    impl Pes {
2096        #[doc = "Generate periodic interrupt every 1/256 second"]
2097        pub const _0_X_6: Self = Self::new(6);
2098
2099        #[doc = "Generate periodic interrupt every 1/128 second"]
2100        pub const _0_X_7: Self = Self::new(7);
2101
2102        #[doc = "Generate periodic interrupt every 1/64 second"]
2103        pub const _0_X_8: Self = Self::new(8);
2104
2105        #[doc = "Generate periodic interrupt every 1/32 second"]
2106        pub const _0_X_9: Self = Self::new(9);
2107
2108        #[doc = "Generate periodic interrupt every 1/16 second"]
2109        pub const _0_X_A: Self = Self::new(10);
2110
2111        #[doc = "Generate periodic interrupt every 1/8 second"]
2112        pub const _0_X_B: Self = Self::new(11);
2113
2114        #[doc = "Generate periodic interrupt every 1/4 second"]
2115        pub const _0_X_C: Self = Self::new(12);
2116
2117        #[doc = "Generate periodic interrupt every 1/2 second"]
2118        pub const _0_X_D: Self = Self::new(13);
2119
2120        #[doc = "Generate periodic interrupt every 1 second"]
2121        pub const _0_X_E: Self = Self::new(14);
2122
2123        #[doc = "Generate periodic interrupt every 2 seconds"]
2124        pub const _0_X_F: Self = Self::new(15);
2125
2126        #[doc = "Do not generate periodic interrupts"]
2127        pub const OTHERS: Self = Self::new(0);
2128    }
2129}
2130#[doc(hidden)]
2131#[derive(Copy, Clone, Eq, PartialEq)]
2132pub struct Rcr2_SPEC;
2133impl crate::sealed::RegSpec for Rcr2_SPEC {
2134    type DataType = u8;
2135}
2136
2137#[doc = "RTC Control Register 2 (in Calendar Count Mode)"]
2138pub type Rcr2 = crate::RegValueT<Rcr2_SPEC>;
2139
2140impl Rcr2 {
2141    #[doc = "Start"]
2142    #[inline(always)]
2143    pub fn start(
2144        self,
2145    ) -> crate::common::RegisterField<
2146        0,
2147        0x1,
2148        1,
2149        0,
2150        rcr2::Start,
2151        rcr2::Start,
2152        Rcr2_SPEC,
2153        crate::common::RW,
2154    > {
2155        crate::common::RegisterField::<
2156            0,
2157            0x1,
2158            1,
2159            0,
2160            rcr2::Start,
2161            rcr2::Start,
2162            Rcr2_SPEC,
2163            crate::common::RW,
2164        >::from_register(self, 0)
2165    }
2166
2167    #[doc = "RTC Software Reset"]
2168    #[inline(always)]
2169    pub fn reset(
2170        self,
2171    ) -> crate::common::RegisterField<
2172        1,
2173        0x1,
2174        1,
2175        0,
2176        rcr2::Reset,
2177        rcr2::Reset,
2178        Rcr2_SPEC,
2179        crate::common::RW,
2180    > {
2181        crate::common::RegisterField::<
2182            1,
2183            0x1,
2184            1,
2185            0,
2186            rcr2::Reset,
2187            rcr2::Reset,
2188            Rcr2_SPEC,
2189            crate::common::RW,
2190        >::from_register(self, 0)
2191    }
2192
2193    #[doc = "30-Second Adjustment"]
2194    #[inline(always)]
2195    pub fn adj30(
2196        self,
2197    ) -> crate::common::RegisterField<
2198        2,
2199        0x1,
2200        1,
2201        0,
2202        rcr2::Adj30,
2203        rcr2::Adj30,
2204        Rcr2_SPEC,
2205        crate::common::RW,
2206    > {
2207        crate::common::RegisterField::<
2208            2,
2209            0x1,
2210            1,
2211            0,
2212            rcr2::Adj30,
2213            rcr2::Adj30,
2214            Rcr2_SPEC,
2215            crate::common::RW,
2216        >::from_register(self, 0)
2217    }
2218
2219    #[doc = "RTCOUT Output Enable"]
2220    #[inline(always)]
2221    pub fn rtcoe(
2222        self,
2223    ) -> crate::common::RegisterField<
2224        3,
2225        0x1,
2226        1,
2227        0,
2228        rcr2::Rtcoe,
2229        rcr2::Rtcoe,
2230        Rcr2_SPEC,
2231        crate::common::RW,
2232    > {
2233        crate::common::RegisterField::<
2234            3,
2235            0x1,
2236            1,
2237            0,
2238            rcr2::Rtcoe,
2239            rcr2::Rtcoe,
2240            Rcr2_SPEC,
2241            crate::common::RW,
2242        >::from_register(self, 0)
2243    }
2244
2245    #[doc = "Automatic Adjustment Enable"]
2246    #[inline(always)]
2247    pub fn aadje(
2248        self,
2249    ) -> crate::common::RegisterField<
2250        4,
2251        0x1,
2252        1,
2253        0,
2254        rcr2::Aadje,
2255        rcr2::Aadje,
2256        Rcr2_SPEC,
2257        crate::common::RW,
2258    > {
2259        crate::common::RegisterField::<
2260            4,
2261            0x1,
2262            1,
2263            0,
2264            rcr2::Aadje,
2265            rcr2::Aadje,
2266            Rcr2_SPEC,
2267            crate::common::RW,
2268        >::from_register(self, 0)
2269    }
2270
2271    #[doc = "Automatic Adjustment Period Select"]
2272    #[inline(always)]
2273    pub fn aadjp(
2274        self,
2275    ) -> crate::common::RegisterField<
2276        5,
2277        0x1,
2278        1,
2279        0,
2280        rcr2::Aadjp,
2281        rcr2::Aadjp,
2282        Rcr2_SPEC,
2283        crate::common::RW,
2284    > {
2285        crate::common::RegisterField::<
2286            5,
2287            0x1,
2288            1,
2289            0,
2290            rcr2::Aadjp,
2291            rcr2::Aadjp,
2292            Rcr2_SPEC,
2293            crate::common::RW,
2294        >::from_register(self, 0)
2295    }
2296
2297    #[doc = "Hours Mode"]
2298    #[inline(always)]
2299    pub fn hr24(
2300        self,
2301    ) -> crate::common::RegisterField<
2302        6,
2303        0x1,
2304        1,
2305        0,
2306        rcr2::Hr24,
2307        rcr2::Hr24,
2308        Rcr2_SPEC,
2309        crate::common::RW,
2310    > {
2311        crate::common::RegisterField::<
2312            6,
2313            0x1,
2314            1,
2315            0,
2316            rcr2::Hr24,
2317            rcr2::Hr24,
2318            Rcr2_SPEC,
2319            crate::common::RW,
2320        >::from_register(self, 0)
2321    }
2322
2323    #[doc = "Count Mode Select"]
2324    #[inline(always)]
2325    pub fn cntmd(
2326        self,
2327    ) -> crate::common::RegisterField<
2328        7,
2329        0x1,
2330        1,
2331        0,
2332        rcr2::Cntmd,
2333        rcr2::Cntmd,
2334        Rcr2_SPEC,
2335        crate::common::RW,
2336    > {
2337        crate::common::RegisterField::<
2338            7,
2339            0x1,
2340            1,
2341            0,
2342            rcr2::Cntmd,
2343            rcr2::Cntmd,
2344            Rcr2_SPEC,
2345            crate::common::RW,
2346        >::from_register(self, 0)
2347    }
2348}
2349impl ::core::default::Default for Rcr2 {
2350    #[inline(always)]
2351    fn default() -> Rcr2 {
2352        <crate::RegValueT<Rcr2_SPEC> as RegisterValue<_>>::new(0)
2353    }
2354}
2355pub mod rcr2 {
2356
2357    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2358    pub struct Start_SPEC;
2359    pub type Start = crate::EnumBitfieldStruct<u8, Start_SPEC>;
2360    impl Start {
2361        #[doc = "Stop prescaler and time counter"]
2362        pub const _0: Self = Self::new(0);
2363
2364        #[doc = "Operate prescaler and time counter normally"]
2365        pub const _1: Self = Self::new(1);
2366    }
2367    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2368    pub struct Reset_SPEC;
2369    pub type Reset = crate::EnumBitfieldStruct<u8, Reset_SPEC>;
2370    impl Reset {
2371        #[doc = "In writing: Invalid (writing 0 has no effect). In reading: Normal time operation in progress, or an RTC software reset has completed."]
2372        pub const _0: Self = Self::new(0);
2373
2374        #[doc = "In writing: Initialize the prescaler and target registers for RTC software reset. In reading: RTC software reset in progress."]
2375        pub const _1: Self = Self::new(1);
2376    }
2377    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2378    pub struct Adj30_SPEC;
2379    pub type Adj30 = crate::EnumBitfieldStruct<u8, Adj30_SPEC>;
2380    impl Adj30 {
2381        #[doc = "In writing: Invalid (writing 0 has no effect). In reading: Normal time operation in progress, or 30-second adjustment has completed."]
2382        pub const _0: Self = Self::new(0);
2383
2384        #[doc = "In writing: Execute 30-second adjustment. In reading: 30-second adjustment in progress."]
2385        pub const _1: Self = Self::new(1);
2386    }
2387    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2388    pub struct Rtcoe_SPEC;
2389    pub type Rtcoe = crate::EnumBitfieldStruct<u8, Rtcoe_SPEC>;
2390    impl Rtcoe {
2391        #[doc = "Disable RTCOUT output"]
2392        pub const _0: Self = Self::new(0);
2393
2394        #[doc = "Enable RTCOUT output"]
2395        pub const _1: Self = Self::new(1);
2396    }
2397    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2398    pub struct Aadje_SPEC;
2399    pub type Aadje = crate::EnumBitfieldStruct<u8, Aadje_SPEC>;
2400    impl Aadje {
2401        #[doc = "Disable automatic adjustment"]
2402        pub const _0: Self = Self::new(0);
2403
2404        #[doc = "Enable automatic adjustment"]
2405        pub const _1: Self = Self::new(1);
2406    }
2407    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2408    pub struct Aadjp_SPEC;
2409    pub type Aadjp = crate::EnumBitfieldStruct<u8, Aadjp_SPEC>;
2410    impl Aadjp {
2411        #[doc = "The RADJ.ADJ\\[5:0\\] setting from the count value of the prescaler every minute."]
2412        pub const _0: Self = Self::new(0);
2413
2414        #[doc = "The RADJ.ADJ\\[5:0\\] setting value is adjusted from the coun tvalue of the prescaler every 10 seconds."]
2415        pub const _1: Self = Self::new(1);
2416    }
2417    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2418    pub struct Hr24_SPEC;
2419    pub type Hr24 = crate::EnumBitfieldStruct<u8, Hr24_SPEC>;
2420    impl Hr24 {
2421        #[doc = "Operate RTC in 12-hour mode"]
2422        pub const _0: Self = Self::new(0);
2423
2424        #[doc = "Operate RTC in 24-hour mode"]
2425        pub const _1: Self = Self::new(1);
2426    }
2427    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2428    pub struct Cntmd_SPEC;
2429    pub type Cntmd = crate::EnumBitfieldStruct<u8, Cntmd_SPEC>;
2430    impl Cntmd {
2431        #[doc = "Calendar count mode"]
2432        pub const _0: Self = Self::new(0);
2433
2434        #[doc = "Binary count mode"]
2435        pub const _1: Self = Self::new(1);
2436    }
2437}
2438#[doc(hidden)]
2439#[derive(Copy, Clone, Eq, PartialEq)]
2440pub struct Rcr2Bcnt_SPEC;
2441impl crate::sealed::RegSpec for Rcr2Bcnt_SPEC {
2442    type DataType = u8;
2443}
2444
2445#[doc = "RTC Control Register 2 (in Binary Count Mode)"]
2446pub type Rcr2Bcnt = crate::RegValueT<Rcr2Bcnt_SPEC>;
2447
2448impl Rcr2Bcnt {
2449    #[doc = "Start"]
2450    #[inline(always)]
2451    pub fn start(
2452        self,
2453    ) -> crate::common::RegisterField<
2454        0,
2455        0x1,
2456        1,
2457        0,
2458        rcr2_bcnt::Start,
2459        rcr2_bcnt::Start,
2460        Rcr2Bcnt_SPEC,
2461        crate::common::RW,
2462    > {
2463        crate::common::RegisterField::<
2464            0,
2465            0x1,
2466            1,
2467            0,
2468            rcr2_bcnt::Start,
2469            rcr2_bcnt::Start,
2470            Rcr2Bcnt_SPEC,
2471            crate::common::RW,
2472        >::from_register(self, 0)
2473    }
2474
2475    #[doc = "RTC Software Reset"]
2476    #[inline(always)]
2477    pub fn reset(
2478        self,
2479    ) -> crate::common::RegisterField<
2480        1,
2481        0x1,
2482        1,
2483        0,
2484        rcr2_bcnt::Reset,
2485        rcr2_bcnt::Reset,
2486        Rcr2Bcnt_SPEC,
2487        crate::common::RW,
2488    > {
2489        crate::common::RegisterField::<
2490            1,
2491            0x1,
2492            1,
2493            0,
2494            rcr2_bcnt::Reset,
2495            rcr2_bcnt::Reset,
2496            Rcr2Bcnt_SPEC,
2497            crate::common::RW,
2498        >::from_register(self, 0)
2499    }
2500
2501    #[doc = "RTCOUT Output Enable"]
2502    #[inline(always)]
2503    pub fn rtcoe(
2504        self,
2505    ) -> crate::common::RegisterField<
2506        3,
2507        0x1,
2508        1,
2509        0,
2510        rcr2_bcnt::Rtcoe,
2511        rcr2_bcnt::Rtcoe,
2512        Rcr2Bcnt_SPEC,
2513        crate::common::RW,
2514    > {
2515        crate::common::RegisterField::<
2516            3,
2517            0x1,
2518            1,
2519            0,
2520            rcr2_bcnt::Rtcoe,
2521            rcr2_bcnt::Rtcoe,
2522            Rcr2Bcnt_SPEC,
2523            crate::common::RW,
2524        >::from_register(self, 0)
2525    }
2526
2527    #[doc = "Automatic Adjustment Enable"]
2528    #[inline(always)]
2529    pub fn aadje(
2530        self,
2531    ) -> crate::common::RegisterField<
2532        4,
2533        0x1,
2534        1,
2535        0,
2536        rcr2_bcnt::Aadje,
2537        rcr2_bcnt::Aadje,
2538        Rcr2Bcnt_SPEC,
2539        crate::common::RW,
2540    > {
2541        crate::common::RegisterField::<
2542            4,
2543            0x1,
2544            1,
2545            0,
2546            rcr2_bcnt::Aadje,
2547            rcr2_bcnt::Aadje,
2548            Rcr2Bcnt_SPEC,
2549            crate::common::RW,
2550        >::from_register(self, 0)
2551    }
2552
2553    #[doc = "Automatic Adjustment Period Select"]
2554    #[inline(always)]
2555    pub fn aadjp(
2556        self,
2557    ) -> crate::common::RegisterField<
2558        5,
2559        0x1,
2560        1,
2561        0,
2562        rcr2_bcnt::Aadjp,
2563        rcr2_bcnt::Aadjp,
2564        Rcr2Bcnt_SPEC,
2565        crate::common::RW,
2566    > {
2567        crate::common::RegisterField::<
2568            5,
2569            0x1,
2570            1,
2571            0,
2572            rcr2_bcnt::Aadjp,
2573            rcr2_bcnt::Aadjp,
2574            Rcr2Bcnt_SPEC,
2575            crate::common::RW,
2576        >::from_register(self, 0)
2577    }
2578
2579    #[doc = "Count Mode Select"]
2580    #[inline(always)]
2581    pub fn cntmd(
2582        self,
2583    ) -> crate::common::RegisterField<
2584        7,
2585        0x1,
2586        1,
2587        0,
2588        rcr2_bcnt::Cntmd,
2589        rcr2_bcnt::Cntmd,
2590        Rcr2Bcnt_SPEC,
2591        crate::common::RW,
2592    > {
2593        crate::common::RegisterField::<
2594            7,
2595            0x1,
2596            1,
2597            0,
2598            rcr2_bcnt::Cntmd,
2599            rcr2_bcnt::Cntmd,
2600            Rcr2Bcnt_SPEC,
2601            crate::common::RW,
2602        >::from_register(self, 0)
2603    }
2604}
2605impl ::core::default::Default for Rcr2Bcnt {
2606    #[inline(always)]
2607    fn default() -> Rcr2Bcnt {
2608        <crate::RegValueT<Rcr2Bcnt_SPEC> as RegisterValue<_>>::new(0)
2609    }
2610}
2611pub mod rcr2_bcnt {
2612
2613    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2614    pub struct Start_SPEC;
2615    pub type Start = crate::EnumBitfieldStruct<u8, Start_SPEC>;
2616    impl Start {
2617        #[doc = "Stop the 32-bit binary counter, 64-Hz counter, and prescaler"]
2618        pub const _0: Self = Self::new(0);
2619
2620        #[doc = "Operate the 32-bit binary counter, 64-Hz counter, and prescaler normally"]
2621        pub const _1: Self = Self::new(1);
2622    }
2623    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2624    pub struct Reset_SPEC;
2625    pub type Reset = crate::EnumBitfieldStruct<u8, Reset_SPEC>;
2626    impl Reset {
2627        #[doc = "In writing: Invalid (writing 0 has no effect). In reading: Normal time operation in progress, or an RTC software reset has completed."]
2628        pub const _0: Self = Self::new(0);
2629
2630        #[doc = "In writing: Initialize the prescaler and target registers for RTC software reset. In reading: RTC software reset in progress."]
2631        pub const _1: Self = Self::new(1);
2632    }
2633    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2634    pub struct Rtcoe_SPEC;
2635    pub type Rtcoe = crate::EnumBitfieldStruct<u8, Rtcoe_SPEC>;
2636    impl Rtcoe {
2637        #[doc = "Disable RTCOUT output"]
2638        pub const _0: Self = Self::new(0);
2639
2640        #[doc = "Enable RTCOUT output"]
2641        pub const _1: Self = Self::new(1);
2642    }
2643    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2644    pub struct Aadje_SPEC;
2645    pub type Aadje = crate::EnumBitfieldStruct<u8, Aadje_SPEC>;
2646    impl Aadje {
2647        #[doc = "Disable automatic adjustment"]
2648        pub const _0: Self = Self::new(0);
2649
2650        #[doc = "Enable automatic adjustment"]
2651        pub const _1: Self = Self::new(1);
2652    }
2653    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2654    pub struct Aadjp_SPEC;
2655    pub type Aadjp = crate::EnumBitfieldStruct<u8, Aadjp_SPEC>;
2656    impl Aadjp {
2657        #[doc = "Add or subtract RADJ.ADJ \\[5:0\\] bits from prescaler count value every 32 seconds"]
2658        pub const _0: Self = Self::new(0);
2659
2660        #[doc = "Add or subtract RADJ.ADJ \\[5:0\\] bits from prescaler countvalue every 8 seconds."]
2661        pub const _1: Self = Self::new(1);
2662    }
2663    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2664    pub struct Cntmd_SPEC;
2665    pub type Cntmd = crate::EnumBitfieldStruct<u8, Cntmd_SPEC>;
2666    impl Cntmd {
2667        #[doc = "Calendar count mode"]
2668        pub const _0: Self = Self::new(0);
2669
2670        #[doc = "Binary count mode"]
2671        pub const _1: Self = Self::new(1);
2672    }
2673}
2674#[doc(hidden)]
2675#[derive(Copy, Clone, Eq, PartialEq)]
2676pub struct Rcr4_SPEC;
2677impl crate::sealed::RegSpec for Rcr4_SPEC {
2678    type DataType = u8;
2679}
2680
2681#[doc = "RTC Control Register 4"]
2682pub type Rcr4 = crate::RegValueT<Rcr4_SPEC>;
2683
2684impl Rcr4 {
2685    #[doc = "Count Source Select"]
2686    #[inline(always)]
2687    pub fn rcksel(
2688        self,
2689    ) -> crate::common::RegisterField<
2690        0,
2691        0x1,
2692        1,
2693        0,
2694        rcr4::Rcksel,
2695        rcr4::Rcksel,
2696        Rcr4_SPEC,
2697        crate::common::RW,
2698    > {
2699        crate::common::RegisterField::<
2700            0,
2701            0x1,
2702            1,
2703            0,
2704            rcr4::Rcksel,
2705            rcr4::Rcksel,
2706            Rcr4_SPEC,
2707            crate::common::RW,
2708        >::from_register(self, 0)
2709    }
2710}
2711impl ::core::default::Default for Rcr4 {
2712    #[inline(always)]
2713    fn default() -> Rcr4 {
2714        <crate::RegValueT<Rcr4_SPEC> as RegisterValue<_>>::new(0)
2715    }
2716}
2717pub mod rcr4 {
2718
2719    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2720    pub struct Rcksel_SPEC;
2721    pub type Rcksel = crate::EnumBitfieldStruct<u8, Rcksel_SPEC>;
2722    impl Rcksel {
2723        #[doc = "Sub-clock oscillator is selected"]
2724        pub const _0: Self = Self::new(0);
2725
2726        #[doc = "LOCO is selected"]
2727        pub const _1: Self = Self::new(1);
2728    }
2729}
2730#[doc(hidden)]
2731#[derive(Copy, Clone, Eq, PartialEq)]
2732pub struct Rfrh_SPEC;
2733impl crate::sealed::RegSpec for Rfrh_SPEC {
2734    type DataType = u16;
2735}
2736
2737#[doc = "Frequency Register H"]
2738pub type Rfrh = crate::RegValueT<Rfrh_SPEC>;
2739
2740impl Rfrh {
2741    #[doc = "Write 0 before writing to the RFRL register after a cold start."]
2742    #[inline(always)]
2743    pub fn rfc16(self) -> crate::common::RegisterFieldBool<0, 1, 0, Rfrh_SPEC, crate::common::RW> {
2744        crate::common::RegisterFieldBool::<0, 1, 0, Rfrh_SPEC, crate::common::RW>::from_register(
2745            self, 0,
2746        )
2747    }
2748}
2749impl ::core::default::Default for Rfrh {
2750    #[inline(always)]
2751    fn default() -> Rfrh {
2752        <crate::RegValueT<Rfrh_SPEC> as RegisterValue<_>>::new(0)
2753    }
2754}
2755
2756#[doc(hidden)]
2757#[derive(Copy, Clone, Eq, PartialEq)]
2758pub struct Rfrl_SPEC;
2759impl crate::sealed::RegSpec for Rfrl_SPEC {
2760    type DataType = u16;
2761}
2762
2763#[doc = "Frequency Register L"]
2764pub type Rfrl = crate::RegValueT<Rfrl_SPEC>;
2765
2766impl Rfrl {
2767    #[doc = "Frequency Comparison Value"]
2768    #[inline(always)]
2769    pub fn rfc(
2770        self,
2771    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Rfrl_SPEC, crate::common::RW> {
2772        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Rfrl_SPEC,crate::common::RW>::from_register(self,0)
2773    }
2774}
2775impl ::core::default::Default for Rfrl {
2776    #[inline(always)]
2777    fn default() -> Rfrl {
2778        <crate::RegValueT<Rfrl_SPEC> as RegisterValue<_>>::new(0)
2779    }
2780}
2781
2782#[doc(hidden)]
2783#[derive(Copy, Clone, Eq, PartialEq)]
2784pub struct Radj_SPEC;
2785impl crate::sealed::RegSpec for Radj_SPEC {
2786    type DataType = u8;
2787}
2788
2789#[doc = "Time Error Adjustment Register"]
2790pub type Radj = crate::RegValueT<Radj_SPEC>;
2791
2792impl Radj {
2793    #[doc = "Adjustment Value"]
2794    #[inline(always)]
2795    pub fn adj(
2796        self,
2797    ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, Radj_SPEC, crate::common::RW> {
2798        crate::common::RegisterField::<0,0x3f,1,0,u8,u8,Radj_SPEC,crate::common::RW>::from_register(self,0)
2799    }
2800
2801    #[doc = "Plus-Minus"]
2802    #[inline(always)]
2803    pub fn pmadj(
2804        self,
2805    ) -> crate::common::RegisterField<
2806        6,
2807        0x3,
2808        1,
2809        0,
2810        radj::Pmadj,
2811        radj::Pmadj,
2812        Radj_SPEC,
2813        crate::common::RW,
2814    > {
2815        crate::common::RegisterField::<
2816            6,
2817            0x3,
2818            1,
2819            0,
2820            radj::Pmadj,
2821            radj::Pmadj,
2822            Radj_SPEC,
2823            crate::common::RW,
2824        >::from_register(self, 0)
2825    }
2826}
2827impl ::core::default::Default for Radj {
2828    #[inline(always)]
2829    fn default() -> Radj {
2830        <crate::RegValueT<Radj_SPEC> as RegisterValue<_>>::new(0)
2831    }
2832}
2833pub mod radj {
2834
2835    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2836    pub struct Pmadj_SPEC;
2837    pub type Pmadj = crate::EnumBitfieldStruct<u8, Pmadj_SPEC>;
2838    impl Pmadj {
2839        #[doc = "Do not perform adjustment."]
2840        pub const _00: Self = Self::new(0);
2841
2842        #[doc = "Adjustment is performed by the addition to the prescaler"]
2843        pub const _01: Self = Self::new(1);
2844
2845        #[doc = "Adjustment is performed by the subtraction from the prescaler"]
2846        pub const _10: Self = Self::new(2);
2847
2848        #[doc = "Setting prohibited."]
2849        pub const _11: Self = Self::new(3);
2850    }
2851}
2852#[doc(hidden)]
2853#[derive(Copy, Clone, Eq, PartialEq)]
2854pub struct Rtccr_SPEC;
2855impl crate::sealed::RegSpec for Rtccr_SPEC {
2856    type DataType = u8;
2857}
2858
2859#[doc = "Time Capture Control Register %s"]
2860pub type Rtccr = crate::RegValueT<Rtccr_SPEC>;
2861
2862impl Rtccr {
2863    #[doc = "Time Capture Control"]
2864    #[inline(always)]
2865    pub fn tcct(
2866        self,
2867    ) -> crate::common::RegisterField<
2868        0,
2869        0x3,
2870        1,
2871        0,
2872        rtccr::Tcct,
2873        rtccr::Tcct,
2874        Rtccr_SPEC,
2875        crate::common::RW,
2876    > {
2877        crate::common::RegisterField::<
2878            0,
2879            0x3,
2880            1,
2881            0,
2882            rtccr::Tcct,
2883            rtccr::Tcct,
2884            Rtccr_SPEC,
2885            crate::common::RW,
2886        >::from_register(self, 0)
2887    }
2888
2889    #[doc = "Time Capture Status"]
2890    #[inline(always)]
2891    pub fn tcst(
2892        self,
2893    ) -> crate::common::RegisterField<
2894        2,
2895        0x1,
2896        1,
2897        0,
2898        rtccr::Tcst,
2899        rtccr::Tcst,
2900        Rtccr_SPEC,
2901        crate::common::RW,
2902    > {
2903        crate::common::RegisterField::<
2904            2,
2905            0x1,
2906            1,
2907            0,
2908            rtccr::Tcst,
2909            rtccr::Tcst,
2910            Rtccr_SPEC,
2911            crate::common::RW,
2912        >::from_register(self, 0)
2913    }
2914
2915    #[doc = "Time Capture Noise Filter Control"]
2916    #[inline(always)]
2917    pub fn tcnf(
2918        self,
2919    ) -> crate::common::RegisterField<
2920        4,
2921        0x3,
2922        1,
2923        0,
2924        rtccr::Tcnf,
2925        rtccr::Tcnf,
2926        Rtccr_SPEC,
2927        crate::common::RW,
2928    > {
2929        crate::common::RegisterField::<
2930            4,
2931            0x3,
2932            1,
2933            0,
2934            rtccr::Tcnf,
2935            rtccr::Tcnf,
2936            Rtccr_SPEC,
2937            crate::common::RW,
2938        >::from_register(self, 0)
2939    }
2940
2941    #[doc = "Time Capture Event Input Pin Enable"]
2942    #[inline(always)]
2943    pub fn tcen(
2944        self,
2945    ) -> crate::common::RegisterField<
2946        7,
2947        0x1,
2948        1,
2949        0,
2950        rtccr::Tcen,
2951        rtccr::Tcen,
2952        Rtccr_SPEC,
2953        crate::common::RW,
2954    > {
2955        crate::common::RegisterField::<
2956            7,
2957            0x1,
2958            1,
2959            0,
2960            rtccr::Tcen,
2961            rtccr::Tcen,
2962            Rtccr_SPEC,
2963            crate::common::RW,
2964        >::from_register(self, 0)
2965    }
2966}
2967impl ::core::default::Default for Rtccr {
2968    #[inline(always)]
2969    fn default() -> Rtccr {
2970        <crate::RegValueT<Rtccr_SPEC> as RegisterValue<_>>::new(0)
2971    }
2972}
2973pub mod rtccr {
2974
2975    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2976    pub struct Tcct_SPEC;
2977    pub type Tcct = crate::EnumBitfieldStruct<u8, Tcct_SPEC>;
2978    impl Tcct {
2979        #[doc = "Do not detect events"]
2980        pub const _00: Self = Self::new(0);
2981
2982        #[doc = "Detect rising edge"]
2983        pub const _01: Self = Self::new(1);
2984
2985        #[doc = "Detect falling edge"]
2986        pub const _10: Self = Self::new(2);
2987
2988        #[doc = "Detect both edges"]
2989        pub const _11: Self = Self::new(3);
2990    }
2991    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2992    pub struct Tcst_SPEC;
2993    pub type Tcst = crate::EnumBitfieldStruct<u8, Tcst_SPEC>;
2994    impl Tcst {
2995        #[doc = "No event detected"]
2996        pub const _0: Self = Self::new(0);
2997
2998        #[doc = "Event detected"]
2999        pub const _1: Self = Self::new(1);
3000    }
3001    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3002    pub struct Tcnf_SPEC;
3003    pub type Tcnf = crate::EnumBitfieldStruct<u8, Tcnf_SPEC>;
3004    impl Tcnf {
3005        #[doc = "Turn noise filter off"]
3006        pub const _00: Self = Self::new(0);
3007
3008        #[doc = "Setting prohibited"]
3009        pub const _01: Self = Self::new(1);
3010
3011        #[doc = "Turn noise filter on (count source)"]
3012        pub const _10: Self = Self::new(2);
3013
3014        #[doc = "Turn noise filter on (count source by divided by 32)"]
3015        pub const _11: Self = Self::new(3);
3016    }
3017    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3018    pub struct Tcen_SPEC;
3019    pub type Tcen = crate::EnumBitfieldStruct<u8, Tcen_SPEC>;
3020    impl Tcen {
3021        #[doc = "Disable the RTCICn pin as the time capture event input pin"]
3022        pub const _0: Self = Self::new(0);
3023
3024        #[doc = "Enable the RTCICn pin as the time capture event input pin"]
3025        pub const _1: Self = Self::new(1);
3026    }
3027}
3028#[doc(hidden)]
3029#[derive(Copy, Clone, Eq, PartialEq)]
3030pub struct Bcnt0Cp_SPEC;
3031impl crate::sealed::RegSpec for Bcnt0Cp_SPEC {
3032    type DataType = u8;
3033}
3034
3035#[doc = "BCNT0 Capture Register %s"]
3036pub type Bcnt0Cp = crate::RegValueT<Bcnt0Cp_SPEC>;
3037
3038impl NoBitfieldReg<Bcnt0Cp_SPEC> for Bcnt0Cp {}
3039impl ::core::default::Default for Bcnt0Cp {
3040    #[inline(always)]
3041    fn default() -> Bcnt0Cp {
3042        <crate::RegValueT<Bcnt0Cp_SPEC> as RegisterValue<_>>::new(0)
3043    }
3044}
3045
3046#[doc(hidden)]
3047#[derive(Copy, Clone, Eq, PartialEq)]
3048pub struct Rseccp_SPEC;
3049impl crate::sealed::RegSpec for Rseccp_SPEC {
3050    type DataType = u8;
3051}
3052
3053#[doc = "Second Capture Register %s"]
3054pub type Rseccp = crate::RegValueT<Rseccp_SPEC>;
3055
3056impl Rseccp {
3057    #[doc = "1-Second Capture"]
3058    #[inline(always)]
3059    pub fn sec1(
3060        self,
3061    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rseccp_SPEC, crate::common::R> {
3062        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rseccp_SPEC,crate::common::R>::from_register(self,0)
3063    }
3064
3065    #[doc = "10-Second Capture"]
3066    #[inline(always)]
3067    pub fn sec10(
3068        self,
3069    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, Rseccp_SPEC, crate::common::R> {
3070        crate::common::RegisterField::<4,0x7,1,0,u8,u8,Rseccp_SPEC,crate::common::R>::from_register(self,0)
3071    }
3072}
3073impl ::core::default::Default for Rseccp {
3074    #[inline(always)]
3075    fn default() -> Rseccp {
3076        <crate::RegValueT<Rseccp_SPEC> as RegisterValue<_>>::new(0)
3077    }
3078}
3079
3080#[doc(hidden)]
3081#[derive(Copy, Clone, Eq, PartialEq)]
3082pub struct Bcnt1Cp_SPEC;
3083impl crate::sealed::RegSpec for Bcnt1Cp_SPEC {
3084    type DataType = u8;
3085}
3086
3087#[doc = "BCNT1 Capture Register %s"]
3088pub type Bcnt1Cp = crate::RegValueT<Bcnt1Cp_SPEC>;
3089
3090impl NoBitfieldReg<Bcnt1Cp_SPEC> for Bcnt1Cp {}
3091impl ::core::default::Default for Bcnt1Cp {
3092    #[inline(always)]
3093    fn default() -> Bcnt1Cp {
3094        <crate::RegValueT<Bcnt1Cp_SPEC> as RegisterValue<_>>::new(0)
3095    }
3096}
3097
3098#[doc(hidden)]
3099#[derive(Copy, Clone, Eq, PartialEq)]
3100pub struct Rmincp_SPEC;
3101impl crate::sealed::RegSpec for Rmincp_SPEC {
3102    type DataType = u8;
3103}
3104
3105#[doc = "Minute Capture Register %s"]
3106pub type Rmincp = crate::RegValueT<Rmincp_SPEC>;
3107
3108impl Rmincp {
3109    #[doc = "1-Minute Capture"]
3110    #[inline(always)]
3111    pub fn min1(
3112        self,
3113    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rmincp_SPEC, crate::common::R> {
3114        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rmincp_SPEC,crate::common::R>::from_register(self,0)
3115    }
3116
3117    #[doc = "10-Minute Capture"]
3118    #[inline(always)]
3119    pub fn min10(
3120        self,
3121    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, Rmincp_SPEC, crate::common::R> {
3122        crate::common::RegisterField::<4,0x7,1,0,u8,u8,Rmincp_SPEC,crate::common::R>::from_register(self,0)
3123    }
3124}
3125impl ::core::default::Default for Rmincp {
3126    #[inline(always)]
3127    fn default() -> Rmincp {
3128        <crate::RegValueT<Rmincp_SPEC> as RegisterValue<_>>::new(0)
3129    }
3130}
3131
3132#[doc(hidden)]
3133#[derive(Copy, Clone, Eq, PartialEq)]
3134pub struct Bcnt2Cp_SPEC;
3135impl crate::sealed::RegSpec for Bcnt2Cp_SPEC {
3136    type DataType = u8;
3137}
3138
3139#[doc = "BCNT2 Capture Register %s"]
3140pub type Bcnt2Cp = crate::RegValueT<Bcnt2Cp_SPEC>;
3141
3142impl NoBitfieldReg<Bcnt2Cp_SPEC> for Bcnt2Cp {}
3143impl ::core::default::Default for Bcnt2Cp {
3144    #[inline(always)]
3145    fn default() -> Bcnt2Cp {
3146        <crate::RegValueT<Bcnt2Cp_SPEC> as RegisterValue<_>>::new(0)
3147    }
3148}
3149
3150#[doc(hidden)]
3151#[derive(Copy, Clone, Eq, PartialEq)]
3152pub struct Rhrcp_SPEC;
3153impl crate::sealed::RegSpec for Rhrcp_SPEC {
3154    type DataType = u8;
3155}
3156
3157#[doc = "Hour Capture Register %s"]
3158pub type Rhrcp = crate::RegValueT<Rhrcp_SPEC>;
3159
3160impl Rhrcp {
3161    #[doc = "1-Hour Capture"]
3162    #[inline(always)]
3163    pub fn hr1(
3164        self,
3165    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rhrcp_SPEC, crate::common::R> {
3166        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rhrcp_SPEC,crate::common::R>::from_register(self,0)
3167    }
3168
3169    #[doc = "10-Hour Capture"]
3170    #[inline(always)]
3171    pub fn hr10(
3172        self,
3173    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Rhrcp_SPEC, crate::common::R> {
3174        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Rhrcp_SPEC,crate::common::R>::from_register(self,0)
3175    }
3176
3177    #[doc = "PM"]
3178    #[inline(always)]
3179    pub fn pm(
3180        self,
3181    ) -> crate::common::RegisterField<
3182        6,
3183        0x1,
3184        1,
3185        0,
3186        rhrcp::Pm,
3187        rhrcp::Pm,
3188        Rhrcp_SPEC,
3189        crate::common::R,
3190    > {
3191        crate::common::RegisterField::<
3192            6,
3193            0x1,
3194            1,
3195            0,
3196            rhrcp::Pm,
3197            rhrcp::Pm,
3198            Rhrcp_SPEC,
3199            crate::common::R,
3200        >::from_register(self, 0)
3201    }
3202}
3203impl ::core::default::Default for Rhrcp {
3204    #[inline(always)]
3205    fn default() -> Rhrcp {
3206        <crate::RegValueT<Rhrcp_SPEC> as RegisterValue<_>>::new(0)
3207    }
3208}
3209pub mod rhrcp {
3210
3211    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3212    pub struct Pm_SPEC;
3213    pub type Pm = crate::EnumBitfieldStruct<u8, Pm_SPEC>;
3214    impl Pm {
3215        #[doc = "AM"]
3216        pub const _0: Self = Self::new(0);
3217
3218        #[doc = "PM"]
3219        pub const _1: Self = Self::new(1);
3220    }
3221}
3222#[doc(hidden)]
3223#[derive(Copy, Clone, Eq, PartialEq)]
3224pub struct Bcnt3Cp_SPEC;
3225impl crate::sealed::RegSpec for Bcnt3Cp_SPEC {
3226    type DataType = u8;
3227}
3228
3229#[doc = "BCNT3 Capture Register %s"]
3230pub type Bcnt3Cp = crate::RegValueT<Bcnt3Cp_SPEC>;
3231
3232impl NoBitfieldReg<Bcnt3Cp_SPEC> for Bcnt3Cp {}
3233impl ::core::default::Default for Bcnt3Cp {
3234    #[inline(always)]
3235    fn default() -> Bcnt3Cp {
3236        <crate::RegValueT<Bcnt3Cp_SPEC> as RegisterValue<_>>::new(0)
3237    }
3238}
3239
3240#[doc(hidden)]
3241#[derive(Copy, Clone, Eq, PartialEq)]
3242pub struct Rdaycp_SPEC;
3243impl crate::sealed::RegSpec for Rdaycp_SPEC {
3244    type DataType = u8;
3245}
3246
3247#[doc = "Date Capture Register %s"]
3248pub type Rdaycp = crate::RegValueT<Rdaycp_SPEC>;
3249
3250impl Rdaycp {
3251    #[doc = "1-Day Capture"]
3252    #[inline(always)]
3253    pub fn date1(
3254        self,
3255    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rdaycp_SPEC, crate::common::R> {
3256        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rdaycp_SPEC,crate::common::R>::from_register(self,0)
3257    }
3258
3259    #[doc = "10-Day Capture"]
3260    #[inline(always)]
3261    pub fn date10(
3262        self,
3263    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Rdaycp_SPEC, crate::common::R> {
3264        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Rdaycp_SPEC,crate::common::R>::from_register(self,0)
3265    }
3266}
3267impl ::core::default::Default for Rdaycp {
3268    #[inline(always)]
3269    fn default() -> Rdaycp {
3270        <crate::RegValueT<Rdaycp_SPEC> as RegisterValue<_>>::new(0)
3271    }
3272}
3273
3274#[doc(hidden)]
3275#[derive(Copy, Clone, Eq, PartialEq)]
3276pub struct Rmoncp_SPEC;
3277impl crate::sealed::RegSpec for Rmoncp_SPEC {
3278    type DataType = u8;
3279}
3280
3281#[doc = "Month Capture Register %s"]
3282pub type Rmoncp = crate::RegValueT<Rmoncp_SPEC>;
3283
3284impl Rmoncp {
3285    #[doc = "1-Month Capture"]
3286    #[inline(always)]
3287    pub fn mon1(
3288        self,
3289    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rmoncp_SPEC, crate::common::R> {
3290        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rmoncp_SPEC,crate::common::R>::from_register(self,0)
3291    }
3292
3293    #[doc = "10-Month Capture"]
3294    #[inline(always)]
3295    pub fn mon10(self) -> crate::common::RegisterFieldBool<4, 1, 0, Rmoncp_SPEC, crate::common::R> {
3296        crate::common::RegisterFieldBool::<4, 1, 0, Rmoncp_SPEC, crate::common::R>::from_register(
3297            self, 0,
3298        )
3299    }
3300}
3301impl ::core::default::Default for Rmoncp {
3302    #[inline(always)]
3303    fn default() -> Rmoncp {
3304        <crate::RegValueT<Rmoncp_SPEC> as RegisterValue<_>>::new(0)
3305    }
3306}