1#[doc = "Register `CH0CTRL` reader"]
2pub struct R(crate::R<CH0CTRL_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<CH0CTRL_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<CH0CTRL_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<CH0CTRL_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `CH0CTRL` writer"]
17pub struct W(crate::W<CH0CTRL_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<CH0CTRL_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<CH0CTRL_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<CH0CTRL_SPEC>) -> Self {
34 W(writer)
35 }
36}
37#[doc = "Field `CONVMODE` reader - Conversion Mode"]
38pub type CONVMODE_R = crate::BitReader<bool>;
39#[doc = "Field `CONVMODE` writer - Conversion Mode"]
40pub type CONVMODE_W<'a> = crate::BitWriter<'a, u32, CH0CTRL_SPEC, bool, 0>;
41#[doc = "Channel 0 Trigger Mode\n\nValue on reset: 0"]
42#[derive(Clone, Copy, Debug, PartialEq)]
43#[repr(u8)]
44pub enum TRIGMODE_A {
45 #[doc = "0: Channel 0 is triggered by CH0DATA or COMBDATA write"]
46 SW = 0,
47 #[doc = "1: Channel 0 is triggered by PRS input"]
48 PRS = 1,
49 #[doc = "2: Channel 0 is triggered by Refresh timer"]
50 REFRESH = 2,
51 #[doc = "3: Channel 0 is triggered by CH0DATA/COMBDATA write or PRS input"]
52 SWPRS = 3,
53 #[doc = "4: Channel 0 is triggered by CH0DATA/COMBDATA write or Refresh timer"]
54 SWREFRESH = 4,
55 #[doc = "5: Channel 0 is triggered by LESENSE"]
56 LESENSE = 5,
57}
58impl From<TRIGMODE_A> for u8 {
59 #[inline(always)]
60 fn from(variant: TRIGMODE_A) -> Self {
61 variant as _
62 }
63}
64#[doc = "Field `TRIGMODE` reader - Channel 0 Trigger Mode"]
65pub type TRIGMODE_R = crate::FieldReader<u8, TRIGMODE_A>;
66impl TRIGMODE_R {
67 #[doc = "Get enumerated values variant"]
68 #[inline(always)]
69 pub fn variant(&self) -> Option<TRIGMODE_A> {
70 match self.bits {
71 0 => Some(TRIGMODE_A::SW),
72 1 => Some(TRIGMODE_A::PRS),
73 2 => Some(TRIGMODE_A::REFRESH),
74 3 => Some(TRIGMODE_A::SWPRS),
75 4 => Some(TRIGMODE_A::SWREFRESH),
76 5 => Some(TRIGMODE_A::LESENSE),
77 _ => None,
78 }
79 }
80 #[doc = "Checks if the value of the field is `SW`"]
81 #[inline(always)]
82 pub fn is_sw(&self) -> bool {
83 *self == TRIGMODE_A::SW
84 }
85 #[doc = "Checks if the value of the field is `PRS`"]
86 #[inline(always)]
87 pub fn is_prs(&self) -> bool {
88 *self == TRIGMODE_A::PRS
89 }
90 #[doc = "Checks if the value of the field is `REFRESH`"]
91 #[inline(always)]
92 pub fn is_refresh(&self) -> bool {
93 *self == TRIGMODE_A::REFRESH
94 }
95 #[doc = "Checks if the value of the field is `SWPRS`"]
96 #[inline(always)]
97 pub fn is_swprs(&self) -> bool {
98 *self == TRIGMODE_A::SWPRS
99 }
100 #[doc = "Checks if the value of the field is `SWREFRESH`"]
101 #[inline(always)]
102 pub fn is_swrefresh(&self) -> bool {
103 *self == TRIGMODE_A::SWREFRESH
104 }
105 #[doc = "Checks if the value of the field is `LESENSE`"]
106 #[inline(always)]
107 pub fn is_lesense(&self) -> bool {
108 *self == TRIGMODE_A::LESENSE
109 }
110}
111#[doc = "Field `TRIGMODE` writer - Channel 0 Trigger Mode"]
112pub type TRIGMODE_W<'a> = crate::FieldWriter<'a, u32, CH0CTRL_SPEC, u8, TRIGMODE_A, 3, 4>;
113impl<'a> TRIGMODE_W<'a> {
114 #[doc = "Channel 0 is triggered by CH0DATA or COMBDATA write"]
115 #[inline(always)]
116 pub fn sw(self) -> &'a mut W {
117 self.variant(TRIGMODE_A::SW)
118 }
119 #[doc = "Channel 0 is triggered by PRS input"]
120 #[inline(always)]
121 pub fn prs(self) -> &'a mut W {
122 self.variant(TRIGMODE_A::PRS)
123 }
124 #[doc = "Channel 0 is triggered by Refresh timer"]
125 #[inline(always)]
126 pub fn refresh(self) -> &'a mut W {
127 self.variant(TRIGMODE_A::REFRESH)
128 }
129 #[doc = "Channel 0 is triggered by CH0DATA/COMBDATA write or PRS input"]
130 #[inline(always)]
131 pub fn swprs(self) -> &'a mut W {
132 self.variant(TRIGMODE_A::SWPRS)
133 }
134 #[doc = "Channel 0 is triggered by CH0DATA/COMBDATA write or Refresh timer"]
135 #[inline(always)]
136 pub fn swrefresh(self) -> &'a mut W {
137 self.variant(TRIGMODE_A::SWREFRESH)
138 }
139 #[doc = "Channel 0 is triggered by LESENSE"]
140 #[inline(always)]
141 pub fn lesense(self) -> &'a mut W {
142 self.variant(TRIGMODE_A::LESENSE)
143 }
144}
145#[doc = "Field `PRSASYNC` reader - Channel 0 PRS Asynchronous Enable"]
146pub type PRSASYNC_R = crate::BitReader<bool>;
147#[doc = "Field `PRSASYNC` writer - Channel 0 PRS Asynchronous Enable"]
148pub type PRSASYNC_W<'a> = crate::BitWriter<'a, u32, CH0CTRL_SPEC, bool, 8>;
149#[doc = "Channel 0 PRS Trigger Select\n\nValue on reset: 0"]
150#[derive(Clone, Copy, Debug, PartialEq)]
151#[repr(u8)]
152pub enum PRSSEL_A {
153 #[doc = "0: PRS ch 0 triggers a conversion."]
154 PRSCH0 = 0,
155 #[doc = "1: PRS ch 1 triggers a conversion."]
156 PRSCH1 = 1,
157 #[doc = "2: PRS ch 2 triggers a conversion."]
158 PRSCH2 = 2,
159 #[doc = "3: PRS ch 3 triggers a conversion."]
160 PRSCH3 = 3,
161 #[doc = "4: PRS ch 4 triggers a conversion."]
162 PRSCH4 = 4,
163 #[doc = "5: PRS ch 5 triggers a conversion."]
164 PRSCH5 = 5,
165 #[doc = "6: PRS ch 6 triggers a conversion."]
166 PRSCH6 = 6,
167 #[doc = "7: PRS ch 7 triggers a conversion."]
168 PRSCH7 = 7,
169 #[doc = "8: PRS ch 8 triggers a conversion."]
170 PRSCH8 = 8,
171 #[doc = "9: PRS ch 9 triggers a conversion."]
172 PRSCH9 = 9,
173 #[doc = "10: PRS ch 10 triggers a conversion."]
174 PRSCH10 = 10,
175 #[doc = "11: PRS ch 11 triggers a conversion."]
176 PRSCH11 = 11,
177 #[doc = "12: PRS ch 12 triggers a conversion."]
178 PRSCH12 = 12,
179 #[doc = "13: PRS ch 13 triggers a conversion."]
180 PRSCH13 = 13,
181 #[doc = "14: PRS ch 14 triggers a conversion."]
182 PRSCH14 = 14,
183 #[doc = "15: PRS ch 15 triggers a conversion."]
184 PRSCH15 = 15,
185 #[doc = "16: PRS ch 16 triggers a conversion."]
186 PRSCH16 = 16,
187 #[doc = "17: PRS ch 17 triggers a conversion."]
188 PRSCH17 = 17,
189 #[doc = "18: PRS ch 18 triggers a conversion."]
190 PRSCH18 = 18,
191 #[doc = "19: PRS ch 19 triggers a conversion."]
192 PRSCH19 = 19,
193 #[doc = "20: PRS ch 20 triggers a conversion."]
194 PRSCH20 = 20,
195 #[doc = "21: PRS ch 21 triggers a conversion."]
196 PRSCH21 = 21,
197 #[doc = "22: PRS ch 22 triggers a conversion."]
198 PRSCH22 = 22,
199 #[doc = "23: PRS ch 23 triggers a conversion."]
200 PRSCH23 = 23,
201}
202impl From<PRSSEL_A> for u8 {
203 #[inline(always)]
204 fn from(variant: PRSSEL_A) -> Self {
205 variant as _
206 }
207}
208#[doc = "Field `PRSSEL` reader - Channel 0 PRS Trigger Select"]
209pub type PRSSEL_R = crate::FieldReader<u8, PRSSEL_A>;
210impl PRSSEL_R {
211 #[doc = "Get enumerated values variant"]
212 #[inline(always)]
213 pub fn variant(&self) -> Option<PRSSEL_A> {
214 match self.bits {
215 0 => Some(PRSSEL_A::PRSCH0),
216 1 => Some(PRSSEL_A::PRSCH1),
217 2 => Some(PRSSEL_A::PRSCH2),
218 3 => Some(PRSSEL_A::PRSCH3),
219 4 => Some(PRSSEL_A::PRSCH4),
220 5 => Some(PRSSEL_A::PRSCH5),
221 6 => Some(PRSSEL_A::PRSCH6),
222 7 => Some(PRSSEL_A::PRSCH7),
223 8 => Some(PRSSEL_A::PRSCH8),
224 9 => Some(PRSSEL_A::PRSCH9),
225 10 => Some(PRSSEL_A::PRSCH10),
226 11 => Some(PRSSEL_A::PRSCH11),
227 12 => Some(PRSSEL_A::PRSCH12),
228 13 => Some(PRSSEL_A::PRSCH13),
229 14 => Some(PRSSEL_A::PRSCH14),
230 15 => Some(PRSSEL_A::PRSCH15),
231 16 => Some(PRSSEL_A::PRSCH16),
232 17 => Some(PRSSEL_A::PRSCH17),
233 18 => Some(PRSSEL_A::PRSCH18),
234 19 => Some(PRSSEL_A::PRSCH19),
235 20 => Some(PRSSEL_A::PRSCH20),
236 21 => Some(PRSSEL_A::PRSCH21),
237 22 => Some(PRSSEL_A::PRSCH22),
238 23 => Some(PRSSEL_A::PRSCH23),
239 _ => None,
240 }
241 }
242 #[doc = "Checks if the value of the field is `PRSCH0`"]
243 #[inline(always)]
244 pub fn is_prsch0(&self) -> bool {
245 *self == PRSSEL_A::PRSCH0
246 }
247 #[doc = "Checks if the value of the field is `PRSCH1`"]
248 #[inline(always)]
249 pub fn is_prsch1(&self) -> bool {
250 *self == PRSSEL_A::PRSCH1
251 }
252 #[doc = "Checks if the value of the field is `PRSCH2`"]
253 #[inline(always)]
254 pub fn is_prsch2(&self) -> bool {
255 *self == PRSSEL_A::PRSCH2
256 }
257 #[doc = "Checks if the value of the field is `PRSCH3`"]
258 #[inline(always)]
259 pub fn is_prsch3(&self) -> bool {
260 *self == PRSSEL_A::PRSCH3
261 }
262 #[doc = "Checks if the value of the field is `PRSCH4`"]
263 #[inline(always)]
264 pub fn is_prsch4(&self) -> bool {
265 *self == PRSSEL_A::PRSCH4
266 }
267 #[doc = "Checks if the value of the field is `PRSCH5`"]
268 #[inline(always)]
269 pub fn is_prsch5(&self) -> bool {
270 *self == PRSSEL_A::PRSCH5
271 }
272 #[doc = "Checks if the value of the field is `PRSCH6`"]
273 #[inline(always)]
274 pub fn is_prsch6(&self) -> bool {
275 *self == PRSSEL_A::PRSCH6
276 }
277 #[doc = "Checks if the value of the field is `PRSCH7`"]
278 #[inline(always)]
279 pub fn is_prsch7(&self) -> bool {
280 *self == PRSSEL_A::PRSCH7
281 }
282 #[doc = "Checks if the value of the field is `PRSCH8`"]
283 #[inline(always)]
284 pub fn is_prsch8(&self) -> bool {
285 *self == PRSSEL_A::PRSCH8
286 }
287 #[doc = "Checks if the value of the field is `PRSCH9`"]
288 #[inline(always)]
289 pub fn is_prsch9(&self) -> bool {
290 *self == PRSSEL_A::PRSCH9
291 }
292 #[doc = "Checks if the value of the field is `PRSCH10`"]
293 #[inline(always)]
294 pub fn is_prsch10(&self) -> bool {
295 *self == PRSSEL_A::PRSCH10
296 }
297 #[doc = "Checks if the value of the field is `PRSCH11`"]
298 #[inline(always)]
299 pub fn is_prsch11(&self) -> bool {
300 *self == PRSSEL_A::PRSCH11
301 }
302 #[doc = "Checks if the value of the field is `PRSCH12`"]
303 #[inline(always)]
304 pub fn is_prsch12(&self) -> bool {
305 *self == PRSSEL_A::PRSCH12
306 }
307 #[doc = "Checks if the value of the field is `PRSCH13`"]
308 #[inline(always)]
309 pub fn is_prsch13(&self) -> bool {
310 *self == PRSSEL_A::PRSCH13
311 }
312 #[doc = "Checks if the value of the field is `PRSCH14`"]
313 #[inline(always)]
314 pub fn is_prsch14(&self) -> bool {
315 *self == PRSSEL_A::PRSCH14
316 }
317 #[doc = "Checks if the value of the field is `PRSCH15`"]
318 #[inline(always)]
319 pub fn is_prsch15(&self) -> bool {
320 *self == PRSSEL_A::PRSCH15
321 }
322 #[doc = "Checks if the value of the field is `PRSCH16`"]
323 #[inline(always)]
324 pub fn is_prsch16(&self) -> bool {
325 *self == PRSSEL_A::PRSCH16
326 }
327 #[doc = "Checks if the value of the field is `PRSCH17`"]
328 #[inline(always)]
329 pub fn is_prsch17(&self) -> bool {
330 *self == PRSSEL_A::PRSCH17
331 }
332 #[doc = "Checks if the value of the field is `PRSCH18`"]
333 #[inline(always)]
334 pub fn is_prsch18(&self) -> bool {
335 *self == PRSSEL_A::PRSCH18
336 }
337 #[doc = "Checks if the value of the field is `PRSCH19`"]
338 #[inline(always)]
339 pub fn is_prsch19(&self) -> bool {
340 *self == PRSSEL_A::PRSCH19
341 }
342 #[doc = "Checks if the value of the field is `PRSCH20`"]
343 #[inline(always)]
344 pub fn is_prsch20(&self) -> bool {
345 *self == PRSSEL_A::PRSCH20
346 }
347 #[doc = "Checks if the value of the field is `PRSCH21`"]
348 #[inline(always)]
349 pub fn is_prsch21(&self) -> bool {
350 *self == PRSSEL_A::PRSCH21
351 }
352 #[doc = "Checks if the value of the field is `PRSCH22`"]
353 #[inline(always)]
354 pub fn is_prsch22(&self) -> bool {
355 *self == PRSSEL_A::PRSCH22
356 }
357 #[doc = "Checks if the value of the field is `PRSCH23`"]
358 #[inline(always)]
359 pub fn is_prsch23(&self) -> bool {
360 *self == PRSSEL_A::PRSCH23
361 }
362}
363#[doc = "Field `PRSSEL` writer - Channel 0 PRS Trigger Select"]
364pub type PRSSEL_W<'a> = crate::FieldWriter<'a, u32, CH0CTRL_SPEC, u8, PRSSEL_A, 5, 12>;
365impl<'a> PRSSEL_W<'a> {
366 #[doc = "PRS ch 0 triggers a conversion."]
367 #[inline(always)]
368 pub fn prsch0(self) -> &'a mut W {
369 self.variant(PRSSEL_A::PRSCH0)
370 }
371 #[doc = "PRS ch 1 triggers a conversion."]
372 #[inline(always)]
373 pub fn prsch1(self) -> &'a mut W {
374 self.variant(PRSSEL_A::PRSCH1)
375 }
376 #[doc = "PRS ch 2 triggers a conversion."]
377 #[inline(always)]
378 pub fn prsch2(self) -> &'a mut W {
379 self.variant(PRSSEL_A::PRSCH2)
380 }
381 #[doc = "PRS ch 3 triggers a conversion."]
382 #[inline(always)]
383 pub fn prsch3(self) -> &'a mut W {
384 self.variant(PRSSEL_A::PRSCH3)
385 }
386 #[doc = "PRS ch 4 triggers a conversion."]
387 #[inline(always)]
388 pub fn prsch4(self) -> &'a mut W {
389 self.variant(PRSSEL_A::PRSCH4)
390 }
391 #[doc = "PRS ch 5 triggers a conversion."]
392 #[inline(always)]
393 pub fn prsch5(self) -> &'a mut W {
394 self.variant(PRSSEL_A::PRSCH5)
395 }
396 #[doc = "PRS ch 6 triggers a conversion."]
397 #[inline(always)]
398 pub fn prsch6(self) -> &'a mut W {
399 self.variant(PRSSEL_A::PRSCH6)
400 }
401 #[doc = "PRS ch 7 triggers a conversion."]
402 #[inline(always)]
403 pub fn prsch7(self) -> &'a mut W {
404 self.variant(PRSSEL_A::PRSCH7)
405 }
406 #[doc = "PRS ch 8 triggers a conversion."]
407 #[inline(always)]
408 pub fn prsch8(self) -> &'a mut W {
409 self.variant(PRSSEL_A::PRSCH8)
410 }
411 #[doc = "PRS ch 9 triggers a conversion."]
412 #[inline(always)]
413 pub fn prsch9(self) -> &'a mut W {
414 self.variant(PRSSEL_A::PRSCH9)
415 }
416 #[doc = "PRS ch 10 triggers a conversion."]
417 #[inline(always)]
418 pub fn prsch10(self) -> &'a mut W {
419 self.variant(PRSSEL_A::PRSCH10)
420 }
421 #[doc = "PRS ch 11 triggers a conversion."]
422 #[inline(always)]
423 pub fn prsch11(self) -> &'a mut W {
424 self.variant(PRSSEL_A::PRSCH11)
425 }
426 #[doc = "PRS ch 12 triggers a conversion."]
427 #[inline(always)]
428 pub fn prsch12(self) -> &'a mut W {
429 self.variant(PRSSEL_A::PRSCH12)
430 }
431 #[doc = "PRS ch 13 triggers a conversion."]
432 #[inline(always)]
433 pub fn prsch13(self) -> &'a mut W {
434 self.variant(PRSSEL_A::PRSCH13)
435 }
436 #[doc = "PRS ch 14 triggers a conversion."]
437 #[inline(always)]
438 pub fn prsch14(self) -> &'a mut W {
439 self.variant(PRSSEL_A::PRSCH14)
440 }
441 #[doc = "PRS ch 15 triggers a conversion."]
442 #[inline(always)]
443 pub fn prsch15(self) -> &'a mut W {
444 self.variant(PRSSEL_A::PRSCH15)
445 }
446 #[doc = "PRS ch 16 triggers a conversion."]
447 #[inline(always)]
448 pub fn prsch16(self) -> &'a mut W {
449 self.variant(PRSSEL_A::PRSCH16)
450 }
451 #[doc = "PRS ch 17 triggers a conversion."]
452 #[inline(always)]
453 pub fn prsch17(self) -> &'a mut W {
454 self.variant(PRSSEL_A::PRSCH17)
455 }
456 #[doc = "PRS ch 18 triggers a conversion."]
457 #[inline(always)]
458 pub fn prsch18(self) -> &'a mut W {
459 self.variant(PRSSEL_A::PRSCH18)
460 }
461 #[doc = "PRS ch 19 triggers a conversion."]
462 #[inline(always)]
463 pub fn prsch19(self) -> &'a mut W {
464 self.variant(PRSSEL_A::PRSCH19)
465 }
466 #[doc = "PRS ch 20 triggers a conversion."]
467 #[inline(always)]
468 pub fn prsch20(self) -> &'a mut W {
469 self.variant(PRSSEL_A::PRSCH20)
470 }
471 #[doc = "PRS ch 21 triggers a conversion."]
472 #[inline(always)]
473 pub fn prsch21(self) -> &'a mut W {
474 self.variant(PRSSEL_A::PRSCH21)
475 }
476 #[doc = "PRS ch 22 triggers a conversion."]
477 #[inline(always)]
478 pub fn prsch22(self) -> &'a mut W {
479 self.variant(PRSSEL_A::PRSCH22)
480 }
481 #[doc = "PRS ch 23 triggers a conversion."]
482 #[inline(always)]
483 pub fn prsch23(self) -> &'a mut W {
484 self.variant(PRSSEL_A::PRSCH23)
485 }
486}
487impl R {
488 #[doc = "Bit 0 - Conversion Mode"]
489 #[inline(always)]
490 pub fn convmode(&self) -> CONVMODE_R {
491 CONVMODE_R::new((self.bits & 1) != 0)
492 }
493 #[doc = "Bits 4:6 - Channel 0 Trigger Mode"]
494 #[inline(always)]
495 pub fn trigmode(&self) -> TRIGMODE_R {
496 TRIGMODE_R::new(((self.bits >> 4) & 7) as u8)
497 }
498 #[doc = "Bit 8 - Channel 0 PRS Asynchronous Enable"]
499 #[inline(always)]
500 pub fn prsasync(&self) -> PRSASYNC_R {
501 PRSASYNC_R::new(((self.bits >> 8) & 1) != 0)
502 }
503 #[doc = "Bits 12:16 - Channel 0 PRS Trigger Select"]
504 #[inline(always)]
505 pub fn prssel(&self) -> PRSSEL_R {
506 PRSSEL_R::new(((self.bits >> 12) & 0x1f) as u8)
507 }
508}
509impl W {
510 #[doc = "Bit 0 - Conversion Mode"]
511 #[inline(always)]
512 pub fn convmode(&mut self) -> CONVMODE_W {
513 CONVMODE_W::new(self)
514 }
515 #[doc = "Bits 4:6 - Channel 0 Trigger Mode"]
516 #[inline(always)]
517 pub fn trigmode(&mut self) -> TRIGMODE_W {
518 TRIGMODE_W::new(self)
519 }
520 #[doc = "Bit 8 - Channel 0 PRS Asynchronous Enable"]
521 #[inline(always)]
522 pub fn prsasync(&mut self) -> PRSASYNC_W {
523 PRSASYNC_W::new(self)
524 }
525 #[doc = "Bits 12:16 - Channel 0 PRS Trigger Select"]
526 #[inline(always)]
527 pub fn prssel(&mut self) -> PRSSEL_W {
528 PRSSEL_W::new(self)
529 }
530 #[doc = "Writes raw bits to the register."]
531 #[inline(always)]
532 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
533 self.0.bits(bits);
534 self
535 }
536}
537#[doc = "Channel 0 Control 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 [ch0ctrl](index.html) module"]
538pub struct CH0CTRL_SPEC;
539impl crate::RegisterSpec for CH0CTRL_SPEC {
540 type Ux = u32;
541}
542#[doc = "`read()` method returns [ch0ctrl::R](R) reader structure"]
543impl crate::Readable for CH0CTRL_SPEC {
544 type Reader = R;
545}
546#[doc = "`write(|w| ..)` method takes [ch0ctrl::W](W) writer structure"]
547impl crate::Writable for CH0CTRL_SPEC {
548 type Writer = W;
549}
550#[doc = "`reset()` method sets CH0CTRL to value 0"]
551impl crate::Resettable for CH0CTRL_SPEC {
552 #[inline(always)]
553 fn reset_value() -> Self::Ux {
554 0
555 }
556}