efm32pg1b200_pac/acmp0/
routeloc0.rs

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