nrf52840_pac/nvmc/
config.rs
1#[doc = "Register `CONFIG` reader"]
2pub struct R(crate::R<CONFIG_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<CONFIG_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<CONFIG_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<CONFIG_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `CONFIG` writer"]
17pub struct W(crate::W<CONFIG_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<CONFIG_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<CONFIG_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<CONFIG_SPEC>) -> Self {
34 W(writer)
35 }
36}
37#[doc = "Field `WEN` reader - Program memory access mode. It is strongly recommended to only activate erase and write modes when they are actively used. Enabling write or erase will invalidate the cache and keep it invalidated."]
38pub type WEN_R = crate::FieldReader<u8, WEN_A>;
39#[doc = "Program memory access mode. It is strongly recommended to only activate erase and write modes when they are actively used. Enabling write or erase will invalidate the cache and keep it invalidated.\n\nValue on reset: 0"]
40#[derive(Clone, Copy, Debug, PartialEq)]
41#[repr(u8)]
42pub enum WEN_A {
43 #[doc = "0: Read only access"]
44 REN = 0,
45 #[doc = "1: Write enabled"]
46 WEN = 1,
47 #[doc = "2: Erase enabled"]
48 EEN = 2,
49}
50impl From<WEN_A> for u8 {
51 #[inline(always)]
52 fn from(variant: WEN_A) -> Self {
53 variant as _
54 }
55}
56impl WEN_R {
57 #[doc = "Get enumerated values variant"]
58 #[inline(always)]
59 pub fn variant(&self) -> Option<WEN_A> {
60 match self.bits {
61 0 => Some(WEN_A::REN),
62 1 => Some(WEN_A::WEN),
63 2 => Some(WEN_A::EEN),
64 _ => None,
65 }
66 }
67 #[doc = "Checks if the value of the field is `REN`"]
68 #[inline(always)]
69 pub fn is_ren(&self) -> bool {
70 *self == WEN_A::REN
71 }
72 #[doc = "Checks if the value of the field is `WEN`"]
73 #[inline(always)]
74 pub fn is_wen(&self) -> bool {
75 *self == WEN_A::WEN
76 }
77 #[doc = "Checks if the value of the field is `EEN`"]
78 #[inline(always)]
79 pub fn is_een(&self) -> bool {
80 *self == WEN_A::EEN
81 }
82}
83#[doc = "Field `WEN` writer - Program memory access mode. It is strongly recommended to only activate erase and write modes when they are actively used. Enabling write or erase will invalidate the cache and keep it invalidated."]
84pub type WEN_W<'a, const O: u8> = crate::FieldWriter<'a, u32, CONFIG_SPEC, u8, WEN_A, 2, O>;
85impl<'a, const O: u8> WEN_W<'a, O> {
86 #[doc = "Read only access"]
87 #[inline(always)]
88 pub fn ren(self) -> &'a mut W {
89 self.variant(WEN_A::REN)
90 }
91 #[doc = "Write enabled"]
92 #[inline(always)]
93 pub fn wen(self) -> &'a mut W {
94 self.variant(WEN_A::WEN)
95 }
96 #[doc = "Erase enabled"]
97 #[inline(always)]
98 pub fn een(self) -> &'a mut W {
99 self.variant(WEN_A::EEN)
100 }
101}
102impl R {
103 #[doc = "Bits 0:1 - Program memory access mode. It is strongly recommended to only activate erase and write modes when they are actively used. Enabling write or erase will invalidate the cache and keep it invalidated."]
104 #[inline(always)]
105 pub fn wen(&self) -> WEN_R {
106 WEN_R::new((self.bits & 3) as u8)
107 }
108}
109impl W {
110 #[doc = "Bits 0:1 - Program memory access mode. It is strongly recommended to only activate erase and write modes when they are actively used. Enabling write or erase will invalidate the cache and keep it invalidated."]
111 #[inline(always)]
112 pub fn wen(&mut self) -> WEN_W<0> {
113 WEN_W::new(self)
114 }
115 #[doc = "Writes raw bits to the register."]
116 #[inline(always)]
117 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
118 self.0.bits(bits);
119 self
120 }
121}
122#[doc = "Configuration 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 [config](index.html) module"]
123pub struct CONFIG_SPEC;
124impl crate::RegisterSpec for CONFIG_SPEC {
125 type Ux = u32;
126}
127#[doc = "`read()` method returns [config::R](R) reader structure"]
128impl crate::Readable for CONFIG_SPEC {
129 type Reader = R;
130}
131#[doc = "`write(|w| ..)` method takes [config::W](W) writer structure"]
132impl crate::Writable for CONFIG_SPEC {
133 type Writer = W;
134}
135#[doc = "`reset()` method sets CONFIG to value 0"]
136impl crate::Resettable for CONFIG_SPEC {
137 #[inline(always)]
138 fn reset_value() -> Self::Ux {
139 0
140 }
141}