xmc4800/sdmmc/
present_state.rs1#[doc = "Register `PRESENT_STATE` reader"]
2pub type R = crate::R<PRESENT_STATE_SPEC>;
3#[doc = "Field `COMMAND_INHIBIT_CMD` reader - Command Inhibit (CMD)"]
4pub type COMMAND_INHIBIT_CMD_R = crate::BitReader;
5#[doc = "Command Inhibit (DAT)\n\nValue on reset: 0"]
6#[derive(Clone, Copy, Debug, PartialEq, Eq)]
7pub enum COMMAND_INHIBIT_DAT_A {
8 #[doc = "0: Can issue command which uses the DAT line"]
9 VALUE1 = 0,
10 #[doc = "1: Cannot issue command which uses the DAT line"]
11 VALUE2 = 1,
12}
13impl From<COMMAND_INHIBIT_DAT_A> for bool {
14 #[inline(always)]
15 fn from(variant: COMMAND_INHIBIT_DAT_A) -> Self {
16 variant as u8 != 0
17 }
18}
19#[doc = "Field `COMMAND_INHIBIT_DAT` reader - Command Inhibit (DAT)"]
20pub type COMMAND_INHIBIT_DAT_R = crate::BitReader<COMMAND_INHIBIT_DAT_A>;
21impl COMMAND_INHIBIT_DAT_R {
22 #[doc = "Get enumerated values variant"]
23 #[inline(always)]
24 pub const fn variant(&self) -> COMMAND_INHIBIT_DAT_A {
25 match self.bits {
26 false => COMMAND_INHIBIT_DAT_A::VALUE1,
27 true => COMMAND_INHIBIT_DAT_A::VALUE2,
28 }
29 }
30 #[doc = "Can issue command which uses the DAT line"]
31 #[inline(always)]
32 pub fn is_value1(&self) -> bool {
33 *self == COMMAND_INHIBIT_DAT_A::VALUE1
34 }
35 #[doc = "Cannot issue command which uses the DAT line"]
36 #[inline(always)]
37 pub fn is_value2(&self) -> bool {
38 *self == COMMAND_INHIBIT_DAT_A::VALUE2
39 }
40}
41#[doc = "DAT Line Active\n\nValue on reset: 0"]
42#[derive(Clone, Copy, Debug, PartialEq, Eq)]
43pub enum DAT_LINE_ACTIVE_A {
44 #[doc = "0: DAT line inactive"]
45 VALUE1 = 0,
46 #[doc = "1: DAT line active"]
47 VALUE2 = 1,
48}
49impl From<DAT_LINE_ACTIVE_A> for bool {
50 #[inline(always)]
51 fn from(variant: DAT_LINE_ACTIVE_A) -> Self {
52 variant as u8 != 0
53 }
54}
55#[doc = "Field `DAT_LINE_ACTIVE` reader - DAT Line Active"]
56pub type DAT_LINE_ACTIVE_R = crate::BitReader<DAT_LINE_ACTIVE_A>;
57impl DAT_LINE_ACTIVE_R {
58 #[doc = "Get enumerated values variant"]
59 #[inline(always)]
60 pub const fn variant(&self) -> DAT_LINE_ACTIVE_A {
61 match self.bits {
62 false => DAT_LINE_ACTIVE_A::VALUE1,
63 true => DAT_LINE_ACTIVE_A::VALUE2,
64 }
65 }
66 #[doc = "DAT line inactive"]
67 #[inline(always)]
68 pub fn is_value1(&self) -> bool {
69 *self == DAT_LINE_ACTIVE_A::VALUE1
70 }
71 #[doc = "DAT line active"]
72 #[inline(always)]
73 pub fn is_value2(&self) -> bool {
74 *self == DAT_LINE_ACTIVE_A::VALUE2
75 }
76}
77#[doc = "Write Transfer Active\n\nValue on reset: 0"]
78#[derive(Clone, Copy, Debug, PartialEq, Eq)]
79pub enum WRITE_TRANSFER_ACTIVE_A {
80 #[doc = "0: No valid data"]
81 VALUE1 = 0,
82 #[doc = "1: Transferring data"]
83 VALUE2 = 1,
84}
85impl From<WRITE_TRANSFER_ACTIVE_A> for bool {
86 #[inline(always)]
87 fn from(variant: WRITE_TRANSFER_ACTIVE_A) -> Self {
88 variant as u8 != 0
89 }
90}
91#[doc = "Field `WRITE_TRANSFER_ACTIVE` reader - Write Transfer Active"]
92pub type WRITE_TRANSFER_ACTIVE_R = crate::BitReader<WRITE_TRANSFER_ACTIVE_A>;
93impl WRITE_TRANSFER_ACTIVE_R {
94 #[doc = "Get enumerated values variant"]
95 #[inline(always)]
96 pub const fn variant(&self) -> WRITE_TRANSFER_ACTIVE_A {
97 match self.bits {
98 false => WRITE_TRANSFER_ACTIVE_A::VALUE1,
99 true => WRITE_TRANSFER_ACTIVE_A::VALUE2,
100 }
101 }
102 #[doc = "No valid data"]
103 #[inline(always)]
104 pub fn is_value1(&self) -> bool {
105 *self == WRITE_TRANSFER_ACTIVE_A::VALUE1
106 }
107 #[doc = "Transferring data"]
108 #[inline(always)]
109 pub fn is_value2(&self) -> bool {
110 *self == WRITE_TRANSFER_ACTIVE_A::VALUE2
111 }
112}
113#[doc = "Read Transfer Active\n\nValue on reset: 0"]
114#[derive(Clone, Copy, Debug, PartialEq, Eq)]
115pub enum READ_TRANSFER_ACTIVE_A {
116 #[doc = "0: No valid data"]
117 VALUE1 = 0,
118 #[doc = "1: Transferring data"]
119 VALUE2 = 1,
120}
121impl From<READ_TRANSFER_ACTIVE_A> for bool {
122 #[inline(always)]
123 fn from(variant: READ_TRANSFER_ACTIVE_A) -> Self {
124 variant as u8 != 0
125 }
126}
127#[doc = "Field `READ_TRANSFER_ACTIVE` reader - Read Transfer Active"]
128pub type READ_TRANSFER_ACTIVE_R = crate::BitReader<READ_TRANSFER_ACTIVE_A>;
129impl READ_TRANSFER_ACTIVE_R {
130 #[doc = "Get enumerated values variant"]
131 #[inline(always)]
132 pub const fn variant(&self) -> READ_TRANSFER_ACTIVE_A {
133 match self.bits {
134 false => READ_TRANSFER_ACTIVE_A::VALUE1,
135 true => READ_TRANSFER_ACTIVE_A::VALUE2,
136 }
137 }
138 #[doc = "No valid data"]
139 #[inline(always)]
140 pub fn is_value1(&self) -> bool {
141 *self == READ_TRANSFER_ACTIVE_A::VALUE1
142 }
143 #[doc = "Transferring data"]
144 #[inline(always)]
145 pub fn is_value2(&self) -> bool {
146 *self == READ_TRANSFER_ACTIVE_A::VALUE2
147 }
148}
149#[doc = "Buffer Write Enable\n\nValue on reset: 0"]
150#[derive(Clone, Copy, Debug, PartialEq, Eq)]
151pub enum BUFFER_WRITE_ENABLE_A {
152 #[doc = "0: Write Disable"]
153 VALUE1 = 0,
154 #[doc = "1: Write Enable."]
155 VALUE2 = 1,
156}
157impl From<BUFFER_WRITE_ENABLE_A> for bool {
158 #[inline(always)]
159 fn from(variant: BUFFER_WRITE_ENABLE_A) -> Self {
160 variant as u8 != 0
161 }
162}
163#[doc = "Field `BUFFER_WRITE_ENABLE` reader - Buffer Write Enable"]
164pub type BUFFER_WRITE_ENABLE_R = crate::BitReader<BUFFER_WRITE_ENABLE_A>;
165impl BUFFER_WRITE_ENABLE_R {
166 #[doc = "Get enumerated values variant"]
167 #[inline(always)]
168 pub const fn variant(&self) -> BUFFER_WRITE_ENABLE_A {
169 match self.bits {
170 false => BUFFER_WRITE_ENABLE_A::VALUE1,
171 true => BUFFER_WRITE_ENABLE_A::VALUE2,
172 }
173 }
174 #[doc = "Write Disable"]
175 #[inline(always)]
176 pub fn is_value1(&self) -> bool {
177 *self == BUFFER_WRITE_ENABLE_A::VALUE1
178 }
179 #[doc = "Write Enable."]
180 #[inline(always)]
181 pub fn is_value2(&self) -> bool {
182 *self == BUFFER_WRITE_ENABLE_A::VALUE2
183 }
184}
185#[doc = "Buffer Read Enable\n\nValue on reset: 0"]
186#[derive(Clone, Copy, Debug, PartialEq, Eq)]
187pub enum BUFFER_READ_ENABLE_A {
188 #[doc = "0: Read Disable"]
189 VALUE1 = 0,
190 #[doc = "1: Read Enable."]
191 VALUE2 = 1,
192}
193impl From<BUFFER_READ_ENABLE_A> for bool {
194 #[inline(always)]
195 fn from(variant: BUFFER_READ_ENABLE_A) -> Self {
196 variant as u8 != 0
197 }
198}
199#[doc = "Field `BUFFER_READ_ENABLE` reader - Buffer Read Enable"]
200pub type BUFFER_READ_ENABLE_R = crate::BitReader<BUFFER_READ_ENABLE_A>;
201impl BUFFER_READ_ENABLE_R {
202 #[doc = "Get enumerated values variant"]
203 #[inline(always)]
204 pub const fn variant(&self) -> BUFFER_READ_ENABLE_A {
205 match self.bits {
206 false => BUFFER_READ_ENABLE_A::VALUE1,
207 true => BUFFER_READ_ENABLE_A::VALUE2,
208 }
209 }
210 #[doc = "Read Disable"]
211 #[inline(always)]
212 pub fn is_value1(&self) -> bool {
213 *self == BUFFER_READ_ENABLE_A::VALUE1
214 }
215 #[doc = "Read Enable."]
216 #[inline(always)]
217 pub fn is_value2(&self) -> bool {
218 *self == BUFFER_READ_ENABLE_A::VALUE2
219 }
220}
221#[doc = "Card Inserted\n\nValue on reset: 0"]
222#[derive(Clone, Copy, Debug, PartialEq, Eq)]
223pub enum CARD_INSERTED_A {
224 #[doc = "0: Reset or Debouncing or No Card"]
225 VALUE1 = 0,
226 #[doc = "1: Card Inserted"]
227 VALUE2 = 1,
228}
229impl From<CARD_INSERTED_A> for bool {
230 #[inline(always)]
231 fn from(variant: CARD_INSERTED_A) -> Self {
232 variant as u8 != 0
233 }
234}
235#[doc = "Field `CARD_INSERTED` reader - Card Inserted"]
236pub type CARD_INSERTED_R = crate::BitReader<CARD_INSERTED_A>;
237impl CARD_INSERTED_R {
238 #[doc = "Get enumerated values variant"]
239 #[inline(always)]
240 pub const fn variant(&self) -> CARD_INSERTED_A {
241 match self.bits {
242 false => CARD_INSERTED_A::VALUE1,
243 true => CARD_INSERTED_A::VALUE2,
244 }
245 }
246 #[doc = "Reset or Debouncing or No Card"]
247 #[inline(always)]
248 pub fn is_value1(&self) -> bool {
249 *self == CARD_INSERTED_A::VALUE1
250 }
251 #[doc = "Card Inserted"]
252 #[inline(always)]
253 pub fn is_value2(&self) -> bool {
254 *self == CARD_INSERTED_A::VALUE2
255 }
256}
257#[doc = "Card State Stable\n\nValue on reset: 0"]
258#[derive(Clone, Copy, Debug, PartialEq, Eq)]
259pub enum CARD_STATE_STABLE_A {
260 #[doc = "0: Reset of Debouncing"]
261 VALUE1 = 0,
262 #[doc = "1: No Card or Inserted"]
263 VALUE2 = 1,
264}
265impl From<CARD_STATE_STABLE_A> for bool {
266 #[inline(always)]
267 fn from(variant: CARD_STATE_STABLE_A) -> Self {
268 variant as u8 != 0
269 }
270}
271#[doc = "Field `CARD_STATE_STABLE` reader - Card State Stable"]
272pub type CARD_STATE_STABLE_R = crate::BitReader<CARD_STATE_STABLE_A>;
273impl CARD_STATE_STABLE_R {
274 #[doc = "Get enumerated values variant"]
275 #[inline(always)]
276 pub const fn variant(&self) -> CARD_STATE_STABLE_A {
277 match self.bits {
278 false => CARD_STATE_STABLE_A::VALUE1,
279 true => CARD_STATE_STABLE_A::VALUE2,
280 }
281 }
282 #[doc = "Reset of Debouncing"]
283 #[inline(always)]
284 pub fn is_value1(&self) -> bool {
285 *self == CARD_STATE_STABLE_A::VALUE1
286 }
287 #[doc = "No Card or Inserted"]
288 #[inline(always)]
289 pub fn is_value2(&self) -> bool {
290 *self == CARD_STATE_STABLE_A::VALUE2
291 }
292}
293#[doc = "Card Detect Pin Level\n\nValue on reset: 0"]
294#[derive(Clone, Copy, Debug, PartialEq, Eq)]
295pub enum CARD_DETECT_PIN_LEVEL_A {
296 #[doc = "0: No Card present (SDCD = 1)"]
297 VALUE1 = 0,
298 #[doc = "1: Card present (SDCD = 0)"]
299 VALUE2 = 1,
300}
301impl From<CARD_DETECT_PIN_LEVEL_A> for bool {
302 #[inline(always)]
303 fn from(variant: CARD_DETECT_PIN_LEVEL_A) -> Self {
304 variant as u8 != 0
305 }
306}
307#[doc = "Field `CARD_DETECT_PIN_LEVEL` reader - Card Detect Pin Level"]
308pub type CARD_DETECT_PIN_LEVEL_R = crate::BitReader<CARD_DETECT_PIN_LEVEL_A>;
309impl CARD_DETECT_PIN_LEVEL_R {
310 #[doc = "Get enumerated values variant"]
311 #[inline(always)]
312 pub const fn variant(&self) -> CARD_DETECT_PIN_LEVEL_A {
313 match self.bits {
314 false => CARD_DETECT_PIN_LEVEL_A::VALUE1,
315 true => CARD_DETECT_PIN_LEVEL_A::VALUE2,
316 }
317 }
318 #[doc = "No Card present (SDCD = 1)"]
319 #[inline(always)]
320 pub fn is_value1(&self) -> bool {
321 *self == CARD_DETECT_PIN_LEVEL_A::VALUE1
322 }
323 #[doc = "Card present (SDCD = 0)"]
324 #[inline(always)]
325 pub fn is_value2(&self) -> bool {
326 *self == CARD_DETECT_PIN_LEVEL_A::VALUE2
327 }
328}
329#[doc = "Write Protect Switch Pin Level\n\nValue on reset: 0"]
330#[derive(Clone, Copy, Debug, PartialEq, Eq)]
331pub enum WRITE_PROTECT_PIN_LEVEL_A {
332 #[doc = "0: Write protected (SDWP = 1)"]
333 VALUE1 = 0,
334 #[doc = "1: Write enabled (SDWP = 0)"]
335 VALUE2 = 1,
336}
337impl From<WRITE_PROTECT_PIN_LEVEL_A> for bool {
338 #[inline(always)]
339 fn from(variant: WRITE_PROTECT_PIN_LEVEL_A) -> Self {
340 variant as u8 != 0
341 }
342}
343#[doc = "Field `WRITE_PROTECT_PIN_LEVEL` reader - Write Protect Switch Pin Level"]
344pub type WRITE_PROTECT_PIN_LEVEL_R = crate::BitReader<WRITE_PROTECT_PIN_LEVEL_A>;
345impl WRITE_PROTECT_PIN_LEVEL_R {
346 #[doc = "Get enumerated values variant"]
347 #[inline(always)]
348 pub const fn variant(&self) -> WRITE_PROTECT_PIN_LEVEL_A {
349 match self.bits {
350 false => WRITE_PROTECT_PIN_LEVEL_A::VALUE1,
351 true => WRITE_PROTECT_PIN_LEVEL_A::VALUE2,
352 }
353 }
354 #[doc = "Write protected (SDWP = 1)"]
355 #[inline(always)]
356 pub fn is_value1(&self) -> bool {
357 *self == WRITE_PROTECT_PIN_LEVEL_A::VALUE1
358 }
359 #[doc = "Write enabled (SDWP = 0)"]
360 #[inline(always)]
361 pub fn is_value2(&self) -> bool {
362 *self == WRITE_PROTECT_PIN_LEVEL_A::VALUE2
363 }
364}
365#[doc = "Field `DAT_3_0_PIN_LEVEL` reader - Line Signal Level"]
366pub type DAT_3_0_PIN_LEVEL_R = crate::FieldReader;
367#[doc = "Field `CMD_LINE_LEVEL` reader - CMD Line Signal Level"]
368pub type CMD_LINE_LEVEL_R = crate::BitReader;
369#[doc = "Field `DAT_7_4_PIN_LEVEL` reader - Line Signal Level"]
370pub type DAT_7_4_PIN_LEVEL_R = crate::FieldReader;
371impl R {
372 #[doc = "Bit 0 - Command Inhibit (CMD)"]
373 #[inline(always)]
374 pub fn command_inhibit_cmd(&self) -> COMMAND_INHIBIT_CMD_R {
375 COMMAND_INHIBIT_CMD_R::new((self.bits & 1) != 0)
376 }
377 #[doc = "Bit 1 - Command Inhibit (DAT)"]
378 #[inline(always)]
379 pub fn command_inhibit_dat(&self) -> COMMAND_INHIBIT_DAT_R {
380 COMMAND_INHIBIT_DAT_R::new(((self.bits >> 1) & 1) != 0)
381 }
382 #[doc = "Bit 2 - DAT Line Active"]
383 #[inline(always)]
384 pub fn dat_line_active(&self) -> DAT_LINE_ACTIVE_R {
385 DAT_LINE_ACTIVE_R::new(((self.bits >> 2) & 1) != 0)
386 }
387 #[doc = "Bit 8 - Write Transfer Active"]
388 #[inline(always)]
389 pub fn write_transfer_active(&self) -> WRITE_TRANSFER_ACTIVE_R {
390 WRITE_TRANSFER_ACTIVE_R::new(((self.bits >> 8) & 1) != 0)
391 }
392 #[doc = "Bit 9 - Read Transfer Active"]
393 #[inline(always)]
394 pub fn read_transfer_active(&self) -> READ_TRANSFER_ACTIVE_R {
395 READ_TRANSFER_ACTIVE_R::new(((self.bits >> 9) & 1) != 0)
396 }
397 #[doc = "Bit 10 - Buffer Write Enable"]
398 #[inline(always)]
399 pub fn buffer_write_enable(&self) -> BUFFER_WRITE_ENABLE_R {
400 BUFFER_WRITE_ENABLE_R::new(((self.bits >> 10) & 1) != 0)
401 }
402 #[doc = "Bit 11 - Buffer Read Enable"]
403 #[inline(always)]
404 pub fn buffer_read_enable(&self) -> BUFFER_READ_ENABLE_R {
405 BUFFER_READ_ENABLE_R::new(((self.bits >> 11) & 1) != 0)
406 }
407 #[doc = "Bit 16 - Card Inserted"]
408 #[inline(always)]
409 pub fn card_inserted(&self) -> CARD_INSERTED_R {
410 CARD_INSERTED_R::new(((self.bits >> 16) & 1) != 0)
411 }
412 #[doc = "Bit 17 - Card State Stable"]
413 #[inline(always)]
414 pub fn card_state_stable(&self) -> CARD_STATE_STABLE_R {
415 CARD_STATE_STABLE_R::new(((self.bits >> 17) & 1) != 0)
416 }
417 #[doc = "Bit 18 - Card Detect Pin Level"]
418 #[inline(always)]
419 pub fn card_detect_pin_level(&self) -> CARD_DETECT_PIN_LEVEL_R {
420 CARD_DETECT_PIN_LEVEL_R::new(((self.bits >> 18) & 1) != 0)
421 }
422 #[doc = "Bit 19 - Write Protect Switch Pin Level"]
423 #[inline(always)]
424 pub fn write_protect_pin_level(&self) -> WRITE_PROTECT_PIN_LEVEL_R {
425 WRITE_PROTECT_PIN_LEVEL_R::new(((self.bits >> 19) & 1) != 0)
426 }
427 #[doc = "Bits 20:23 - Line Signal Level"]
428 #[inline(always)]
429 pub fn dat_3_0_pin_level(&self) -> DAT_3_0_PIN_LEVEL_R {
430 DAT_3_0_PIN_LEVEL_R::new(((self.bits >> 20) & 0x0f) as u8)
431 }
432 #[doc = "Bit 24 - CMD Line Signal Level"]
433 #[inline(always)]
434 pub fn cmd_line_level(&self) -> CMD_LINE_LEVEL_R {
435 CMD_LINE_LEVEL_R::new(((self.bits >> 24) & 1) != 0)
436 }
437 #[doc = "Bits 25:28 - Line Signal Level"]
438 #[inline(always)]
439 pub fn dat_7_4_pin_level(&self) -> DAT_7_4_PIN_LEVEL_R {
440 DAT_7_4_PIN_LEVEL_R::new(((self.bits >> 25) & 0x0f) as u8)
441 }
442}
443#[doc = "Present State Register\n\nYou can [`read`](crate::Reg::read) this register and get [`present_state::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
444pub struct PRESENT_STATE_SPEC;
445impl crate::RegisterSpec for PRESENT_STATE_SPEC {
446 type Ux = u32;
447}
448#[doc = "`read()` method returns [`present_state::R`](R) reader structure"]
449impl crate::Readable for PRESENT_STATE_SPEC {}
450#[doc = "`reset()` method sets PRESENT_STATE to value 0"]
451impl crate::Resettable for PRESENT_STATE_SPEC {
452 const RESET_VALUE: u32 = 0;
453}