atsamd51p/sdhc0/
acesr.rs
1#[doc = "Register `ACESR` reader"]
2pub type R = crate::R<AcesrSpec>;
3#[doc = "Auto CMD12 Not Executed\n\nValue on reset: 0"]
4#[derive(Clone, Copy, Debug, PartialEq, Eq)]
5pub enum Acmd12neselect {
6 #[doc = "0: Executed"]
7 Exec = 0,
8 #[doc = "1: Not executed"]
9 NotExec = 1,
10}
11impl From<Acmd12neselect> for bool {
12 #[inline(always)]
13 fn from(variant: Acmd12neselect) -> Self {
14 variant as u8 != 0
15 }
16}
17#[doc = "Field `ACMD12NE` reader - Auto CMD12 Not Executed"]
18pub type Acmd12neR = crate::BitReader<Acmd12neselect>;
19impl Acmd12neR {
20 #[doc = "Get enumerated values variant"]
21 #[inline(always)]
22 pub const fn variant(&self) -> Acmd12neselect {
23 match self.bits {
24 false => Acmd12neselect::Exec,
25 true => Acmd12neselect::NotExec,
26 }
27 }
28 #[doc = "Executed"]
29 #[inline(always)]
30 pub fn is_exec(&self) -> bool {
31 *self == Acmd12neselect::Exec
32 }
33 #[doc = "Not executed"]
34 #[inline(always)]
35 pub fn is_not_exec(&self) -> bool {
36 *self == Acmd12neselect::NotExec
37 }
38}
39#[doc = "Auto CMD Timeout Error\n\nValue on reset: 0"]
40#[derive(Clone, Copy, Debug, PartialEq, Eq)]
41pub enum Acmdteoselect {
42 #[doc = "0: No error"]
43 No = 0,
44 #[doc = "1: Timeout"]
45 Yes = 1,
46}
47impl From<Acmdteoselect> for bool {
48 #[inline(always)]
49 fn from(variant: Acmdteoselect) -> Self {
50 variant as u8 != 0
51 }
52}
53#[doc = "Field `ACMDTEO` reader - Auto CMD Timeout Error"]
54pub type AcmdteoR = crate::BitReader<Acmdteoselect>;
55impl AcmdteoR {
56 #[doc = "Get enumerated values variant"]
57 #[inline(always)]
58 pub const fn variant(&self) -> Acmdteoselect {
59 match self.bits {
60 false => Acmdteoselect::No,
61 true => Acmdteoselect::Yes,
62 }
63 }
64 #[doc = "No error"]
65 #[inline(always)]
66 pub fn is_no(&self) -> bool {
67 *self == Acmdteoselect::No
68 }
69 #[doc = "Timeout"]
70 #[inline(always)]
71 pub fn is_yes(&self) -> bool {
72 *self == Acmdteoselect::Yes
73 }
74}
75#[doc = "Auto CMD CRC Error\n\nValue on reset: 0"]
76#[derive(Clone, Copy, Debug, PartialEq, Eq)]
77pub enum Acmdcrcselect {
78 #[doc = "0: No error"]
79 No = 0,
80 #[doc = "1: CRC Error Generated"]
81 Yes = 1,
82}
83impl From<Acmdcrcselect> for bool {
84 #[inline(always)]
85 fn from(variant: Acmdcrcselect) -> Self {
86 variant as u8 != 0
87 }
88}
89#[doc = "Field `ACMDCRC` reader - Auto CMD CRC Error"]
90pub type AcmdcrcR = crate::BitReader<Acmdcrcselect>;
91impl AcmdcrcR {
92 #[doc = "Get enumerated values variant"]
93 #[inline(always)]
94 pub const fn variant(&self) -> Acmdcrcselect {
95 match self.bits {
96 false => Acmdcrcselect::No,
97 true => Acmdcrcselect::Yes,
98 }
99 }
100 #[doc = "No error"]
101 #[inline(always)]
102 pub fn is_no(&self) -> bool {
103 *self == Acmdcrcselect::No
104 }
105 #[doc = "CRC Error Generated"]
106 #[inline(always)]
107 pub fn is_yes(&self) -> bool {
108 *self == Acmdcrcselect::Yes
109 }
110}
111#[doc = "Auto CMD End Bit Error\n\nValue on reset: 0"]
112#[derive(Clone, Copy, Debug, PartialEq, Eq)]
113pub enum Acmdendselect {
114 #[doc = "0: No error"]
115 No = 0,
116 #[doc = "1: End Bit Error Generated"]
117 Yes = 1,
118}
119impl From<Acmdendselect> for bool {
120 #[inline(always)]
121 fn from(variant: Acmdendselect) -> Self {
122 variant as u8 != 0
123 }
124}
125#[doc = "Field `ACMDEND` reader - Auto CMD End Bit Error"]
126pub type AcmdendR = crate::BitReader<Acmdendselect>;
127impl AcmdendR {
128 #[doc = "Get enumerated values variant"]
129 #[inline(always)]
130 pub const fn variant(&self) -> Acmdendselect {
131 match self.bits {
132 false => Acmdendselect::No,
133 true => Acmdendselect::Yes,
134 }
135 }
136 #[doc = "No error"]
137 #[inline(always)]
138 pub fn is_no(&self) -> bool {
139 *self == Acmdendselect::No
140 }
141 #[doc = "End Bit Error Generated"]
142 #[inline(always)]
143 pub fn is_yes(&self) -> bool {
144 *self == Acmdendselect::Yes
145 }
146}
147#[doc = "Auto CMD Index Error\n\nValue on reset: 0"]
148#[derive(Clone, Copy, Debug, PartialEq, Eq)]
149pub enum Acmdidxselect {
150 #[doc = "0: No error"]
151 No = 0,
152 #[doc = "1: Error"]
153 Yes = 1,
154}
155impl From<Acmdidxselect> for bool {
156 #[inline(always)]
157 fn from(variant: Acmdidxselect) -> Self {
158 variant as u8 != 0
159 }
160}
161#[doc = "Field `ACMDIDX` reader - Auto CMD Index Error"]
162pub type AcmdidxR = crate::BitReader<Acmdidxselect>;
163impl AcmdidxR {
164 #[doc = "Get enumerated values variant"]
165 #[inline(always)]
166 pub const fn variant(&self) -> Acmdidxselect {
167 match self.bits {
168 false => Acmdidxselect::No,
169 true => Acmdidxselect::Yes,
170 }
171 }
172 #[doc = "No error"]
173 #[inline(always)]
174 pub fn is_no(&self) -> bool {
175 *self == Acmdidxselect::No
176 }
177 #[doc = "Error"]
178 #[inline(always)]
179 pub fn is_yes(&self) -> bool {
180 *self == Acmdidxselect::Yes
181 }
182}
183#[doc = "Command not Issued By Auto CMD12 Error\n\nValue on reset: 0"]
184#[derive(Clone, Copy, Debug, PartialEq, Eq)]
185pub enum Cmdniselect {
186 #[doc = "0: No error"]
187 Ok = 0,
188 #[doc = "1: Not Issued"]
189 NotIssued = 1,
190}
191impl From<Cmdniselect> for bool {
192 #[inline(always)]
193 fn from(variant: Cmdniselect) -> Self {
194 variant as u8 != 0
195 }
196}
197#[doc = "Field `CMDNI` reader - Command not Issued By Auto CMD12 Error"]
198pub type CmdniR = crate::BitReader<Cmdniselect>;
199impl CmdniR {
200 #[doc = "Get enumerated values variant"]
201 #[inline(always)]
202 pub const fn variant(&self) -> Cmdniselect {
203 match self.bits {
204 false => Cmdniselect::Ok,
205 true => Cmdniselect::NotIssued,
206 }
207 }
208 #[doc = "No error"]
209 #[inline(always)]
210 pub fn is_ok(&self) -> bool {
211 *self == Cmdniselect::Ok
212 }
213 #[doc = "Not Issued"]
214 #[inline(always)]
215 pub fn is_not_issued(&self) -> bool {
216 *self == Cmdniselect::NotIssued
217 }
218}
219impl R {
220 #[doc = "Bit 0 - Auto CMD12 Not Executed"]
221 #[inline(always)]
222 pub fn acmd12ne(&self) -> Acmd12neR {
223 Acmd12neR::new((self.bits & 1) != 0)
224 }
225 #[doc = "Bit 1 - Auto CMD Timeout Error"]
226 #[inline(always)]
227 pub fn acmdteo(&self) -> AcmdteoR {
228 AcmdteoR::new(((self.bits >> 1) & 1) != 0)
229 }
230 #[doc = "Bit 2 - Auto CMD CRC Error"]
231 #[inline(always)]
232 pub fn acmdcrc(&self) -> AcmdcrcR {
233 AcmdcrcR::new(((self.bits >> 2) & 1) != 0)
234 }
235 #[doc = "Bit 3 - Auto CMD End Bit Error"]
236 #[inline(always)]
237 pub fn acmdend(&self) -> AcmdendR {
238 AcmdendR::new(((self.bits >> 3) & 1) != 0)
239 }
240 #[doc = "Bit 4 - Auto CMD Index Error"]
241 #[inline(always)]
242 pub fn acmdidx(&self) -> AcmdidxR {
243 AcmdidxR::new(((self.bits >> 4) & 1) != 0)
244 }
245 #[doc = "Bit 7 - Command not Issued By Auto CMD12 Error"]
246 #[inline(always)]
247 pub fn cmdni(&self) -> CmdniR {
248 CmdniR::new(((self.bits >> 7) & 1) != 0)
249 }
250}
251#[doc = "Auto CMD Error Status\n\nYou can [`read`](crate::Reg::read) this register and get [`acesr::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
252pub struct AcesrSpec;
253impl crate::RegisterSpec for AcesrSpec {
254 type Ux = u16;
255}
256#[doc = "`read()` method returns [`acesr::R`](R) reader structure"]
257impl crate::Readable for AcesrSpec {}
258#[doc = "`reset()` method sets ACESR to value 0"]
259impl crate::Resettable for AcesrSpec {
260 const RESET_VALUE: u16 = 0;
261}