Skip to main content

ra4m2_pac/
rtc.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.30.00, with svd2pac 0.6.1 on Sun, 15 Mar 2026 07:07:12 +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}
2223#[doc(hidden)]
2224#[derive(Copy, Clone, Eq, PartialEq)]
2225pub struct Rcr2_SPEC;
2226impl crate::sealed::RegSpec for Rcr2_SPEC {
2227    type DataType = u8;
2228}
2229
2230#[doc = "RTC Control Register 2 (in Calendar Count Mode)"]
2231pub type Rcr2 = crate::RegValueT<Rcr2_SPEC>;
2232
2233impl Rcr2 {
2234    #[doc = "Start"]
2235    #[inline(always)]
2236    pub fn start(
2237        self,
2238    ) -> crate::common::RegisterField<
2239        0,
2240        0x1,
2241        1,
2242        0,
2243        rcr2::Start,
2244        rcr2::Start,
2245        Rcr2_SPEC,
2246        crate::common::RW,
2247    > {
2248        crate::common::RegisterField::<
2249            0,
2250            0x1,
2251            1,
2252            0,
2253            rcr2::Start,
2254            rcr2::Start,
2255            Rcr2_SPEC,
2256            crate::common::RW,
2257        >::from_register(self, 0)
2258    }
2259
2260    #[doc = "RTC Software Reset"]
2261    #[inline(always)]
2262    pub fn reset(
2263        self,
2264    ) -> crate::common::RegisterField<
2265        1,
2266        0x1,
2267        1,
2268        0,
2269        rcr2::Reset,
2270        rcr2::Reset,
2271        Rcr2_SPEC,
2272        crate::common::RW,
2273    > {
2274        crate::common::RegisterField::<
2275            1,
2276            0x1,
2277            1,
2278            0,
2279            rcr2::Reset,
2280            rcr2::Reset,
2281            Rcr2_SPEC,
2282            crate::common::RW,
2283        >::from_register(self, 0)
2284    }
2285
2286    #[doc = "30-Second Adjustment"]
2287    #[inline(always)]
2288    pub fn adj30(
2289        self,
2290    ) -> crate::common::RegisterField<
2291        2,
2292        0x1,
2293        1,
2294        0,
2295        rcr2::Adj30,
2296        rcr2::Adj30,
2297        Rcr2_SPEC,
2298        crate::common::RW,
2299    > {
2300        crate::common::RegisterField::<
2301            2,
2302            0x1,
2303            1,
2304            0,
2305            rcr2::Adj30,
2306            rcr2::Adj30,
2307            Rcr2_SPEC,
2308            crate::common::RW,
2309        >::from_register(self, 0)
2310    }
2311
2312    #[doc = "RTCOUT Output Enable"]
2313    #[inline(always)]
2314    pub fn rtcoe(
2315        self,
2316    ) -> crate::common::RegisterField<
2317        3,
2318        0x1,
2319        1,
2320        0,
2321        rcr2::Rtcoe,
2322        rcr2::Rtcoe,
2323        Rcr2_SPEC,
2324        crate::common::RW,
2325    > {
2326        crate::common::RegisterField::<
2327            3,
2328            0x1,
2329            1,
2330            0,
2331            rcr2::Rtcoe,
2332            rcr2::Rtcoe,
2333            Rcr2_SPEC,
2334            crate::common::RW,
2335        >::from_register(self, 0)
2336    }
2337
2338    #[doc = "Automatic Adjustment Enable"]
2339    #[inline(always)]
2340    pub fn aadje(
2341        self,
2342    ) -> crate::common::RegisterField<
2343        4,
2344        0x1,
2345        1,
2346        0,
2347        rcr2::Aadje,
2348        rcr2::Aadje,
2349        Rcr2_SPEC,
2350        crate::common::RW,
2351    > {
2352        crate::common::RegisterField::<
2353            4,
2354            0x1,
2355            1,
2356            0,
2357            rcr2::Aadje,
2358            rcr2::Aadje,
2359            Rcr2_SPEC,
2360            crate::common::RW,
2361        >::from_register(self, 0)
2362    }
2363
2364    #[doc = "Automatic Adjustment Period Select"]
2365    #[inline(always)]
2366    pub fn aadjp(
2367        self,
2368    ) -> crate::common::RegisterField<
2369        5,
2370        0x1,
2371        1,
2372        0,
2373        rcr2::Aadjp,
2374        rcr2::Aadjp,
2375        Rcr2_SPEC,
2376        crate::common::RW,
2377    > {
2378        crate::common::RegisterField::<
2379            5,
2380            0x1,
2381            1,
2382            0,
2383            rcr2::Aadjp,
2384            rcr2::Aadjp,
2385            Rcr2_SPEC,
2386            crate::common::RW,
2387        >::from_register(self, 0)
2388    }
2389
2390    #[doc = "Hours Mode"]
2391    #[inline(always)]
2392    pub fn hr24(
2393        self,
2394    ) -> crate::common::RegisterField<
2395        6,
2396        0x1,
2397        1,
2398        0,
2399        rcr2::Hr24,
2400        rcr2::Hr24,
2401        Rcr2_SPEC,
2402        crate::common::RW,
2403    > {
2404        crate::common::RegisterField::<
2405            6,
2406            0x1,
2407            1,
2408            0,
2409            rcr2::Hr24,
2410            rcr2::Hr24,
2411            Rcr2_SPEC,
2412            crate::common::RW,
2413        >::from_register(self, 0)
2414    }
2415
2416    #[doc = "Count Mode Select"]
2417    #[inline(always)]
2418    pub fn cntmd(
2419        self,
2420    ) -> crate::common::RegisterField<
2421        7,
2422        0x1,
2423        1,
2424        0,
2425        rcr2::Cntmd,
2426        rcr2::Cntmd,
2427        Rcr2_SPEC,
2428        crate::common::RW,
2429    > {
2430        crate::common::RegisterField::<
2431            7,
2432            0x1,
2433            1,
2434            0,
2435            rcr2::Cntmd,
2436            rcr2::Cntmd,
2437            Rcr2_SPEC,
2438            crate::common::RW,
2439        >::from_register(self, 0)
2440    }
2441}
2442impl ::core::default::Default for Rcr2 {
2443    #[inline(always)]
2444    fn default() -> Rcr2 {
2445        <crate::RegValueT<Rcr2_SPEC> as RegisterValue<_>>::new(0)
2446    }
2447}
2448pub mod rcr2 {
2449
2450    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2451    pub struct Start_SPEC;
2452    pub type Start = crate::EnumBitfieldStruct<u8, Start_SPEC>;
2453    impl Start {
2454        #[doc = "Stop prescaler and time counter"]
2455        pub const _0: Self = Self::new(0);
2456
2457        #[doc = "Operate prescaler and time counter normally"]
2458        pub const _1: Self = Self::new(1);
2459    }
2460    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2461    pub struct Reset_SPEC;
2462    pub type Reset = crate::EnumBitfieldStruct<u8, Reset_SPEC>;
2463    impl Reset {
2464        #[doc = "In writing: Invalid (writing 0 has no effect). In reading: Normal time operation in progress, or an RTC software reset has completed."]
2465        pub const _0: Self = Self::new(0);
2466
2467        #[doc = "In writing: Initialize the prescaler and target registers for RTC software reset. In reading: RTC software reset in progress."]
2468        pub const _1: Self = Self::new(1);
2469    }
2470    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2471    pub struct Adj30_SPEC;
2472    pub type Adj30 = crate::EnumBitfieldStruct<u8, Adj30_SPEC>;
2473    impl Adj30 {
2474        #[doc = "In writing: Invalid (writing 0 has no effect). In reading: Normal time operation in progress, or 30-second adjustment has completed."]
2475        pub const _0: Self = Self::new(0);
2476
2477        #[doc = "In writing: Execute 30-second adjustment. In reading: 30-second adjustment in progress."]
2478        pub const _1: Self = Self::new(1);
2479    }
2480    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2481    pub struct Rtcoe_SPEC;
2482    pub type Rtcoe = crate::EnumBitfieldStruct<u8, Rtcoe_SPEC>;
2483    impl Rtcoe {
2484        #[doc = "Disable RTCOUT output"]
2485        pub const _0: Self = Self::new(0);
2486
2487        #[doc = "Enable RTCOUT output"]
2488        pub const _1: Self = Self::new(1);
2489    }
2490    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2491    pub struct Aadje_SPEC;
2492    pub type Aadje = crate::EnumBitfieldStruct<u8, Aadje_SPEC>;
2493    impl Aadje {
2494        #[doc = "Disable automatic adjustment"]
2495        pub const _0: Self = Self::new(0);
2496
2497        #[doc = "Enable automatic adjustment"]
2498        pub const _1: Self = Self::new(1);
2499    }
2500    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2501    pub struct Aadjp_SPEC;
2502    pub type Aadjp = crate::EnumBitfieldStruct<u8, Aadjp_SPEC>;
2503    impl Aadjp {
2504        #[doc = "The RADJ.ADJ\\[5:0\\] setting from the count value of the prescaler every minute."]
2505        pub const _0: Self = Self::new(0);
2506
2507        #[doc = "The RADJ.ADJ\\[5:0\\] setting value is adjusted from the coun tvalue of the prescaler every 10 seconds."]
2508        pub const _1: Self = Self::new(1);
2509    }
2510    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2511    pub struct Hr24_SPEC;
2512    pub type Hr24 = crate::EnumBitfieldStruct<u8, Hr24_SPEC>;
2513    impl Hr24 {
2514        #[doc = "Operate RTC in 12-hour mode"]
2515        pub const _0: Self = Self::new(0);
2516
2517        #[doc = "Operate RTC in 24-hour mode"]
2518        pub const _1: Self = Self::new(1);
2519    }
2520    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2521    pub struct Cntmd_SPEC;
2522    pub type Cntmd = crate::EnumBitfieldStruct<u8, Cntmd_SPEC>;
2523    impl Cntmd {
2524        #[doc = "Calendar count mode"]
2525        pub const _0: Self = Self::new(0);
2526
2527        #[doc = "Binary count mode"]
2528        pub const _1: Self = Self::new(1);
2529    }
2530}
2531#[doc(hidden)]
2532#[derive(Copy, Clone, Eq, PartialEq)]
2533pub struct Rcr2Bcnt_SPEC;
2534impl crate::sealed::RegSpec for Rcr2Bcnt_SPEC {
2535    type DataType = u8;
2536}
2537
2538#[doc = "RTC Control Register 2 (in Binary Count Mode)"]
2539pub type Rcr2Bcnt = crate::RegValueT<Rcr2Bcnt_SPEC>;
2540
2541impl Rcr2Bcnt {
2542    #[doc = "Start"]
2543    #[inline(always)]
2544    pub fn start(
2545        self,
2546    ) -> crate::common::RegisterField<
2547        0,
2548        0x1,
2549        1,
2550        0,
2551        rcr2_bcnt::Start,
2552        rcr2_bcnt::Start,
2553        Rcr2Bcnt_SPEC,
2554        crate::common::RW,
2555    > {
2556        crate::common::RegisterField::<
2557            0,
2558            0x1,
2559            1,
2560            0,
2561            rcr2_bcnt::Start,
2562            rcr2_bcnt::Start,
2563            Rcr2Bcnt_SPEC,
2564            crate::common::RW,
2565        >::from_register(self, 0)
2566    }
2567
2568    #[doc = "RTC Software Reset"]
2569    #[inline(always)]
2570    pub fn reset(
2571        self,
2572    ) -> crate::common::RegisterField<
2573        1,
2574        0x1,
2575        1,
2576        0,
2577        rcr2_bcnt::Reset,
2578        rcr2_bcnt::Reset,
2579        Rcr2Bcnt_SPEC,
2580        crate::common::RW,
2581    > {
2582        crate::common::RegisterField::<
2583            1,
2584            0x1,
2585            1,
2586            0,
2587            rcr2_bcnt::Reset,
2588            rcr2_bcnt::Reset,
2589            Rcr2Bcnt_SPEC,
2590            crate::common::RW,
2591        >::from_register(self, 0)
2592    }
2593
2594    #[doc = "RTCOUT Output Enable"]
2595    #[inline(always)]
2596    pub fn rtcoe(
2597        self,
2598    ) -> crate::common::RegisterField<
2599        3,
2600        0x1,
2601        1,
2602        0,
2603        rcr2_bcnt::Rtcoe,
2604        rcr2_bcnt::Rtcoe,
2605        Rcr2Bcnt_SPEC,
2606        crate::common::RW,
2607    > {
2608        crate::common::RegisterField::<
2609            3,
2610            0x1,
2611            1,
2612            0,
2613            rcr2_bcnt::Rtcoe,
2614            rcr2_bcnt::Rtcoe,
2615            Rcr2Bcnt_SPEC,
2616            crate::common::RW,
2617        >::from_register(self, 0)
2618    }
2619
2620    #[doc = "Automatic Adjustment Enable"]
2621    #[inline(always)]
2622    pub fn aadje(
2623        self,
2624    ) -> crate::common::RegisterField<
2625        4,
2626        0x1,
2627        1,
2628        0,
2629        rcr2_bcnt::Aadje,
2630        rcr2_bcnt::Aadje,
2631        Rcr2Bcnt_SPEC,
2632        crate::common::RW,
2633    > {
2634        crate::common::RegisterField::<
2635            4,
2636            0x1,
2637            1,
2638            0,
2639            rcr2_bcnt::Aadje,
2640            rcr2_bcnt::Aadje,
2641            Rcr2Bcnt_SPEC,
2642            crate::common::RW,
2643        >::from_register(self, 0)
2644    }
2645
2646    #[doc = "Automatic Adjustment Period Select"]
2647    #[inline(always)]
2648    pub fn aadjp(
2649        self,
2650    ) -> crate::common::RegisterField<
2651        5,
2652        0x1,
2653        1,
2654        0,
2655        rcr2_bcnt::Aadjp,
2656        rcr2_bcnt::Aadjp,
2657        Rcr2Bcnt_SPEC,
2658        crate::common::RW,
2659    > {
2660        crate::common::RegisterField::<
2661            5,
2662            0x1,
2663            1,
2664            0,
2665            rcr2_bcnt::Aadjp,
2666            rcr2_bcnt::Aadjp,
2667            Rcr2Bcnt_SPEC,
2668            crate::common::RW,
2669        >::from_register(self, 0)
2670    }
2671
2672    #[doc = "Count Mode Select"]
2673    #[inline(always)]
2674    pub fn cntmd(
2675        self,
2676    ) -> crate::common::RegisterField<
2677        7,
2678        0x1,
2679        1,
2680        0,
2681        rcr2_bcnt::Cntmd,
2682        rcr2_bcnt::Cntmd,
2683        Rcr2Bcnt_SPEC,
2684        crate::common::RW,
2685    > {
2686        crate::common::RegisterField::<
2687            7,
2688            0x1,
2689            1,
2690            0,
2691            rcr2_bcnt::Cntmd,
2692            rcr2_bcnt::Cntmd,
2693            Rcr2Bcnt_SPEC,
2694            crate::common::RW,
2695        >::from_register(self, 0)
2696    }
2697}
2698impl ::core::default::Default for Rcr2Bcnt {
2699    #[inline(always)]
2700    fn default() -> Rcr2Bcnt {
2701        <crate::RegValueT<Rcr2Bcnt_SPEC> as RegisterValue<_>>::new(0)
2702    }
2703}
2704pub mod rcr2_bcnt {
2705
2706    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2707    pub struct Start_SPEC;
2708    pub type Start = crate::EnumBitfieldStruct<u8, Start_SPEC>;
2709    impl Start {
2710        #[doc = "Stop the 32-bit binary counter, 64-Hz counter, and prescaler"]
2711        pub const _0: Self = Self::new(0);
2712
2713        #[doc = "Operate the 32-bit binary counter, 64-Hz counter, and prescaler normally"]
2714        pub const _1: Self = Self::new(1);
2715    }
2716    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2717    pub struct Reset_SPEC;
2718    pub type Reset = crate::EnumBitfieldStruct<u8, Reset_SPEC>;
2719    impl Reset {
2720        #[doc = "In writing: Invalid (writing 0 has no effect). In reading: Normal time operation in progress, or an RTC software reset has completed."]
2721        pub const _0: Self = Self::new(0);
2722
2723        #[doc = "In writing: Initialize the prescaler and target registers for RTC software reset. In reading: RTC software reset in progress."]
2724        pub const _1: Self = Self::new(1);
2725    }
2726    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2727    pub struct Rtcoe_SPEC;
2728    pub type Rtcoe = crate::EnumBitfieldStruct<u8, Rtcoe_SPEC>;
2729    impl Rtcoe {
2730        #[doc = "Disable RTCOUT output"]
2731        pub const _0: Self = Self::new(0);
2732
2733        #[doc = "Enable RTCOUT output"]
2734        pub const _1: Self = Self::new(1);
2735    }
2736    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2737    pub struct Aadje_SPEC;
2738    pub type Aadje = crate::EnumBitfieldStruct<u8, Aadje_SPEC>;
2739    impl Aadje {
2740        #[doc = "Disable automatic adjustment"]
2741        pub const _0: Self = Self::new(0);
2742
2743        #[doc = "Enable automatic adjustment"]
2744        pub const _1: Self = Self::new(1);
2745    }
2746    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2747    pub struct Aadjp_SPEC;
2748    pub type Aadjp = crate::EnumBitfieldStruct<u8, Aadjp_SPEC>;
2749    impl Aadjp {
2750        #[doc = "Add or subtract RADJ.ADJ \\[5:0\\] bits from prescaler count value every 32 seconds"]
2751        pub const _0: Self = Self::new(0);
2752
2753        #[doc = "Add or subtract RADJ.ADJ \\[5:0\\] bits from prescaler countvalue every 8 seconds."]
2754        pub const _1: Self = Self::new(1);
2755    }
2756    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2757    pub struct Cntmd_SPEC;
2758    pub type Cntmd = crate::EnumBitfieldStruct<u8, Cntmd_SPEC>;
2759    impl Cntmd {
2760        #[doc = "Calendar count mode"]
2761        pub const _0: Self = Self::new(0);
2762
2763        #[doc = "Binary count mode"]
2764        pub const _1: Self = Self::new(1);
2765    }
2766}
2767#[doc(hidden)]
2768#[derive(Copy, Clone, Eq, PartialEq)]
2769pub struct Rcr4_SPEC;
2770impl crate::sealed::RegSpec for Rcr4_SPEC {
2771    type DataType = u8;
2772}
2773
2774#[doc = "RTC Control Register 4"]
2775pub type Rcr4 = crate::RegValueT<Rcr4_SPEC>;
2776
2777impl Rcr4 {
2778    #[doc = "Count Source Select"]
2779    #[inline(always)]
2780    pub fn rcksel(
2781        self,
2782    ) -> crate::common::RegisterField<
2783        0,
2784        0x1,
2785        1,
2786        0,
2787        rcr4::Rcksel,
2788        rcr4::Rcksel,
2789        Rcr4_SPEC,
2790        crate::common::RW,
2791    > {
2792        crate::common::RegisterField::<
2793            0,
2794            0x1,
2795            1,
2796            0,
2797            rcr4::Rcksel,
2798            rcr4::Rcksel,
2799            Rcr4_SPEC,
2800            crate::common::RW,
2801        >::from_register(self, 0)
2802    }
2803}
2804impl ::core::default::Default for Rcr4 {
2805    #[inline(always)]
2806    fn default() -> Rcr4 {
2807        <crate::RegValueT<Rcr4_SPEC> as RegisterValue<_>>::new(0)
2808    }
2809}
2810pub mod rcr4 {
2811
2812    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2813    pub struct Rcksel_SPEC;
2814    pub type Rcksel = crate::EnumBitfieldStruct<u8, Rcksel_SPEC>;
2815    impl Rcksel {
2816        #[doc = "Sub-clock oscillator is selected"]
2817        pub const _0: Self = Self::new(0);
2818
2819        #[doc = "LOCO is selected"]
2820        pub const _1: Self = Self::new(1);
2821    }
2822}
2823#[doc(hidden)]
2824#[derive(Copy, Clone, Eq, PartialEq)]
2825pub struct Rfrh_SPEC;
2826impl crate::sealed::RegSpec for Rfrh_SPEC {
2827    type DataType = u16;
2828}
2829
2830#[doc = "Frequency Register H"]
2831pub type Rfrh = crate::RegValueT<Rfrh_SPEC>;
2832
2833impl Rfrh {
2834    #[doc = "Write 0 before writing to the RFRL register after a cold start."]
2835    #[inline(always)]
2836    pub fn rfc16(self) -> crate::common::RegisterFieldBool<0, 1, 0, Rfrh_SPEC, crate::common::RW> {
2837        crate::common::RegisterFieldBool::<0, 1, 0, Rfrh_SPEC, crate::common::RW>::from_register(
2838            self, 0,
2839        )
2840    }
2841}
2842impl ::core::default::Default for Rfrh {
2843    #[inline(always)]
2844    fn default() -> Rfrh {
2845        <crate::RegValueT<Rfrh_SPEC> as RegisterValue<_>>::new(0)
2846    }
2847}
2848
2849#[doc(hidden)]
2850#[derive(Copy, Clone, Eq, PartialEq)]
2851pub struct Rfrl_SPEC;
2852impl crate::sealed::RegSpec for Rfrl_SPEC {
2853    type DataType = u16;
2854}
2855
2856#[doc = "Frequency Register L"]
2857pub type Rfrl = crate::RegValueT<Rfrl_SPEC>;
2858
2859impl Rfrl {
2860    #[doc = "Frequency Comparison Value"]
2861    #[inline(always)]
2862    pub fn rfc(
2863        self,
2864    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Rfrl_SPEC, crate::common::RW> {
2865        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Rfrl_SPEC,crate::common::RW>::from_register(self,0)
2866    }
2867}
2868impl ::core::default::Default for Rfrl {
2869    #[inline(always)]
2870    fn default() -> Rfrl {
2871        <crate::RegValueT<Rfrl_SPEC> as RegisterValue<_>>::new(0)
2872    }
2873}
2874
2875#[doc(hidden)]
2876#[derive(Copy, Clone, Eq, PartialEq)]
2877pub struct Radj_SPEC;
2878impl crate::sealed::RegSpec for Radj_SPEC {
2879    type DataType = u8;
2880}
2881
2882#[doc = "Time Error Adjustment Register"]
2883pub type Radj = crate::RegValueT<Radj_SPEC>;
2884
2885impl Radj {
2886    #[doc = "Adjustment Value"]
2887    #[inline(always)]
2888    pub fn adj(
2889        self,
2890    ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, Radj_SPEC, crate::common::RW> {
2891        crate::common::RegisterField::<0,0x3f,1,0,u8,u8,Radj_SPEC,crate::common::RW>::from_register(self,0)
2892    }
2893
2894    #[doc = "Plus-Minus"]
2895    #[inline(always)]
2896    pub fn pmadj(
2897        self,
2898    ) -> crate::common::RegisterField<
2899        6,
2900        0x3,
2901        1,
2902        0,
2903        radj::Pmadj,
2904        radj::Pmadj,
2905        Radj_SPEC,
2906        crate::common::RW,
2907    > {
2908        crate::common::RegisterField::<
2909            6,
2910            0x3,
2911            1,
2912            0,
2913            radj::Pmadj,
2914            radj::Pmadj,
2915            Radj_SPEC,
2916            crate::common::RW,
2917        >::from_register(self, 0)
2918    }
2919}
2920impl ::core::default::Default for Radj {
2921    #[inline(always)]
2922    fn default() -> Radj {
2923        <crate::RegValueT<Radj_SPEC> as RegisterValue<_>>::new(0)
2924    }
2925}
2926pub mod radj {
2927
2928    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2929    pub struct Pmadj_SPEC;
2930    pub type Pmadj = crate::EnumBitfieldStruct<u8, Pmadj_SPEC>;
2931    impl Pmadj {
2932        #[doc = "Do not perform adjustment."]
2933        pub const _00: Self = Self::new(0);
2934
2935        #[doc = "Adjustment is performed by the addition to the prescaler"]
2936        pub const _01: Self = Self::new(1);
2937
2938        #[doc = "Adjustment is performed by the subtraction from the prescaler"]
2939        pub const _10: Self = Self::new(2);
2940
2941        #[doc = "Setting prohibited."]
2942        pub const _11: Self = Self::new(3);
2943    }
2944}
2945#[doc(hidden)]
2946#[derive(Copy, Clone, Eq, PartialEq)]
2947pub struct Rtccr_SPEC;
2948impl crate::sealed::RegSpec for Rtccr_SPEC {
2949    type DataType = u8;
2950}
2951
2952#[doc = "Time Capture Control Register %s"]
2953pub type Rtccr = crate::RegValueT<Rtccr_SPEC>;
2954
2955impl Rtccr {
2956    #[doc = "Time Capture Control"]
2957    #[inline(always)]
2958    pub fn tcct(
2959        self,
2960    ) -> crate::common::RegisterField<
2961        0,
2962        0x3,
2963        1,
2964        0,
2965        rtccr::Tcct,
2966        rtccr::Tcct,
2967        Rtccr_SPEC,
2968        crate::common::RW,
2969    > {
2970        crate::common::RegisterField::<
2971            0,
2972            0x3,
2973            1,
2974            0,
2975            rtccr::Tcct,
2976            rtccr::Tcct,
2977            Rtccr_SPEC,
2978            crate::common::RW,
2979        >::from_register(self, 0)
2980    }
2981
2982    #[doc = "Time Capture Status"]
2983    #[inline(always)]
2984    pub fn tcst(
2985        self,
2986    ) -> crate::common::RegisterField<
2987        2,
2988        0x1,
2989        1,
2990        0,
2991        rtccr::Tcst,
2992        rtccr::Tcst,
2993        Rtccr_SPEC,
2994        crate::common::RW,
2995    > {
2996        crate::common::RegisterField::<
2997            2,
2998            0x1,
2999            1,
3000            0,
3001            rtccr::Tcst,
3002            rtccr::Tcst,
3003            Rtccr_SPEC,
3004            crate::common::RW,
3005        >::from_register(self, 0)
3006    }
3007
3008    #[doc = "Time Capture Noise Filter Control"]
3009    #[inline(always)]
3010    pub fn tcnf(
3011        self,
3012    ) -> crate::common::RegisterField<
3013        4,
3014        0x3,
3015        1,
3016        0,
3017        rtccr::Tcnf,
3018        rtccr::Tcnf,
3019        Rtccr_SPEC,
3020        crate::common::RW,
3021    > {
3022        crate::common::RegisterField::<
3023            4,
3024            0x3,
3025            1,
3026            0,
3027            rtccr::Tcnf,
3028            rtccr::Tcnf,
3029            Rtccr_SPEC,
3030            crate::common::RW,
3031        >::from_register(self, 0)
3032    }
3033
3034    #[doc = "Time Capture Event Input Pin Enable"]
3035    #[inline(always)]
3036    pub fn tcen(
3037        self,
3038    ) -> crate::common::RegisterField<
3039        7,
3040        0x1,
3041        1,
3042        0,
3043        rtccr::Tcen,
3044        rtccr::Tcen,
3045        Rtccr_SPEC,
3046        crate::common::RW,
3047    > {
3048        crate::common::RegisterField::<
3049            7,
3050            0x1,
3051            1,
3052            0,
3053            rtccr::Tcen,
3054            rtccr::Tcen,
3055            Rtccr_SPEC,
3056            crate::common::RW,
3057        >::from_register(self, 0)
3058    }
3059}
3060impl ::core::default::Default for Rtccr {
3061    #[inline(always)]
3062    fn default() -> Rtccr {
3063        <crate::RegValueT<Rtccr_SPEC> as RegisterValue<_>>::new(0)
3064    }
3065}
3066pub mod rtccr {
3067
3068    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3069    pub struct Tcct_SPEC;
3070    pub type Tcct = crate::EnumBitfieldStruct<u8, Tcct_SPEC>;
3071    impl Tcct {
3072        #[doc = "Do not detect events"]
3073        pub const _00: Self = Self::new(0);
3074
3075        #[doc = "Detect rising edge"]
3076        pub const _01: Self = Self::new(1);
3077
3078        #[doc = "Detect falling edge"]
3079        pub const _10: Self = Self::new(2);
3080
3081        #[doc = "Detect both edges"]
3082        pub const _11: Self = Self::new(3);
3083    }
3084    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3085    pub struct Tcst_SPEC;
3086    pub type Tcst = crate::EnumBitfieldStruct<u8, Tcst_SPEC>;
3087    impl Tcst {
3088        #[doc = "No event detected"]
3089        pub const _0: Self = Self::new(0);
3090
3091        #[doc = "Event detected"]
3092        pub const _1: Self = Self::new(1);
3093    }
3094    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3095    pub struct Tcnf_SPEC;
3096    pub type Tcnf = crate::EnumBitfieldStruct<u8, Tcnf_SPEC>;
3097    impl Tcnf {
3098        #[doc = "Turn noise filter off"]
3099        pub const _00: Self = Self::new(0);
3100
3101        #[doc = "Setting prohibited"]
3102        pub const _01: Self = Self::new(1);
3103
3104        #[doc = "Turn noise filter on (count source)"]
3105        pub const _10: Self = Self::new(2);
3106
3107        #[doc = "Turn noise filter on (count source by divided by 32)"]
3108        pub const _11: Self = Self::new(3);
3109    }
3110    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3111    pub struct Tcen_SPEC;
3112    pub type Tcen = crate::EnumBitfieldStruct<u8, Tcen_SPEC>;
3113    impl Tcen {
3114        #[doc = "Disable the RTCICn pin as the time capture event input pin"]
3115        pub const _0: Self = Self::new(0);
3116
3117        #[doc = "Enable the RTCICn pin as the time capture event input pin"]
3118        pub const _1: Self = Self::new(1);
3119    }
3120}
3121#[doc(hidden)]
3122#[derive(Copy, Clone, Eq, PartialEq)]
3123pub struct Bcnt0Cp_SPEC;
3124impl crate::sealed::RegSpec for Bcnt0Cp_SPEC {
3125    type DataType = u8;
3126}
3127
3128#[doc = "BCNT0 Capture Register %s"]
3129pub type Bcnt0Cp = crate::RegValueT<Bcnt0Cp_SPEC>;
3130
3131impl NoBitfieldReg<Bcnt0Cp_SPEC> for Bcnt0Cp {}
3132impl ::core::default::Default for Bcnt0Cp {
3133    #[inline(always)]
3134    fn default() -> Bcnt0Cp {
3135        <crate::RegValueT<Bcnt0Cp_SPEC> as RegisterValue<_>>::new(0)
3136    }
3137}
3138
3139#[doc(hidden)]
3140#[derive(Copy, Clone, Eq, PartialEq)]
3141pub struct Rseccp_SPEC;
3142impl crate::sealed::RegSpec for Rseccp_SPEC {
3143    type DataType = u8;
3144}
3145
3146#[doc = "Second Capture Register %s"]
3147pub type Rseccp = crate::RegValueT<Rseccp_SPEC>;
3148
3149impl Rseccp {
3150    #[doc = "1-Second Capture"]
3151    #[inline(always)]
3152    pub fn sec1(
3153        self,
3154    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rseccp_SPEC, crate::common::R> {
3155        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rseccp_SPEC,crate::common::R>::from_register(self,0)
3156    }
3157
3158    #[doc = "10-Second Capture"]
3159    #[inline(always)]
3160    pub fn sec10(
3161        self,
3162    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, Rseccp_SPEC, crate::common::R> {
3163        crate::common::RegisterField::<4,0x7,1,0,u8,u8,Rseccp_SPEC,crate::common::R>::from_register(self,0)
3164    }
3165}
3166impl ::core::default::Default for Rseccp {
3167    #[inline(always)]
3168    fn default() -> Rseccp {
3169        <crate::RegValueT<Rseccp_SPEC> as RegisterValue<_>>::new(0)
3170    }
3171}
3172
3173#[doc(hidden)]
3174#[derive(Copy, Clone, Eq, PartialEq)]
3175pub struct Bcnt1Cp_SPEC;
3176impl crate::sealed::RegSpec for Bcnt1Cp_SPEC {
3177    type DataType = u8;
3178}
3179
3180#[doc = "BCNT1 Capture Register %s"]
3181pub type Bcnt1Cp = crate::RegValueT<Bcnt1Cp_SPEC>;
3182
3183impl NoBitfieldReg<Bcnt1Cp_SPEC> for Bcnt1Cp {}
3184impl ::core::default::Default for Bcnt1Cp {
3185    #[inline(always)]
3186    fn default() -> Bcnt1Cp {
3187        <crate::RegValueT<Bcnt1Cp_SPEC> as RegisterValue<_>>::new(0)
3188    }
3189}
3190
3191#[doc(hidden)]
3192#[derive(Copy, Clone, Eq, PartialEq)]
3193pub struct Rmincp_SPEC;
3194impl crate::sealed::RegSpec for Rmincp_SPEC {
3195    type DataType = u8;
3196}
3197
3198#[doc = "Minute Capture Register %s"]
3199pub type Rmincp = crate::RegValueT<Rmincp_SPEC>;
3200
3201impl Rmincp {
3202    #[doc = "1-Minute Capture"]
3203    #[inline(always)]
3204    pub fn min1(
3205        self,
3206    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rmincp_SPEC, crate::common::R> {
3207        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rmincp_SPEC,crate::common::R>::from_register(self,0)
3208    }
3209
3210    #[doc = "10-Minute Capture"]
3211    #[inline(always)]
3212    pub fn min10(
3213        self,
3214    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, Rmincp_SPEC, crate::common::R> {
3215        crate::common::RegisterField::<4,0x7,1,0,u8,u8,Rmincp_SPEC,crate::common::R>::from_register(self,0)
3216    }
3217}
3218impl ::core::default::Default for Rmincp {
3219    #[inline(always)]
3220    fn default() -> Rmincp {
3221        <crate::RegValueT<Rmincp_SPEC> as RegisterValue<_>>::new(0)
3222    }
3223}
3224
3225#[doc(hidden)]
3226#[derive(Copy, Clone, Eq, PartialEq)]
3227pub struct Bcnt2Cp_SPEC;
3228impl crate::sealed::RegSpec for Bcnt2Cp_SPEC {
3229    type DataType = u8;
3230}
3231
3232#[doc = "BCNT2 Capture Register %s"]
3233pub type Bcnt2Cp = crate::RegValueT<Bcnt2Cp_SPEC>;
3234
3235impl NoBitfieldReg<Bcnt2Cp_SPEC> for Bcnt2Cp {}
3236impl ::core::default::Default for Bcnt2Cp {
3237    #[inline(always)]
3238    fn default() -> Bcnt2Cp {
3239        <crate::RegValueT<Bcnt2Cp_SPEC> as RegisterValue<_>>::new(0)
3240    }
3241}
3242
3243#[doc(hidden)]
3244#[derive(Copy, Clone, Eq, PartialEq)]
3245pub struct Rhrcp_SPEC;
3246impl crate::sealed::RegSpec for Rhrcp_SPEC {
3247    type DataType = u8;
3248}
3249
3250#[doc = "Hour Capture Register %s"]
3251pub type Rhrcp = crate::RegValueT<Rhrcp_SPEC>;
3252
3253impl Rhrcp {
3254    #[doc = "1-Hour Capture"]
3255    #[inline(always)]
3256    pub fn hr1(
3257        self,
3258    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rhrcp_SPEC, crate::common::R> {
3259        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rhrcp_SPEC,crate::common::R>::from_register(self,0)
3260    }
3261
3262    #[doc = "10-Hour Capture"]
3263    #[inline(always)]
3264    pub fn hr10(
3265        self,
3266    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Rhrcp_SPEC, crate::common::R> {
3267        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Rhrcp_SPEC,crate::common::R>::from_register(self,0)
3268    }
3269
3270    #[doc = "PM"]
3271    #[inline(always)]
3272    pub fn pm(
3273        self,
3274    ) -> crate::common::RegisterField<
3275        6,
3276        0x1,
3277        1,
3278        0,
3279        rhrcp::Pm,
3280        rhrcp::Pm,
3281        Rhrcp_SPEC,
3282        crate::common::R,
3283    > {
3284        crate::common::RegisterField::<
3285            6,
3286            0x1,
3287            1,
3288            0,
3289            rhrcp::Pm,
3290            rhrcp::Pm,
3291            Rhrcp_SPEC,
3292            crate::common::R,
3293        >::from_register(self, 0)
3294    }
3295}
3296impl ::core::default::Default for Rhrcp {
3297    #[inline(always)]
3298    fn default() -> Rhrcp {
3299        <crate::RegValueT<Rhrcp_SPEC> as RegisterValue<_>>::new(0)
3300    }
3301}
3302pub mod rhrcp {
3303
3304    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3305    pub struct Pm_SPEC;
3306    pub type Pm = crate::EnumBitfieldStruct<u8, Pm_SPEC>;
3307    impl Pm {
3308        #[doc = "AM"]
3309        pub const _0: Self = Self::new(0);
3310
3311        #[doc = "PM"]
3312        pub const _1: Self = Self::new(1);
3313    }
3314}
3315#[doc(hidden)]
3316#[derive(Copy, Clone, Eq, PartialEq)]
3317pub struct Bcnt3Cp_SPEC;
3318impl crate::sealed::RegSpec for Bcnt3Cp_SPEC {
3319    type DataType = u8;
3320}
3321
3322#[doc = "BCNT3 Capture Register %s"]
3323pub type Bcnt3Cp = crate::RegValueT<Bcnt3Cp_SPEC>;
3324
3325impl NoBitfieldReg<Bcnt3Cp_SPEC> for Bcnt3Cp {}
3326impl ::core::default::Default for Bcnt3Cp {
3327    #[inline(always)]
3328    fn default() -> Bcnt3Cp {
3329        <crate::RegValueT<Bcnt3Cp_SPEC> as RegisterValue<_>>::new(0)
3330    }
3331}
3332
3333#[doc(hidden)]
3334#[derive(Copy, Clone, Eq, PartialEq)]
3335pub struct Rdaycp_SPEC;
3336impl crate::sealed::RegSpec for Rdaycp_SPEC {
3337    type DataType = u8;
3338}
3339
3340#[doc = "Date Capture Register %s"]
3341pub type Rdaycp = crate::RegValueT<Rdaycp_SPEC>;
3342
3343impl Rdaycp {
3344    #[doc = "1-Day Capture"]
3345    #[inline(always)]
3346    pub fn date1(
3347        self,
3348    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rdaycp_SPEC, crate::common::R> {
3349        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rdaycp_SPEC,crate::common::R>::from_register(self,0)
3350    }
3351
3352    #[doc = "10-Day Capture"]
3353    #[inline(always)]
3354    pub fn date10(
3355        self,
3356    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, Rdaycp_SPEC, crate::common::R> {
3357        crate::common::RegisterField::<4,0x3,1,0,u8,u8,Rdaycp_SPEC,crate::common::R>::from_register(self,0)
3358    }
3359}
3360impl ::core::default::Default for Rdaycp {
3361    #[inline(always)]
3362    fn default() -> Rdaycp {
3363        <crate::RegValueT<Rdaycp_SPEC> as RegisterValue<_>>::new(0)
3364    }
3365}
3366
3367#[doc(hidden)]
3368#[derive(Copy, Clone, Eq, PartialEq)]
3369pub struct Rmoncp_SPEC;
3370impl crate::sealed::RegSpec for Rmoncp_SPEC {
3371    type DataType = u8;
3372}
3373
3374#[doc = "Month Capture Register %s"]
3375pub type Rmoncp = crate::RegValueT<Rmoncp_SPEC>;
3376
3377impl Rmoncp {
3378    #[doc = "1-Month Capture"]
3379    #[inline(always)]
3380    pub fn mon1(
3381        self,
3382    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Rmoncp_SPEC, crate::common::R> {
3383        crate::common::RegisterField::<0,0xf,1,0,u8,u8,Rmoncp_SPEC,crate::common::R>::from_register(self,0)
3384    }
3385
3386    #[doc = "10-Month Capture"]
3387    #[inline(always)]
3388    pub fn mon10(self) -> crate::common::RegisterFieldBool<4, 1, 0, Rmoncp_SPEC, crate::common::R> {
3389        crate::common::RegisterFieldBool::<4, 1, 0, Rmoncp_SPEC, crate::common::R>::from_register(
3390            self, 0,
3391        )
3392    }
3393}
3394impl ::core::default::Default for Rmoncp {
3395    #[inline(always)]
3396    fn default() -> Rmoncp {
3397        <crate::RegValueT<Rmoncp_SPEC> as RegisterValue<_>>::new(0)
3398    }
3399}