1#[doc = "Reader of register DIV"]
2pub type R = crate::R<u8, super::DIV>;
3#[doc = "Writer for register DIV"]
4pub type W = crate::W<u8, super::DIV>;
5#[doc = "Register DIV `reset()`'s with value 0"]
6impl crate::ResetValue for super::DIV {
7 type Type = u8;
8 #[inline(always)]
9 fn reset_value() -> Self::Type {
10 0
11 }
12}
13#[doc = "ERCLK prescaler\n\nValue on reset: 0"]
14#[derive(Clone, Copy, Debug, PartialEq)]
15pub enum ERPS_A {
16 #[doc = "0: The divisor ratio is 1."]
17 _00,
18 #[doc = "1: The divisor ratio is 2."]
19 _01,
20 #[doc = "2: The divisor ratio is 4."]
21 _10,
22 #[doc = "3: The divisor ratio is 8."]
23 _11,
24}
25impl From<ERPS_A> for u8 {
26 #[inline(always)]
27 fn from(variant: ERPS_A) -> Self {
28 match variant {
29 ERPS_A::_00 => 0,
30 ERPS_A::_01 => 1,
31 ERPS_A::_10 => 2,
32 ERPS_A::_11 => 3,
33 }
34 }
35}
36#[doc = "Reader of field `ERPS`"]
37pub type ERPS_R = crate::R<u8, ERPS_A>;
38impl ERPS_R {
39 #[doc = r"Get enumerated values variant"]
40 #[inline(always)]
41 pub fn variant(&self) -> ERPS_A {
42 match self.bits {
43 0 => ERPS_A::_00,
44 1 => ERPS_A::_01,
45 2 => ERPS_A::_10,
46 3 => ERPS_A::_11,
47 _ => unreachable!(),
48 }
49 }
50 #[doc = "Checks if the value of the field is `_00`"]
51 #[inline(always)]
52 pub fn is_00(&self) -> bool {
53 *self == ERPS_A::_00
54 }
55 #[doc = "Checks if the value of the field is `_01`"]
56 #[inline(always)]
57 pub fn is_01(&self) -> bool {
58 *self == ERPS_A::_01
59 }
60 #[doc = "Checks if the value of the field is `_10`"]
61 #[inline(always)]
62 pub fn is_10(&self) -> bool {
63 *self == ERPS_A::_10
64 }
65 #[doc = "Checks if the value of the field is `_11`"]
66 #[inline(always)]
67 pub fn is_11(&self) -> bool {
68 *self == ERPS_A::_11
69 }
70}
71#[doc = "Write proxy for field `ERPS`"]
72pub struct ERPS_W<'a> {
73 w: &'a mut W,
74}
75impl<'a> ERPS_W<'a> {
76 #[doc = r"Writes `variant` to the field"]
77 #[inline(always)]
78 pub fn variant(self, variant: ERPS_A) -> &'a mut W {
79 {
80 self.bits(variant.into())
81 }
82 }
83 #[doc = "The divisor ratio is 1."]
84 #[inline(always)]
85 pub fn _00(self) -> &'a mut W {
86 self.variant(ERPS_A::_00)
87 }
88 #[doc = "The divisor ratio is 2."]
89 #[inline(always)]
90 pub fn _01(self) -> &'a mut W {
91 self.variant(ERPS_A::_01)
92 }
93 #[doc = "The divisor ratio is 4."]
94 #[inline(always)]
95 pub fn _10(self) -> &'a mut W {
96 self.variant(ERPS_A::_10)
97 }
98 #[doc = "The divisor ratio is 8."]
99 #[inline(always)]
100 pub fn _11(self) -> &'a mut W {
101 self.variant(ERPS_A::_11)
102 }
103 #[doc = r"Writes raw bits to the field"]
104 #[inline(always)]
105 pub fn bits(self, value: u8) -> &'a mut W {
106 self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u8) & 0x03) << 6);
107 self.w
108 }
109}
110impl R {
111 #[doc = "Bits 6:7 - ERCLK prescaler"]
112 #[inline(always)]
113 pub fn erps(&self) -> ERPS_R {
114 ERPS_R::new(((self.bits >> 6) & 0x03) as u8)
115 }
116}
117impl W {
118 #[doc = "Bits 6:7 - ERCLK prescaler"]
119 #[inline(always)]
120 pub fn erps(&mut self) -> ERPS_W {
121 ERPS_W { w: self }
122 }
123}