efm32pg22_pac/efm32pg22c200/iadc0_ns/
ctrl.rs1#[doc = "Register `CTRL` reader"]
2pub struct R(crate::R<CTRL_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<CTRL_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<CTRL_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<CTRL_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `CTRL` writer"]
17pub struct W(crate::W<CTRL_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<CTRL_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<CTRL_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<CTRL_SPEC>) -> Self {
34 W(writer)
35 }
36}
37#[doc = "Field `EM23WUCONVERT` reader - EM23 Wakeup on Conversion"]
38pub type EM23WUCONVERT_R = crate::BitReader<EM23WUCONVERT_A>;
39#[doc = "EM23 Wakeup on Conversion\n\nValue on reset: 0"]
40#[derive(Clone, Copy, Debug, PartialEq, Eq)]
41pub enum EM23WUCONVERT_A {
42 #[doc = "0: When using suspend mode, conversions performed in EM2 or EM3 should not wake up the DMA until the FIFO's DVL setting is reached. This saves more power for large OSR settings or infrequent sampling."]
43 WUDVL = 0,
44 #[doc = "1: When using suspend mode, conversions performed in EM2 or EM3 will wake up the DMA and keep it awake until the conversions are done, regardless of the DVL setting. This mode burns more power, but it is useful when the conversion rate is faster than the time for the DMA to cycle through wake up and going back to sleep as it converts more than 4 scan table entries. Without using the wake up on conversion mode, the FIFO may overflow while the DMA is going in and out of sleep."]
45 WUCONVERT = 1,
46}
47impl From<EM23WUCONVERT_A> for bool {
48 #[inline(always)]
49 fn from(variant: EM23WUCONVERT_A) -> Self {
50 variant as u8 != 0
51 }
52}
53impl EM23WUCONVERT_R {
54 #[doc = "Get enumerated values variant"]
55 #[inline(always)]
56 pub fn variant(&self) -> EM23WUCONVERT_A {
57 match self.bits {
58 false => EM23WUCONVERT_A::WUDVL,
59 true => EM23WUCONVERT_A::WUCONVERT,
60 }
61 }
62 #[doc = "Checks if the value of the field is `WUDVL`"]
63 #[inline(always)]
64 pub fn is_wudvl(&self) -> bool {
65 *self == EM23WUCONVERT_A::WUDVL
66 }
67 #[doc = "Checks if the value of the field is `WUCONVERT`"]
68 #[inline(always)]
69 pub fn is_wuconvert(&self) -> bool {
70 *self == EM23WUCONVERT_A::WUCONVERT
71 }
72}
73#[doc = "Field `EM23WUCONVERT` writer - EM23 Wakeup on Conversion"]
74pub type EM23WUCONVERT_W<'a, const O: u8> =
75 crate::BitWriter<'a, u32, CTRL_SPEC, EM23WUCONVERT_A, O>;
76impl<'a, const O: u8> EM23WUCONVERT_W<'a, O> {
77 #[doc = "When using suspend mode, conversions performed in EM2 or EM3 should not wake up the DMA until the FIFO's DVL setting is reached. This saves more power for large OSR settings or infrequent sampling."]
78 #[inline(always)]
79 pub fn wudvl(self) -> &'a mut W {
80 self.variant(EM23WUCONVERT_A::WUDVL)
81 }
82 #[doc = "When using suspend mode, conversions performed in EM2 or EM3 will wake up the DMA and keep it awake until the conversions are done, regardless of the DVL setting. This mode burns more power, but it is useful when the conversion rate is faster than the time for the DMA to cycle through wake up and going back to sleep as it converts more than 4 scan table entries. Without using the wake up on conversion mode, the FIFO may overflow while the DMA is going in and out of sleep."]
83 #[inline(always)]
84 pub fn wuconvert(self) -> &'a mut W {
85 self.variant(EM23WUCONVERT_A::WUCONVERT)
86 }
87}
88#[doc = "Field `ADCCLKSUSPEND0` reader - ADC_CLK Suspend - PRS0"]
89pub type ADCCLKSUSPEND0_R = crate::BitReader<ADCCLKSUSPEND0_A>;
90#[doc = "ADC_CLK Suspend - PRS0\n\nValue on reset: 0"]
91#[derive(Clone, Copy, Debug, PartialEq, Eq)]
92pub enum ADCCLKSUSPEND0_A {
93 #[doc = "0: Normal mode which does not disable the ADC_CLK."]
94 PRSWUDIS = 0,
95 #[doc = "1: ADCCLKWUEN will gate off ADC_CLK until the trigger is detected provided the internal timer is not selected as the trigger. Once the trigger is detected the ADC_CLK will be started, the band gap will be started, the ADC will be warmed up, and the SCAN Table and the Single entry will be converted. Once the conversions are done, the ADC_CLK will be gated off."]
96 PRSWUEN = 1,
97}
98impl From<ADCCLKSUSPEND0_A> for bool {
99 #[inline(always)]
100 fn from(variant: ADCCLKSUSPEND0_A) -> Self {
101 variant as u8 != 0
102 }
103}
104impl ADCCLKSUSPEND0_R {
105 #[doc = "Get enumerated values variant"]
106 #[inline(always)]
107 pub fn variant(&self) -> ADCCLKSUSPEND0_A {
108 match self.bits {
109 false => ADCCLKSUSPEND0_A::PRSWUDIS,
110 true => ADCCLKSUSPEND0_A::PRSWUEN,
111 }
112 }
113 #[doc = "Checks if the value of the field is `PRSWUDIS`"]
114 #[inline(always)]
115 pub fn is_prswudis(&self) -> bool {
116 *self == ADCCLKSUSPEND0_A::PRSWUDIS
117 }
118 #[doc = "Checks if the value of the field is `PRSWUEN`"]
119 #[inline(always)]
120 pub fn is_prswuen(&self) -> bool {
121 *self == ADCCLKSUSPEND0_A::PRSWUEN
122 }
123}
124#[doc = "Field `ADCCLKSUSPEND0` writer - ADC_CLK Suspend - PRS0"]
125pub type ADCCLKSUSPEND0_W<'a, const O: u8> =
126 crate::BitWriter<'a, u32, CTRL_SPEC, ADCCLKSUSPEND0_A, O>;
127impl<'a, const O: u8> ADCCLKSUSPEND0_W<'a, O> {
128 #[doc = "Normal mode which does not disable the ADC_CLK."]
129 #[inline(always)]
130 pub fn prswudis(self) -> &'a mut W {
131 self.variant(ADCCLKSUSPEND0_A::PRSWUDIS)
132 }
133 #[doc = "ADCCLKWUEN will gate off ADC_CLK until the trigger is detected provided the internal timer is not selected as the trigger. Once the trigger is detected the ADC_CLK will be started, the band gap will be started, the ADC will be warmed up, and the SCAN Table and the Single entry will be converted. Once the conversions are done, the ADC_CLK will be gated off."]
134 #[inline(always)]
135 pub fn prswuen(self) -> &'a mut W {
136 self.variant(ADCCLKSUSPEND0_A::PRSWUEN)
137 }
138}
139#[doc = "Field `ADCCLKSUSPEND1` reader - ADC_CLK Suspend - PRS1"]
140pub type ADCCLKSUSPEND1_R = crate::BitReader<ADCCLKSUSPEND1_A>;
141#[doc = "ADC_CLK Suspend - PRS1\n\nValue on reset: 0"]
142#[derive(Clone, Copy, Debug, PartialEq, Eq)]
143pub enum ADCCLKSUSPEND1_A {
144 #[doc = "0: Normal mode which does not disable the ADC_CLK."]
145 PRSWUDIS = 0,
146 #[doc = "1: ADCCLKWUEN will gate off ADC_CLK until the trigger is detected provided the internal timer is not selected as the trigger. Once the trigger is detected the ADC_CLK will be started, the band gap will be started, the ADC will be warmed up, and the SCAN Table and the Single entry will be converted. Once the conversions are done, the ADC_CLK will be gated off."]
147 PRSWUEN = 1,
148}
149impl From<ADCCLKSUSPEND1_A> for bool {
150 #[inline(always)]
151 fn from(variant: ADCCLKSUSPEND1_A) -> Self {
152 variant as u8 != 0
153 }
154}
155impl ADCCLKSUSPEND1_R {
156 #[doc = "Get enumerated values variant"]
157 #[inline(always)]
158 pub fn variant(&self) -> ADCCLKSUSPEND1_A {
159 match self.bits {
160 false => ADCCLKSUSPEND1_A::PRSWUDIS,
161 true => ADCCLKSUSPEND1_A::PRSWUEN,
162 }
163 }
164 #[doc = "Checks if the value of the field is `PRSWUDIS`"]
165 #[inline(always)]
166 pub fn is_prswudis(&self) -> bool {
167 *self == ADCCLKSUSPEND1_A::PRSWUDIS
168 }
169 #[doc = "Checks if the value of the field is `PRSWUEN`"]
170 #[inline(always)]
171 pub fn is_prswuen(&self) -> bool {
172 *self == ADCCLKSUSPEND1_A::PRSWUEN
173 }
174}
175#[doc = "Field `ADCCLKSUSPEND1` writer - ADC_CLK Suspend - PRS1"]
176pub type ADCCLKSUSPEND1_W<'a, const O: u8> =
177 crate::BitWriter<'a, u32, CTRL_SPEC, ADCCLKSUSPEND1_A, O>;
178impl<'a, const O: u8> ADCCLKSUSPEND1_W<'a, O> {
179 #[doc = "Normal mode which does not disable the ADC_CLK."]
180 #[inline(always)]
181 pub fn prswudis(self) -> &'a mut W {
182 self.variant(ADCCLKSUSPEND1_A::PRSWUDIS)
183 }
184 #[doc = "ADCCLKWUEN will gate off ADC_CLK until the trigger is detected provided the internal timer is not selected as the trigger. Once the trigger is detected the ADC_CLK will be started, the band gap will be started, the ADC will be warmed up, and the SCAN Table and the Single entry will be converted. Once the conversions are done, the ADC_CLK will be gated off."]
185 #[inline(always)]
186 pub fn prswuen(self) -> &'a mut W {
187 self.variant(ADCCLKSUSPEND1_A::PRSWUEN)
188 }
189}
190#[doc = "Field `DBGHALT` reader - Debug Halt"]
191pub type DBGHALT_R = crate::BitReader<DBGHALT_A>;
192#[doc = "Debug Halt\n\nValue on reset: 0"]
193#[derive(Clone, Copy, Debug, PartialEq, Eq)]
194pub enum DBGHALT_A {
195 #[doc = "0: Continue operation as normal during debug mode"]
196 NORMAL = 0,
197 #[doc = "1: Complete the current conversion and then halt during debug mode"]
198 HALT = 1,
199}
200impl From<DBGHALT_A> for bool {
201 #[inline(always)]
202 fn from(variant: DBGHALT_A) -> Self {
203 variant as u8 != 0
204 }
205}
206impl DBGHALT_R {
207 #[doc = "Get enumerated values variant"]
208 #[inline(always)]
209 pub fn variant(&self) -> DBGHALT_A {
210 match self.bits {
211 false => DBGHALT_A::NORMAL,
212 true => DBGHALT_A::HALT,
213 }
214 }
215 #[doc = "Checks if the value of the field is `NORMAL`"]
216 #[inline(always)]
217 pub fn is_normal(&self) -> bool {
218 *self == DBGHALT_A::NORMAL
219 }
220 #[doc = "Checks if the value of the field is `HALT`"]
221 #[inline(always)]
222 pub fn is_halt(&self) -> bool {
223 *self == DBGHALT_A::HALT
224 }
225}
226#[doc = "Field `DBGHALT` writer - Debug Halt"]
227pub type DBGHALT_W<'a, const O: u8> = crate::BitWriter<'a, u32, CTRL_SPEC, DBGHALT_A, O>;
228impl<'a, const O: u8> DBGHALT_W<'a, O> {
229 #[doc = "Continue operation as normal during debug mode"]
230 #[inline(always)]
231 pub fn normal(self) -> &'a mut W {
232 self.variant(DBGHALT_A::NORMAL)
233 }
234 #[doc = "Complete the current conversion and then halt during debug mode"]
235 #[inline(always)]
236 pub fn halt(self) -> &'a mut W {
237 self.variant(DBGHALT_A::HALT)
238 }
239}
240#[doc = "Field `WARMUPMODE` reader - Warmup Mode"]
241pub type WARMUPMODE_R = crate::FieldReader<u8, WARMUPMODE_A>;
242#[doc = "Warmup Mode\n\nValue on reset: 0"]
243#[derive(Clone, Copy, Debug, PartialEq, Eq)]
244#[repr(u8)]
245pub enum WARMUPMODE_A {
246 #[doc = "0: Shut down the IADC after conversions have completed."]
247 NORMAL = 0,
248 #[doc = "1: Switch to standby mode after conversions have completed. The next warmup time will require 1us."]
249 KEEPINSTANDBY = 1,
250 #[doc = "2: Keep IADC fully powered after conversions have completed."]
251 KEEPWARM = 2,
252}
253impl From<WARMUPMODE_A> for u8 {
254 #[inline(always)]
255 fn from(variant: WARMUPMODE_A) -> Self {
256 variant as _
257 }
258}
259impl WARMUPMODE_R {
260 #[doc = "Get enumerated values variant"]
261 #[inline(always)]
262 pub fn variant(&self) -> Option<WARMUPMODE_A> {
263 match self.bits {
264 0 => Some(WARMUPMODE_A::NORMAL),
265 1 => Some(WARMUPMODE_A::KEEPINSTANDBY),
266 2 => Some(WARMUPMODE_A::KEEPWARM),
267 _ => None,
268 }
269 }
270 #[doc = "Checks if the value of the field is `NORMAL`"]
271 #[inline(always)]
272 pub fn is_normal(&self) -> bool {
273 *self == WARMUPMODE_A::NORMAL
274 }
275 #[doc = "Checks if the value of the field is `KEEPINSTANDBY`"]
276 #[inline(always)]
277 pub fn is_keepinstandby(&self) -> bool {
278 *self == WARMUPMODE_A::KEEPINSTANDBY
279 }
280 #[doc = "Checks if the value of the field is `KEEPWARM`"]
281 #[inline(always)]
282 pub fn is_keepwarm(&self) -> bool {
283 *self == WARMUPMODE_A::KEEPWARM
284 }
285}
286#[doc = "Field `WARMUPMODE` writer - Warmup Mode"]
287pub type WARMUPMODE_W<'a, const O: u8> =
288 crate::FieldWriter<'a, u32, CTRL_SPEC, u8, WARMUPMODE_A, 2, O>;
289impl<'a, const O: u8> WARMUPMODE_W<'a, O> {
290 #[doc = "Shut down the IADC after conversions have completed."]
291 #[inline(always)]
292 pub fn normal(self) -> &'a mut W {
293 self.variant(WARMUPMODE_A::NORMAL)
294 }
295 #[doc = "Switch to standby mode after conversions have completed. The next warmup time will require 1us."]
296 #[inline(always)]
297 pub fn keepinstandby(self) -> &'a mut W {
298 self.variant(WARMUPMODE_A::KEEPINSTANDBY)
299 }
300 #[doc = "Keep IADC fully powered after conversions have completed."]
301 #[inline(always)]
302 pub fn keepwarm(self) -> &'a mut W {
303 self.variant(WARMUPMODE_A::KEEPWARM)
304 }
305}
306#[doc = "Field `TIMEBASE` reader - Time Base"]
307pub type TIMEBASE_R = crate::FieldReader<u8, u8>;
308#[doc = "Field `TIMEBASE` writer - Time Base"]
309pub type TIMEBASE_W<'a, const O: u8> = crate::FieldWriter<'a, u32, CTRL_SPEC, u8, u8, 7, O>;
310#[doc = "Field `HSCLKRATE` reader - High Speed Clock Rate"]
311pub type HSCLKRATE_R = crate::FieldReader<u8, HSCLKRATE_A>;
312#[doc = "High Speed Clock Rate\n\nValue on reset: 0"]
313#[derive(Clone, Copy, Debug, PartialEq, Eq)]
314#[repr(u8)]
315pub enum HSCLKRATE_A {
316 #[doc = "0: Use CMU_CLK_ADC directly. The source clock must be 40 MHz or less."]
317 DIV1 = 0,
318 #[doc = "1: Divide CMU_CLK_ADC by 2 before using it. The resulting CLK_SRC_ADC must be 40 MHz or less."]
319 DIV2 = 1,
320 #[doc = "2: Divide CMU_CLK_ADC by 3 before using it. The resulting CLK_SRC_ADC must be 40 MHz or less."]
321 DIV3 = 2,
322 #[doc = "3: Divide CMU_CLK_ADC by 4 before using it. The resulting CLK_SRC_ADC must be 40 MHz or less."]
323 DIV4 = 3,
324}
325impl From<HSCLKRATE_A> for u8 {
326 #[inline(always)]
327 fn from(variant: HSCLKRATE_A) -> Self {
328 variant as _
329 }
330}
331impl HSCLKRATE_R {
332 #[doc = "Get enumerated values variant"]
333 #[inline(always)]
334 pub fn variant(&self) -> Option<HSCLKRATE_A> {
335 match self.bits {
336 0 => Some(HSCLKRATE_A::DIV1),
337 1 => Some(HSCLKRATE_A::DIV2),
338 2 => Some(HSCLKRATE_A::DIV3),
339 3 => Some(HSCLKRATE_A::DIV4),
340 _ => None,
341 }
342 }
343 #[doc = "Checks if the value of the field is `DIV1`"]
344 #[inline(always)]
345 pub fn is_div1(&self) -> bool {
346 *self == HSCLKRATE_A::DIV1
347 }
348 #[doc = "Checks if the value of the field is `DIV2`"]
349 #[inline(always)]
350 pub fn is_div2(&self) -> bool {
351 *self == HSCLKRATE_A::DIV2
352 }
353 #[doc = "Checks if the value of the field is `DIV3`"]
354 #[inline(always)]
355 pub fn is_div3(&self) -> bool {
356 *self == HSCLKRATE_A::DIV3
357 }
358 #[doc = "Checks if the value of the field is `DIV4`"]
359 #[inline(always)]
360 pub fn is_div4(&self) -> bool {
361 *self == HSCLKRATE_A::DIV4
362 }
363}
364#[doc = "Field `HSCLKRATE` writer - High Speed Clock Rate"]
365pub type HSCLKRATE_W<'a, const O: u8> =
366 crate::FieldWriter<'a, u32, CTRL_SPEC, u8, HSCLKRATE_A, 3, O>;
367impl<'a, const O: u8> HSCLKRATE_W<'a, O> {
368 #[doc = "Use CMU_CLK_ADC directly. The source clock must be 40 MHz or less."]
369 #[inline(always)]
370 pub fn div1(self) -> &'a mut W {
371 self.variant(HSCLKRATE_A::DIV1)
372 }
373 #[doc = "Divide CMU_CLK_ADC by 2 before using it. The resulting CLK_SRC_ADC must be 40 MHz or less."]
374 #[inline(always)]
375 pub fn div2(self) -> &'a mut W {
376 self.variant(HSCLKRATE_A::DIV2)
377 }
378 #[doc = "Divide CMU_CLK_ADC by 3 before using it. The resulting CLK_SRC_ADC must be 40 MHz or less."]
379 #[inline(always)]
380 pub fn div3(self) -> &'a mut W {
381 self.variant(HSCLKRATE_A::DIV3)
382 }
383 #[doc = "Divide CMU_CLK_ADC by 4 before using it. The resulting CLK_SRC_ADC must be 40 MHz or less."]
384 #[inline(always)]
385 pub fn div4(self) -> &'a mut W {
386 self.variant(HSCLKRATE_A::DIV4)
387 }
388}
389impl R {
390 #[doc = "Bit 0 - EM23 Wakeup on Conversion"]
391 #[inline(always)]
392 pub fn em23wuconvert(&self) -> EM23WUCONVERT_R {
393 EM23WUCONVERT_R::new((self.bits & 1) != 0)
394 }
395 #[doc = "Bit 1 - ADC_CLK Suspend - PRS0"]
396 #[inline(always)]
397 pub fn adcclksuspend0(&self) -> ADCCLKSUSPEND0_R {
398 ADCCLKSUSPEND0_R::new(((self.bits >> 1) & 1) != 0)
399 }
400 #[doc = "Bit 2 - ADC_CLK Suspend - PRS1"]
401 #[inline(always)]
402 pub fn adcclksuspend1(&self) -> ADCCLKSUSPEND1_R {
403 ADCCLKSUSPEND1_R::new(((self.bits >> 2) & 1) != 0)
404 }
405 #[doc = "Bit 3 - Debug Halt"]
406 #[inline(always)]
407 pub fn dbghalt(&self) -> DBGHALT_R {
408 DBGHALT_R::new(((self.bits >> 3) & 1) != 0)
409 }
410 #[doc = "Bits 4:5 - Warmup Mode"]
411 #[inline(always)]
412 pub fn warmupmode(&self) -> WARMUPMODE_R {
413 WARMUPMODE_R::new(((self.bits >> 4) & 3) as u8)
414 }
415 #[doc = "Bits 16:22 - Time Base"]
416 #[inline(always)]
417 pub fn timebase(&self) -> TIMEBASE_R {
418 TIMEBASE_R::new(((self.bits >> 16) & 0x7f) as u8)
419 }
420 #[doc = "Bits 28:30 - High Speed Clock Rate"]
421 #[inline(always)]
422 pub fn hsclkrate(&self) -> HSCLKRATE_R {
423 HSCLKRATE_R::new(((self.bits >> 28) & 7) as u8)
424 }
425}
426impl W {
427 #[doc = "Bit 0 - EM23 Wakeup on Conversion"]
428 #[inline(always)]
429 #[must_use]
430 pub fn em23wuconvert(&mut self) -> EM23WUCONVERT_W<0> {
431 EM23WUCONVERT_W::new(self)
432 }
433 #[doc = "Bit 1 - ADC_CLK Suspend - PRS0"]
434 #[inline(always)]
435 #[must_use]
436 pub fn adcclksuspend0(&mut self) -> ADCCLKSUSPEND0_W<1> {
437 ADCCLKSUSPEND0_W::new(self)
438 }
439 #[doc = "Bit 2 - ADC_CLK Suspend - PRS1"]
440 #[inline(always)]
441 #[must_use]
442 pub fn adcclksuspend1(&mut self) -> ADCCLKSUSPEND1_W<2> {
443 ADCCLKSUSPEND1_W::new(self)
444 }
445 #[doc = "Bit 3 - Debug Halt"]
446 #[inline(always)]
447 #[must_use]
448 pub fn dbghalt(&mut self) -> DBGHALT_W<3> {
449 DBGHALT_W::new(self)
450 }
451 #[doc = "Bits 4:5 - Warmup Mode"]
452 #[inline(always)]
453 #[must_use]
454 pub fn warmupmode(&mut self) -> WARMUPMODE_W<4> {
455 WARMUPMODE_W::new(self)
456 }
457 #[doc = "Bits 16:22 - Time Base"]
458 #[inline(always)]
459 #[must_use]
460 pub fn timebase(&mut self) -> TIMEBASE_W<16> {
461 TIMEBASE_W::new(self)
462 }
463 #[doc = "Bits 28:30 - High Speed Clock Rate"]
464 #[inline(always)]
465 #[must_use]
466 pub fn hsclkrate(&mut self) -> HSCLKRATE_W<28> {
467 HSCLKRATE_W::new(self)
468 }
469 #[doc = "Writes raw bits to the register."]
470 #[inline(always)]
471 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
472 self.0.bits(bits);
473 self
474 }
475}
476#[doc = "Control\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 [ctrl](index.html) module"]
477pub struct CTRL_SPEC;
478impl crate::RegisterSpec for CTRL_SPEC {
479 type Ux = u32;
480}
481#[doc = "`read()` method returns [ctrl::R](R) reader structure"]
482impl crate::Readable for CTRL_SPEC {
483 type Reader = R;
484}
485#[doc = "`write(|w| ..)` method takes [ctrl::W](W) writer structure"]
486impl crate::Writable for CTRL_SPEC {
487 type Writer = W;
488 const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
489 const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
490}
491#[doc = "`reset()` method sets CTRL to value 0"]
492impl crate::Resettable for CTRL_SPEC {
493 const RESET_VALUE: Self::Ux = 0;
494}