1#[doc = r" Value read from the register"]
2pub struct R {
3 bits: u32,
4}
5#[doc = r" Value to write to the register"]
6pub struct W {
7 bits: u32,
8}
9impl super::ACR {
10 #[doc = r" Modifies the contents of the register"]
11 #[inline]
12 pub fn modify<F>(&self, f: F)
13 where
14 for<'w> F: FnOnce(&R, &'w mut W) -> &'w mut W,
15 {
16 let bits = self.register.get();
17 let r = R { bits: bits };
18 let mut w = W { bits: bits };
19 f(&r, &mut w);
20 self.register.set(w.bits);
21 }
22 #[doc = r" Reads the contents of the register"]
23 #[inline]
24 pub fn read(&self) -> R {
25 R {
26 bits: self.register.get(),
27 }
28 }
29 #[doc = r" Writes to the register"]
30 #[inline]
31 pub fn write<F>(&self, f: F)
32 where
33 F: FnOnce(&mut W) -> &mut W,
34 {
35 let mut w = W::reset_value();
36 f(&mut w);
37 self.register.set(w.bits);
38 }
39 #[doc = r" Writes the reset value to the register"]
40 #[inline]
41 pub fn reset(&self) {
42 self.write(|w| w)
43 }
44}
45#[doc = "Possible values of the field `START`"]
46#[derive(Clone, Copy, Debug, PartialEq)]
47pub enum STARTR {
48 #[doc = "Auto-baud stop (auto-baud is not running)."]
49 AUTO_BAUD_STOP_AUTO,
50 #[doc = "Auto-baud start (auto-baud is running). Auto-baud run bit. This bit is automatically cleared after auto-baud completion."]
51 AUTO_BAUD_START_AUT,
52}
53impl STARTR {
54 #[doc = r" Returns `true` if the bit is clear (0)"]
55 #[inline]
56 pub fn bit_is_clear(&self) -> bool {
57 !self.bit()
58 }
59 #[doc = r" Returns `true` if the bit is set (1)"]
60 #[inline]
61 pub fn bit_is_set(&self) -> bool {
62 self.bit()
63 }
64 #[doc = r" Value of the field as raw bits"]
65 #[inline]
66 pub fn bit(&self) -> bool {
67 match *self {
68 STARTR::AUTO_BAUD_STOP_AUTO => false,
69 STARTR::AUTO_BAUD_START_AUT => true,
70 }
71 }
72 #[allow(missing_docs)]
73 #[doc(hidden)]
74 #[inline]
75 pub fn _from(value: bool) -> STARTR {
76 match value {
77 false => STARTR::AUTO_BAUD_STOP_AUTO,
78 true => STARTR::AUTO_BAUD_START_AUT,
79 }
80 }
81 #[doc = "Checks if the value of the field is `AUTO_BAUD_STOP_AUTO`"]
82 #[inline]
83 pub fn is_auto_baud_stop_auto(&self) -> bool {
84 *self == STARTR::AUTO_BAUD_STOP_AUTO
85 }
86 #[doc = "Checks if the value of the field is `AUTO_BAUD_START_AUT`"]
87 #[inline]
88 pub fn is_auto_baud_start_aut(&self) -> bool {
89 *self == STARTR::AUTO_BAUD_START_AUT
90 }
91}
92#[doc = "Possible values of the field `MODE`"]
93#[derive(Clone, Copy, Debug, PartialEq)]
94pub enum MODER {
95 #[doc = "Mode 0."]
96 MODE0,
97 #[doc = "Mode 1."]
98 MODE1,
99}
100impl MODER {
101 #[doc = r" Returns `true` if the bit is clear (0)"]
102 #[inline]
103 pub fn bit_is_clear(&self) -> bool {
104 !self.bit()
105 }
106 #[doc = r" Returns `true` if the bit is set (1)"]
107 #[inline]
108 pub fn bit_is_set(&self) -> bool {
109 self.bit()
110 }
111 #[doc = r" Value of the field as raw bits"]
112 #[inline]
113 pub fn bit(&self) -> bool {
114 match *self {
115 MODER::MODE0 => false,
116 MODER::MODE1 => true,
117 }
118 }
119 #[allow(missing_docs)]
120 #[doc(hidden)]
121 #[inline]
122 pub fn _from(value: bool) -> MODER {
123 match value {
124 false => MODER::MODE0,
125 true => MODER::MODE1,
126 }
127 }
128 #[doc = "Checks if the value of the field is `MODE0`"]
129 #[inline]
130 pub fn is_mode0(&self) -> bool {
131 *self == MODER::MODE0
132 }
133 #[doc = "Checks if the value of the field is `MODE1`"]
134 #[inline]
135 pub fn is_mode1(&self) -> bool {
136 *self == MODER::MODE1
137 }
138}
139#[doc = "Possible values of the field `AUTORESTART`"]
140#[derive(Clone, Copy, Debug, PartialEq)]
141pub enum AUTORESTARTR {
142 #[doc = "No restart"]
143 NO_RESTART,
144 #[doc = "Restart in case of time-out (counter restarts at next USART Rx falling edge)"]
145 RESTART_IN_CASE_OF_T,
146}
147impl AUTORESTARTR {
148 #[doc = r" Returns `true` if the bit is clear (0)"]
149 #[inline]
150 pub fn bit_is_clear(&self) -> bool {
151 !self.bit()
152 }
153 #[doc = r" Returns `true` if the bit is set (1)"]
154 #[inline]
155 pub fn bit_is_set(&self) -> bool {
156 self.bit()
157 }
158 #[doc = r" Value of the field as raw bits"]
159 #[inline]
160 pub fn bit(&self) -> bool {
161 match *self {
162 AUTORESTARTR::NO_RESTART => false,
163 AUTORESTARTR::RESTART_IN_CASE_OF_T => true,
164 }
165 }
166 #[allow(missing_docs)]
167 #[doc(hidden)]
168 #[inline]
169 pub fn _from(value: bool) -> AUTORESTARTR {
170 match value {
171 false => AUTORESTARTR::NO_RESTART,
172 true => AUTORESTARTR::RESTART_IN_CASE_OF_T,
173 }
174 }
175 #[doc = "Checks if the value of the field is `NO_RESTART`"]
176 #[inline]
177 pub fn is_no_restart(&self) -> bool {
178 *self == AUTORESTARTR::NO_RESTART
179 }
180 #[doc = "Checks if the value of the field is `RESTART_IN_CASE_OF_T`"]
181 #[inline]
182 pub fn is_restart_in_case_of_t(&self) -> bool {
183 *self == AUTORESTARTR::RESTART_IN_CASE_OF_T
184 }
185}
186#[doc = "Possible values of the field `ABEOINTCLR`"]
187#[derive(Clone, Copy, Debug, PartialEq)]
188pub enum ABEOINTCLRR {
189 #[doc = "Writing a 0 has no impact."]
190 NO_IMPACT,
191 #[doc = "Writing a 1 will clear the corresponding interrupt in the IIR."]
192 CLEAR,
193}
194impl ABEOINTCLRR {
195 #[doc = r" Returns `true` if the bit is clear (0)"]
196 #[inline]
197 pub fn bit_is_clear(&self) -> bool {
198 !self.bit()
199 }
200 #[doc = r" Returns `true` if the bit is set (1)"]
201 #[inline]
202 pub fn bit_is_set(&self) -> bool {
203 self.bit()
204 }
205 #[doc = r" Value of the field as raw bits"]
206 #[inline]
207 pub fn bit(&self) -> bool {
208 match *self {
209 ABEOINTCLRR::NO_IMPACT => false,
210 ABEOINTCLRR::CLEAR => true,
211 }
212 }
213 #[allow(missing_docs)]
214 #[doc(hidden)]
215 #[inline]
216 pub fn _from(value: bool) -> ABEOINTCLRR {
217 match value {
218 false => ABEOINTCLRR::NO_IMPACT,
219 true => ABEOINTCLRR::CLEAR,
220 }
221 }
222 #[doc = "Checks if the value of the field is `NO_IMPACT`"]
223 #[inline]
224 pub fn is_no_impact(&self) -> bool {
225 *self == ABEOINTCLRR::NO_IMPACT
226 }
227 #[doc = "Checks if the value of the field is `CLEAR`"]
228 #[inline]
229 pub fn is_clear(&self) -> bool {
230 *self == ABEOINTCLRR::CLEAR
231 }
232}
233#[doc = "Possible values of the field `ABTOINTCLR`"]
234#[derive(Clone, Copy, Debug, PartialEq)]
235pub enum ABTOINTCLRR {
236 #[doc = "Writing a 0 has no impact."]
237 NO_IMPACT,
238 #[doc = "Writing a 1 will clear the corresponding interrupt in the IIR."]
239 CLEAR,
240}
241impl ABTOINTCLRR {
242 #[doc = r" Returns `true` if the bit is clear (0)"]
243 #[inline]
244 pub fn bit_is_clear(&self) -> bool {
245 !self.bit()
246 }
247 #[doc = r" Returns `true` if the bit is set (1)"]
248 #[inline]
249 pub fn bit_is_set(&self) -> bool {
250 self.bit()
251 }
252 #[doc = r" Value of the field as raw bits"]
253 #[inline]
254 pub fn bit(&self) -> bool {
255 match *self {
256 ABTOINTCLRR::NO_IMPACT => false,
257 ABTOINTCLRR::CLEAR => true,
258 }
259 }
260 #[allow(missing_docs)]
261 #[doc(hidden)]
262 #[inline]
263 pub fn _from(value: bool) -> ABTOINTCLRR {
264 match value {
265 false => ABTOINTCLRR::NO_IMPACT,
266 true => ABTOINTCLRR::CLEAR,
267 }
268 }
269 #[doc = "Checks if the value of the field is `NO_IMPACT`"]
270 #[inline]
271 pub fn is_no_impact(&self) -> bool {
272 *self == ABTOINTCLRR::NO_IMPACT
273 }
274 #[doc = "Checks if the value of the field is `CLEAR`"]
275 #[inline]
276 pub fn is_clear(&self) -> bool {
277 *self == ABTOINTCLRR::CLEAR
278 }
279}
280#[doc = "Values that can be written to the field `START`"]
281pub enum STARTW {
282 #[doc = "Auto-baud stop (auto-baud is not running)."]
283 AUTO_BAUD_STOP_AUTO,
284 #[doc = "Auto-baud start (auto-baud is running). Auto-baud run bit. This bit is automatically cleared after auto-baud completion."]
285 AUTO_BAUD_START_AUT,
286}
287impl STARTW {
288 #[allow(missing_docs)]
289 #[doc(hidden)]
290 #[inline]
291 pub fn _bits(&self) -> bool {
292 match *self {
293 STARTW::AUTO_BAUD_STOP_AUTO => false,
294 STARTW::AUTO_BAUD_START_AUT => true,
295 }
296 }
297}
298#[doc = r" Proxy"]
299pub struct _STARTW<'a> {
300 w: &'a mut W,
301}
302impl<'a> _STARTW<'a> {
303 #[doc = r" Writes `variant` to the field"]
304 #[inline]
305 pub fn variant(self, variant: STARTW) -> &'a mut W {
306 {
307 self.bit(variant._bits())
308 }
309 }
310 #[doc = "Auto-baud stop (auto-baud is not running)."]
311 #[inline]
312 pub fn auto_baud_stop_auto(self) -> &'a mut W {
313 self.variant(STARTW::AUTO_BAUD_STOP_AUTO)
314 }
315 #[doc = "Auto-baud start (auto-baud is running). Auto-baud run bit. This bit is automatically cleared after auto-baud completion."]
316 #[inline]
317 pub fn auto_baud_start_aut(self) -> &'a mut W {
318 self.variant(STARTW::AUTO_BAUD_START_AUT)
319 }
320 #[doc = r" Sets the field bit"]
321 pub fn set_bit(self) -> &'a mut W {
322 self.bit(true)
323 }
324 #[doc = r" Clears the field bit"]
325 pub fn clear_bit(self) -> &'a mut W {
326 self.bit(false)
327 }
328 #[doc = r" Writes raw bits to the field"]
329 #[inline]
330 pub fn bit(self, value: bool) -> &'a mut W {
331 const MASK: bool = true;
332 const OFFSET: u8 = 0;
333 self.w.bits &= !((MASK as u32) << OFFSET);
334 self.w.bits |= ((value & MASK) as u32) << OFFSET;
335 self.w
336 }
337}
338#[doc = "Values that can be written to the field `MODE`"]
339pub enum MODEW {
340 #[doc = "Mode 0."]
341 MODE0,
342 #[doc = "Mode 1."]
343 MODE1,
344}
345impl MODEW {
346 #[allow(missing_docs)]
347 #[doc(hidden)]
348 #[inline]
349 pub fn _bits(&self) -> bool {
350 match *self {
351 MODEW::MODE0 => false,
352 MODEW::MODE1 => true,
353 }
354 }
355}
356#[doc = r" Proxy"]
357pub struct _MODEW<'a> {
358 w: &'a mut W,
359}
360impl<'a> _MODEW<'a> {
361 #[doc = r" Writes `variant` to the field"]
362 #[inline]
363 pub fn variant(self, variant: MODEW) -> &'a mut W {
364 {
365 self.bit(variant._bits())
366 }
367 }
368 #[doc = "Mode 0."]
369 #[inline]
370 pub fn mode0(self) -> &'a mut W {
371 self.variant(MODEW::MODE0)
372 }
373 #[doc = "Mode 1."]
374 #[inline]
375 pub fn mode1(self) -> &'a mut W {
376 self.variant(MODEW::MODE1)
377 }
378 #[doc = r" Sets the field bit"]
379 pub fn set_bit(self) -> &'a mut W {
380 self.bit(true)
381 }
382 #[doc = r" Clears the field bit"]
383 pub fn clear_bit(self) -> &'a mut W {
384 self.bit(false)
385 }
386 #[doc = r" Writes raw bits to the field"]
387 #[inline]
388 pub fn bit(self, value: bool) -> &'a mut W {
389 const MASK: bool = true;
390 const OFFSET: u8 = 1;
391 self.w.bits &= !((MASK as u32) << OFFSET);
392 self.w.bits |= ((value & MASK) as u32) << OFFSET;
393 self.w
394 }
395}
396#[doc = "Values that can be written to the field `AUTORESTART`"]
397pub enum AUTORESTARTW {
398 #[doc = "No restart"]
399 NO_RESTART,
400 #[doc = "Restart in case of time-out (counter restarts at next USART Rx falling edge)"]
401 RESTART_IN_CASE_OF_T,
402}
403impl AUTORESTARTW {
404 #[allow(missing_docs)]
405 #[doc(hidden)]
406 #[inline]
407 pub fn _bits(&self) -> bool {
408 match *self {
409 AUTORESTARTW::NO_RESTART => false,
410 AUTORESTARTW::RESTART_IN_CASE_OF_T => true,
411 }
412 }
413}
414#[doc = r" Proxy"]
415pub struct _AUTORESTARTW<'a> {
416 w: &'a mut W,
417}
418impl<'a> _AUTORESTARTW<'a> {
419 #[doc = r" Writes `variant` to the field"]
420 #[inline]
421 pub fn variant(self, variant: AUTORESTARTW) -> &'a mut W {
422 {
423 self.bit(variant._bits())
424 }
425 }
426 #[doc = "No restart"]
427 #[inline]
428 pub fn no_restart(self) -> &'a mut W {
429 self.variant(AUTORESTARTW::NO_RESTART)
430 }
431 #[doc = "Restart in case of time-out (counter restarts at next USART Rx falling edge)"]
432 #[inline]
433 pub fn restart_in_case_of_t(self) -> &'a mut W {
434 self.variant(AUTORESTARTW::RESTART_IN_CASE_OF_T)
435 }
436 #[doc = r" Sets the field bit"]
437 pub fn set_bit(self) -> &'a mut W {
438 self.bit(true)
439 }
440 #[doc = r" Clears the field bit"]
441 pub fn clear_bit(self) -> &'a mut W {
442 self.bit(false)
443 }
444 #[doc = r" Writes raw bits to the field"]
445 #[inline]
446 pub fn bit(self, value: bool) -> &'a mut W {
447 const MASK: bool = true;
448 const OFFSET: u8 = 2;
449 self.w.bits &= !((MASK as u32) << OFFSET);
450 self.w.bits |= ((value & MASK) as u32) << OFFSET;
451 self.w
452 }
453}
454#[doc = "Values that can be written to the field `ABEOINTCLR`"]
455pub enum ABEOINTCLRW {
456 #[doc = "Writing a 0 has no impact."]
457 NO_IMPACT,
458 #[doc = "Writing a 1 will clear the corresponding interrupt in the IIR."]
459 CLEAR,
460}
461impl ABEOINTCLRW {
462 #[allow(missing_docs)]
463 #[doc(hidden)]
464 #[inline]
465 pub fn _bits(&self) -> bool {
466 match *self {
467 ABEOINTCLRW::NO_IMPACT => false,
468 ABEOINTCLRW::CLEAR => true,
469 }
470 }
471}
472#[doc = r" Proxy"]
473pub struct _ABEOINTCLRW<'a> {
474 w: &'a mut W,
475}
476impl<'a> _ABEOINTCLRW<'a> {
477 #[doc = r" Writes `variant` to the field"]
478 #[inline]
479 pub fn variant(self, variant: ABEOINTCLRW) -> &'a mut W {
480 {
481 self.bit(variant._bits())
482 }
483 }
484 #[doc = "Writing a 0 has no impact."]
485 #[inline]
486 pub fn no_impact(self) -> &'a mut W {
487 self.variant(ABEOINTCLRW::NO_IMPACT)
488 }
489 #[doc = "Writing a 1 will clear the corresponding interrupt in the IIR."]
490 #[inline]
491 pub fn clear(self) -> &'a mut W {
492 self.variant(ABEOINTCLRW::CLEAR)
493 }
494 #[doc = r" Sets the field bit"]
495 pub fn set_bit(self) -> &'a mut W {
496 self.bit(true)
497 }
498 #[doc = r" Clears the field bit"]
499 pub fn clear_bit(self) -> &'a mut W {
500 self.bit(false)
501 }
502 #[doc = r" Writes raw bits to the field"]
503 #[inline]
504 pub fn bit(self, value: bool) -> &'a mut W {
505 const MASK: bool = true;
506 const OFFSET: u8 = 8;
507 self.w.bits &= !((MASK as u32) << OFFSET);
508 self.w.bits |= ((value & MASK) as u32) << OFFSET;
509 self.w
510 }
511}
512#[doc = "Values that can be written to the field `ABTOINTCLR`"]
513pub enum ABTOINTCLRW {
514 #[doc = "Writing a 0 has no impact."]
515 NO_IMPACT,
516 #[doc = "Writing a 1 will clear the corresponding interrupt in the IIR."]
517 CLEAR,
518}
519impl ABTOINTCLRW {
520 #[allow(missing_docs)]
521 #[doc(hidden)]
522 #[inline]
523 pub fn _bits(&self) -> bool {
524 match *self {
525 ABTOINTCLRW::NO_IMPACT => false,
526 ABTOINTCLRW::CLEAR => true,
527 }
528 }
529}
530#[doc = r" Proxy"]
531pub struct _ABTOINTCLRW<'a> {
532 w: &'a mut W,
533}
534impl<'a> _ABTOINTCLRW<'a> {
535 #[doc = r" Writes `variant` to the field"]
536 #[inline]
537 pub fn variant(self, variant: ABTOINTCLRW) -> &'a mut W {
538 {
539 self.bit(variant._bits())
540 }
541 }
542 #[doc = "Writing a 0 has no impact."]
543 #[inline]
544 pub fn no_impact(self) -> &'a mut W {
545 self.variant(ABTOINTCLRW::NO_IMPACT)
546 }
547 #[doc = "Writing a 1 will clear the corresponding interrupt in the IIR."]
548 #[inline]
549 pub fn clear(self) -> &'a mut W {
550 self.variant(ABTOINTCLRW::CLEAR)
551 }
552 #[doc = r" Sets the field bit"]
553 pub fn set_bit(self) -> &'a mut W {
554 self.bit(true)
555 }
556 #[doc = r" Clears the field bit"]
557 pub fn clear_bit(self) -> &'a mut W {
558 self.bit(false)
559 }
560 #[doc = r" Writes raw bits to the field"]
561 #[inline]
562 pub fn bit(self, value: bool) -> &'a mut W {
563 const MASK: bool = true;
564 const OFFSET: u8 = 9;
565 self.w.bits &= !((MASK as u32) << OFFSET);
566 self.w.bits |= ((value & MASK) as u32) << OFFSET;
567 self.w
568 }
569}
570impl R {
571 #[doc = r" Value of the register as raw bits"]
572 #[inline]
573 pub fn bits(&self) -> u32 {
574 self.bits
575 }
576 #[doc = "Bit 0 - This bit is automatically cleared after auto-baud completion."]
577 #[inline]
578 pub fn start(&self) -> STARTR {
579 STARTR::_from({
580 const MASK: bool = true;
581 const OFFSET: u8 = 0;
582 ((self.bits >> OFFSET) & MASK as u32) != 0
583 })
584 }
585 #[doc = "Bit 1 - Auto-baud mode select bit."]
586 #[inline]
587 pub fn mode(&self) -> MODER {
588 MODER::_from({
589 const MASK: bool = true;
590 const OFFSET: u8 = 1;
591 ((self.bits >> OFFSET) & MASK as u32) != 0
592 })
593 }
594 #[doc = "Bit 2 - Start mode"]
595 #[inline]
596 pub fn autorestart(&self) -> AUTORESTARTR {
597 AUTORESTARTR::_from({
598 const MASK: bool = true;
599 const OFFSET: u8 = 2;
600 ((self.bits >> OFFSET) & MASK as u32) != 0
601 })
602 }
603 #[doc = "Bit 8 - End of auto-baud interrupt clear bit (write only accessible)."]
604 #[inline]
605 pub fn abeointclr(&self) -> ABEOINTCLRR {
606 ABEOINTCLRR::_from({
607 const MASK: bool = true;
608 const OFFSET: u8 = 8;
609 ((self.bits >> OFFSET) & MASK as u32) != 0
610 })
611 }
612 #[doc = "Bit 9 - Auto-baud time-out interrupt clear bit (write only accessible)."]
613 #[inline]
614 pub fn abtointclr(&self) -> ABTOINTCLRR {
615 ABTOINTCLRR::_from({
616 const MASK: bool = true;
617 const OFFSET: u8 = 9;
618 ((self.bits >> OFFSET) & MASK as u32) != 0
619 })
620 }
621}
622impl W {
623 #[doc = r" Reset value of the register"]
624 #[inline]
625 pub fn reset_value() -> W {
626 W { bits: 0 }
627 }
628 #[doc = r" Writes raw bits to the register"]
629 #[inline]
630 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
631 self.bits = bits;
632 self
633 }
634 #[doc = "Bit 0 - This bit is automatically cleared after auto-baud completion."]
635 #[inline]
636 pub fn start(&mut self) -> _STARTW {
637 _STARTW { w: self }
638 }
639 #[doc = "Bit 1 - Auto-baud mode select bit."]
640 #[inline]
641 pub fn mode(&mut self) -> _MODEW {
642 _MODEW { w: self }
643 }
644 #[doc = "Bit 2 - Start mode"]
645 #[inline]
646 pub fn autorestart(&mut self) -> _AUTORESTARTW {
647 _AUTORESTARTW { w: self }
648 }
649 #[doc = "Bit 8 - End of auto-baud interrupt clear bit (write only accessible)."]
650 #[inline]
651 pub fn abeointclr(&mut self) -> _ABEOINTCLRW {
652 _ABEOINTCLRW { w: self }
653 }
654 #[doc = "Bit 9 - Auto-baud time-out interrupt clear bit (write only accessible)."]
655 #[inline]
656 pub fn abtointclr(&mut self) -> _ABTOINTCLRW {
657 _ABTOINTCLRW { w: self }
658 }
659}