xmc4200/scu_reset/
rststat.rs1#[doc = "Register `RSTSTAT` reader"]
2pub type R = crate::R<RSTSTAT_SPEC>;
3#[doc = "Reset Status Information\n\nValue on reset: 0"]
4#[derive(Clone, Copy, Debug, PartialEq, Eq)]
5#[repr(u8)]
6pub enum RSTSTAT_A {
7 #[doc = "1: PORST reset"]
8 VALUE1 = 1,
9 #[doc = "2: SWD reset"]
10 VALUE2 = 2,
11 #[doc = "4: PV reset"]
12 VALUE3 = 4,
13 #[doc = "8: CPU system reset"]
14 VALUE4 = 8,
15 #[doc = "16: CPU lockup reset"]
16 VALUE5 = 16,
17 #[doc = "32: WDT reset"]
18 VALUE6 = 32,
19 #[doc = "128: Parity Error reset"]
20 VALUE8 = 128,
21}
22impl From<RSTSTAT_A> for u8 {
23 #[inline(always)]
24 fn from(variant: RSTSTAT_A) -> Self {
25 variant as _
26 }
27}
28impl crate::FieldSpec for RSTSTAT_A {
29 type Ux = u8;
30}
31impl crate::IsEnum for RSTSTAT_A {}
32#[doc = "Field `RSTSTAT` reader - Reset Status Information"]
33pub type RSTSTAT_R = crate::FieldReader<RSTSTAT_A>;
34impl RSTSTAT_R {
35 #[doc = "Get enumerated values variant"]
36 #[inline(always)]
37 pub const fn variant(&self) -> Option<RSTSTAT_A> {
38 match self.bits {
39 1 => Some(RSTSTAT_A::VALUE1),
40 2 => Some(RSTSTAT_A::VALUE2),
41 4 => Some(RSTSTAT_A::VALUE3),
42 8 => Some(RSTSTAT_A::VALUE4),
43 16 => Some(RSTSTAT_A::VALUE5),
44 32 => Some(RSTSTAT_A::VALUE6),
45 128 => Some(RSTSTAT_A::VALUE8),
46 _ => None,
47 }
48 }
49 #[doc = "PORST reset"]
50 #[inline(always)]
51 pub fn is_value1(&self) -> bool {
52 *self == RSTSTAT_A::VALUE1
53 }
54 #[doc = "SWD reset"]
55 #[inline(always)]
56 pub fn is_value2(&self) -> bool {
57 *self == RSTSTAT_A::VALUE2
58 }
59 #[doc = "PV reset"]
60 #[inline(always)]
61 pub fn is_value3(&self) -> bool {
62 *self == RSTSTAT_A::VALUE3
63 }
64 #[doc = "CPU system reset"]
65 #[inline(always)]
66 pub fn is_value4(&self) -> bool {
67 *self == RSTSTAT_A::VALUE4
68 }
69 #[doc = "CPU lockup reset"]
70 #[inline(always)]
71 pub fn is_value5(&self) -> bool {
72 *self == RSTSTAT_A::VALUE5
73 }
74 #[doc = "WDT reset"]
75 #[inline(always)]
76 pub fn is_value6(&self) -> bool {
77 *self == RSTSTAT_A::VALUE6
78 }
79 #[doc = "Parity Error reset"]
80 #[inline(always)]
81 pub fn is_value8(&self) -> bool {
82 *self == RSTSTAT_A::VALUE8
83 }
84}
85#[doc = "Hibernate Wake-up Status\n\nValue on reset: 0"]
86#[derive(Clone, Copy, Debug, PartialEq, Eq)]
87pub enum HIBWK_A {
88 #[doc = "0: No Wake-up"]
89 VALUE1 = 0,
90 #[doc = "1: Wake-up event"]
91 VALUE2 = 1,
92}
93impl From<HIBWK_A> for bool {
94 #[inline(always)]
95 fn from(variant: HIBWK_A) -> Self {
96 variant as u8 != 0
97 }
98}
99#[doc = "Field `HIBWK` reader - Hibernate Wake-up Status"]
100pub type HIBWK_R = crate::BitReader<HIBWK_A>;
101impl HIBWK_R {
102 #[doc = "Get enumerated values variant"]
103 #[inline(always)]
104 pub const fn variant(&self) -> HIBWK_A {
105 match self.bits {
106 false => HIBWK_A::VALUE1,
107 true => HIBWK_A::VALUE2,
108 }
109 }
110 #[doc = "No Wake-up"]
111 #[inline(always)]
112 pub fn is_value1(&self) -> bool {
113 *self == HIBWK_A::VALUE1
114 }
115 #[doc = "Wake-up event"]
116 #[inline(always)]
117 pub fn is_value2(&self) -> bool {
118 *self == HIBWK_A::VALUE2
119 }
120}
121#[doc = "Hibernate Reset Status\n\nValue on reset: 0"]
122#[derive(Clone, Copy, Debug, PartialEq, Eq)]
123pub enum HIBRS_A {
124 #[doc = "0: Reset de-asserted"]
125 VALUE1 = 0,
126 #[doc = "1: Reset asserted"]
127 VALUE2 = 1,
128}
129impl From<HIBRS_A> for bool {
130 #[inline(always)]
131 fn from(variant: HIBRS_A) -> Self {
132 variant as u8 != 0
133 }
134}
135#[doc = "Field `HIBRS` reader - Hibernate Reset Status"]
136pub type HIBRS_R = crate::BitReader<HIBRS_A>;
137impl HIBRS_R {
138 #[doc = "Get enumerated values variant"]
139 #[inline(always)]
140 pub const fn variant(&self) -> HIBRS_A {
141 match self.bits {
142 false => HIBRS_A::VALUE1,
143 true => HIBRS_A::VALUE2,
144 }
145 }
146 #[doc = "Reset de-asserted"]
147 #[inline(always)]
148 pub fn is_value1(&self) -> bool {
149 *self == HIBRS_A::VALUE1
150 }
151 #[doc = "Reset asserted"]
152 #[inline(always)]
153 pub fn is_value2(&self) -> bool {
154 *self == HIBRS_A::VALUE2
155 }
156}
157#[doc = "Enable Lockup Status\n\nValue on reset: 0"]
158#[derive(Clone, Copy, Debug, PartialEq, Eq)]
159pub enum LCKEN_A {
160 #[doc = "0: Reset by Lockup disabled"]
161 VALUE1 = 0,
162 #[doc = "1: Reset by Lockup enabled"]
163 VALUE2 = 1,
164}
165impl From<LCKEN_A> for bool {
166 #[inline(always)]
167 fn from(variant: LCKEN_A) -> Self {
168 variant as u8 != 0
169 }
170}
171#[doc = "Field `LCKEN` reader - Enable Lockup Status"]
172pub type LCKEN_R = crate::BitReader<LCKEN_A>;
173impl LCKEN_R {
174 #[doc = "Get enumerated values variant"]
175 #[inline(always)]
176 pub const fn variant(&self) -> LCKEN_A {
177 match self.bits {
178 false => LCKEN_A::VALUE1,
179 true => LCKEN_A::VALUE2,
180 }
181 }
182 #[doc = "Reset by Lockup disabled"]
183 #[inline(always)]
184 pub fn is_value1(&self) -> bool {
185 *self == LCKEN_A::VALUE1
186 }
187 #[doc = "Reset by Lockup enabled"]
188 #[inline(always)]
189 pub fn is_value2(&self) -> bool {
190 *self == LCKEN_A::VALUE2
191 }
192}
193impl R {
194 #[doc = "Bits 0:7 - Reset Status Information"]
195 #[inline(always)]
196 pub fn rststat(&self) -> RSTSTAT_R {
197 RSTSTAT_R::new((self.bits & 0xff) as u8)
198 }
199 #[doc = "Bit 8 - Hibernate Wake-up Status"]
200 #[inline(always)]
201 pub fn hibwk(&self) -> HIBWK_R {
202 HIBWK_R::new(((self.bits >> 8) & 1) != 0)
203 }
204 #[doc = "Bit 9 - Hibernate Reset Status"]
205 #[inline(always)]
206 pub fn hibrs(&self) -> HIBRS_R {
207 HIBRS_R::new(((self.bits >> 9) & 1) != 0)
208 }
209 #[doc = "Bit 10 - Enable Lockup Status"]
210 #[inline(always)]
211 pub fn lcken(&self) -> LCKEN_R {
212 LCKEN_R::new(((self.bits >> 10) & 1) != 0)
213 }
214}
215#[doc = "RCU Reset Status\n\nYou can [`read`](crate::Reg::read) this register and get [`rststat::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
216pub struct RSTSTAT_SPEC;
217impl crate::RegisterSpec for RSTSTAT_SPEC {
218 type Ux = u32;
219}
220#[doc = "`read()` method returns [`rststat::R`](R) reader structure"]
221impl crate::Readable for RSTSTAT_SPEC {}
222#[doc = "`reset()` method sets RSTSTAT to value 0"]
223impl crate::Resettable for RSTSTAT_SPEC {
224 const RESET_VALUE: u32 = 0;
225}