efm32gg12b130_pac/prs/
routeloc1.rs

1#[doc = "Register `ROUTELOC1` reader"]
2pub struct R(crate::R<ROUTELOC1_SPEC>);
3impl core::ops::Deref for R {
4    type Target = crate::R<ROUTELOC1_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl From<crate::R<ROUTELOC1_SPEC>> for R {
11    #[inline(always)]
12    fn from(reader: crate::R<ROUTELOC1_SPEC>) -> Self {
13        R(reader)
14    }
15}
16#[doc = "Register `ROUTELOC1` writer"]
17pub struct W(crate::W<ROUTELOC1_SPEC>);
18impl core::ops::Deref for W {
19    type Target = crate::W<ROUTELOC1_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<ROUTELOC1_SPEC>> for W {
32    #[inline(always)]
33    fn from(writer: crate::W<ROUTELOC1_SPEC>) -> Self {
34        W(writer)
35    }
36}
37#[doc = "I/O Location\n\nValue on reset: 0"]
38#[derive(Clone, Copy, Debug, PartialEq)]
39#[repr(u8)]
40pub enum CH4LOC_A {
41    #[doc = "0: Location 0"]
42    LOC0 = 0,
43    #[doc = "1: Location 1"]
44    LOC1 = 1,
45    #[doc = "2: Location 2"]
46    LOC2 = 2,
47}
48impl From<CH4LOC_A> for u8 {
49    #[inline(always)]
50    fn from(variant: CH4LOC_A) -> Self {
51        variant as _
52    }
53}
54#[doc = "Field `CH4LOC` reader - I/O Location"]
55pub type CH4LOC_R = crate::FieldReader<u8, CH4LOC_A>;
56impl CH4LOC_R {
57    #[doc = "Get enumerated values variant"]
58    #[inline(always)]
59    pub fn variant(&self) -> Option<CH4LOC_A> {
60        match self.bits {
61            0 => Some(CH4LOC_A::LOC0),
62            1 => Some(CH4LOC_A::LOC1),
63            2 => Some(CH4LOC_A::LOC2),
64            _ => None,
65        }
66    }
67    #[doc = "Checks if the value of the field is `LOC0`"]
68    #[inline(always)]
69    pub fn is_loc0(&self) -> bool {
70        *self == CH4LOC_A::LOC0
71    }
72    #[doc = "Checks if the value of the field is `LOC1`"]
73    #[inline(always)]
74    pub fn is_loc1(&self) -> bool {
75        *self == CH4LOC_A::LOC1
76    }
77    #[doc = "Checks if the value of the field is `LOC2`"]
78    #[inline(always)]
79    pub fn is_loc2(&self) -> bool {
80        *self == CH4LOC_A::LOC2
81    }
82}
83#[doc = "Field `CH4LOC` writer - I/O Location"]
84pub type CH4LOC_W<'a> = crate::FieldWriter<'a, u32, ROUTELOC1_SPEC, u8, CH4LOC_A, 6, 0>;
85impl<'a> CH4LOC_W<'a> {
86    #[doc = "Location 0"]
87    #[inline(always)]
88    pub fn loc0(self) -> &'a mut W {
89        self.variant(CH4LOC_A::LOC0)
90    }
91    #[doc = "Location 1"]
92    #[inline(always)]
93    pub fn loc1(self) -> &'a mut W {
94        self.variant(CH4LOC_A::LOC1)
95    }
96    #[doc = "Location 2"]
97    #[inline(always)]
98    pub fn loc2(self) -> &'a mut W {
99        self.variant(CH4LOC_A::LOC2)
100    }
101}
102#[doc = "I/O Location\n\nValue on reset: 0"]
103#[derive(Clone, Copy, Debug, PartialEq)]
104#[repr(u8)]
105pub enum CH5LOC_A {
106    #[doc = "0: Location 0"]
107    LOC0 = 0,
108    #[doc = "1: Location 1"]
109    LOC1 = 1,
110    #[doc = "2: Location 2"]
111    LOC2 = 2,
112}
113impl From<CH5LOC_A> for u8 {
114    #[inline(always)]
115    fn from(variant: CH5LOC_A) -> Self {
116        variant as _
117    }
118}
119#[doc = "Field `CH5LOC` reader - I/O Location"]
120pub type CH5LOC_R = crate::FieldReader<u8, CH5LOC_A>;
121impl CH5LOC_R {
122    #[doc = "Get enumerated values variant"]
123    #[inline(always)]
124    pub fn variant(&self) -> Option<CH5LOC_A> {
125        match self.bits {
126            0 => Some(CH5LOC_A::LOC0),
127            1 => Some(CH5LOC_A::LOC1),
128            2 => Some(CH5LOC_A::LOC2),
129            _ => None,
130        }
131    }
132    #[doc = "Checks if the value of the field is `LOC0`"]
133    #[inline(always)]
134    pub fn is_loc0(&self) -> bool {
135        *self == CH5LOC_A::LOC0
136    }
137    #[doc = "Checks if the value of the field is `LOC1`"]
138    #[inline(always)]
139    pub fn is_loc1(&self) -> bool {
140        *self == CH5LOC_A::LOC1
141    }
142    #[doc = "Checks if the value of the field is `LOC2`"]
143    #[inline(always)]
144    pub fn is_loc2(&self) -> bool {
145        *self == CH5LOC_A::LOC2
146    }
147}
148#[doc = "Field `CH5LOC` writer - I/O Location"]
149pub type CH5LOC_W<'a> = crate::FieldWriter<'a, u32, ROUTELOC1_SPEC, u8, CH5LOC_A, 6, 8>;
150impl<'a> CH5LOC_W<'a> {
151    #[doc = "Location 0"]
152    #[inline(always)]
153    pub fn loc0(self) -> &'a mut W {
154        self.variant(CH5LOC_A::LOC0)
155    }
156    #[doc = "Location 1"]
157    #[inline(always)]
158    pub fn loc1(self) -> &'a mut W {
159        self.variant(CH5LOC_A::LOC1)
160    }
161    #[doc = "Location 2"]
162    #[inline(always)]
163    pub fn loc2(self) -> &'a mut W {
164        self.variant(CH5LOC_A::LOC2)
165    }
166}
167#[doc = "I/O Location\n\nValue on reset: 0"]
168#[derive(Clone, Copy, Debug, PartialEq)]
169#[repr(u8)]
170pub enum CH6LOC_A {
171    #[doc = "0: Location 0"]
172    LOC0 = 0,
173    #[doc = "1: Location 1"]
174    LOC1 = 1,
175    #[doc = "2: Location 2"]
176    LOC2 = 2,
177}
178impl From<CH6LOC_A> for u8 {
179    #[inline(always)]
180    fn from(variant: CH6LOC_A) -> Self {
181        variant as _
182    }
183}
184#[doc = "Field `CH6LOC` reader - I/O Location"]
185pub type CH6LOC_R = crate::FieldReader<u8, CH6LOC_A>;
186impl CH6LOC_R {
187    #[doc = "Get enumerated values variant"]
188    #[inline(always)]
189    pub fn variant(&self) -> Option<CH6LOC_A> {
190        match self.bits {
191            0 => Some(CH6LOC_A::LOC0),
192            1 => Some(CH6LOC_A::LOC1),
193            2 => Some(CH6LOC_A::LOC2),
194            _ => None,
195        }
196    }
197    #[doc = "Checks if the value of the field is `LOC0`"]
198    #[inline(always)]
199    pub fn is_loc0(&self) -> bool {
200        *self == CH6LOC_A::LOC0
201    }
202    #[doc = "Checks if the value of the field is `LOC1`"]
203    #[inline(always)]
204    pub fn is_loc1(&self) -> bool {
205        *self == CH6LOC_A::LOC1
206    }
207    #[doc = "Checks if the value of the field is `LOC2`"]
208    #[inline(always)]
209    pub fn is_loc2(&self) -> bool {
210        *self == CH6LOC_A::LOC2
211    }
212}
213#[doc = "Field `CH6LOC` writer - I/O Location"]
214pub type CH6LOC_W<'a> = crate::FieldWriter<'a, u32, ROUTELOC1_SPEC, u8, CH6LOC_A, 6, 16>;
215impl<'a> CH6LOC_W<'a> {
216    #[doc = "Location 0"]
217    #[inline(always)]
218    pub fn loc0(self) -> &'a mut W {
219        self.variant(CH6LOC_A::LOC0)
220    }
221    #[doc = "Location 1"]
222    #[inline(always)]
223    pub fn loc1(self) -> &'a mut W {
224        self.variant(CH6LOC_A::LOC1)
225    }
226    #[doc = "Location 2"]
227    #[inline(always)]
228    pub fn loc2(self) -> &'a mut W {
229        self.variant(CH6LOC_A::LOC2)
230    }
231}
232#[doc = "I/O Location\n\nValue on reset: 0"]
233#[derive(Clone, Copy, Debug, PartialEq)]
234#[repr(u8)]
235pub enum CH7LOC_A {
236    #[doc = "0: Location 0"]
237    LOC0 = 0,
238    #[doc = "1: Location 1"]
239    LOC1 = 1,
240    #[doc = "2: Location 2"]
241    LOC2 = 2,
242}
243impl From<CH7LOC_A> for u8 {
244    #[inline(always)]
245    fn from(variant: CH7LOC_A) -> Self {
246        variant as _
247    }
248}
249#[doc = "Field `CH7LOC` reader - I/O Location"]
250pub type CH7LOC_R = crate::FieldReader<u8, CH7LOC_A>;
251impl CH7LOC_R {
252    #[doc = "Get enumerated values variant"]
253    #[inline(always)]
254    pub fn variant(&self) -> Option<CH7LOC_A> {
255        match self.bits {
256            0 => Some(CH7LOC_A::LOC0),
257            1 => Some(CH7LOC_A::LOC1),
258            2 => Some(CH7LOC_A::LOC2),
259            _ => None,
260        }
261    }
262    #[doc = "Checks if the value of the field is `LOC0`"]
263    #[inline(always)]
264    pub fn is_loc0(&self) -> bool {
265        *self == CH7LOC_A::LOC0
266    }
267    #[doc = "Checks if the value of the field is `LOC1`"]
268    #[inline(always)]
269    pub fn is_loc1(&self) -> bool {
270        *self == CH7LOC_A::LOC1
271    }
272    #[doc = "Checks if the value of the field is `LOC2`"]
273    #[inline(always)]
274    pub fn is_loc2(&self) -> bool {
275        *self == CH7LOC_A::LOC2
276    }
277}
278#[doc = "Field `CH7LOC` writer - I/O Location"]
279pub type CH7LOC_W<'a> = crate::FieldWriter<'a, u32, ROUTELOC1_SPEC, u8, CH7LOC_A, 6, 24>;
280impl<'a> CH7LOC_W<'a> {
281    #[doc = "Location 0"]
282    #[inline(always)]
283    pub fn loc0(self) -> &'a mut W {
284        self.variant(CH7LOC_A::LOC0)
285    }
286    #[doc = "Location 1"]
287    #[inline(always)]
288    pub fn loc1(self) -> &'a mut W {
289        self.variant(CH7LOC_A::LOC1)
290    }
291    #[doc = "Location 2"]
292    #[inline(always)]
293    pub fn loc2(self) -> &'a mut W {
294        self.variant(CH7LOC_A::LOC2)
295    }
296}
297impl R {
298    #[doc = "Bits 0:5 - I/O Location"]
299    #[inline(always)]
300    pub fn ch4loc(&self) -> CH4LOC_R {
301        CH4LOC_R::new((self.bits & 0x3f) as u8)
302    }
303    #[doc = "Bits 8:13 - I/O Location"]
304    #[inline(always)]
305    pub fn ch5loc(&self) -> CH5LOC_R {
306        CH5LOC_R::new(((self.bits >> 8) & 0x3f) as u8)
307    }
308    #[doc = "Bits 16:21 - I/O Location"]
309    #[inline(always)]
310    pub fn ch6loc(&self) -> CH6LOC_R {
311        CH6LOC_R::new(((self.bits >> 16) & 0x3f) as u8)
312    }
313    #[doc = "Bits 24:29 - I/O Location"]
314    #[inline(always)]
315    pub fn ch7loc(&self) -> CH7LOC_R {
316        CH7LOC_R::new(((self.bits >> 24) & 0x3f) as u8)
317    }
318}
319impl W {
320    #[doc = "Bits 0:5 - I/O Location"]
321    #[inline(always)]
322    pub fn ch4loc(&mut self) -> CH4LOC_W {
323        CH4LOC_W::new(self)
324    }
325    #[doc = "Bits 8:13 - I/O Location"]
326    #[inline(always)]
327    pub fn ch5loc(&mut self) -> CH5LOC_W {
328        CH5LOC_W::new(self)
329    }
330    #[doc = "Bits 16:21 - I/O Location"]
331    #[inline(always)]
332    pub fn ch6loc(&mut self) -> CH6LOC_W {
333        CH6LOC_W::new(self)
334    }
335    #[doc = "Bits 24:29 - I/O Location"]
336    #[inline(always)]
337    pub fn ch7loc(&mut self) -> CH7LOC_W {
338        CH7LOC_W::new(self)
339    }
340    #[doc = "Writes raw bits to the register."]
341    #[inline(always)]
342    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
343        self.0.bits(bits);
344        self
345    }
346}
347#[doc = "I/O Routing Location 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 [routeloc1](index.html) module"]
348pub struct ROUTELOC1_SPEC;
349impl crate::RegisterSpec for ROUTELOC1_SPEC {
350    type Ux = u32;
351}
352#[doc = "`read()` method returns [routeloc1::R](R) reader structure"]
353impl crate::Readable for ROUTELOC1_SPEC {
354    type Reader = R;
355}
356#[doc = "`write(|w| ..)` method takes [routeloc1::W](W) writer structure"]
357impl crate::Writable for ROUTELOC1_SPEC {
358    type Writer = W;
359}
360#[doc = "`reset()` method sets ROUTELOC1 to value 0"]
361impl crate::Resettable for ROUTELOC1_SPEC {
362    #[inline(always)]
363    fn reset_value() -> Self::Ux {
364        0
365    }
366}