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