cyt4bb_b/m0/backup/
rtc_rw.rs1#[doc = "Register `RTC_RW` reader"]
2pub struct R(crate::R<RTC_RW_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<RTC_RW_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<RTC_RW_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<RTC_RW_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `RTC_RW` writer"]
17pub struct W(crate::W<RTC_RW_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<RTC_RW_SPEC>;
20 #[inline(always)]
21 fn deref(&self) -> &Self::Target {
22 &self.0
23 }
24}
25impl core::ops::DerefMut for W {
26 #[inline(always)]
27 fn deref_mut(&mut self) -> &mut Self::Target {
28 &mut self.0
29 }
30}
31impl From<crate::W<RTC_RW_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<RTC_RW_SPEC>) -> Self {
34 W(writer)
35 }
36}
37#[doc = "Field `READ` reader - Read bit When this bit is set the RTC registers will be copied to user registers and frozen so that a coherent RTC value can safely be read. The RTC will keep on running. Do not set the read bit if the RTC is still busy with a previous update (see RTC_BUSY bit) or if the Write bit is set. Do not set the Read bit at the same time that the Write bit is cleared."]
38pub type READ_R = crate::BitReader<bool>;
39#[doc = "Field `READ` writer - Read bit When this bit is set the RTC registers will be copied to user registers and frozen so that a coherent RTC value can safely be read. The RTC will keep on running. Do not set the read bit if the RTC is still busy with a previous update (see RTC_BUSY bit) or if the Write bit is set. Do not set the Read bit at the same time that the Write bit is cleared."]
40pub type READ_W<'a, const O: u8> = crate::BitWriter<'a, u32, RTC_RW_SPEC, bool, O>;
41#[doc = "Field `WRITE` reader - Write bit Only when this bit is set can the RTC registers be written to (otherwise writes are ignored). This bit cannot be set if the RTC is still busy with a previous update (see RTC_BUSY bit) or if the Read bit is set or getting set. The user writes to the RTC user registers, when the Write bit is cleared by the user then the user registers content is copied to the actual RTC registers. Only user RTC registers that were written to will get copied, others will not be affected. When the SECONDS field is updated then TICKS will also be reset (WDT is not affected). When the Write bit is cleared by a reset (brown out/DeepSleep) then the RTC update will be ignored/lost. Do not set the Write bit if the RTC if the RTC is still busy with a previous update (see RTC_BUSY). Do not set the Write bit at the same time that the Read bit is cleared."]
42pub type WRITE_R = crate::BitReader<bool>;
43#[doc = "Field `WRITE` writer - Write bit Only when this bit is set can the RTC registers be written to (otherwise writes are ignored). This bit cannot be set if the RTC is still busy with a previous update (see RTC_BUSY bit) or if the Read bit is set or getting set. The user writes to the RTC user registers, when the Write bit is cleared by the user then the user registers content is copied to the actual RTC registers. Only user RTC registers that were written to will get copied, others will not be affected. When the SECONDS field is updated then TICKS will also be reset (WDT is not affected). When the Write bit is cleared by a reset (brown out/DeepSleep) then the RTC update will be ignored/lost. Do not set the Write bit if the RTC if the RTC is still busy with a previous update (see RTC_BUSY). Do not set the Write bit at the same time that the Read bit is cleared."]
44pub type WRITE_W<'a, const O: u8> = crate::BitWriter<'a, u32, RTC_RW_SPEC, bool, O>;
45impl R {
46 #[doc = "Bit 0 - Read bit When this bit is set the RTC registers will be copied to user registers and frozen so that a coherent RTC value can safely be read. The RTC will keep on running. Do not set the read bit if the RTC is still busy with a previous update (see RTC_BUSY bit) or if the Write bit is set. Do not set the Read bit at the same time that the Write bit is cleared."]
47 #[inline(always)]
48 pub fn read(&self) -> READ_R {
49 READ_R::new((self.bits & 1) != 0)
50 }
51 #[doc = "Bit 1 - Write bit Only when this bit is set can the RTC registers be written to (otherwise writes are ignored). This bit cannot be set if the RTC is still busy with a previous update (see RTC_BUSY bit) or if the Read bit is set or getting set. The user writes to the RTC user registers, when the Write bit is cleared by the user then the user registers content is copied to the actual RTC registers. Only user RTC registers that were written to will get copied, others will not be affected. When the SECONDS field is updated then TICKS will also be reset (WDT is not affected). When the Write bit is cleared by a reset (brown out/DeepSleep) then the RTC update will be ignored/lost. Do not set the Write bit if the RTC if the RTC is still busy with a previous update (see RTC_BUSY). Do not set the Write bit at the same time that the Read bit is cleared."]
52 #[inline(always)]
53 pub fn write(&self) -> WRITE_R {
54 WRITE_R::new(((self.bits >> 1) & 1) != 0)
55 }
56}
57impl W {
58 #[doc = "Bit 0 - Read bit When this bit is set the RTC registers will be copied to user registers and frozen so that a coherent RTC value can safely be read. The RTC will keep on running. Do not set the read bit if the RTC is still busy with a previous update (see RTC_BUSY bit) or if the Write bit is set. Do not set the Read bit at the same time that the Write bit is cleared."]
59 #[inline(always)]
60 #[must_use]
61 pub fn read(&mut self) -> READ_W<0> {
62 READ_W::new(self)
63 }
64 #[doc = "Bit 1 - Write bit Only when this bit is set can the RTC registers be written to (otherwise writes are ignored). This bit cannot be set if the RTC is still busy with a previous update (see RTC_BUSY bit) or if the Read bit is set or getting set. The user writes to the RTC user registers, when the Write bit is cleared by the user then the user registers content is copied to the actual RTC registers. Only user RTC registers that were written to will get copied, others will not be affected. When the SECONDS field is updated then TICKS will also be reset (WDT is not affected). When the Write bit is cleared by a reset (brown out/DeepSleep) then the RTC update will be ignored/lost. Do not set the Write bit if the RTC if the RTC is still busy with a previous update (see RTC_BUSY). Do not set the Write bit at the same time that the Read bit is cleared."]
65 #[inline(always)]
66 #[must_use]
67 pub fn write(&mut self) -> WRITE_W<1> {
68 WRITE_W::new(self)
69 }
70 #[doc = "Writes raw bits to the register."]
71 #[inline(always)]
72 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
73 self.0.bits(bits);
74 self
75 }
76}
77#[doc = "RTC Read Write register\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [rtc_rw](index.html) module"]
78pub struct RTC_RW_SPEC;
79impl crate::RegisterSpec for RTC_RW_SPEC {
80 type Ux = u32;
81}
82#[doc = "`read()` method returns [rtc_rw::R](R) reader structure"]
83impl crate::Readable for RTC_RW_SPEC {
84 type Reader = R;
85}
86#[doc = "`write(|w| ..)` method takes [rtc_rw::W](W) writer structure"]
87impl crate::Writable for RTC_RW_SPEC {
88 type Writer = W;
89 const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
90 const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
91}
92#[doc = "`reset()` method sets RTC_RW to value 0"]
93impl crate::Resettable for RTC_RW_SPEC {
94 const RESET_VALUE: Self::Ux = 0;
95}