stm32g0_staging/stm32g0c1/rtc/
dr.rs

1///Register `DR` reader
2pub type R = crate::R<DRrs>;
3///Register `DR` writer
4pub type W = crate::W<DRrs>;
5///Field `DU` reader - Date units in BCD format
6pub type DU_R = crate::FieldReader;
7///Field `DU` writer - Date units in BCD format
8pub type DU_W<'a, REG> = crate::FieldWriter<'a, REG, 4, u8, crate::Safe>;
9///Field `DT` reader - Date tens in BCD format
10pub type DT_R = crate::FieldReader;
11///Field `DT` writer - Date tens in BCD format
12pub type DT_W<'a, REG> = crate::FieldWriter<'a, REG, 2, u8, crate::Safe>;
13///Field `MU` reader - Month units in BCD format
14pub type MU_R = crate::FieldReader;
15///Field `MU` writer - Month units in BCD format
16pub type MU_W<'a, REG> = crate::FieldWriter<'a, REG, 4, u8, crate::Safe>;
17///Field `MT` reader - Month tens in BCD format
18pub type MT_R = crate::BitReader;
19///Field `MT` writer - Month tens in BCD format
20pub type MT_W<'a, REG> = crate::BitWriter<'a, REG>;
21///Field `WDU` reader - Week day units ...
22pub type WDU_R = crate::FieldReader;
23///Field `WDU` writer - Week day units ...
24pub type WDU_W<'a, REG> = crate::FieldWriter<'a, REG, 3>;
25///Field `YU` reader - Year units in BCD format
26pub type YU_R = crate::FieldReader;
27///Field `YU` writer - Year units in BCD format
28pub type YU_W<'a, REG> = crate::FieldWriter<'a, REG, 4, u8, crate::Safe>;
29///Field `YT` reader - Year tens in BCD format
30pub type YT_R = crate::FieldReader;
31///Field `YT` writer - Year tens in BCD format
32pub type YT_W<'a, REG> = crate::FieldWriter<'a, REG, 4, u8, crate::Safe>;
33impl R {
34    ///Bits 0:3 - Date units in BCD format
35    #[inline(always)]
36    pub fn du(&self) -> DU_R {
37        DU_R::new((self.bits & 0x0f) as u8)
38    }
39    ///Bits 4:5 - Date tens in BCD format
40    #[inline(always)]
41    pub fn dt(&self) -> DT_R {
42        DT_R::new(((self.bits >> 4) & 3) as u8)
43    }
44    ///Bits 8:11 - Month units in BCD format
45    #[inline(always)]
46    pub fn mu(&self) -> MU_R {
47        MU_R::new(((self.bits >> 8) & 0x0f) as u8)
48    }
49    ///Bit 12 - Month tens in BCD format
50    #[inline(always)]
51    pub fn mt(&self) -> MT_R {
52        MT_R::new(((self.bits >> 12) & 1) != 0)
53    }
54    ///Bits 13:15 - Week day units ...
55    #[inline(always)]
56    pub fn wdu(&self) -> WDU_R {
57        WDU_R::new(((self.bits >> 13) & 7) as u8)
58    }
59    ///Bits 16:19 - Year units in BCD format
60    #[inline(always)]
61    pub fn yu(&self) -> YU_R {
62        YU_R::new(((self.bits >> 16) & 0x0f) as u8)
63    }
64    ///Bits 20:23 - Year tens in BCD format
65    #[inline(always)]
66    pub fn yt(&self) -> YT_R {
67        YT_R::new(((self.bits >> 20) & 0x0f) as u8)
68    }
69}
70impl core::fmt::Debug for R {
71    fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
72        f.debug_struct("DR")
73            .field("du", &self.du())
74            .field("dt", &self.dt())
75            .field("mu", &self.mu())
76            .field("mt", &self.mt())
77            .field("wdu", &self.wdu())
78            .field("yu", &self.yu())
79            .field("yt", &self.yt())
80            .finish()
81    }
82}
83impl W {
84    ///Bits 0:3 - Date units in BCD format
85    #[inline(always)]
86    pub fn du(&mut self) -> DU_W<DRrs> {
87        DU_W::new(self, 0)
88    }
89    ///Bits 4:5 - Date tens in BCD format
90    #[inline(always)]
91    pub fn dt(&mut self) -> DT_W<DRrs> {
92        DT_W::new(self, 4)
93    }
94    ///Bits 8:11 - Month units in BCD format
95    #[inline(always)]
96    pub fn mu(&mut self) -> MU_W<DRrs> {
97        MU_W::new(self, 8)
98    }
99    ///Bit 12 - Month tens in BCD format
100    #[inline(always)]
101    pub fn mt(&mut self) -> MT_W<DRrs> {
102        MT_W::new(self, 12)
103    }
104    ///Bits 13:15 - Week day units ...
105    #[inline(always)]
106    pub fn wdu(&mut self) -> WDU_W<DRrs> {
107        WDU_W::new(self, 13)
108    }
109    ///Bits 16:19 - Year units in BCD format
110    #[inline(always)]
111    pub fn yu(&mut self) -> YU_W<DRrs> {
112        YU_W::new(self, 16)
113    }
114    ///Bits 20:23 - Year tens in BCD format
115    #[inline(always)]
116    pub fn yt(&mut self) -> YT_W<DRrs> {
117        YT_W::new(self, 20)
118    }
119}
120/**RTC date register
121
122You can [`read`](crate::Reg::read) this register and get [`dr::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dr::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
123
124See register [structure](https://stm32-rs.github.io/stm32-rs/STM32G0C1.html#RTC:DR)*/
125pub struct DRrs;
126impl crate::RegisterSpec for DRrs {
127    type Ux = u32;
128}
129///`read()` method returns [`dr::R`](R) reader structure
130impl crate::Readable for DRrs {}
131///`write(|w| ..)` method takes [`dr::W`](W) writer structure
132impl crate::Writable for DRrs {
133    type Safety = crate::Unsafe;
134    const ZERO_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
135    const ONE_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
136}
137///`reset()` method sets DR to value 0x2101
138impl crate::Resettable for DRrs {
139    const RESET_VALUE: u32 = 0x2101;
140}