nrf52810_pac/power/ram/
power.rs1#[doc = "Register `POWER` reader"]
2pub struct R(crate::R<POWER_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<POWER_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<POWER_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<POWER_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `POWER` writer"]
17pub struct W(crate::W<POWER_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<POWER_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<POWER_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<POWER_SPEC>) -> Self {
34 W(writer)
35 }
36}
37#[doc = "Field `S0POWER` reader - Keep RAM section S0 ON or OFF in System ON mode."]
38pub type S0POWER_R = crate::BitReader<S0POWER_A>;
39#[doc = "Keep RAM section S0 ON or OFF in System ON mode.\n\nValue on reset: 1"]
40#[derive(Clone, Copy, Debug, PartialEq)]
41pub enum S0POWER_A {
42 #[doc = "0: Off"]
43 OFF = 0,
44 #[doc = "1: On"]
45 ON = 1,
46}
47impl From<S0POWER_A> for bool {
48 #[inline(always)]
49 fn from(variant: S0POWER_A) -> Self {
50 variant as u8 != 0
51 }
52}
53impl S0POWER_R {
54 #[doc = "Get enumerated values variant"]
55 #[inline(always)]
56 pub fn variant(&self) -> S0POWER_A {
57 match self.bits {
58 false => S0POWER_A::OFF,
59 true => S0POWER_A::ON,
60 }
61 }
62 #[doc = "Checks if the value of the field is `OFF`"]
63 #[inline(always)]
64 pub fn is_off(&self) -> bool {
65 *self == S0POWER_A::OFF
66 }
67 #[doc = "Checks if the value of the field is `ON`"]
68 #[inline(always)]
69 pub fn is_on(&self) -> bool {
70 *self == S0POWER_A::ON
71 }
72}
73#[doc = "Field `S0POWER` writer - Keep RAM section S0 ON or OFF in System ON mode."]
74pub type S0POWER_W<'a, const O: u8> = crate::BitWriter<'a, u32, POWER_SPEC, S0POWER_A, O>;
75impl<'a, const O: u8> S0POWER_W<'a, O> {
76 #[doc = "Off"]
77 #[inline(always)]
78 pub fn off(self) -> &'a mut W {
79 self.variant(S0POWER_A::OFF)
80 }
81 #[doc = "On"]
82 #[inline(always)]
83 pub fn on(self) -> &'a mut W {
84 self.variant(S0POWER_A::ON)
85 }
86}
87#[doc = "Field `S1POWER` reader - Keep RAM section S1 ON or OFF in System ON mode."]
88pub type S1POWER_R = crate::BitReader<S1POWER_A>;
89#[doc = "Keep RAM section S1 ON or OFF in System ON mode.\n\nValue on reset: 1"]
90#[derive(Clone, Copy, Debug, PartialEq)]
91pub enum S1POWER_A {
92 #[doc = "0: Off"]
93 OFF = 0,
94 #[doc = "1: On"]
95 ON = 1,
96}
97impl From<S1POWER_A> for bool {
98 #[inline(always)]
99 fn from(variant: S1POWER_A) -> Self {
100 variant as u8 != 0
101 }
102}
103impl S1POWER_R {
104 #[doc = "Get enumerated values variant"]
105 #[inline(always)]
106 pub fn variant(&self) -> S1POWER_A {
107 match self.bits {
108 false => S1POWER_A::OFF,
109 true => S1POWER_A::ON,
110 }
111 }
112 #[doc = "Checks if the value of the field is `OFF`"]
113 #[inline(always)]
114 pub fn is_off(&self) -> bool {
115 *self == S1POWER_A::OFF
116 }
117 #[doc = "Checks if the value of the field is `ON`"]
118 #[inline(always)]
119 pub fn is_on(&self) -> bool {
120 *self == S1POWER_A::ON
121 }
122}
123#[doc = "Field `S1POWER` writer - Keep RAM section S1 ON or OFF in System ON mode."]
124pub type S1POWER_W<'a, const O: u8> = crate::BitWriter<'a, u32, POWER_SPEC, S1POWER_A, O>;
125impl<'a, const O: u8> S1POWER_W<'a, O> {
126 #[doc = "Off"]
127 #[inline(always)]
128 pub fn off(self) -> &'a mut W {
129 self.variant(S1POWER_A::OFF)
130 }
131 #[doc = "On"]
132 #[inline(always)]
133 pub fn on(self) -> &'a mut W {
134 self.variant(S1POWER_A::ON)
135 }
136}
137#[doc = "Field `S0RETENTION` reader - Keep retention on RAM section S0 when RAM section is in OFF"]
138pub type S0RETENTION_R = crate::BitReader<S0RETENTION_A>;
139#[doc = "Keep retention on RAM section S0 when RAM section is in OFF\n\nValue on reset: 0"]
140#[derive(Clone, Copy, Debug, PartialEq)]
141pub enum S0RETENTION_A {
142 #[doc = "0: Off"]
143 OFF = 0,
144 #[doc = "1: On"]
145 ON = 1,
146}
147impl From<S0RETENTION_A> for bool {
148 #[inline(always)]
149 fn from(variant: S0RETENTION_A) -> Self {
150 variant as u8 != 0
151 }
152}
153impl S0RETENTION_R {
154 #[doc = "Get enumerated values variant"]
155 #[inline(always)]
156 pub fn variant(&self) -> S0RETENTION_A {
157 match self.bits {
158 false => S0RETENTION_A::OFF,
159 true => S0RETENTION_A::ON,
160 }
161 }
162 #[doc = "Checks if the value of the field is `OFF`"]
163 #[inline(always)]
164 pub fn is_off(&self) -> bool {
165 *self == S0RETENTION_A::OFF
166 }
167 #[doc = "Checks if the value of the field is `ON`"]
168 #[inline(always)]
169 pub fn is_on(&self) -> bool {
170 *self == S0RETENTION_A::ON
171 }
172}
173#[doc = "Field `S0RETENTION` writer - Keep retention on RAM section S0 when RAM section is in OFF"]
174pub type S0RETENTION_W<'a, const O: u8> = crate::BitWriter<'a, u32, POWER_SPEC, S0RETENTION_A, O>;
175impl<'a, const O: u8> S0RETENTION_W<'a, O> {
176 #[doc = "Off"]
177 #[inline(always)]
178 pub fn off(self) -> &'a mut W {
179 self.variant(S0RETENTION_A::OFF)
180 }
181 #[doc = "On"]
182 #[inline(always)]
183 pub fn on(self) -> &'a mut W {
184 self.variant(S0RETENTION_A::ON)
185 }
186}
187#[doc = "Field `S1RETENTION` reader - Keep retention on RAM section S1 when RAM section is in OFF"]
188pub type S1RETENTION_R = crate::BitReader<S1RETENTION_A>;
189#[doc = "Keep retention on RAM section S1 when RAM section is in OFF\n\nValue on reset: 0"]
190#[derive(Clone, Copy, Debug, PartialEq)]
191pub enum S1RETENTION_A {
192 #[doc = "0: Off"]
193 OFF = 0,
194 #[doc = "1: On"]
195 ON = 1,
196}
197impl From<S1RETENTION_A> for bool {
198 #[inline(always)]
199 fn from(variant: S1RETENTION_A) -> Self {
200 variant as u8 != 0
201 }
202}
203impl S1RETENTION_R {
204 #[doc = "Get enumerated values variant"]
205 #[inline(always)]
206 pub fn variant(&self) -> S1RETENTION_A {
207 match self.bits {
208 false => S1RETENTION_A::OFF,
209 true => S1RETENTION_A::ON,
210 }
211 }
212 #[doc = "Checks if the value of the field is `OFF`"]
213 #[inline(always)]
214 pub fn is_off(&self) -> bool {
215 *self == S1RETENTION_A::OFF
216 }
217 #[doc = "Checks if the value of the field is `ON`"]
218 #[inline(always)]
219 pub fn is_on(&self) -> bool {
220 *self == S1RETENTION_A::ON
221 }
222}
223#[doc = "Field `S1RETENTION` writer - Keep retention on RAM section S1 when RAM section is in OFF"]
224pub type S1RETENTION_W<'a, const O: u8> = crate::BitWriter<'a, u32, POWER_SPEC, S1RETENTION_A, O>;
225impl<'a, const O: u8> S1RETENTION_W<'a, O> {
226 #[doc = "Off"]
227 #[inline(always)]
228 pub fn off(self) -> &'a mut W {
229 self.variant(S1RETENTION_A::OFF)
230 }
231 #[doc = "On"]
232 #[inline(always)]
233 pub fn on(self) -> &'a mut W {
234 self.variant(S1RETENTION_A::ON)
235 }
236}
237impl R {
238 #[doc = "Bit 0 - Keep RAM section S0 ON or OFF in System ON mode."]
239 #[inline(always)]
240 pub fn s0power(&self) -> S0POWER_R {
241 S0POWER_R::new((self.bits & 1) != 0)
242 }
243 #[doc = "Bit 1 - Keep RAM section S1 ON or OFF in System ON mode."]
244 #[inline(always)]
245 pub fn s1power(&self) -> S1POWER_R {
246 S1POWER_R::new(((self.bits >> 1) & 1) != 0)
247 }
248 #[doc = "Bit 16 - Keep retention on RAM section S0 when RAM section is in OFF"]
249 #[inline(always)]
250 pub fn s0retention(&self) -> S0RETENTION_R {
251 S0RETENTION_R::new(((self.bits >> 16) & 1) != 0)
252 }
253 #[doc = "Bit 17 - Keep retention on RAM section S1 when RAM section is in OFF"]
254 #[inline(always)]
255 pub fn s1retention(&self) -> S1RETENTION_R {
256 S1RETENTION_R::new(((self.bits >> 17) & 1) != 0)
257 }
258}
259impl W {
260 #[doc = "Bit 0 - Keep RAM section S0 ON or OFF in System ON mode."]
261 #[inline(always)]
262 pub fn s0power(&mut self) -> S0POWER_W<0> {
263 S0POWER_W::new(self)
264 }
265 #[doc = "Bit 1 - Keep RAM section S1 ON or OFF in System ON mode."]
266 #[inline(always)]
267 pub fn s1power(&mut self) -> S1POWER_W<1> {
268 S1POWER_W::new(self)
269 }
270 #[doc = "Bit 16 - Keep retention on RAM section S0 when RAM section is in OFF"]
271 #[inline(always)]
272 pub fn s0retention(&mut self) -> S0RETENTION_W<16> {
273 S0RETENTION_W::new(self)
274 }
275 #[doc = "Bit 17 - Keep retention on RAM section S1 when RAM section is in OFF"]
276 #[inline(always)]
277 pub fn s1retention(&mut self) -> S1RETENTION_W<17> {
278 S1RETENTION_W::new(self)
279 }
280 #[doc = "Writes raw bits to the register."]
281 #[inline(always)]
282 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
283 self.0.bits(bits);
284 self
285 }
286}
287#[doc = "Description cluster: RAMn power control register. The RAM size will vary depending on product variant, and the RAMn register will only be present if the corresponding RAM AHB slave is present on the device.\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 [power](index.html) module"]
288pub struct POWER_SPEC;
289impl crate::RegisterSpec for POWER_SPEC {
290 type Ux = u32;
291}
292#[doc = "`read()` method returns [power::R](R) reader structure"]
293impl crate::Readable for POWER_SPEC {
294 type Reader = R;
295}
296#[doc = "`write(|w| ..)` method takes [power::W](W) writer structure"]
297impl crate::Writable for POWER_SPEC {
298 type Writer = W;
299}
300#[doc = "`reset()` method sets POWER to value 0xffff"]
301impl crate::Resettable for POWER_SPEC {
302 #[inline(always)]
303 fn reset_value() -> Self::Ux {
304 0xffff
305 }
306}