efm32jg12b_pac/efm32jg12b500/acmp1/
routeloc0.rs1#[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 = "Field `OUTLOC` reader - I/O Location"]
38pub type OUTLOC_R = crate::FieldReader<u8, OUTLOC_A>;
39#[doc = "I/O Location\n\nValue on reset: 0"]
40#[derive(Clone, Copy, Debug, PartialEq, Eq)]
41#[repr(u8)]
42pub enum OUTLOC_A {
43 #[doc = "0: Location 0"]
44 LOC0 = 0,
45 #[doc = "1: Location 1"]
46 LOC1 = 1,
47 #[doc = "2: Location 2"]
48 LOC2 = 2,
49 #[doc = "3: Location 3"]
50 LOC3 = 3,
51 #[doc = "4: Location 4"]
52 LOC4 = 4,
53 #[doc = "5: Location 5"]
54 LOC5 = 5,
55 #[doc = "6: Location 6"]
56 LOC6 = 6,
57 #[doc = "7: Location 7"]
58 LOC7 = 7,
59 #[doc = "8: Location 8"]
60 LOC8 = 8,
61 #[doc = "9: Location 9"]
62 LOC9 = 9,
63 #[doc = "10: Location 10"]
64 LOC10 = 10,
65 #[doc = "11: Location 11"]
66 LOC11 = 11,
67 #[doc = "12: Location 12"]
68 LOC12 = 12,
69 #[doc = "13: Location 13"]
70 LOC13 = 13,
71 #[doc = "14: Location 14"]
72 LOC14 = 14,
73 #[doc = "15: Location 15"]
74 LOC15 = 15,
75 #[doc = "16: Location 16"]
76 LOC16 = 16,
77 #[doc = "17: Location 17"]
78 LOC17 = 17,
79 #[doc = "18: Location 18"]
80 LOC18 = 18,
81 #[doc = "19: Location 19"]
82 LOC19 = 19,
83 #[doc = "20: Location 20"]
84 LOC20 = 20,
85 #[doc = "21: Location 21"]
86 LOC21 = 21,
87 #[doc = "22: Location 22"]
88 LOC22 = 22,
89 #[doc = "23: Location 23"]
90 LOC23 = 23,
91 #[doc = "24: Location 24"]
92 LOC24 = 24,
93 #[doc = "25: Location 25"]
94 LOC25 = 25,
95 #[doc = "26: Location 26"]
96 LOC26 = 26,
97 #[doc = "27: Location 27"]
98 LOC27 = 27,
99 #[doc = "28: Location 28"]
100 LOC28 = 28,
101 #[doc = "29: Location 29"]
102 LOC29 = 29,
103 #[doc = "30: Location 30"]
104 LOC30 = 30,
105 #[doc = "31: Location 31"]
106 LOC31 = 31,
107}
108impl From<OUTLOC_A> for u8 {
109 #[inline(always)]
110 fn from(variant: OUTLOC_A) -> Self {
111 variant as _
112 }
113}
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, const O: u8> =
317 crate::FieldWriter<'a, u32, ROUTELOC0_SPEC, u8, OUTLOC_A, 6, O>;
318impl<'a, const O: u8> OUTLOC_W<'a, O> {
319 #[doc = "Location 0"]
320 #[inline(always)]
321 pub fn loc0(self) -> &'a mut W {
322 self.variant(OUTLOC_A::LOC0)
323 }
324 #[doc = "Location 1"]
325 #[inline(always)]
326 pub fn loc1(self) -> &'a mut W {
327 self.variant(OUTLOC_A::LOC1)
328 }
329 #[doc = "Location 2"]
330 #[inline(always)]
331 pub fn loc2(self) -> &'a mut W {
332 self.variant(OUTLOC_A::LOC2)
333 }
334 #[doc = "Location 3"]
335 #[inline(always)]
336 pub fn loc3(self) -> &'a mut W {
337 self.variant(OUTLOC_A::LOC3)
338 }
339 #[doc = "Location 4"]
340 #[inline(always)]
341 pub fn loc4(self) -> &'a mut W {
342 self.variant(OUTLOC_A::LOC4)
343 }
344 #[doc = "Location 5"]
345 #[inline(always)]
346 pub fn loc5(self) -> &'a mut W {
347 self.variant(OUTLOC_A::LOC5)
348 }
349 #[doc = "Location 6"]
350 #[inline(always)]
351 pub fn loc6(self) -> &'a mut W {
352 self.variant(OUTLOC_A::LOC6)
353 }
354 #[doc = "Location 7"]
355 #[inline(always)]
356 pub fn loc7(self) -> &'a mut W {
357 self.variant(OUTLOC_A::LOC7)
358 }
359 #[doc = "Location 8"]
360 #[inline(always)]
361 pub fn loc8(self) -> &'a mut W {
362 self.variant(OUTLOC_A::LOC8)
363 }
364 #[doc = "Location 9"]
365 #[inline(always)]
366 pub fn loc9(self) -> &'a mut W {
367 self.variant(OUTLOC_A::LOC9)
368 }
369 #[doc = "Location 10"]
370 #[inline(always)]
371 pub fn loc10(self) -> &'a mut W {
372 self.variant(OUTLOC_A::LOC10)
373 }
374 #[doc = "Location 11"]
375 #[inline(always)]
376 pub fn loc11(self) -> &'a mut W {
377 self.variant(OUTLOC_A::LOC11)
378 }
379 #[doc = "Location 12"]
380 #[inline(always)]
381 pub fn loc12(self) -> &'a mut W {
382 self.variant(OUTLOC_A::LOC12)
383 }
384 #[doc = "Location 13"]
385 #[inline(always)]
386 pub fn loc13(self) -> &'a mut W {
387 self.variant(OUTLOC_A::LOC13)
388 }
389 #[doc = "Location 14"]
390 #[inline(always)]
391 pub fn loc14(self) -> &'a mut W {
392 self.variant(OUTLOC_A::LOC14)
393 }
394 #[doc = "Location 15"]
395 #[inline(always)]
396 pub fn loc15(self) -> &'a mut W {
397 self.variant(OUTLOC_A::LOC15)
398 }
399 #[doc = "Location 16"]
400 #[inline(always)]
401 pub fn loc16(self) -> &'a mut W {
402 self.variant(OUTLOC_A::LOC16)
403 }
404 #[doc = "Location 17"]
405 #[inline(always)]
406 pub fn loc17(self) -> &'a mut W {
407 self.variant(OUTLOC_A::LOC17)
408 }
409 #[doc = "Location 18"]
410 #[inline(always)]
411 pub fn loc18(self) -> &'a mut W {
412 self.variant(OUTLOC_A::LOC18)
413 }
414 #[doc = "Location 19"]
415 #[inline(always)]
416 pub fn loc19(self) -> &'a mut W {
417 self.variant(OUTLOC_A::LOC19)
418 }
419 #[doc = "Location 20"]
420 #[inline(always)]
421 pub fn loc20(self) -> &'a mut W {
422 self.variant(OUTLOC_A::LOC20)
423 }
424 #[doc = "Location 21"]
425 #[inline(always)]
426 pub fn loc21(self) -> &'a mut W {
427 self.variant(OUTLOC_A::LOC21)
428 }
429 #[doc = "Location 22"]
430 #[inline(always)]
431 pub fn loc22(self) -> &'a mut W {
432 self.variant(OUTLOC_A::LOC22)
433 }
434 #[doc = "Location 23"]
435 #[inline(always)]
436 pub fn loc23(self) -> &'a mut W {
437 self.variant(OUTLOC_A::LOC23)
438 }
439 #[doc = "Location 24"]
440 #[inline(always)]
441 pub fn loc24(self) -> &'a mut W {
442 self.variant(OUTLOC_A::LOC24)
443 }
444 #[doc = "Location 25"]
445 #[inline(always)]
446 pub fn loc25(self) -> &'a mut W {
447 self.variant(OUTLOC_A::LOC25)
448 }
449 #[doc = "Location 26"]
450 #[inline(always)]
451 pub fn loc26(self) -> &'a mut W {
452 self.variant(OUTLOC_A::LOC26)
453 }
454 #[doc = "Location 27"]
455 #[inline(always)]
456 pub fn loc27(self) -> &'a mut W {
457 self.variant(OUTLOC_A::LOC27)
458 }
459 #[doc = "Location 28"]
460 #[inline(always)]
461 pub fn loc28(self) -> &'a mut W {
462 self.variant(OUTLOC_A::LOC28)
463 }
464 #[doc = "Location 29"]
465 #[inline(always)]
466 pub fn loc29(self) -> &'a mut W {
467 self.variant(OUTLOC_A::LOC29)
468 }
469 #[doc = "Location 30"]
470 #[inline(always)]
471 pub fn loc30(self) -> &'a mut W {
472 self.variant(OUTLOC_A::LOC30)
473 }
474 #[doc = "Location 31"]
475 #[inline(always)]
476 pub fn loc31(self) -> &'a mut W {
477 self.variant(OUTLOC_A::LOC31)
478 }
479}
480impl R {
481 #[doc = "Bits 0:5 - I/O Location"]
482 #[inline(always)]
483 pub fn outloc(&self) -> OUTLOC_R {
484 OUTLOC_R::new((self.bits & 0x3f) as u8)
485 }
486}
487impl W {
488 #[doc = "Bits 0:5 - I/O Location"]
489 #[inline(always)]
490 #[must_use]
491 pub fn outloc(&mut self) -> OUTLOC_W<0> {
492 OUTLOC_W::new(self)
493 }
494 #[doc = "Writes raw bits to the register."]
495 #[inline(always)]
496 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
497 self.0.bits(bits);
498 self
499 }
500}
501#[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"]
502pub struct ROUTELOC0_SPEC;
503impl crate::RegisterSpec for ROUTELOC0_SPEC {
504 type Ux = u32;
505}
506#[doc = "`read()` method returns [routeloc0::R](R) reader structure"]
507impl crate::Readable for ROUTELOC0_SPEC {
508 type Reader = R;
509}
510#[doc = "`write(|w| ..)` method takes [routeloc0::W](W) writer structure"]
511impl crate::Writable for ROUTELOC0_SPEC {
512 type Writer = W;
513 const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
514 const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
515}
516#[doc = "`reset()` method sets ROUTELOC0 to value 0"]
517impl crate::Resettable for ROUTELOC0_SPEC {
518 const RESET_VALUE: Self::Ux = 0;
519}