efm32gg11b/leuart1/
routeloc0.rs

1#[doc = "Reader of register ROUTELOC0"]
2pub type R = crate::R<u32, super::ROUTELOC0>;
3#[doc = "Writer for register ROUTELOC0"]
4pub type W = crate::W<u32, super::ROUTELOC0>;
5#[doc = "Register ROUTELOC0 `reset()`'s with value 0"]
6impl crate::ResetValue for super::ROUTELOC0 {
7    type Type = u32;
8    #[inline(always)]
9    fn reset_value() -> Self::Type { 0 }
10}
11#[doc = "I/O Location\n\nValue on reset: 0"]
12#[derive(Clone, Copy, Debug, PartialEq)]
13#[repr(u8)]
14pub enum RXLOC_A {
15    #[doc = "0: Location 0"]
16    LOC0 = 0,
17    #[doc = "1: Location 1"]
18    LOC1 = 1,
19    #[doc = "2: Location 2"]
20    LOC2 = 2,
21    #[doc = "3: Location 3"]
22    LOC3 = 3,
23    #[doc = "4: Location 4"]
24    LOC4 = 4,
25    #[doc = "5: Location 5"]
26    LOC5 = 5,
27}
28impl From<RXLOC_A> for u8 {
29    #[inline(always)]
30    fn from(variant: RXLOC_A) -> Self { variant as _ }
31}
32#[doc = "Reader of field `RXLOC`"]
33pub type RXLOC_R = crate::R<u8, RXLOC_A>;
34impl RXLOC_R {
35    #[doc = r"Get enumerated values variant"]
36    #[inline(always)]
37    pub fn variant(&self) -> crate::Variant<u8, RXLOC_A> {
38        use crate::Variant::*;
39        match self.bits {
40            0 => Val(RXLOC_A::LOC0),
41            1 => Val(RXLOC_A::LOC1),
42            2 => Val(RXLOC_A::LOC2),
43            3 => Val(RXLOC_A::LOC3),
44            4 => Val(RXLOC_A::LOC4),
45            5 => Val(RXLOC_A::LOC5),
46            i => Res(i),
47        }
48    }
49    #[doc = "Checks if the value of the field is `LOC0`"]
50    #[inline(always)]
51    pub fn is_loc0(&self) -> bool { *self == RXLOC_A::LOC0 }
52    #[doc = "Checks if the value of the field is `LOC1`"]
53    #[inline(always)]
54    pub fn is_loc1(&self) -> bool { *self == RXLOC_A::LOC1 }
55    #[doc = "Checks if the value of the field is `LOC2`"]
56    #[inline(always)]
57    pub fn is_loc2(&self) -> bool { *self == RXLOC_A::LOC2 }
58    #[doc = "Checks if the value of the field is `LOC3`"]
59    #[inline(always)]
60    pub fn is_loc3(&self) -> bool { *self == RXLOC_A::LOC3 }
61    #[doc = "Checks if the value of the field is `LOC4`"]
62    #[inline(always)]
63    pub fn is_loc4(&self) -> bool { *self == RXLOC_A::LOC4 }
64    #[doc = "Checks if the value of the field is `LOC5`"]
65    #[inline(always)]
66    pub fn is_loc5(&self) -> bool { *self == RXLOC_A::LOC5 }
67}
68#[doc = "Write proxy for field `RXLOC`"]
69pub struct RXLOC_W<'a> {
70    w: &'a mut W,
71}
72impl<'a> RXLOC_W<'a> {
73    #[doc = r"Writes `variant` to the field"]
74    #[inline(always)]
75    pub fn variant(self, variant: RXLOC_A) -> &'a mut W { unsafe { self.bits(variant.into()) } }
76    #[doc = "Location 0"]
77    #[inline(always)]
78    pub fn loc0(self) -> &'a mut W { self.variant(RXLOC_A::LOC0) }
79    #[doc = "Location 1"]
80    #[inline(always)]
81    pub fn loc1(self) -> &'a mut W { self.variant(RXLOC_A::LOC1) }
82    #[doc = "Location 2"]
83    #[inline(always)]
84    pub fn loc2(self) -> &'a mut W { self.variant(RXLOC_A::LOC2) }
85    #[doc = "Location 3"]
86    #[inline(always)]
87    pub fn loc3(self) -> &'a mut W { self.variant(RXLOC_A::LOC3) }
88    #[doc = "Location 4"]
89    #[inline(always)]
90    pub fn loc4(self) -> &'a mut W { self.variant(RXLOC_A::LOC4) }
91    #[doc = "Location 5"]
92    #[inline(always)]
93    pub fn loc5(self) -> &'a mut W { self.variant(RXLOC_A::LOC5) }
94    #[doc = r"Writes raw bits to the field"]
95    #[inline(always)]
96    pub unsafe fn bits(self, value: u8) -> &'a mut W {
97        self.w.bits = (self.w.bits & !0x3f) | ((value as u32) & 0x3f);
98        self.w
99    }
100}
101#[doc = "I/O Location\n\nValue on reset: 0"]
102#[derive(Clone, Copy, Debug, PartialEq)]
103#[repr(u8)]
104pub enum TXLOC_A {
105    #[doc = "0: Location 0"]
106    LOC0 = 0,
107    #[doc = "1: Location 1"]
108    LOC1 = 1,
109    #[doc = "2: Location 2"]
110    LOC2 = 2,
111    #[doc = "3: Location 3"]
112    LOC3 = 3,
113    #[doc = "4: Location 4"]
114    LOC4 = 4,
115    #[doc = "5: Location 5"]
116    LOC5 = 5,
117}
118impl From<TXLOC_A> for u8 {
119    #[inline(always)]
120    fn from(variant: TXLOC_A) -> Self { variant as _ }
121}
122#[doc = "Reader of field `TXLOC`"]
123pub type TXLOC_R = crate::R<u8, TXLOC_A>;
124impl TXLOC_R {
125    #[doc = r"Get enumerated values variant"]
126    #[inline(always)]
127    pub fn variant(&self) -> crate::Variant<u8, TXLOC_A> {
128        use crate::Variant::*;
129        match self.bits {
130            0 => Val(TXLOC_A::LOC0),
131            1 => Val(TXLOC_A::LOC1),
132            2 => Val(TXLOC_A::LOC2),
133            3 => Val(TXLOC_A::LOC3),
134            4 => Val(TXLOC_A::LOC4),
135            5 => Val(TXLOC_A::LOC5),
136            i => Res(i),
137        }
138    }
139    #[doc = "Checks if the value of the field is `LOC0`"]
140    #[inline(always)]
141    pub fn is_loc0(&self) -> bool { *self == TXLOC_A::LOC0 }
142    #[doc = "Checks if the value of the field is `LOC1`"]
143    #[inline(always)]
144    pub fn is_loc1(&self) -> bool { *self == TXLOC_A::LOC1 }
145    #[doc = "Checks if the value of the field is `LOC2`"]
146    #[inline(always)]
147    pub fn is_loc2(&self) -> bool { *self == TXLOC_A::LOC2 }
148    #[doc = "Checks if the value of the field is `LOC3`"]
149    #[inline(always)]
150    pub fn is_loc3(&self) -> bool { *self == TXLOC_A::LOC3 }
151    #[doc = "Checks if the value of the field is `LOC4`"]
152    #[inline(always)]
153    pub fn is_loc4(&self) -> bool { *self == TXLOC_A::LOC4 }
154    #[doc = "Checks if the value of the field is `LOC5`"]
155    #[inline(always)]
156    pub fn is_loc5(&self) -> bool { *self == TXLOC_A::LOC5 }
157}
158#[doc = "Write proxy for field `TXLOC`"]
159pub struct TXLOC_W<'a> {
160    w: &'a mut W,
161}
162impl<'a> TXLOC_W<'a> {
163    #[doc = r"Writes `variant` to the field"]
164    #[inline(always)]
165    pub fn variant(self, variant: TXLOC_A) -> &'a mut W { unsafe { self.bits(variant.into()) } }
166    #[doc = "Location 0"]
167    #[inline(always)]
168    pub fn loc0(self) -> &'a mut W { self.variant(TXLOC_A::LOC0) }
169    #[doc = "Location 1"]
170    #[inline(always)]
171    pub fn loc1(self) -> &'a mut W { self.variant(TXLOC_A::LOC1) }
172    #[doc = "Location 2"]
173    #[inline(always)]
174    pub fn loc2(self) -> &'a mut W { self.variant(TXLOC_A::LOC2) }
175    #[doc = "Location 3"]
176    #[inline(always)]
177    pub fn loc3(self) -> &'a mut W { self.variant(TXLOC_A::LOC3) }
178    #[doc = "Location 4"]
179    #[inline(always)]
180    pub fn loc4(self) -> &'a mut W { self.variant(TXLOC_A::LOC4) }
181    #[doc = "Location 5"]
182    #[inline(always)]
183    pub fn loc5(self) -> &'a mut W { self.variant(TXLOC_A::LOC5) }
184    #[doc = r"Writes raw bits to the field"]
185    #[inline(always)]
186    pub unsafe fn bits(self, value: u8) -> &'a mut W {
187        self.w.bits = (self.w.bits & !(0x3f << 8)) | (((value as u32) & 0x3f) << 8);
188        self.w
189    }
190}
191impl R {
192    #[doc = "Bits 0:5 - I/O Location"]
193    #[inline(always)]
194    pub fn rxloc(&self) -> RXLOC_R { RXLOC_R::new((self.bits & 0x3f) as u8) }
195    #[doc = "Bits 8:13 - I/O Location"]
196    #[inline(always)]
197    pub fn txloc(&self) -> TXLOC_R { TXLOC_R::new(((self.bits >> 8) & 0x3f) as u8) }
198}
199impl W {
200    #[doc = "Bits 0:5 - I/O Location"]
201    #[inline(always)]
202    pub fn rxloc(&mut self) -> RXLOC_W { RXLOC_W { w: self } }
203    #[doc = "Bits 8:13 - I/O Location"]
204    #[inline(always)]
205    pub fn txloc(&mut self) -> TXLOC_W { TXLOC_W { w: self } }
206}