efm32pg12_pac/acmp0/
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 {
10        0
11    }
12}
13#[doc = "I/O Location\n\nValue on reset: 0"]
14#[derive(Clone, Copy, Debug, PartialEq)]
15#[repr(u8)]
16pub enum OUTLOC_A {
17    #[doc = "0: Location 0"]
18    LOC0 = 0,
19    #[doc = "1: Location 1"]
20    LOC1 = 1,
21    #[doc = "2: Location 2"]
22    LOC2 = 2,
23    #[doc = "3: Location 3"]
24    LOC3 = 3,
25    #[doc = "4: Location 4"]
26    LOC4 = 4,
27    #[doc = "5: Location 5"]
28    LOC5 = 5,
29    #[doc = "6: Location 6"]
30    LOC6 = 6,
31    #[doc = "7: Location 7"]
32    LOC7 = 7,
33    #[doc = "8: Location 8"]
34    LOC8 = 8,
35    #[doc = "9: Location 9"]
36    LOC9 = 9,
37    #[doc = "10: Location 10"]
38    LOC10 = 10,
39    #[doc = "11: Location 11"]
40    LOC11 = 11,
41    #[doc = "12: Location 12"]
42    LOC12 = 12,
43    #[doc = "13: Location 13"]
44    LOC13 = 13,
45    #[doc = "14: Location 14"]
46    LOC14 = 14,
47    #[doc = "15: Location 15"]
48    LOC15 = 15,
49    #[doc = "16: Location 16"]
50    LOC16 = 16,
51    #[doc = "17: Location 17"]
52    LOC17 = 17,
53    #[doc = "18: Location 18"]
54    LOC18 = 18,
55    #[doc = "19: Location 19"]
56    LOC19 = 19,
57    #[doc = "20: Location 20"]
58    LOC20 = 20,
59    #[doc = "21: Location 21"]
60    LOC21 = 21,
61    #[doc = "22: Location 22"]
62    LOC22 = 22,
63    #[doc = "23: Location 23"]
64    LOC23 = 23,
65    #[doc = "24: Location 24"]
66    LOC24 = 24,
67    #[doc = "25: Location 25"]
68    LOC25 = 25,
69    #[doc = "26: Location 26"]
70    LOC26 = 26,
71    #[doc = "27: Location 27"]
72    LOC27 = 27,
73    #[doc = "28: Location 28"]
74    LOC28 = 28,
75    #[doc = "29: Location 29"]
76    LOC29 = 29,
77    #[doc = "30: Location 30"]
78    LOC30 = 30,
79    #[doc = "31: Location 31"]
80    LOC31 = 31,
81}
82impl From<OUTLOC_A> for u8 {
83    #[inline(always)]
84    fn from(variant: OUTLOC_A) -> Self {
85        variant as _
86    }
87}
88#[doc = "Reader of field `OUTLOC`"]
89pub type OUTLOC_R = crate::R<u8, OUTLOC_A>;
90impl OUTLOC_R {
91    #[doc = r"Get enumerated values variant"]
92    #[inline(always)]
93    pub fn variant(&self) -> crate::Variant<u8, OUTLOC_A> {
94        use crate::Variant::*;
95        match self.bits {
96            0 => Val(OUTLOC_A::LOC0),
97            1 => Val(OUTLOC_A::LOC1),
98            2 => Val(OUTLOC_A::LOC2),
99            3 => Val(OUTLOC_A::LOC3),
100            4 => Val(OUTLOC_A::LOC4),
101            5 => Val(OUTLOC_A::LOC5),
102            6 => Val(OUTLOC_A::LOC6),
103            7 => Val(OUTLOC_A::LOC7),
104            8 => Val(OUTLOC_A::LOC8),
105            9 => Val(OUTLOC_A::LOC9),
106            10 => Val(OUTLOC_A::LOC10),
107            11 => Val(OUTLOC_A::LOC11),
108            12 => Val(OUTLOC_A::LOC12),
109            13 => Val(OUTLOC_A::LOC13),
110            14 => Val(OUTLOC_A::LOC14),
111            15 => Val(OUTLOC_A::LOC15),
112            16 => Val(OUTLOC_A::LOC16),
113            17 => Val(OUTLOC_A::LOC17),
114            18 => Val(OUTLOC_A::LOC18),
115            19 => Val(OUTLOC_A::LOC19),
116            20 => Val(OUTLOC_A::LOC20),
117            21 => Val(OUTLOC_A::LOC21),
118            22 => Val(OUTLOC_A::LOC22),
119            23 => Val(OUTLOC_A::LOC23),
120            24 => Val(OUTLOC_A::LOC24),
121            25 => Val(OUTLOC_A::LOC25),
122            26 => Val(OUTLOC_A::LOC26),
123            27 => Val(OUTLOC_A::LOC27),
124            28 => Val(OUTLOC_A::LOC28),
125            29 => Val(OUTLOC_A::LOC29),
126            30 => Val(OUTLOC_A::LOC30),
127            31 => Val(OUTLOC_A::LOC31),
128            i => Res(i),
129        }
130    }
131    #[doc = "Checks if the value of the field is `LOC0`"]
132    #[inline(always)]
133    pub fn is_loc0(&self) -> bool {
134        *self == OUTLOC_A::LOC0
135    }
136    #[doc = "Checks if the value of the field is `LOC1`"]
137    #[inline(always)]
138    pub fn is_loc1(&self) -> bool {
139        *self == OUTLOC_A::LOC1
140    }
141    #[doc = "Checks if the value of the field is `LOC2`"]
142    #[inline(always)]
143    pub fn is_loc2(&self) -> bool {
144        *self == OUTLOC_A::LOC2
145    }
146    #[doc = "Checks if the value of the field is `LOC3`"]
147    #[inline(always)]
148    pub fn is_loc3(&self) -> bool {
149        *self == OUTLOC_A::LOC3
150    }
151    #[doc = "Checks if the value of the field is `LOC4`"]
152    #[inline(always)]
153    pub fn is_loc4(&self) -> bool {
154        *self == OUTLOC_A::LOC4
155    }
156    #[doc = "Checks if the value of the field is `LOC5`"]
157    #[inline(always)]
158    pub fn is_loc5(&self) -> bool {
159        *self == OUTLOC_A::LOC5
160    }
161    #[doc = "Checks if the value of the field is `LOC6`"]
162    #[inline(always)]
163    pub fn is_loc6(&self) -> bool {
164        *self == OUTLOC_A::LOC6
165    }
166    #[doc = "Checks if the value of the field is `LOC7`"]
167    #[inline(always)]
168    pub fn is_loc7(&self) -> bool {
169        *self == OUTLOC_A::LOC7
170    }
171    #[doc = "Checks if the value of the field is `LOC8`"]
172    #[inline(always)]
173    pub fn is_loc8(&self) -> bool {
174        *self == OUTLOC_A::LOC8
175    }
176    #[doc = "Checks if the value of the field is `LOC9`"]
177    #[inline(always)]
178    pub fn is_loc9(&self) -> bool {
179        *self == OUTLOC_A::LOC9
180    }
181    #[doc = "Checks if the value of the field is `LOC10`"]
182    #[inline(always)]
183    pub fn is_loc10(&self) -> bool {
184        *self == OUTLOC_A::LOC10
185    }
186    #[doc = "Checks if the value of the field is `LOC11`"]
187    #[inline(always)]
188    pub fn is_loc11(&self) -> bool {
189        *self == OUTLOC_A::LOC11
190    }
191    #[doc = "Checks if the value of the field is `LOC12`"]
192    #[inline(always)]
193    pub fn is_loc12(&self) -> bool {
194        *self == OUTLOC_A::LOC12
195    }
196    #[doc = "Checks if the value of the field is `LOC13`"]
197    #[inline(always)]
198    pub fn is_loc13(&self) -> bool {
199        *self == OUTLOC_A::LOC13
200    }
201    #[doc = "Checks if the value of the field is `LOC14`"]
202    #[inline(always)]
203    pub fn is_loc14(&self) -> bool {
204        *self == OUTLOC_A::LOC14
205    }
206    #[doc = "Checks if the value of the field is `LOC15`"]
207    #[inline(always)]
208    pub fn is_loc15(&self) -> bool {
209        *self == OUTLOC_A::LOC15
210    }
211    #[doc = "Checks if the value of the field is `LOC16`"]
212    #[inline(always)]
213    pub fn is_loc16(&self) -> bool {
214        *self == OUTLOC_A::LOC16
215    }
216    #[doc = "Checks if the value of the field is `LOC17`"]
217    #[inline(always)]
218    pub fn is_loc17(&self) -> bool {
219        *self == OUTLOC_A::LOC17
220    }
221    #[doc = "Checks if the value of the field is `LOC18`"]
222    #[inline(always)]
223    pub fn is_loc18(&self) -> bool {
224        *self == OUTLOC_A::LOC18
225    }
226    #[doc = "Checks if the value of the field is `LOC19`"]
227    #[inline(always)]
228    pub fn is_loc19(&self) -> bool {
229        *self == OUTLOC_A::LOC19
230    }
231    #[doc = "Checks if the value of the field is `LOC20`"]
232    #[inline(always)]
233    pub fn is_loc20(&self) -> bool {
234        *self == OUTLOC_A::LOC20
235    }
236    #[doc = "Checks if the value of the field is `LOC21`"]
237    #[inline(always)]
238    pub fn is_loc21(&self) -> bool {
239        *self == OUTLOC_A::LOC21
240    }
241    #[doc = "Checks if the value of the field is `LOC22`"]
242    #[inline(always)]
243    pub fn is_loc22(&self) -> bool {
244        *self == OUTLOC_A::LOC22
245    }
246    #[doc = "Checks if the value of the field is `LOC23`"]
247    #[inline(always)]
248    pub fn is_loc23(&self) -> bool {
249        *self == OUTLOC_A::LOC23
250    }
251    #[doc = "Checks if the value of the field is `LOC24`"]
252    #[inline(always)]
253    pub fn is_loc24(&self) -> bool {
254        *self == OUTLOC_A::LOC24
255    }
256    #[doc = "Checks if the value of the field is `LOC25`"]
257    #[inline(always)]
258    pub fn is_loc25(&self) -> bool {
259        *self == OUTLOC_A::LOC25
260    }
261    #[doc = "Checks if the value of the field is `LOC26`"]
262    #[inline(always)]
263    pub fn is_loc26(&self) -> bool {
264        *self == OUTLOC_A::LOC26
265    }
266    #[doc = "Checks if the value of the field is `LOC27`"]
267    #[inline(always)]
268    pub fn is_loc27(&self) -> bool {
269        *self == OUTLOC_A::LOC27
270    }
271    #[doc = "Checks if the value of the field is `LOC28`"]
272    #[inline(always)]
273    pub fn is_loc28(&self) -> bool {
274        *self == OUTLOC_A::LOC28
275    }
276    #[doc = "Checks if the value of the field is `LOC29`"]
277    #[inline(always)]
278    pub fn is_loc29(&self) -> bool {
279        *self == OUTLOC_A::LOC29
280    }
281    #[doc = "Checks if the value of the field is `LOC30`"]
282    #[inline(always)]
283    pub fn is_loc30(&self) -> bool {
284        *self == OUTLOC_A::LOC30
285    }
286    #[doc = "Checks if the value of the field is `LOC31`"]
287    #[inline(always)]
288    pub fn is_loc31(&self) -> bool {
289        *self == OUTLOC_A::LOC31
290    }
291}
292#[doc = "Write proxy for field `OUTLOC`"]
293pub struct OUTLOC_W<'a> {
294    w: &'a mut W,
295}
296impl<'a> OUTLOC_W<'a> {
297    #[doc = r"Writes `variant` to the field"]
298    #[inline(always)]
299    pub fn variant(self, variant: OUTLOC_A) -> &'a mut W {
300        unsafe { self.bits(variant.into()) }
301    }
302    #[doc = "Location 0"]
303    #[inline(always)]
304    pub fn loc0(self) -> &'a mut W {
305        self.variant(OUTLOC_A::LOC0)
306    }
307    #[doc = "Location 1"]
308    #[inline(always)]
309    pub fn loc1(self) -> &'a mut W {
310        self.variant(OUTLOC_A::LOC1)
311    }
312    #[doc = "Location 2"]
313    #[inline(always)]
314    pub fn loc2(self) -> &'a mut W {
315        self.variant(OUTLOC_A::LOC2)
316    }
317    #[doc = "Location 3"]
318    #[inline(always)]
319    pub fn loc3(self) -> &'a mut W {
320        self.variant(OUTLOC_A::LOC3)
321    }
322    #[doc = "Location 4"]
323    #[inline(always)]
324    pub fn loc4(self) -> &'a mut W {
325        self.variant(OUTLOC_A::LOC4)
326    }
327    #[doc = "Location 5"]
328    #[inline(always)]
329    pub fn loc5(self) -> &'a mut W {
330        self.variant(OUTLOC_A::LOC5)
331    }
332    #[doc = "Location 6"]
333    #[inline(always)]
334    pub fn loc6(self) -> &'a mut W {
335        self.variant(OUTLOC_A::LOC6)
336    }
337    #[doc = "Location 7"]
338    #[inline(always)]
339    pub fn loc7(self) -> &'a mut W {
340        self.variant(OUTLOC_A::LOC7)
341    }
342    #[doc = "Location 8"]
343    #[inline(always)]
344    pub fn loc8(self) -> &'a mut W {
345        self.variant(OUTLOC_A::LOC8)
346    }
347    #[doc = "Location 9"]
348    #[inline(always)]
349    pub fn loc9(self) -> &'a mut W {
350        self.variant(OUTLOC_A::LOC9)
351    }
352    #[doc = "Location 10"]
353    #[inline(always)]
354    pub fn loc10(self) -> &'a mut W {
355        self.variant(OUTLOC_A::LOC10)
356    }
357    #[doc = "Location 11"]
358    #[inline(always)]
359    pub fn loc11(self) -> &'a mut W {
360        self.variant(OUTLOC_A::LOC11)
361    }
362    #[doc = "Location 12"]
363    #[inline(always)]
364    pub fn loc12(self) -> &'a mut W {
365        self.variant(OUTLOC_A::LOC12)
366    }
367    #[doc = "Location 13"]
368    #[inline(always)]
369    pub fn loc13(self) -> &'a mut W {
370        self.variant(OUTLOC_A::LOC13)
371    }
372    #[doc = "Location 14"]
373    #[inline(always)]
374    pub fn loc14(self) -> &'a mut W {
375        self.variant(OUTLOC_A::LOC14)
376    }
377    #[doc = "Location 15"]
378    #[inline(always)]
379    pub fn loc15(self) -> &'a mut W {
380        self.variant(OUTLOC_A::LOC15)
381    }
382    #[doc = "Location 16"]
383    #[inline(always)]
384    pub fn loc16(self) -> &'a mut W {
385        self.variant(OUTLOC_A::LOC16)
386    }
387    #[doc = "Location 17"]
388    #[inline(always)]
389    pub fn loc17(self) -> &'a mut W {
390        self.variant(OUTLOC_A::LOC17)
391    }
392    #[doc = "Location 18"]
393    #[inline(always)]
394    pub fn loc18(self) -> &'a mut W {
395        self.variant(OUTLOC_A::LOC18)
396    }
397    #[doc = "Location 19"]
398    #[inline(always)]
399    pub fn loc19(self) -> &'a mut W {
400        self.variant(OUTLOC_A::LOC19)
401    }
402    #[doc = "Location 20"]
403    #[inline(always)]
404    pub fn loc20(self) -> &'a mut W {
405        self.variant(OUTLOC_A::LOC20)
406    }
407    #[doc = "Location 21"]
408    #[inline(always)]
409    pub fn loc21(self) -> &'a mut W {
410        self.variant(OUTLOC_A::LOC21)
411    }
412    #[doc = "Location 22"]
413    #[inline(always)]
414    pub fn loc22(self) -> &'a mut W {
415        self.variant(OUTLOC_A::LOC22)
416    }
417    #[doc = "Location 23"]
418    #[inline(always)]
419    pub fn loc23(self) -> &'a mut W {
420        self.variant(OUTLOC_A::LOC23)
421    }
422    #[doc = "Location 24"]
423    #[inline(always)]
424    pub fn loc24(self) -> &'a mut W {
425        self.variant(OUTLOC_A::LOC24)
426    }
427    #[doc = "Location 25"]
428    #[inline(always)]
429    pub fn loc25(self) -> &'a mut W {
430        self.variant(OUTLOC_A::LOC25)
431    }
432    #[doc = "Location 26"]
433    #[inline(always)]
434    pub fn loc26(self) -> &'a mut W {
435        self.variant(OUTLOC_A::LOC26)
436    }
437    #[doc = "Location 27"]
438    #[inline(always)]
439    pub fn loc27(self) -> &'a mut W {
440        self.variant(OUTLOC_A::LOC27)
441    }
442    #[doc = "Location 28"]
443    #[inline(always)]
444    pub fn loc28(self) -> &'a mut W {
445        self.variant(OUTLOC_A::LOC28)
446    }
447    #[doc = "Location 29"]
448    #[inline(always)]
449    pub fn loc29(self) -> &'a mut W {
450        self.variant(OUTLOC_A::LOC29)
451    }
452    #[doc = "Location 30"]
453    #[inline(always)]
454    pub fn loc30(self) -> &'a mut W {
455        self.variant(OUTLOC_A::LOC30)
456    }
457    #[doc = "Location 31"]
458    #[inline(always)]
459    pub fn loc31(self) -> &'a mut W {
460        self.variant(OUTLOC_A::LOC31)
461    }
462    #[doc = r"Writes raw bits to the field"]
463    #[inline(always)]
464    pub unsafe fn bits(self, value: u8) -> &'a mut W {
465        self.w.bits = (self.w.bits & !0x3f) | ((value as u32) & 0x3f);
466        self.w
467    }
468}
469impl R {
470    #[doc = "Bits 0:5 - I/O Location"]
471    #[inline(always)]
472    pub fn outloc(&self) -> OUTLOC_R {
473        OUTLOC_R::new((self.bits & 0x3f) as u8)
474    }
475}
476impl W {
477    #[doc = "Bits 0:5 - I/O Location"]
478    #[inline(always)]
479    pub fn outloc(&mut self) -> OUTLOC_W {
480        OUTLOC_W { w: self }
481    }
482}