ra4e2_pac/
rtc.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.30.00, with svd2pac 0.4.0 on Sat, 12 Apr 2025 22:15:35 +0000
19
20#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"Realtime Clock"]
28unsafe impl ::core::marker::Send for super::Rtc {}
29unsafe impl ::core::marker::Sync for super::Rtc {}
30impl super::Rtc {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36    #[doc = "64-Hz Counter"]
37    #[inline(always)]
38    pub const fn r64cnt(&self) -> &'static crate::common::Reg<self::R64Cnt_SPEC, crate::common::R> {
39        unsafe {
40            crate::common::Reg::<self::R64Cnt_SPEC, crate::common::R>::from_ptr(
41                self._svd2pac_as_ptr().add(0usize),
42            )
43        }
44    }
45
46    #[doc = "Binary Counter %s"]
47    #[inline(always)]
48    pub const fn bcnt(
49        &self,
50    ) -> &'static crate::common::ClusterRegisterArray<
51        crate::common::Reg<self::Bcnt_SPEC, crate::common::RW>,
52        4,
53        0x2,
54    > {
55        unsafe {
56            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x2usize))
57        }
58    }
59
60    #[doc = "Second Counter (in Calendar Count Mode)"]
61    #[inline(always)]
62    pub const fn rseccnt(
63        &self,
64    ) -> &'static crate::common::Reg<self::Rseccnt_SPEC, crate::common::RW> {
65        unsafe {
66            crate::common::Reg::<self::Rseccnt_SPEC, crate::common::RW>::from_ptr(
67                self._svd2pac_as_ptr().add(2usize),
68            )
69        }
70    }
71
72    #[doc = "Minute Counter (in Calendar Count Mode)"]
73    #[inline(always)]
74    pub const fn rmincnt(
75        &self,
76    ) -> &'static crate::common::Reg<self::Rmincnt_SPEC, crate::common::RW> {
77        unsafe {
78            crate::common::Reg::<self::Rmincnt_SPEC, crate::common::RW>::from_ptr(
79                self._svd2pac_as_ptr().add(4usize),
80            )
81        }
82    }
83
84    #[doc = "Hour Counter (in Calendar Count Mode)"]
85    #[inline(always)]
86    pub const fn rhrcnt(
87        &self,
88    ) -> &'static crate::common::Reg<self::Rhrcnt_SPEC, crate::common::RW> {
89        unsafe {
90            crate::common::Reg::<self::Rhrcnt_SPEC, crate::common::RW>::from_ptr(
91                self._svd2pac_as_ptr().add(6usize),
92            )
93        }
94    }
95
96    #[doc = "Day-of-Week Counter (in Calendar Count Mode)"]
97    #[inline(always)]
98    pub const fn rwkcnt(
99        &self,
100    ) -> &'static crate::common::Reg<self::Rwkcnt_SPEC, crate::common::RW> {
101        unsafe {
102            crate::common::Reg::<self::Rwkcnt_SPEC, crate::common::RW>::from_ptr(
103                self._svd2pac_as_ptr().add(8usize),
104            )
105        }
106    }
107
108    #[doc = "Day Counter"]
109    #[inline(always)]
110    pub const fn rdaycnt(
111        &self,
112    ) -> &'static crate::common::Reg<self::Rdaycnt_SPEC, crate::common::RW> {
113        unsafe {
114            crate::common::Reg::<self::Rdaycnt_SPEC, crate::common::RW>::from_ptr(
115                self._svd2pac_as_ptr().add(10usize),
116            )
117        }
118    }
119
120    #[doc = "Month Counter"]
121    #[inline(always)]
122    pub const fn rmoncnt(
123        &self,
124    ) -> &'static crate::common::Reg<self::Rmoncnt_SPEC, crate::common::RW> {
125        unsafe {
126            crate::common::Reg::<self::Rmoncnt_SPEC, crate::common::RW>::from_ptr(
127                self._svd2pac_as_ptr().add(12usize),
128            )
129        }
130    }
131
132    #[doc = "Year Counter"]
133    #[inline(always)]
134    pub const fn ryrcnt(
135        &self,
136    ) -> &'static crate::common::Reg<self::Ryrcnt_SPEC, crate::common::RW> {
137        unsafe {
138            crate::common::Reg::<self::Ryrcnt_SPEC, crate::common::RW>::from_ptr(
139                self._svd2pac_as_ptr().add(14usize),
140            )
141        }
142    }
143
144    #[doc = "Binary Counter %s Alarm Register"]
145    #[inline(always)]
146    pub const fn bcntar(
147        &self,
148    ) -> &'static crate::common::ClusterRegisterArray<
149        crate::common::Reg<self::Bcntar_SPEC, crate::common::RW>,
150        4,
151        0x2,
152    > {
153        unsafe {
154            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x10usize))
155        }
156    }
157
158    #[doc = "Second Alarm Register (in Calendar Count Mode)"]
159    #[inline(always)]
160    pub const fn rsecar(
161        &self,
162    ) -> &'static crate::common::Reg<self::Rsecar_SPEC, crate::common::RW> {
163        unsafe {
164            crate::common::Reg::<self::Rsecar_SPEC, crate::common::RW>::from_ptr(
165                self._svd2pac_as_ptr().add(16usize),
166            )
167        }
168    }
169
170    #[doc = "Minute Alarm Register (in Calendar Count Mode)"]
171    #[inline(always)]
172    pub const fn rminar(
173        &self,
174    ) -> &'static crate::common::Reg<self::Rminar_SPEC, crate::common::RW> {
175        unsafe {
176            crate::common::Reg::<self::Rminar_SPEC, crate::common::RW>::from_ptr(
177                self._svd2pac_as_ptr().add(18usize),
178            )
179        }
180    }
181
182    #[doc = "Hour Alarm Register (in Calendar Count Mode)"]
183    #[inline(always)]
184    pub const fn rhrar(&self) -> &'static crate::common::Reg<self::Rhrar_SPEC, crate::common::RW> {
185        unsafe {
186            crate::common::Reg::<self::Rhrar_SPEC, crate::common::RW>::from_ptr(
187                self._svd2pac_as_ptr().add(20usize),
188            )
189        }
190    }
191
192    #[doc = "Day-of-Week Alarm Register (in Calendar Count Mode)"]
193    #[inline(always)]
194    pub const fn rwkar(&self) -> &'static crate::common::Reg<self::Rwkar_SPEC, crate::common::RW> {
195        unsafe {
196            crate::common::Reg::<self::Rwkar_SPEC, crate::common::RW>::from_ptr(
197                self._svd2pac_as_ptr().add(22usize),
198            )
199        }
200    }
201
202    #[doc = "Binary Counter %s Alarm Enable Register"]
203    #[inline(always)]
204    pub const fn bcntaer(
205        &self,
206    ) -> &'static crate::common::ClusterRegisterArray<
207        crate::common::Reg<self::Bcntaer_SPEC, crate::common::RW>,
208        2,
209        0x2,
210    > {
211        unsafe {
212            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x18usize))
213        }
214    }
215
216    #[doc = "Date Alarm Register (in Calendar Count Mode)"]
217    #[inline(always)]
218    pub const fn rdayar(
219        &self,
220    ) -> &'static crate::common::Reg<self::Rdayar_SPEC, crate::common::RW> {
221        unsafe {
222            crate::common::Reg::<self::Rdayar_SPEC, crate::common::RW>::from_ptr(
223                self._svd2pac_as_ptr().add(24usize),
224            )
225        }
226    }
227
228    #[doc = "Month Alarm Register (in Calendar Count Mode)"]
229    #[inline(always)]
230    pub const fn rmonar(
231        &self,
232    ) -> &'static crate::common::Reg<self::Rmonar_SPEC, crate::common::RW> {
233        unsafe {
234            crate::common::Reg::<self::Rmonar_SPEC, crate::common::RW>::from_ptr(
235                self._svd2pac_as_ptr().add(26usize),
236            )
237        }
238    }
239
240    #[doc = "Binary Counter 2 Alarm Enable Register"]
241    #[inline(always)]
242    pub const fn bcnt2aer(
243        &self,
244    ) -> &'static crate::common::Reg<self::Bcnt2Aer_SPEC, crate::common::RW> {
245        unsafe {
246            crate::common::Reg::<self::Bcnt2Aer_SPEC, crate::common::RW>::from_ptr(
247                self._svd2pac_as_ptr().add(28usize),
248            )
249        }
250    }
251
252    #[doc = "Year Alarm Register (in Calendar Count Mode)"]
253    #[inline(always)]
254    pub const fn ryrar(&self) -> &'static crate::common::Reg<self::Ryrar_SPEC, crate::common::RW> {
255        unsafe {
256            crate::common::Reg::<self::Ryrar_SPEC, crate::common::RW>::from_ptr(
257                self._svd2pac_as_ptr().add(28usize),
258            )
259        }
260    }
261
262    #[doc = "Binary Counter 3 Alarm Enable Register"]
263    #[inline(always)]
264    pub const fn bcnt3aer(
265        &self,
266    ) -> &'static crate::common::Reg<self::Bcnt3Aer_SPEC, crate::common::RW> {
267        unsafe {
268            crate::common::Reg::<self::Bcnt3Aer_SPEC, crate::common::RW>::from_ptr(
269                self._svd2pac_as_ptr().add(30usize),
270            )
271        }
272    }
273
274    #[doc = "Year Alarm Enable Register (in Calendar Count Mode)"]
275    #[inline(always)]
276    pub const fn ryraren(
277        &self,
278    ) -> &'static crate::common::Reg<self::Ryraren_SPEC, crate::common::RW> {
279        unsafe {
280            crate::common::Reg::<self::Ryraren_SPEC, crate::common::RW>::from_ptr(
281                self._svd2pac_as_ptr().add(30usize),
282            )
283        }
284    }
285
286    #[doc = "RTC Control Register 1"]
287    #[inline(always)]
288    pub const fn rcr1(&self) -> &'static crate::common::Reg<self::Rcr1_SPEC, crate::common::RW> {
289        unsafe {
290            crate::common::Reg::<self::Rcr1_SPEC, crate::common::RW>::from_ptr(
291                self._svd2pac_as_ptr().add(34usize),
292            )
293        }
294    }
295
296    #[doc = "RTC Control Register 2 (in Calendar Count Mode)"]
297    #[inline(always)]
298    pub const fn rcr2(&self) -> &'static crate::common::Reg<self::Rcr2_SPEC, crate::common::RW> {
299        unsafe {
300            crate::common::Reg::<self::Rcr2_SPEC, crate::common::RW>::from_ptr(
301                self._svd2pac_as_ptr().add(36usize),
302            )
303        }
304    }
305
306    #[doc = "RTC Control Register 2 (in Binary Count Mode)"]
307    #[inline(always)]
308    pub const fn rcr2_bcnt(
309        &self,
310    ) -> &'static crate::common::Reg<self::Rcr2Bcnt_SPEC, crate::common::RW> {
311        unsafe {
312            crate::common::Reg::<self::Rcr2Bcnt_SPEC, crate::common::RW>::from_ptr(
313                self._svd2pac_as_ptr().add(36usize),
314            )
315        }
316    }
317
318    #[doc = "RTC Control Register 4"]
319    #[inline(always)]
320    pub const fn rcr4(&self) -> &'static crate::common::Reg<self::Rcr4_SPEC, crate::common::RW> {
321        unsafe {
322            crate::common::Reg::<self::Rcr4_SPEC, crate::common::RW>::from_ptr(
323                self._svd2pac_as_ptr().add(40usize),
324            )
325        }
326    }
327
328    #[doc = "Frequency Register H"]
329    #[inline(always)]
330    pub const fn rfrh(&self) -> &'static crate::common::Reg<self::Rfrh_SPEC, crate::common::RW> {
331        unsafe {
332            crate::common::Reg::<self::Rfrh_SPEC, crate::common::RW>::from_ptr(
333                self._svd2pac_as_ptr().add(42usize),
334            )
335        }
336    }
337
338    #[doc = "Frequency Register L"]
339    #[inline(always)]
340    pub const fn rfrl(&self) -> &'static crate::common::Reg<self::Rfrl_SPEC, crate::common::RW> {
341        unsafe {
342            crate::common::Reg::<self::Rfrl_SPEC, crate::common::RW>::from_ptr(
343                self._svd2pac_as_ptr().add(44usize),
344            )
345        }
346    }
347
348    #[doc = "Time Error Adjustment Register"]
349    #[inline(always)]
350    pub const fn radj(&self) -> &'static crate::common::Reg<self::Radj_SPEC, crate::common::RW> {
351        unsafe {
352            crate::common::Reg::<self::Radj_SPEC, crate::common::RW>::from_ptr(
353                self._svd2pac_as_ptr().add(46usize),
354            )
355        }
356    }
357
358    #[doc = "Time Capture Control Register %s"]
359    #[inline(always)]
360    pub const fn rtccr(
361        &self,
362    ) -> &'static crate::common::ClusterRegisterArray<
363        crate::common::Reg<self::Rtccr_SPEC, crate::common::RW>,
364        2,
365        0x2,
366    > {
367        unsafe {
368            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x40usize))
369        }
370    }
371
372    #[doc = "BCNT0 Capture Register %s"]
373    #[inline(always)]
374    pub const fn bcnt0cp(
375        &self,
376    ) -> &'static crate::common::ClusterRegisterArray<
377        crate::common::Reg<self::Bcnt0Cp_SPEC, crate::common::R>,
378        2,
379        0x10,
380    > {
381        unsafe {
382            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x52usize))
383        }
384    }
385
386    #[doc = "Second Capture Register %s"]
387    #[inline(always)]
388    pub const fn rseccp(
389        &self,
390    ) -> &'static crate::common::ClusterRegisterArray<
391        crate::common::Reg<self::Rseccp_SPEC, crate::common::R>,
392        2,
393        0x10,
394    > {
395        unsafe {
396            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x52usize))
397        }
398    }
399
400    #[doc = "BCNT1 Capture Register %s"]
401    #[inline(always)]
402    pub const fn bcnt1cp(
403        &self,
404    ) -> &'static crate::common::ClusterRegisterArray<
405        crate::common::Reg<self::Bcnt1Cp_SPEC, crate::common::R>,
406        2,
407        0x10,
408    > {
409        unsafe {
410            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x54usize))
411        }
412    }
413
414    #[doc = "Minute Capture Register %s"]
415    #[inline(always)]
416    pub const fn rmincp(
417        &self,
418    ) -> &'static crate::common::ClusterRegisterArray<
419        crate::common::Reg<self::Rmincp_SPEC, crate::common::R>,
420        2,
421        0x10,
422    > {
423        unsafe {
424            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x54usize))
425        }
426    }
427
428    #[doc = "BCNT2 Capture Register %s"]
429    #[inline(always)]
430    pub const fn bcnt2cp(
431        &self,
432    ) -> &'static crate::common::ClusterRegisterArray<
433        crate::common::Reg<self::Bcnt2Cp_SPEC, crate::common::R>,
434        2,
435        0x10,
436    > {
437        unsafe {
438            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x56usize))
439        }
440    }
441
442    #[doc = "Hour Capture Register %s"]
443    #[inline(always)]
444    pub const fn rhrcp(
445        &self,
446    ) -> &'static crate::common::ClusterRegisterArray<
447        crate::common::Reg<self::Rhrcp_SPEC, crate::common::R>,
448        2,
449        0x10,
450    > {
451        unsafe {
452            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x56usize))
453        }
454    }
455
456    #[doc = "BCNT3 Capture Register %s"]
457    #[inline(always)]
458    pub const fn bcnt3cp(
459        &self,
460    ) -> &'static crate::common::ClusterRegisterArray<
461        crate::common::Reg<self::Bcnt3Cp_SPEC, crate::common::R>,
462        2,
463        0x10,
464    > {
465        unsafe {
466            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x5ausize))
467        }
468    }
469
470    #[doc = "Date Capture Register %s"]
471    #[inline(always)]
472    pub const fn rdaycp(
473        &self,
474    ) -> &'static crate::common::ClusterRegisterArray<
475        crate::common::Reg<self::Rdaycp_SPEC, crate::common::R>,
476        2,
477        0x10,
478    > {
479        unsafe {
480            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x5ausize))
481        }
482    }
483
484    #[doc = "Month Capture Register %s"]
485    #[inline(always)]
486    pub const fn rmoncp(
487        &self,
488    ) -> &'static crate::common::ClusterRegisterArray<
489        crate::common::Reg<self::Rmoncp_SPEC, crate::common::R>,
490        2,
491        0x10,
492    > {
493        unsafe {
494            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x5cusize))
495        }
496    }
497}
498#[doc(hidden)]
499#[derive(Copy, Clone, Eq, PartialEq)]
500pub struct R64Cnt_SPEC;
501impl crate::sealed::RegSpec for R64Cnt_SPEC {
502    type DataType = u8;
503}
504#[doc = "64-Hz Counter"]
505pub type R64Cnt = crate::RegValueT<R64Cnt_SPEC>;
506
507impl R64Cnt {
508    #[doc = "64-Hz Flag"]
509    #[inline(always)]
510    pub fn f64hz(self) -> crate::common::RegisterFieldBool<0, 1, 0, R64Cnt_SPEC, crate::common::R> {
511        crate::common::RegisterFieldBool::<0, 1, 0, R64Cnt_SPEC, crate::common::R>::from_register(
512            self, 0,
513        )
514    }
515    #[doc = "32-Hz Flag"]
516    #[inline(always)]
517    pub fn f32hz(self) -> crate::common::RegisterFieldBool<1, 1, 0, R64Cnt_SPEC, crate::common::R> {
518        crate::common::RegisterFieldBool::<1, 1, 0, R64Cnt_SPEC, crate::common::R>::from_register(
519            self, 0,
520        )
521    }
522    #[doc = "16-Hz Flag"]
523    #[inline(always)]
524    pub fn f16hz(self) -> crate::common::RegisterFieldBool<2, 1, 0, R64Cnt_SPEC, crate::common::R> {
525        crate::common::RegisterFieldBool::<2, 1, 0, R64Cnt_SPEC, crate::common::R>::from_register(
526            self, 0,
527        )
528    }
529    #[doc = "8-Hz Flag"]
530    #[inline(always)]
531    pub fn f8hz(self) -> crate::common::RegisterFieldBool<3, 1, 0, R64Cnt_SPEC, crate::common::R> {
532        crate::common::RegisterFieldBool::<3, 1, 0, R64Cnt_SPEC, crate::common::R>::from_register(
533            self, 0,
534        )
535    }
536    #[doc = "4-Hz Flag"]
537    #[inline(always)]
538    pub fn f4hz(self) -> crate::common::RegisterFieldBool<4, 1, 0, R64Cnt_SPEC, crate::common::R> {
539        crate::common::RegisterFieldBool::<4, 1, 0, R64Cnt_SPEC, crate::common::R>::from_register(
540            self, 0,
541        )
542    }
543    #[doc = "2-Hz Flag"]
544    #[inline(always)]
545    pub fn f2hz(self) -> crate::common::RegisterFieldBool<5, 1, 0, R64Cnt_SPEC, crate::common::R> {
546        crate::common::RegisterFieldBool::<5, 1, 0, R64Cnt_SPEC, crate::common::R>::from_register(
547            self, 0,
548        )
549    }
550    #[doc = "1-Hz Flag"]
551    #[inline(always)]
552    pub fn f1hz(self) -> crate::common::RegisterFieldBool<6, 1, 0, R64Cnt_SPEC, crate::common::R> {
553        crate::common::RegisterFieldBool::<6, 1, 0, R64Cnt_SPEC, crate::common::R>::from_register(
554            self, 0,
555        )
556    }
557}
558impl ::core::default::Default for R64Cnt {
559    #[inline(always)]
560    fn default() -> R64Cnt {
561        <crate::RegValueT<R64Cnt_SPEC> as RegisterValue<_>>::new(0)
562    }
563}
564
565#[doc(hidden)]
566#[derive(Copy, Clone, Eq, PartialEq)]
567pub struct Bcnt_SPEC;
568impl crate::sealed::RegSpec for Bcnt_SPEC {
569    type DataType = u8;
570}
571#[doc = "Binary Counter %s"]
572pub type Bcnt = crate::RegValueT<Bcnt_SPEC>;
573
574impl Bcnt {
575    #[doc = "Binary Counter"]
576    #[inline(always)]
577    pub fn bcnt(
578        self,
579    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, Bcnt_SPEC, crate::common::RW> {
580        crate::common::RegisterField::<0,0xff,1,0,u8, Bcnt_SPEC,crate::common::RW>::from_register(self,0)
581    }
582}
583impl ::core::default::Default for Bcnt {
584    #[inline(always)]
585    fn default() -> Bcnt {
586        <crate::RegValueT<Bcnt_SPEC> as RegisterValue<_>>::new(0)
587    }
588}
589
590#[doc(hidden)]
591#[derive(Copy, Clone, Eq, PartialEq)]
592pub struct Rseccnt_SPEC;
593impl crate::sealed::RegSpec for Rseccnt_SPEC {
594    type DataType = u8;
595}
596#[doc = "Second Counter (in Calendar Count Mode)"]
597pub type Rseccnt = crate::RegValueT<Rseccnt_SPEC>;
598
599impl Rseccnt {
600    #[doc = "1-Second Count"]
601    #[inline(always)]
602    pub fn sec1(
603        self,
604    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Rseccnt_SPEC, crate::common::RW> {
605        crate::common::RegisterField::<0,0xf,1,0,u8, Rseccnt_SPEC,crate::common::RW>::from_register(self,0)
606    }
607    #[doc = "10-Second Count"]
608    #[inline(always)]
609    pub fn sec10(
610        self,
611    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, Rseccnt_SPEC, crate::common::RW> {
612        crate::common::RegisterField::<4,0x7,1,0,u8, Rseccnt_SPEC,crate::common::RW>::from_register(self,0)
613    }
614}
615impl ::core::default::Default for Rseccnt {
616    #[inline(always)]
617    fn default() -> Rseccnt {
618        <crate::RegValueT<Rseccnt_SPEC> as RegisterValue<_>>::new(0)
619    }
620}
621
622#[doc(hidden)]
623#[derive(Copy, Clone, Eq, PartialEq)]
624pub struct Rmincnt_SPEC;
625impl crate::sealed::RegSpec for Rmincnt_SPEC {
626    type DataType = u8;
627}
628#[doc = "Minute Counter (in Calendar Count Mode)"]
629pub type Rmincnt = crate::RegValueT<Rmincnt_SPEC>;
630
631impl Rmincnt {
632    #[doc = "1-Minute Count"]
633    #[inline(always)]
634    pub fn min1(
635        self,
636    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Rmincnt_SPEC, crate::common::RW> {
637        crate::common::RegisterField::<0,0xf,1,0,u8, Rmincnt_SPEC,crate::common::RW>::from_register(self,0)
638    }
639    #[doc = "10-Minute Count"]
640    #[inline(always)]
641    pub fn min10(
642        self,
643    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, Rmincnt_SPEC, crate::common::RW> {
644        crate::common::RegisterField::<4,0x7,1,0,u8, Rmincnt_SPEC,crate::common::RW>::from_register(self,0)
645    }
646}
647impl ::core::default::Default for Rmincnt {
648    #[inline(always)]
649    fn default() -> Rmincnt {
650        <crate::RegValueT<Rmincnt_SPEC> as RegisterValue<_>>::new(0)
651    }
652}
653
654#[doc(hidden)]
655#[derive(Copy, Clone, Eq, PartialEq)]
656pub struct Rhrcnt_SPEC;
657impl crate::sealed::RegSpec for Rhrcnt_SPEC {
658    type DataType = u8;
659}
660#[doc = "Hour Counter (in Calendar Count Mode)"]
661pub type Rhrcnt = crate::RegValueT<Rhrcnt_SPEC>;
662
663impl Rhrcnt {
664    #[doc = "1-Hour Count"]
665    #[inline(always)]
666    pub fn hr1(
667        self,
668    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Rhrcnt_SPEC, crate::common::RW> {
669        crate::common::RegisterField::<0,0xf,1,0,u8, Rhrcnt_SPEC,crate::common::RW>::from_register(self,0)
670    }
671    #[doc = "10-Hour Count"]
672    #[inline(always)]
673    pub fn hr10(
674        self,
675    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, Rhrcnt_SPEC, crate::common::RW> {
676        crate::common::RegisterField::<4,0x3,1,0,u8, Rhrcnt_SPEC,crate::common::RW>::from_register(self,0)
677    }
678    #[doc = "AM/PM select for time counter setting."]
679    #[inline(always)]
680    pub fn pm(
681        self,
682    ) -> crate::common::RegisterField<6, 0x1, 1, 0, rhrcnt::Pm, Rhrcnt_SPEC, crate::common::RW>
683    {
684        crate::common::RegisterField::<6,0x1,1,0,rhrcnt::Pm, Rhrcnt_SPEC,crate::common::RW>::from_register(self,0)
685    }
686}
687impl ::core::default::Default for Rhrcnt {
688    #[inline(always)]
689    fn default() -> Rhrcnt {
690        <crate::RegValueT<Rhrcnt_SPEC> as RegisterValue<_>>::new(0)
691    }
692}
693pub mod rhrcnt {
694
695    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
696    pub struct Pm_SPEC;
697    pub type Pm = crate::EnumBitfieldStruct<u8, Pm_SPEC>;
698    impl Pm {
699        #[doc = "AM"]
700        pub const _0: Self = Self::new(0);
701        #[doc = "PM"]
702        pub const _1: Self = Self::new(1);
703    }
704}
705#[doc(hidden)]
706#[derive(Copy, Clone, Eq, PartialEq)]
707pub struct Rwkcnt_SPEC;
708impl crate::sealed::RegSpec for Rwkcnt_SPEC {
709    type DataType = u8;
710}
711#[doc = "Day-of-Week Counter (in Calendar Count Mode)"]
712pub type Rwkcnt = crate::RegValueT<Rwkcnt_SPEC>;
713
714impl Rwkcnt {
715    #[doc = "Day-of-Week Counting"]
716    #[inline(always)]
717    pub fn dayw(
718        self,
719    ) -> crate::common::RegisterField<0, 0x7, 1, 0, rwkcnt::Dayw, Rwkcnt_SPEC, crate::common::RW>
720    {
721        crate::common::RegisterField::<0,0x7,1,0,rwkcnt::Dayw, Rwkcnt_SPEC,crate::common::RW>::from_register(self,0)
722    }
723}
724impl ::core::default::Default for Rwkcnt {
725    #[inline(always)]
726    fn default() -> Rwkcnt {
727        <crate::RegValueT<Rwkcnt_SPEC> as RegisterValue<_>>::new(0)
728    }
729}
730pub mod rwkcnt {
731
732    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
733    pub struct Dayw_SPEC;
734    pub type Dayw = crate::EnumBitfieldStruct<u8, Dayw_SPEC>;
735    impl Dayw {
736        #[doc = "Sunday"]
737        pub const _000: Self = Self::new(0);
738        #[doc = "Monday"]
739        pub const _001: Self = Self::new(1);
740        #[doc = "Tuesday"]
741        pub const _010: Self = Self::new(2);
742        #[doc = "Wednesday"]
743        pub const _011: Self = Self::new(3);
744        #[doc = "Thursday"]
745        pub const _100: Self = Self::new(4);
746        #[doc = "Friday"]
747        pub const _101: Self = Self::new(5);
748        #[doc = "Saturday"]
749        pub const _110: Self = Self::new(6);
750        #[doc = "Setting prohibited"]
751        pub const _111: Self = Self::new(7);
752    }
753}
754#[doc(hidden)]
755#[derive(Copy, Clone, Eq, PartialEq)]
756pub struct Rdaycnt_SPEC;
757impl crate::sealed::RegSpec for Rdaycnt_SPEC {
758    type DataType = u8;
759}
760#[doc = "Day Counter"]
761pub type Rdaycnt = crate::RegValueT<Rdaycnt_SPEC>;
762
763impl Rdaycnt {
764    #[doc = "1-Day Count"]
765    #[inline(always)]
766    pub fn date1(
767        self,
768    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Rdaycnt_SPEC, crate::common::RW> {
769        crate::common::RegisterField::<0,0xf,1,0,u8, Rdaycnt_SPEC,crate::common::RW>::from_register(self,0)
770    }
771    #[doc = "10-Day Count"]
772    #[inline(always)]
773    pub fn date10(
774        self,
775    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, Rdaycnt_SPEC, crate::common::RW> {
776        crate::common::RegisterField::<4,0x3,1,0,u8, Rdaycnt_SPEC,crate::common::RW>::from_register(self,0)
777    }
778}
779impl ::core::default::Default for Rdaycnt {
780    #[inline(always)]
781    fn default() -> Rdaycnt {
782        <crate::RegValueT<Rdaycnt_SPEC> as RegisterValue<_>>::new(0)
783    }
784}
785
786#[doc(hidden)]
787#[derive(Copy, Clone, Eq, PartialEq)]
788pub struct Rmoncnt_SPEC;
789impl crate::sealed::RegSpec for Rmoncnt_SPEC {
790    type DataType = u8;
791}
792#[doc = "Month Counter"]
793pub type Rmoncnt = crate::RegValueT<Rmoncnt_SPEC>;
794
795impl Rmoncnt {
796    #[doc = "1-Month Count"]
797    #[inline(always)]
798    pub fn mon1(
799        self,
800    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Rmoncnt_SPEC, crate::common::RW> {
801        crate::common::RegisterField::<0,0xf,1,0,u8, Rmoncnt_SPEC,crate::common::RW>::from_register(self,0)
802    }
803    #[doc = "10-Month Count"]
804    #[inline(always)]
805    pub fn mon10(
806        self,
807    ) -> crate::common::RegisterFieldBool<4, 1, 0, Rmoncnt_SPEC, crate::common::RW> {
808        crate::common::RegisterFieldBool::<4, 1, 0, Rmoncnt_SPEC, crate::common::RW>::from_register(
809            self, 0,
810        )
811    }
812}
813impl ::core::default::Default for Rmoncnt {
814    #[inline(always)]
815    fn default() -> Rmoncnt {
816        <crate::RegValueT<Rmoncnt_SPEC> as RegisterValue<_>>::new(0)
817    }
818}
819
820#[doc(hidden)]
821#[derive(Copy, Clone, Eq, PartialEq)]
822pub struct Ryrcnt_SPEC;
823impl crate::sealed::RegSpec for Ryrcnt_SPEC {
824    type DataType = u16;
825}
826#[doc = "Year Counter"]
827pub type Ryrcnt = crate::RegValueT<Ryrcnt_SPEC>;
828
829impl Ryrcnt {
830    #[doc = "1-Year Count"]
831    #[inline(always)]
832    pub fn yr1(
833        self,
834    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Ryrcnt_SPEC, crate::common::RW> {
835        crate::common::RegisterField::<0,0xf,1,0,u8, Ryrcnt_SPEC,crate::common::RW>::from_register(self,0)
836    }
837    #[doc = "10-Year Count"]
838    #[inline(always)]
839    pub fn yr10(
840        self,
841    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, Ryrcnt_SPEC, crate::common::RW> {
842        crate::common::RegisterField::<4,0xf,1,0,u8, Ryrcnt_SPEC,crate::common::RW>::from_register(self,0)
843    }
844}
845impl ::core::default::Default for Ryrcnt {
846    #[inline(always)]
847    fn default() -> Ryrcnt {
848        <crate::RegValueT<Ryrcnt_SPEC> as RegisterValue<_>>::new(0)
849    }
850}
851
852#[doc(hidden)]
853#[derive(Copy, Clone, Eq, PartialEq)]
854pub struct Bcntar_SPEC;
855impl crate::sealed::RegSpec for Bcntar_SPEC {
856    type DataType = u8;
857}
858#[doc = "Binary Counter %s Alarm Register"]
859pub type Bcntar = crate::RegValueT<Bcntar_SPEC>;
860
861impl Bcntar {
862    #[doc = "Alarm register associated with the 32-bit binary counter"]
863    #[inline(always)]
864    pub fn bcntar(
865        self,
866    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, Bcntar_SPEC, crate::common::RW> {
867        crate::common::RegisterField::<0,0xff,1,0,u8, Bcntar_SPEC,crate::common::RW>::from_register(self,0)
868    }
869}
870impl ::core::default::Default for Bcntar {
871    #[inline(always)]
872    fn default() -> Bcntar {
873        <crate::RegValueT<Bcntar_SPEC> as RegisterValue<_>>::new(0)
874    }
875}
876
877#[doc(hidden)]
878#[derive(Copy, Clone, Eq, PartialEq)]
879pub struct Rsecar_SPEC;
880impl crate::sealed::RegSpec for Rsecar_SPEC {
881    type DataType = u8;
882}
883#[doc = "Second Alarm Register (in Calendar Count Mode)"]
884pub type Rsecar = crate::RegValueT<Rsecar_SPEC>;
885
886impl Rsecar {
887    #[doc = "1 Second"]
888    #[inline(always)]
889    pub fn sec1(
890        self,
891    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Rsecar_SPEC, crate::common::RW> {
892        crate::common::RegisterField::<0,0xf,1,0,u8, Rsecar_SPEC,crate::common::RW>::from_register(self,0)
893    }
894    #[doc = "10 Seconds"]
895    #[inline(always)]
896    pub fn sec10(
897        self,
898    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, Rsecar_SPEC, crate::common::RW> {
899        crate::common::RegisterField::<4,0x7,1,0,u8, Rsecar_SPEC,crate::common::RW>::from_register(self,0)
900    }
901    #[doc = "ENB"]
902    #[inline(always)]
903    pub fn enb(
904        self,
905    ) -> crate::common::RegisterField<7, 0x1, 1, 0, rsecar::Enb, Rsecar_SPEC, crate::common::RW>
906    {
907        crate::common::RegisterField::<7,0x1,1,0,rsecar::Enb, Rsecar_SPEC,crate::common::RW>::from_register(self,0)
908    }
909}
910impl ::core::default::Default for Rsecar {
911    #[inline(always)]
912    fn default() -> Rsecar {
913        <crate::RegValueT<Rsecar_SPEC> as RegisterValue<_>>::new(0)
914    }
915}
916pub mod rsecar {
917
918    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
919    pub struct Enb_SPEC;
920    pub type Enb = crate::EnumBitfieldStruct<u8, Enb_SPEC>;
921    impl Enb {
922        #[doc = "Do not compare register value with RSECCNT counter value"]
923        pub const _0: Self = Self::new(0);
924        #[doc = "Compare register value with RSECCNT counter value"]
925        pub const _1: Self = Self::new(1);
926    }
927}
928#[doc(hidden)]
929#[derive(Copy, Clone, Eq, PartialEq)]
930pub struct Rminar_SPEC;
931impl crate::sealed::RegSpec for Rminar_SPEC {
932    type DataType = u8;
933}
934#[doc = "Minute Alarm Register (in Calendar Count Mode)"]
935pub type Rminar = crate::RegValueT<Rminar_SPEC>;
936
937impl Rminar {
938    #[doc = "1 Minute"]
939    #[inline(always)]
940    pub fn min1(
941        self,
942    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Rminar_SPEC, crate::common::RW> {
943        crate::common::RegisterField::<0,0xf,1,0,u8, Rminar_SPEC,crate::common::RW>::from_register(self,0)
944    }
945    #[doc = "10 Minutes"]
946    #[inline(always)]
947    pub fn min10(
948        self,
949    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, Rminar_SPEC, crate::common::RW> {
950        crate::common::RegisterField::<4,0x7,1,0,u8, Rminar_SPEC,crate::common::RW>::from_register(self,0)
951    }
952    #[doc = "ENB"]
953    #[inline(always)]
954    pub fn enb(
955        self,
956    ) -> crate::common::RegisterField<7, 0x1, 1, 0, rminar::Enb, Rminar_SPEC, crate::common::RW>
957    {
958        crate::common::RegisterField::<7,0x1,1,0,rminar::Enb, Rminar_SPEC,crate::common::RW>::from_register(self,0)
959    }
960}
961impl ::core::default::Default for Rminar {
962    #[inline(always)]
963    fn default() -> Rminar {
964        <crate::RegValueT<Rminar_SPEC> as RegisterValue<_>>::new(0)
965    }
966}
967pub mod rminar {
968
969    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
970    pub struct Enb_SPEC;
971    pub type Enb = crate::EnumBitfieldStruct<u8, Enb_SPEC>;
972    impl Enb {
973        #[doc = "Do not compare register value with RMINCNT counter value"]
974        pub const _0: Self = Self::new(0);
975        #[doc = "Compare register value with RMINCNT counter value"]
976        pub const _1: Self = Self::new(1);
977    }
978}
979#[doc(hidden)]
980#[derive(Copy, Clone, Eq, PartialEq)]
981pub struct Rhrar_SPEC;
982impl crate::sealed::RegSpec for Rhrar_SPEC {
983    type DataType = u8;
984}
985#[doc = "Hour Alarm Register (in Calendar Count Mode)"]
986pub type Rhrar = crate::RegValueT<Rhrar_SPEC>;
987
988impl Rhrar {
989    #[doc = "1 Hour"]
990    #[inline(always)]
991    pub fn hr1(
992        self,
993    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Rhrar_SPEC, crate::common::RW> {
994        crate::common::RegisterField::<0,0xf,1,0,u8, Rhrar_SPEC,crate::common::RW>::from_register(self,0)
995    }
996    #[doc = "10 Hours"]
997    #[inline(always)]
998    pub fn hr10(
999        self,
1000    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, Rhrar_SPEC, crate::common::RW> {
1001        crate::common::RegisterField::<4,0x3,1,0,u8, Rhrar_SPEC,crate::common::RW>::from_register(self,0)
1002    }
1003    #[doc = "AM/PM select for alarm setting."]
1004    #[inline(always)]
1005    pub fn pm(
1006        self,
1007    ) -> crate::common::RegisterField<6, 0x1, 1, 0, rhrar::Pm, Rhrar_SPEC, crate::common::RW> {
1008        crate::common::RegisterField::<6,0x1,1,0,rhrar::Pm, Rhrar_SPEC,crate::common::RW>::from_register(self,0)
1009    }
1010    #[doc = "ENB"]
1011    #[inline(always)]
1012    pub fn enb(
1013        self,
1014    ) -> crate::common::RegisterField<7, 0x1, 1, 0, rhrar::Enb, Rhrar_SPEC, crate::common::RW> {
1015        crate::common::RegisterField::<7,0x1,1,0,rhrar::Enb, Rhrar_SPEC,crate::common::RW>::from_register(self,0)
1016    }
1017}
1018impl ::core::default::Default for Rhrar {
1019    #[inline(always)]
1020    fn default() -> Rhrar {
1021        <crate::RegValueT<Rhrar_SPEC> as RegisterValue<_>>::new(0)
1022    }
1023}
1024pub mod rhrar {
1025
1026    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1027    pub struct Pm_SPEC;
1028    pub type Pm = crate::EnumBitfieldStruct<u8, Pm_SPEC>;
1029    impl Pm {
1030        #[doc = "AM"]
1031        pub const _0: Self = Self::new(0);
1032        #[doc = "PM"]
1033        pub const _1: Self = Self::new(1);
1034    }
1035    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1036    pub struct Enb_SPEC;
1037    pub type Enb = crate::EnumBitfieldStruct<u8, Enb_SPEC>;
1038    impl Enb {
1039        #[doc = "Do not compare register value with RHRCNT counter value"]
1040        pub const _0: Self = Self::new(0);
1041        #[doc = "Compare register value with RHRCNT counter value"]
1042        pub const _1: Self = Self::new(1);
1043    }
1044}
1045#[doc(hidden)]
1046#[derive(Copy, Clone, Eq, PartialEq)]
1047pub struct Rwkar_SPEC;
1048impl crate::sealed::RegSpec for Rwkar_SPEC {
1049    type DataType = u8;
1050}
1051#[doc = "Day-of-Week Alarm Register (in Calendar Count Mode)"]
1052pub type Rwkar = crate::RegValueT<Rwkar_SPEC>;
1053
1054impl Rwkar {
1055    #[doc = "Day-of-Week Setting"]
1056    #[inline(always)]
1057    pub fn dayw(
1058        self,
1059    ) -> crate::common::RegisterField<0, 0x7, 1, 0, rwkar::Dayw, Rwkar_SPEC, crate::common::RW>
1060    {
1061        crate::common::RegisterField::<0,0x7,1,0,rwkar::Dayw, Rwkar_SPEC,crate::common::RW>::from_register(self,0)
1062    }
1063    #[doc = "ENB"]
1064    #[inline(always)]
1065    pub fn enb(
1066        self,
1067    ) -> crate::common::RegisterField<7, 0x1, 1, 0, rwkar::Enb, Rwkar_SPEC, crate::common::RW> {
1068        crate::common::RegisterField::<7,0x1,1,0,rwkar::Enb, Rwkar_SPEC,crate::common::RW>::from_register(self,0)
1069    }
1070}
1071impl ::core::default::Default for Rwkar {
1072    #[inline(always)]
1073    fn default() -> Rwkar {
1074        <crate::RegValueT<Rwkar_SPEC> as RegisterValue<_>>::new(0)
1075    }
1076}
1077pub mod rwkar {
1078
1079    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1080    pub struct Dayw_SPEC;
1081    pub type Dayw = crate::EnumBitfieldStruct<u8, Dayw_SPEC>;
1082    impl Dayw {
1083        #[doc = "Sunday"]
1084        pub const _000: Self = Self::new(0);
1085        #[doc = "Monday"]
1086        pub const _001: Self = Self::new(1);
1087        #[doc = "Tuesday"]
1088        pub const _010: Self = Self::new(2);
1089        #[doc = "Wednesday"]
1090        pub const _011: Self = Self::new(3);
1091        #[doc = "Thursday"]
1092        pub const _100: Self = Self::new(4);
1093        #[doc = "Friday"]
1094        pub const _101: Self = Self::new(5);
1095        #[doc = "Saturday"]
1096        pub const _110: Self = Self::new(6);
1097        #[doc = "Setting prohibited"]
1098        pub const _111: Self = Self::new(7);
1099    }
1100    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1101    pub struct Enb_SPEC;
1102    pub type Enb = crate::EnumBitfieldStruct<u8, Enb_SPEC>;
1103    impl Enb {
1104        #[doc = "Do not compare register value with RWKCNT counter value"]
1105        pub const _0: Self = Self::new(0);
1106        #[doc = "Compare register value with RWKCNT counter value"]
1107        pub const _1: Self = Self::new(1);
1108    }
1109}
1110#[doc(hidden)]
1111#[derive(Copy, Clone, Eq, PartialEq)]
1112pub struct Bcntaer_SPEC;
1113impl crate::sealed::RegSpec for Bcntaer_SPEC {
1114    type DataType = u8;
1115}
1116#[doc = "Binary Counter %s Alarm Enable Register"]
1117pub type Bcntaer = crate::RegValueT<Bcntaer_SPEC>;
1118
1119impl Bcntaer {
1120    #[doc = "Setting the alarm enable associated with the 32-bit binary counter"]
1121    #[inline(always)]
1122    pub fn enb(
1123        self,
1124    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, Bcntaer_SPEC, crate::common::RW> {
1125        crate::common::RegisterField::<0,0xff,1,0,u8, Bcntaer_SPEC,crate::common::RW>::from_register(self,0)
1126    }
1127}
1128impl ::core::default::Default for Bcntaer {
1129    #[inline(always)]
1130    fn default() -> Bcntaer {
1131        <crate::RegValueT<Bcntaer_SPEC> as RegisterValue<_>>::new(0)
1132    }
1133}
1134
1135#[doc(hidden)]
1136#[derive(Copy, Clone, Eq, PartialEq)]
1137pub struct Rdayar_SPEC;
1138impl crate::sealed::RegSpec for Rdayar_SPEC {
1139    type DataType = u8;
1140}
1141#[doc = "Date Alarm Register (in Calendar Count Mode)"]
1142pub type Rdayar = crate::RegValueT<Rdayar_SPEC>;
1143
1144impl Rdayar {
1145    #[doc = "1 Day"]
1146    #[inline(always)]
1147    pub fn date1(
1148        self,
1149    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Rdayar_SPEC, crate::common::RW> {
1150        crate::common::RegisterField::<0,0xf,1,0,u8, Rdayar_SPEC,crate::common::RW>::from_register(self,0)
1151    }
1152    #[doc = "10 Days"]
1153    #[inline(always)]
1154    pub fn date10(
1155        self,
1156    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, Rdayar_SPEC, crate::common::RW> {
1157        crate::common::RegisterField::<4,0x3,1,0,u8, Rdayar_SPEC,crate::common::RW>::from_register(self,0)
1158    }
1159    #[doc = "ENB"]
1160    #[inline(always)]
1161    pub fn enb(
1162        self,
1163    ) -> crate::common::RegisterField<7, 0x1, 1, 0, rdayar::Enb, Rdayar_SPEC, crate::common::RW>
1164    {
1165        crate::common::RegisterField::<7,0x1,1,0,rdayar::Enb, Rdayar_SPEC,crate::common::RW>::from_register(self,0)
1166    }
1167}
1168impl ::core::default::Default for Rdayar {
1169    #[inline(always)]
1170    fn default() -> Rdayar {
1171        <crate::RegValueT<Rdayar_SPEC> as RegisterValue<_>>::new(0)
1172    }
1173}
1174pub mod rdayar {
1175
1176    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1177    pub struct Enb_SPEC;
1178    pub type Enb = crate::EnumBitfieldStruct<u8, Enb_SPEC>;
1179    impl Enb {
1180        #[doc = "Do not compare register value with RDAYCNT counter value"]
1181        pub const _0: Self = Self::new(0);
1182        #[doc = "Compare register value with RDAYCNT counter value"]
1183        pub const _1: Self = Self::new(1);
1184    }
1185}
1186#[doc(hidden)]
1187#[derive(Copy, Clone, Eq, PartialEq)]
1188pub struct Rmonar_SPEC;
1189impl crate::sealed::RegSpec for Rmonar_SPEC {
1190    type DataType = u8;
1191}
1192#[doc = "Month Alarm Register (in Calendar Count Mode)"]
1193pub type Rmonar = crate::RegValueT<Rmonar_SPEC>;
1194
1195impl Rmonar {
1196    #[doc = "1 Month"]
1197    #[inline(always)]
1198    pub fn mon1(
1199        self,
1200    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Rmonar_SPEC, crate::common::RW> {
1201        crate::common::RegisterField::<0,0xf,1,0,u8, Rmonar_SPEC,crate::common::RW>::from_register(self,0)
1202    }
1203    #[doc = "10 Months"]
1204    #[inline(always)]
1205    pub fn mon10(
1206        self,
1207    ) -> crate::common::RegisterFieldBool<4, 1, 0, Rmonar_SPEC, crate::common::RW> {
1208        crate::common::RegisterFieldBool::<4, 1, 0, Rmonar_SPEC, crate::common::RW>::from_register(
1209            self, 0,
1210        )
1211    }
1212    #[doc = "ENB"]
1213    #[inline(always)]
1214    pub fn enb(
1215        self,
1216    ) -> crate::common::RegisterField<7, 0x1, 1, 0, rmonar::Enb, Rmonar_SPEC, crate::common::RW>
1217    {
1218        crate::common::RegisterField::<7,0x1,1,0,rmonar::Enb, Rmonar_SPEC,crate::common::RW>::from_register(self,0)
1219    }
1220}
1221impl ::core::default::Default for Rmonar {
1222    #[inline(always)]
1223    fn default() -> Rmonar {
1224        <crate::RegValueT<Rmonar_SPEC> as RegisterValue<_>>::new(0)
1225    }
1226}
1227pub mod rmonar {
1228
1229    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1230    pub struct Enb_SPEC;
1231    pub type Enb = crate::EnumBitfieldStruct<u8, Enb_SPEC>;
1232    impl Enb {
1233        #[doc = "Do not compare register value with RMONCNT counter value"]
1234        pub const _0: Self = Self::new(0);
1235        #[doc = "Compare register value with RMONCNT counter value"]
1236        pub const _1: Self = Self::new(1);
1237    }
1238}
1239#[doc(hidden)]
1240#[derive(Copy, Clone, Eq, PartialEq)]
1241pub struct Bcnt2Aer_SPEC;
1242impl crate::sealed::RegSpec for Bcnt2Aer_SPEC {
1243    type DataType = u16;
1244}
1245#[doc = "Binary Counter 2 Alarm Enable Register"]
1246pub type Bcnt2Aer = crate::RegValueT<Bcnt2Aer_SPEC>;
1247
1248impl Bcnt2Aer {
1249    #[doc = "Setting the alarm enable associated with the 32-bit binary counter"]
1250    #[inline(always)]
1251    pub fn enb(
1252        self,
1253    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, Bcnt2Aer_SPEC, crate::common::RW> {
1254        crate::common::RegisterField::<0,0xff,1,0,u8, Bcnt2Aer_SPEC,crate::common::RW>::from_register(self,0)
1255    }
1256}
1257impl ::core::default::Default for Bcnt2Aer {
1258    #[inline(always)]
1259    fn default() -> Bcnt2Aer {
1260        <crate::RegValueT<Bcnt2Aer_SPEC> as RegisterValue<_>>::new(0)
1261    }
1262}
1263
1264#[doc(hidden)]
1265#[derive(Copy, Clone, Eq, PartialEq)]
1266pub struct Ryrar_SPEC;
1267impl crate::sealed::RegSpec for Ryrar_SPEC {
1268    type DataType = u16;
1269}
1270#[doc = "Year Alarm Register (in Calendar Count Mode)"]
1271pub type Ryrar = crate::RegValueT<Ryrar_SPEC>;
1272
1273impl Ryrar {
1274    #[doc = "1 Year"]
1275    #[inline(always)]
1276    pub fn yr1(
1277        self,
1278    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Ryrar_SPEC, crate::common::RW> {
1279        crate::common::RegisterField::<0,0xf,1,0,u8, Ryrar_SPEC,crate::common::RW>::from_register(self,0)
1280    }
1281    #[doc = "10 Years"]
1282    #[inline(always)]
1283    pub fn yr10(
1284        self,
1285    ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, Ryrar_SPEC, crate::common::RW> {
1286        crate::common::RegisterField::<4,0xf,1,0,u8, Ryrar_SPEC,crate::common::RW>::from_register(self,0)
1287    }
1288}
1289impl ::core::default::Default for Ryrar {
1290    #[inline(always)]
1291    fn default() -> Ryrar {
1292        <crate::RegValueT<Ryrar_SPEC> as RegisterValue<_>>::new(0)
1293    }
1294}
1295
1296#[doc(hidden)]
1297#[derive(Copy, Clone, Eq, PartialEq)]
1298pub struct Bcnt3Aer_SPEC;
1299impl crate::sealed::RegSpec for Bcnt3Aer_SPEC {
1300    type DataType = u8;
1301}
1302#[doc = "Binary Counter 3 Alarm Enable Register"]
1303pub type Bcnt3Aer = crate::RegValueT<Bcnt3Aer_SPEC>;
1304
1305impl Bcnt3Aer {
1306    #[doc = "Setting the alarm enable associated with the 32-bit binary counter"]
1307    #[inline(always)]
1308    pub fn enb(
1309        self,
1310    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, Bcnt3Aer_SPEC, crate::common::RW> {
1311        crate::common::RegisterField::<0,0xff,1,0,u8, Bcnt3Aer_SPEC,crate::common::RW>::from_register(self,0)
1312    }
1313}
1314impl ::core::default::Default for Bcnt3Aer {
1315    #[inline(always)]
1316    fn default() -> Bcnt3Aer {
1317        <crate::RegValueT<Bcnt3Aer_SPEC> as RegisterValue<_>>::new(0)
1318    }
1319}
1320
1321#[doc(hidden)]
1322#[derive(Copy, Clone, Eq, PartialEq)]
1323pub struct Ryraren_SPEC;
1324impl crate::sealed::RegSpec for Ryraren_SPEC {
1325    type DataType = u8;
1326}
1327#[doc = "Year Alarm Enable Register (in Calendar Count Mode)"]
1328pub type Ryraren = crate::RegValueT<Ryraren_SPEC>;
1329
1330impl Ryraren {
1331    #[doc = "ENB"]
1332    #[inline(always)]
1333    pub fn enb(
1334        self,
1335    ) -> crate::common::RegisterField<7, 0x1, 1, 0, ryraren::Enb, Ryraren_SPEC, crate::common::RW>
1336    {
1337        crate::common::RegisterField::<7,0x1,1,0,ryraren::Enb, Ryraren_SPEC,crate::common::RW>::from_register(self,0)
1338    }
1339}
1340impl ::core::default::Default for Ryraren {
1341    #[inline(always)]
1342    fn default() -> Ryraren {
1343        <crate::RegValueT<Ryraren_SPEC> as RegisterValue<_>>::new(0)
1344    }
1345}
1346pub mod ryraren {
1347
1348    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1349    pub struct Enb_SPEC;
1350    pub type Enb = crate::EnumBitfieldStruct<u8, Enb_SPEC>;
1351    impl Enb {
1352        #[doc = "Do not compare register value with the RYRCNT counter value"]
1353        pub const _0: Self = Self::new(0);
1354        #[doc = "Compare register value with the RYRCNT counter value"]
1355        pub const _1: Self = Self::new(1);
1356    }
1357}
1358#[doc(hidden)]
1359#[derive(Copy, Clone, Eq, PartialEq)]
1360pub struct Rcr1_SPEC;
1361impl crate::sealed::RegSpec for Rcr1_SPEC {
1362    type DataType = u8;
1363}
1364#[doc = "RTC Control Register 1"]
1365pub type Rcr1 = crate::RegValueT<Rcr1_SPEC>;
1366
1367impl Rcr1 {
1368    #[doc = "Alarm Interrupt Enable"]
1369    #[inline(always)]
1370    pub fn aie(
1371        self,
1372    ) -> crate::common::RegisterField<0, 0x1, 1, 0, rcr1::Aie, Rcr1_SPEC, crate::common::RW> {
1373        crate::common::RegisterField::<0,0x1,1,0,rcr1::Aie, Rcr1_SPEC,crate::common::RW>::from_register(self,0)
1374    }
1375    #[doc = "Carry Interrupt Enable"]
1376    #[inline(always)]
1377    pub fn cie(
1378        self,
1379    ) -> crate::common::RegisterField<1, 0x1, 1, 0, rcr1::Cie, Rcr1_SPEC, crate::common::RW> {
1380        crate::common::RegisterField::<1,0x1,1,0,rcr1::Cie, Rcr1_SPEC,crate::common::RW>::from_register(self,0)
1381    }
1382    #[doc = "Periodic Interrupt Enable"]
1383    #[inline(always)]
1384    pub fn pie(
1385        self,
1386    ) -> crate::common::RegisterField<2, 0x1, 1, 0, rcr1::Pie, Rcr1_SPEC, crate::common::RW> {
1387        crate::common::RegisterField::<2,0x1,1,0,rcr1::Pie, Rcr1_SPEC,crate::common::RW>::from_register(self,0)
1388    }
1389    #[doc = "RTCOUT Output Select"]
1390    #[inline(always)]
1391    pub fn rtcos(
1392        self,
1393    ) -> crate::common::RegisterField<3, 0x1, 1, 0, rcr1::Rtcos, Rcr1_SPEC, crate::common::RW> {
1394        crate::common::RegisterField::<3,0x1,1,0,rcr1::Rtcos, Rcr1_SPEC,crate::common::RW>::from_register(self,0)
1395    }
1396    #[doc = "Periodic Interrupt Select"]
1397    #[inline(always)]
1398    pub fn pes(
1399        self,
1400    ) -> crate::common::RegisterField<4, 0xf, 1, 0, rcr1::Pes, Rcr1_SPEC, crate::common::RW> {
1401        crate::common::RegisterField::<4,0xf,1,0,rcr1::Pes, Rcr1_SPEC,crate::common::RW>::from_register(self,0)
1402    }
1403}
1404impl ::core::default::Default for Rcr1 {
1405    #[inline(always)]
1406    fn default() -> Rcr1 {
1407        <crate::RegValueT<Rcr1_SPEC> as RegisterValue<_>>::new(0)
1408    }
1409}
1410pub mod rcr1 {
1411
1412    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1413    pub struct Aie_SPEC;
1414    pub type Aie = crate::EnumBitfieldStruct<u8, Aie_SPEC>;
1415    impl Aie {
1416        #[doc = "Disable alarm interrupt requests"]
1417        pub const _0: Self = Self::new(0);
1418        #[doc = "Enable alarm interrupt requests"]
1419        pub const _1: Self = Self::new(1);
1420    }
1421    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1422    pub struct Cie_SPEC;
1423    pub type Cie = crate::EnumBitfieldStruct<u8, Cie_SPEC>;
1424    impl Cie {
1425        #[doc = "Disable carry interrupt requests"]
1426        pub const _0: Self = Self::new(0);
1427        #[doc = "Enable carry interrupt requests"]
1428        pub const _1: Self = Self::new(1);
1429    }
1430    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1431    pub struct Pie_SPEC;
1432    pub type Pie = crate::EnumBitfieldStruct<u8, Pie_SPEC>;
1433    impl Pie {
1434        #[doc = "Disable periodic interrupt requests"]
1435        pub const _0: Self = Self::new(0);
1436        #[doc = "Enable periodic interrupt requests"]
1437        pub const _1: Self = Self::new(1);
1438    }
1439    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1440    pub struct Rtcos_SPEC;
1441    pub type Rtcos = crate::EnumBitfieldStruct<u8, Rtcos_SPEC>;
1442    impl Rtcos {
1443        #[doc = "Outputs 1 Hz on RTCOUT"]
1444        pub const _0: Self = Self::new(0);
1445        #[doc = "Outputs 64 Hz RTCOUT"]
1446        pub const _1: Self = Self::new(1);
1447    }
1448    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1449    pub struct Pes_SPEC;
1450    pub type Pes = crate::EnumBitfieldStruct<u8, Pes_SPEC>;
1451    impl Pes {
1452        #[doc = "Generate periodic interrupt every 1/256 second"]
1453        pub const _0_X_6: Self = Self::new(6);
1454        #[doc = "Generate periodic interrupt every 1/128 second"]
1455        pub const _0_X_7: Self = Self::new(7);
1456        #[doc = "Generate periodic interrupt every 1/64 second"]
1457        pub const _0_X_8: Self = Self::new(8);
1458        #[doc = "Generate periodic interrupt every 1/32 second"]
1459        pub const _0_X_9: Self = Self::new(9);
1460        #[doc = "Generate periodic interrupt every 1/16 second"]
1461        pub const _0_X_A: Self = Self::new(10);
1462        #[doc = "Generate periodic interrupt every 1/8 second"]
1463        pub const _0_X_B: Self = Self::new(11);
1464        #[doc = "Generate periodic interrupt every 1/4 second"]
1465        pub const _0_X_C: Self = Self::new(12);
1466        #[doc = "Generate periodic interrupt every 1/2 second"]
1467        pub const _0_X_D: Self = Self::new(13);
1468        #[doc = "Generate periodic interrupt every 1 second"]
1469        pub const _0_X_E: Self = Self::new(14);
1470        #[doc = "Generate periodic interrupt every 2 seconds"]
1471        pub const _0_X_F: Self = Self::new(15);
1472        #[doc = "Do not generate periodic interrupts"]
1473        pub const OTHERS: Self = Self::new(0);
1474    }
1475}
1476#[doc(hidden)]
1477#[derive(Copy, Clone, Eq, PartialEq)]
1478pub struct Rcr2_SPEC;
1479impl crate::sealed::RegSpec for Rcr2_SPEC {
1480    type DataType = u8;
1481}
1482#[doc = "RTC Control Register 2 (in Calendar Count Mode)"]
1483pub type Rcr2 = crate::RegValueT<Rcr2_SPEC>;
1484
1485impl Rcr2 {
1486    #[doc = "Start"]
1487    #[inline(always)]
1488    pub fn start(
1489        self,
1490    ) -> crate::common::RegisterField<0, 0x1, 1, 0, rcr2::Start, Rcr2_SPEC, crate::common::RW> {
1491        crate::common::RegisterField::<0,0x1,1,0,rcr2::Start, Rcr2_SPEC,crate::common::RW>::from_register(self,0)
1492    }
1493    #[doc = "RTC Software Reset"]
1494    #[inline(always)]
1495    pub fn reset(
1496        self,
1497    ) -> crate::common::RegisterField<1, 0x1, 1, 0, rcr2::Reset, Rcr2_SPEC, crate::common::RW> {
1498        crate::common::RegisterField::<1,0x1,1,0,rcr2::Reset, Rcr2_SPEC,crate::common::RW>::from_register(self,0)
1499    }
1500    #[doc = "30-Second Adjustment"]
1501    #[inline(always)]
1502    pub fn adj30(
1503        self,
1504    ) -> crate::common::RegisterField<2, 0x1, 1, 0, rcr2::Adj30, Rcr2_SPEC, crate::common::RW> {
1505        crate::common::RegisterField::<2,0x1,1,0,rcr2::Adj30, Rcr2_SPEC,crate::common::RW>::from_register(self,0)
1506    }
1507    #[doc = "RTCOUT Output Enable"]
1508    #[inline(always)]
1509    pub fn rtcoe(
1510        self,
1511    ) -> crate::common::RegisterField<3, 0x1, 1, 0, rcr2::Rtcoe, Rcr2_SPEC, crate::common::RW> {
1512        crate::common::RegisterField::<3,0x1,1,0,rcr2::Rtcoe, Rcr2_SPEC,crate::common::RW>::from_register(self,0)
1513    }
1514    #[doc = "Automatic Adjustment Enable"]
1515    #[inline(always)]
1516    pub fn aadje(
1517        self,
1518    ) -> crate::common::RegisterField<4, 0x1, 1, 0, rcr2::Aadje, Rcr2_SPEC, crate::common::RW> {
1519        crate::common::RegisterField::<4,0x1,1,0,rcr2::Aadje, Rcr2_SPEC,crate::common::RW>::from_register(self,0)
1520    }
1521    #[doc = "Automatic Adjustment Period Select"]
1522    #[inline(always)]
1523    pub fn aadjp(
1524        self,
1525    ) -> crate::common::RegisterField<5, 0x1, 1, 0, rcr2::Aadjp, Rcr2_SPEC, crate::common::RW> {
1526        crate::common::RegisterField::<5,0x1,1,0,rcr2::Aadjp, Rcr2_SPEC,crate::common::RW>::from_register(self,0)
1527    }
1528    #[doc = "Hours Mode"]
1529    #[inline(always)]
1530    pub fn hr24(
1531        self,
1532    ) -> crate::common::RegisterField<6, 0x1, 1, 0, rcr2::Hr24, Rcr2_SPEC, crate::common::RW> {
1533        crate::common::RegisterField::<6,0x1,1,0,rcr2::Hr24, Rcr2_SPEC,crate::common::RW>::from_register(self,0)
1534    }
1535    #[doc = "Count Mode Select"]
1536    #[inline(always)]
1537    pub fn cntmd(
1538        self,
1539    ) -> crate::common::RegisterField<7, 0x1, 1, 0, rcr2::Cntmd, Rcr2_SPEC, crate::common::RW> {
1540        crate::common::RegisterField::<7,0x1,1,0,rcr2::Cntmd, Rcr2_SPEC,crate::common::RW>::from_register(self,0)
1541    }
1542}
1543impl ::core::default::Default for Rcr2 {
1544    #[inline(always)]
1545    fn default() -> Rcr2 {
1546        <crate::RegValueT<Rcr2_SPEC> as RegisterValue<_>>::new(0)
1547    }
1548}
1549pub mod rcr2 {
1550
1551    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1552    pub struct Start_SPEC;
1553    pub type Start = crate::EnumBitfieldStruct<u8, Start_SPEC>;
1554    impl Start {
1555        #[doc = "Stop prescaler and time counter"]
1556        pub const _0: Self = Self::new(0);
1557        #[doc = "Operate prescaler and time counter normally"]
1558        pub const _1: Self = Self::new(1);
1559    }
1560    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1561    pub struct Reset_SPEC;
1562    pub type Reset = crate::EnumBitfieldStruct<u8, Reset_SPEC>;
1563    impl Reset {
1564        #[doc = "In writing: Invalid (writing 0 has no effect). In reading: Normal time operation in progress, or an RTC software reset has completed."]
1565        pub const _0: Self = Self::new(0);
1566        #[doc = "In writing: Initialize the prescaler and target registers for RTC software reset. In reading: RTC software reset in progress."]
1567        pub const _1: Self = Self::new(1);
1568    }
1569    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1570    pub struct Adj30_SPEC;
1571    pub type Adj30 = crate::EnumBitfieldStruct<u8, Adj30_SPEC>;
1572    impl Adj30 {
1573        #[doc = "In writing: Invalid (writing 0 has no effect). In reading: Normal time operation in progress, or 30-second adjustment has completed."]
1574        pub const _0: Self = Self::new(0);
1575        #[doc = "In writing: Execute 30-second adjustment. In reading: 30-second adjustment in progress."]
1576        pub const _1: Self = Self::new(1);
1577    }
1578    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1579    pub struct Rtcoe_SPEC;
1580    pub type Rtcoe = crate::EnumBitfieldStruct<u8, Rtcoe_SPEC>;
1581    impl Rtcoe {
1582        #[doc = "Disable RTCOUT output"]
1583        pub const _0: Self = Self::new(0);
1584        #[doc = "Enable RTCOUT output"]
1585        pub const _1: Self = Self::new(1);
1586    }
1587    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1588    pub struct Aadje_SPEC;
1589    pub type Aadje = crate::EnumBitfieldStruct<u8, Aadje_SPEC>;
1590    impl Aadje {
1591        #[doc = "Disable automatic adjustment"]
1592        pub const _0: Self = Self::new(0);
1593        #[doc = "Enable automatic adjustment"]
1594        pub const _1: Self = Self::new(1);
1595    }
1596    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1597    pub struct Aadjp_SPEC;
1598    pub type Aadjp = crate::EnumBitfieldStruct<u8, Aadjp_SPEC>;
1599    impl Aadjp {
1600        #[doc = "The RADJ.ADJ\\[5:0\\] setting from the count value of the prescaler every minute."]
1601        pub const _0: Self = Self::new(0);
1602        #[doc = "The RADJ.ADJ\\[5:0\\] setting value is adjusted from the coun tvalue of the prescaler every 10 seconds."]
1603        pub const _1: Self = Self::new(1);
1604    }
1605    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1606    pub struct Hr24_SPEC;
1607    pub type Hr24 = crate::EnumBitfieldStruct<u8, Hr24_SPEC>;
1608    impl Hr24 {
1609        #[doc = "Operate RTC in 12-hour mode"]
1610        pub const _0: Self = Self::new(0);
1611        #[doc = "Operate RTC in 24-hour mode"]
1612        pub const _1: Self = Self::new(1);
1613    }
1614    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1615    pub struct Cntmd_SPEC;
1616    pub type Cntmd = crate::EnumBitfieldStruct<u8, Cntmd_SPEC>;
1617    impl Cntmd {
1618        #[doc = "Calendar count mode"]
1619        pub const _0: Self = Self::new(0);
1620        #[doc = "Binary count mode"]
1621        pub const _1: Self = Self::new(1);
1622    }
1623}
1624#[doc(hidden)]
1625#[derive(Copy, Clone, Eq, PartialEq)]
1626pub struct Rcr2Bcnt_SPEC;
1627impl crate::sealed::RegSpec for Rcr2Bcnt_SPEC {
1628    type DataType = u8;
1629}
1630#[doc = "RTC Control Register 2 (in Binary Count Mode)"]
1631pub type Rcr2Bcnt = crate::RegValueT<Rcr2Bcnt_SPEC>;
1632
1633impl Rcr2Bcnt {
1634    #[doc = "Start"]
1635    #[inline(always)]
1636    pub fn start(
1637        self,
1638    ) -> crate::common::RegisterField<
1639        0,
1640        0x1,
1641        1,
1642        0,
1643        rcr2_bcnt::Start,
1644        Rcr2Bcnt_SPEC,
1645        crate::common::RW,
1646    > {
1647        crate::common::RegisterField::<
1648            0,
1649            0x1,
1650            1,
1651            0,
1652            rcr2_bcnt::Start,
1653            Rcr2Bcnt_SPEC,
1654            crate::common::RW,
1655        >::from_register(self, 0)
1656    }
1657    #[doc = "RTC Software Reset"]
1658    #[inline(always)]
1659    pub fn reset(
1660        self,
1661    ) -> crate::common::RegisterField<
1662        1,
1663        0x1,
1664        1,
1665        0,
1666        rcr2_bcnt::Reset,
1667        Rcr2Bcnt_SPEC,
1668        crate::common::RW,
1669    > {
1670        crate::common::RegisterField::<
1671            1,
1672            0x1,
1673            1,
1674            0,
1675            rcr2_bcnt::Reset,
1676            Rcr2Bcnt_SPEC,
1677            crate::common::RW,
1678        >::from_register(self, 0)
1679    }
1680    #[doc = "RTCOUT Output Enable"]
1681    #[inline(always)]
1682    pub fn rtcoe(
1683        self,
1684    ) -> crate::common::RegisterField<
1685        3,
1686        0x1,
1687        1,
1688        0,
1689        rcr2_bcnt::Rtcoe,
1690        Rcr2Bcnt_SPEC,
1691        crate::common::RW,
1692    > {
1693        crate::common::RegisterField::<
1694            3,
1695            0x1,
1696            1,
1697            0,
1698            rcr2_bcnt::Rtcoe,
1699            Rcr2Bcnt_SPEC,
1700            crate::common::RW,
1701        >::from_register(self, 0)
1702    }
1703    #[doc = "Automatic Adjustment Enable"]
1704    #[inline(always)]
1705    pub fn aadje(
1706        self,
1707    ) -> crate::common::RegisterField<
1708        4,
1709        0x1,
1710        1,
1711        0,
1712        rcr2_bcnt::Aadje,
1713        Rcr2Bcnt_SPEC,
1714        crate::common::RW,
1715    > {
1716        crate::common::RegisterField::<
1717            4,
1718            0x1,
1719            1,
1720            0,
1721            rcr2_bcnt::Aadje,
1722            Rcr2Bcnt_SPEC,
1723            crate::common::RW,
1724        >::from_register(self, 0)
1725    }
1726    #[doc = "Automatic Adjustment Period Select"]
1727    #[inline(always)]
1728    pub fn aadjp(
1729        self,
1730    ) -> crate::common::RegisterField<
1731        5,
1732        0x1,
1733        1,
1734        0,
1735        rcr2_bcnt::Aadjp,
1736        Rcr2Bcnt_SPEC,
1737        crate::common::RW,
1738    > {
1739        crate::common::RegisterField::<
1740            5,
1741            0x1,
1742            1,
1743            0,
1744            rcr2_bcnt::Aadjp,
1745            Rcr2Bcnt_SPEC,
1746            crate::common::RW,
1747        >::from_register(self, 0)
1748    }
1749    #[doc = "Count Mode Select"]
1750    #[inline(always)]
1751    pub fn cntmd(
1752        self,
1753    ) -> crate::common::RegisterField<
1754        7,
1755        0x1,
1756        1,
1757        0,
1758        rcr2_bcnt::Cntmd,
1759        Rcr2Bcnt_SPEC,
1760        crate::common::RW,
1761    > {
1762        crate::common::RegisterField::<
1763            7,
1764            0x1,
1765            1,
1766            0,
1767            rcr2_bcnt::Cntmd,
1768            Rcr2Bcnt_SPEC,
1769            crate::common::RW,
1770        >::from_register(self, 0)
1771    }
1772}
1773impl ::core::default::Default for Rcr2Bcnt {
1774    #[inline(always)]
1775    fn default() -> Rcr2Bcnt {
1776        <crate::RegValueT<Rcr2Bcnt_SPEC> as RegisterValue<_>>::new(0)
1777    }
1778}
1779pub mod rcr2_bcnt {
1780
1781    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1782    pub struct Start_SPEC;
1783    pub type Start = crate::EnumBitfieldStruct<u8, Start_SPEC>;
1784    impl Start {
1785        #[doc = "Stop the 32-bit binary counter, 64-Hz counter, and prescaler"]
1786        pub const _0: Self = Self::new(0);
1787        #[doc = "Operate the 32-bit binary counter, 64-Hz counter, and prescaler normally"]
1788        pub const _1: Self = Self::new(1);
1789    }
1790    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1791    pub struct Reset_SPEC;
1792    pub type Reset = crate::EnumBitfieldStruct<u8, Reset_SPEC>;
1793    impl Reset {
1794        #[doc = "In writing: Invalid (writing 0 has no effect). In reading: Normal time operation in progress, or an RTC software reset has completed."]
1795        pub const _0: Self = Self::new(0);
1796        #[doc = "In writing: Initialize the prescaler and target registers for RTC software reset. In reading: RTC software reset in progress."]
1797        pub const _1: Self = Self::new(1);
1798    }
1799    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1800    pub struct Rtcoe_SPEC;
1801    pub type Rtcoe = crate::EnumBitfieldStruct<u8, Rtcoe_SPEC>;
1802    impl Rtcoe {
1803        #[doc = "Disable RTCOUT output"]
1804        pub const _0: Self = Self::new(0);
1805        #[doc = "Enable RTCOUT output"]
1806        pub const _1: Self = Self::new(1);
1807    }
1808    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1809    pub struct Aadje_SPEC;
1810    pub type Aadje = crate::EnumBitfieldStruct<u8, Aadje_SPEC>;
1811    impl Aadje {
1812        #[doc = "Disable automatic adjustment"]
1813        pub const _0: Self = Self::new(0);
1814        #[doc = "Enable automatic adjustment"]
1815        pub const _1: Self = Self::new(1);
1816    }
1817    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1818    pub struct Aadjp_SPEC;
1819    pub type Aadjp = crate::EnumBitfieldStruct<u8, Aadjp_SPEC>;
1820    impl Aadjp {
1821        #[doc = "Add or subtract RADJ.ADJ \\[5:0\\] bits from prescaler count value every 32 seconds"]
1822        pub const _0: Self = Self::new(0);
1823        #[doc = "Add or subtract RADJ.ADJ \\[5:0\\] bits from prescaler countvalue every 8 seconds."]
1824        pub const _1: Self = Self::new(1);
1825    }
1826    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1827    pub struct Cntmd_SPEC;
1828    pub type Cntmd = crate::EnumBitfieldStruct<u8, Cntmd_SPEC>;
1829    impl Cntmd {
1830        #[doc = "Calendar count mode"]
1831        pub const _0: Self = Self::new(0);
1832        #[doc = "Binary count mode"]
1833        pub const _1: Self = Self::new(1);
1834    }
1835}
1836#[doc(hidden)]
1837#[derive(Copy, Clone, Eq, PartialEq)]
1838pub struct Rcr4_SPEC;
1839impl crate::sealed::RegSpec for Rcr4_SPEC {
1840    type DataType = u8;
1841}
1842#[doc = "RTC Control Register 4"]
1843pub type Rcr4 = crate::RegValueT<Rcr4_SPEC>;
1844
1845impl Rcr4 {
1846    #[doc = "Count Source Select"]
1847    #[inline(always)]
1848    pub fn rcksel(
1849        self,
1850    ) -> crate::common::RegisterField<0, 0x1, 1, 0, rcr4::Rcksel, Rcr4_SPEC, crate::common::RW>
1851    {
1852        crate::common::RegisterField::<0,0x1,1,0,rcr4::Rcksel, Rcr4_SPEC,crate::common::RW>::from_register(self,0)
1853    }
1854}
1855impl ::core::default::Default for Rcr4 {
1856    #[inline(always)]
1857    fn default() -> Rcr4 {
1858        <crate::RegValueT<Rcr4_SPEC> as RegisterValue<_>>::new(0)
1859    }
1860}
1861pub mod rcr4 {
1862
1863    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1864    pub struct Rcksel_SPEC;
1865    pub type Rcksel = crate::EnumBitfieldStruct<u8, Rcksel_SPEC>;
1866    impl Rcksel {
1867        #[doc = "Sub-clock oscillator is selected"]
1868        pub const _0: Self = Self::new(0);
1869        #[doc = "LOCO is selected"]
1870        pub const _1: Self = Self::new(1);
1871    }
1872}
1873#[doc(hidden)]
1874#[derive(Copy, Clone, Eq, PartialEq)]
1875pub struct Rfrh_SPEC;
1876impl crate::sealed::RegSpec for Rfrh_SPEC {
1877    type DataType = u16;
1878}
1879#[doc = "Frequency Register H"]
1880pub type Rfrh = crate::RegValueT<Rfrh_SPEC>;
1881
1882impl Rfrh {
1883    #[doc = "Write 0 before writing to the RFRL register after a cold start."]
1884    #[inline(always)]
1885    pub fn rfc16(self) -> crate::common::RegisterFieldBool<0, 1, 0, Rfrh_SPEC, crate::common::RW> {
1886        crate::common::RegisterFieldBool::<0, 1, 0, Rfrh_SPEC, crate::common::RW>::from_register(
1887            self, 0,
1888        )
1889    }
1890}
1891impl ::core::default::Default for Rfrh {
1892    #[inline(always)]
1893    fn default() -> Rfrh {
1894        <crate::RegValueT<Rfrh_SPEC> as RegisterValue<_>>::new(0)
1895    }
1896}
1897
1898#[doc(hidden)]
1899#[derive(Copy, Clone, Eq, PartialEq)]
1900pub struct Rfrl_SPEC;
1901impl crate::sealed::RegSpec for Rfrl_SPEC {
1902    type DataType = u16;
1903}
1904#[doc = "Frequency Register L"]
1905pub type Rfrl = crate::RegValueT<Rfrl_SPEC>;
1906
1907impl Rfrl {
1908    #[doc = "Frequency Comparison Value"]
1909    #[inline(always)]
1910    pub fn rfc(
1911        self,
1912    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, Rfrl_SPEC, crate::common::RW> {
1913        crate::common::RegisterField::<0,0xffff,1,0,u16, Rfrl_SPEC,crate::common::RW>::from_register(self,0)
1914    }
1915}
1916impl ::core::default::Default for Rfrl {
1917    #[inline(always)]
1918    fn default() -> Rfrl {
1919        <crate::RegValueT<Rfrl_SPEC> as RegisterValue<_>>::new(0)
1920    }
1921}
1922
1923#[doc(hidden)]
1924#[derive(Copy, Clone, Eq, PartialEq)]
1925pub struct Radj_SPEC;
1926impl crate::sealed::RegSpec for Radj_SPEC {
1927    type DataType = u8;
1928}
1929#[doc = "Time Error Adjustment Register"]
1930pub type Radj = crate::RegValueT<Radj_SPEC>;
1931
1932impl Radj {
1933    #[doc = "Adjustment Value"]
1934    #[inline(always)]
1935    pub fn adj(
1936        self,
1937    ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, Radj_SPEC, crate::common::RW> {
1938        crate::common::RegisterField::<0,0x3f,1,0,u8, Radj_SPEC,crate::common::RW>::from_register(self,0)
1939    }
1940    #[doc = "Plus-Minus"]
1941    #[inline(always)]
1942    pub fn pmadj(
1943        self,
1944    ) -> crate::common::RegisterField<6, 0x3, 1, 0, radj::Pmadj, Radj_SPEC, crate::common::RW> {
1945        crate::common::RegisterField::<6,0x3,1,0,radj::Pmadj, Radj_SPEC,crate::common::RW>::from_register(self,0)
1946    }
1947}
1948impl ::core::default::Default for Radj {
1949    #[inline(always)]
1950    fn default() -> Radj {
1951        <crate::RegValueT<Radj_SPEC> as RegisterValue<_>>::new(0)
1952    }
1953}
1954pub mod radj {
1955
1956    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1957    pub struct Pmadj_SPEC;
1958    pub type Pmadj = crate::EnumBitfieldStruct<u8, Pmadj_SPEC>;
1959    impl Pmadj {
1960        #[doc = "Do not perform adjustment."]
1961        pub const _00: Self = Self::new(0);
1962        #[doc = "Adjustment is performed by the addition to the prescaler"]
1963        pub const _01: Self = Self::new(1);
1964        #[doc = "Adjustment is performed by the subtraction from the prescaler"]
1965        pub const _10: Self = Self::new(2);
1966        #[doc = "Setting prohibited."]
1967        pub const _11: Self = Self::new(3);
1968    }
1969}
1970#[doc(hidden)]
1971#[derive(Copy, Clone, Eq, PartialEq)]
1972pub struct Rtccr_SPEC;
1973impl crate::sealed::RegSpec for Rtccr_SPEC {
1974    type DataType = u8;
1975}
1976#[doc = "Time Capture Control Register %s"]
1977pub type Rtccr = crate::RegValueT<Rtccr_SPEC>;
1978
1979impl Rtccr {
1980    #[doc = "Time Capture Control"]
1981    #[inline(always)]
1982    pub fn tcct(
1983        self,
1984    ) -> crate::common::RegisterField<0, 0x3, 1, 0, rtccr::Tcct, Rtccr_SPEC, crate::common::RW>
1985    {
1986        crate::common::RegisterField::<0,0x3,1,0,rtccr::Tcct, Rtccr_SPEC,crate::common::RW>::from_register(self,0)
1987    }
1988    #[doc = "Time Capture Status"]
1989    #[inline(always)]
1990    pub fn tcst(
1991        self,
1992    ) -> crate::common::RegisterField<2, 0x1, 1, 0, rtccr::Tcst, Rtccr_SPEC, crate::common::RW>
1993    {
1994        crate::common::RegisterField::<2,0x1,1,0,rtccr::Tcst, Rtccr_SPEC,crate::common::RW>::from_register(self,0)
1995    }
1996    #[doc = "Time Capture Noise Filter Control"]
1997    #[inline(always)]
1998    pub fn tcnf(
1999        self,
2000    ) -> crate::common::RegisterField<4, 0x3, 1, 0, rtccr::Tcnf, Rtccr_SPEC, crate::common::RW>
2001    {
2002        crate::common::RegisterField::<4,0x3,1,0,rtccr::Tcnf, Rtccr_SPEC,crate::common::RW>::from_register(self,0)
2003    }
2004    #[doc = "Time Capture Event Input Pin Enable"]
2005    #[inline(always)]
2006    pub fn tcen(
2007        self,
2008    ) -> crate::common::RegisterField<7, 0x1, 1, 0, rtccr::Tcen, Rtccr_SPEC, crate::common::RW>
2009    {
2010        crate::common::RegisterField::<7,0x1,1,0,rtccr::Tcen, Rtccr_SPEC,crate::common::RW>::from_register(self,0)
2011    }
2012}
2013impl ::core::default::Default for Rtccr {
2014    #[inline(always)]
2015    fn default() -> Rtccr {
2016        <crate::RegValueT<Rtccr_SPEC> as RegisterValue<_>>::new(0)
2017    }
2018}
2019pub mod rtccr {
2020
2021    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2022    pub struct Tcct_SPEC;
2023    pub type Tcct = crate::EnumBitfieldStruct<u8, Tcct_SPEC>;
2024    impl Tcct {
2025        #[doc = "Do not detect events"]
2026        pub const _00: Self = Self::new(0);
2027        #[doc = "Detect rising edge"]
2028        pub const _01: Self = Self::new(1);
2029        #[doc = "Detect falling edge"]
2030        pub const _10: Self = Self::new(2);
2031        #[doc = "Detect both edges"]
2032        pub const _11: Self = Self::new(3);
2033    }
2034    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2035    pub struct Tcst_SPEC;
2036    pub type Tcst = crate::EnumBitfieldStruct<u8, Tcst_SPEC>;
2037    impl Tcst {
2038        #[doc = "No event detected"]
2039        pub const _0: Self = Self::new(0);
2040        #[doc = "Event detected"]
2041        pub const _1: Self = Self::new(1);
2042    }
2043    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2044    pub struct Tcnf_SPEC;
2045    pub type Tcnf = crate::EnumBitfieldStruct<u8, Tcnf_SPEC>;
2046    impl Tcnf {
2047        #[doc = "Turn noise filter off"]
2048        pub const _00: Self = Self::new(0);
2049        #[doc = "Setting prohibited"]
2050        pub const _01: Self = Self::new(1);
2051        #[doc = "Turn noise filter on (count source)"]
2052        pub const _10: Self = Self::new(2);
2053        #[doc = "Turn noise filter on (count source by divided by 32)"]
2054        pub const _11: Self = Self::new(3);
2055    }
2056    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2057    pub struct Tcen_SPEC;
2058    pub type Tcen = crate::EnumBitfieldStruct<u8, Tcen_SPEC>;
2059    impl Tcen {
2060        #[doc = "Disable the RTCICn pin as the time capture event input pin"]
2061        pub const _0: Self = Self::new(0);
2062        #[doc = "Enable the RTCICn pin as the time capture event input pin"]
2063        pub const _1: Self = Self::new(1);
2064    }
2065}
2066#[doc(hidden)]
2067#[derive(Copy, Clone, Eq, PartialEq)]
2068pub struct Bcnt0Cp_SPEC;
2069impl crate::sealed::RegSpec for Bcnt0Cp_SPEC {
2070    type DataType = u8;
2071}
2072#[doc = "BCNT0 Capture Register %s"]
2073pub type Bcnt0Cp = crate::RegValueT<Bcnt0Cp_SPEC>;
2074
2075impl NoBitfieldReg<Bcnt0Cp_SPEC> for Bcnt0Cp {}
2076impl ::core::default::Default for Bcnt0Cp {
2077    #[inline(always)]
2078    fn default() -> Bcnt0Cp {
2079        <crate::RegValueT<Bcnt0Cp_SPEC> as RegisterValue<_>>::new(0)
2080    }
2081}
2082
2083#[doc(hidden)]
2084#[derive(Copy, Clone, Eq, PartialEq)]
2085pub struct Rseccp_SPEC;
2086impl crate::sealed::RegSpec for Rseccp_SPEC {
2087    type DataType = u8;
2088}
2089#[doc = "Second Capture Register %s"]
2090pub type Rseccp = crate::RegValueT<Rseccp_SPEC>;
2091
2092impl Rseccp {
2093    #[doc = "1-Second Capture"]
2094    #[inline(always)]
2095    pub fn sec1(
2096        self,
2097    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Rseccp_SPEC, crate::common::R> {
2098        crate::common::RegisterField::<0,0xf,1,0,u8, Rseccp_SPEC,crate::common::R>::from_register(self,0)
2099    }
2100    #[doc = "10-Second Capture"]
2101    #[inline(always)]
2102    pub fn sec10(
2103        self,
2104    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, Rseccp_SPEC, crate::common::R> {
2105        crate::common::RegisterField::<4,0x7,1,0,u8, Rseccp_SPEC,crate::common::R>::from_register(self,0)
2106    }
2107}
2108impl ::core::default::Default for Rseccp {
2109    #[inline(always)]
2110    fn default() -> Rseccp {
2111        <crate::RegValueT<Rseccp_SPEC> as RegisterValue<_>>::new(0)
2112    }
2113}
2114
2115#[doc(hidden)]
2116#[derive(Copy, Clone, Eq, PartialEq)]
2117pub struct Bcnt1Cp_SPEC;
2118impl crate::sealed::RegSpec for Bcnt1Cp_SPEC {
2119    type DataType = u8;
2120}
2121#[doc = "BCNT1 Capture Register %s"]
2122pub type Bcnt1Cp = crate::RegValueT<Bcnt1Cp_SPEC>;
2123
2124impl NoBitfieldReg<Bcnt1Cp_SPEC> for Bcnt1Cp {}
2125impl ::core::default::Default for Bcnt1Cp {
2126    #[inline(always)]
2127    fn default() -> Bcnt1Cp {
2128        <crate::RegValueT<Bcnt1Cp_SPEC> as RegisterValue<_>>::new(0)
2129    }
2130}
2131
2132#[doc(hidden)]
2133#[derive(Copy, Clone, Eq, PartialEq)]
2134pub struct Rmincp_SPEC;
2135impl crate::sealed::RegSpec for Rmincp_SPEC {
2136    type DataType = u8;
2137}
2138#[doc = "Minute Capture Register %s"]
2139pub type Rmincp = crate::RegValueT<Rmincp_SPEC>;
2140
2141impl Rmincp {
2142    #[doc = "1-Minute Capture"]
2143    #[inline(always)]
2144    pub fn min1(
2145        self,
2146    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Rmincp_SPEC, crate::common::R> {
2147        crate::common::RegisterField::<0,0xf,1,0,u8, Rmincp_SPEC,crate::common::R>::from_register(self,0)
2148    }
2149    #[doc = "10-Minute Capture"]
2150    #[inline(always)]
2151    pub fn min10(
2152        self,
2153    ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, Rmincp_SPEC, crate::common::R> {
2154        crate::common::RegisterField::<4,0x7,1,0,u8, Rmincp_SPEC,crate::common::R>::from_register(self,0)
2155    }
2156}
2157impl ::core::default::Default for Rmincp {
2158    #[inline(always)]
2159    fn default() -> Rmincp {
2160        <crate::RegValueT<Rmincp_SPEC> as RegisterValue<_>>::new(0)
2161    }
2162}
2163
2164#[doc(hidden)]
2165#[derive(Copy, Clone, Eq, PartialEq)]
2166pub struct Bcnt2Cp_SPEC;
2167impl crate::sealed::RegSpec for Bcnt2Cp_SPEC {
2168    type DataType = u8;
2169}
2170#[doc = "BCNT2 Capture Register %s"]
2171pub type Bcnt2Cp = crate::RegValueT<Bcnt2Cp_SPEC>;
2172
2173impl NoBitfieldReg<Bcnt2Cp_SPEC> for Bcnt2Cp {}
2174impl ::core::default::Default for Bcnt2Cp {
2175    #[inline(always)]
2176    fn default() -> Bcnt2Cp {
2177        <crate::RegValueT<Bcnt2Cp_SPEC> as RegisterValue<_>>::new(0)
2178    }
2179}
2180
2181#[doc(hidden)]
2182#[derive(Copy, Clone, Eq, PartialEq)]
2183pub struct Rhrcp_SPEC;
2184impl crate::sealed::RegSpec for Rhrcp_SPEC {
2185    type DataType = u8;
2186}
2187#[doc = "Hour Capture Register %s"]
2188pub type Rhrcp = crate::RegValueT<Rhrcp_SPEC>;
2189
2190impl Rhrcp {
2191    #[doc = "1-Hour Capture"]
2192    #[inline(always)]
2193    pub fn hr1(
2194        self,
2195    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Rhrcp_SPEC, crate::common::R> {
2196        crate::common::RegisterField::<0,0xf,1,0,u8, Rhrcp_SPEC,crate::common::R>::from_register(self,0)
2197    }
2198    #[doc = "10-Hour Capture"]
2199    #[inline(always)]
2200    pub fn hr10(
2201        self,
2202    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, Rhrcp_SPEC, crate::common::R> {
2203        crate::common::RegisterField::<4,0x3,1,0,u8, Rhrcp_SPEC,crate::common::R>::from_register(self,0)
2204    }
2205    #[doc = "PM"]
2206    #[inline(always)]
2207    pub fn pm(
2208        self,
2209    ) -> crate::common::RegisterField<6, 0x1, 1, 0, rhrcp::Pm, Rhrcp_SPEC, crate::common::R> {
2210        crate::common::RegisterField::<6,0x1,1,0,rhrcp::Pm, Rhrcp_SPEC,crate::common::R>::from_register(self,0)
2211    }
2212}
2213impl ::core::default::Default for Rhrcp {
2214    #[inline(always)]
2215    fn default() -> Rhrcp {
2216        <crate::RegValueT<Rhrcp_SPEC> as RegisterValue<_>>::new(0)
2217    }
2218}
2219pub mod rhrcp {
2220
2221    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2222    pub struct Pm_SPEC;
2223    pub type Pm = crate::EnumBitfieldStruct<u8, Pm_SPEC>;
2224    impl Pm {
2225        #[doc = "AM"]
2226        pub const _0: Self = Self::new(0);
2227        #[doc = "PM"]
2228        pub const _1: Self = Self::new(1);
2229    }
2230}
2231#[doc(hidden)]
2232#[derive(Copy, Clone, Eq, PartialEq)]
2233pub struct Bcnt3Cp_SPEC;
2234impl crate::sealed::RegSpec for Bcnt3Cp_SPEC {
2235    type DataType = u8;
2236}
2237#[doc = "BCNT3 Capture Register %s"]
2238pub type Bcnt3Cp = crate::RegValueT<Bcnt3Cp_SPEC>;
2239
2240impl NoBitfieldReg<Bcnt3Cp_SPEC> for Bcnt3Cp {}
2241impl ::core::default::Default for Bcnt3Cp {
2242    #[inline(always)]
2243    fn default() -> Bcnt3Cp {
2244        <crate::RegValueT<Bcnt3Cp_SPEC> as RegisterValue<_>>::new(0)
2245    }
2246}
2247
2248#[doc(hidden)]
2249#[derive(Copy, Clone, Eq, PartialEq)]
2250pub struct Rdaycp_SPEC;
2251impl crate::sealed::RegSpec for Rdaycp_SPEC {
2252    type DataType = u8;
2253}
2254#[doc = "Date Capture Register %s"]
2255pub type Rdaycp = crate::RegValueT<Rdaycp_SPEC>;
2256
2257impl Rdaycp {
2258    #[doc = "1-Day Capture"]
2259    #[inline(always)]
2260    pub fn date1(
2261        self,
2262    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Rdaycp_SPEC, crate::common::R> {
2263        crate::common::RegisterField::<0,0xf,1,0,u8, Rdaycp_SPEC,crate::common::R>::from_register(self,0)
2264    }
2265    #[doc = "10-Day Capture"]
2266    #[inline(always)]
2267    pub fn date10(
2268        self,
2269    ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, Rdaycp_SPEC, crate::common::R> {
2270        crate::common::RegisterField::<4,0x3,1,0,u8, Rdaycp_SPEC,crate::common::R>::from_register(self,0)
2271    }
2272}
2273impl ::core::default::Default for Rdaycp {
2274    #[inline(always)]
2275    fn default() -> Rdaycp {
2276        <crate::RegValueT<Rdaycp_SPEC> as RegisterValue<_>>::new(0)
2277    }
2278}
2279
2280#[doc(hidden)]
2281#[derive(Copy, Clone, Eq, PartialEq)]
2282pub struct Rmoncp_SPEC;
2283impl crate::sealed::RegSpec for Rmoncp_SPEC {
2284    type DataType = u8;
2285}
2286#[doc = "Month Capture Register %s"]
2287pub type Rmoncp = crate::RegValueT<Rmoncp_SPEC>;
2288
2289impl Rmoncp {
2290    #[doc = "1-Month Capture"]
2291    #[inline(always)]
2292    pub fn mon1(
2293        self,
2294    ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, Rmoncp_SPEC, crate::common::R> {
2295        crate::common::RegisterField::<0,0xf,1,0,u8, Rmoncp_SPEC,crate::common::R>::from_register(self,0)
2296    }
2297    #[doc = "10-Month Capture"]
2298    #[inline(always)]
2299    pub fn mon10(self) -> crate::common::RegisterFieldBool<4, 1, 0, Rmoncp_SPEC, crate::common::R> {
2300        crate::common::RegisterFieldBool::<4, 1, 0, Rmoncp_SPEC, crate::common::R>::from_register(
2301            self, 0,
2302        )
2303    }
2304}
2305impl ::core::default::Default for Rmoncp {
2306    #[inline(always)]
2307    fn default() -> Rmoncp {
2308        <crate::RegValueT<Rmoncp_SPEC> as RegisterValue<_>>::new(0)
2309    }
2310}