efm32gg12b830_pac/prs/
routeloc2.rs1#[doc = "Register `ROUTELOC2` reader"]
2pub struct R(crate::R<ROUTELOC2_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<ROUTELOC2_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<ROUTELOC2_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<ROUTELOC2_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `ROUTELOC2` writer"]
17pub struct W(crate::W<ROUTELOC2_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<ROUTELOC2_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<ROUTELOC2_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<ROUTELOC2_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 CH8LOC_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<CH8LOC_A> for u8 {
49 #[inline(always)]
50 fn from(variant: CH8LOC_A) -> Self {
51 variant as _
52 }
53}
54#[doc = "Field `CH8LOC` reader - I/O Location"]
55pub type CH8LOC_R = crate::FieldReader<u8, CH8LOC_A>;
56impl CH8LOC_R {
57 #[doc = "Get enumerated values variant"]
58 #[inline(always)]
59 pub fn variant(&self) -> Option<CH8LOC_A> {
60 match self.bits {
61 0 => Some(CH8LOC_A::LOC0),
62 1 => Some(CH8LOC_A::LOC1),
63 2 => Some(CH8LOC_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 == CH8LOC_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 == CH8LOC_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 == CH8LOC_A::LOC2
81 }
82}
83#[doc = "Field `CH8LOC` writer - I/O Location"]
84pub type CH8LOC_W<'a> = crate::FieldWriter<'a, u32, ROUTELOC2_SPEC, u8, CH8LOC_A, 6, 0>;
85impl<'a> CH8LOC_W<'a> {
86 #[doc = "Location 0"]
87 #[inline(always)]
88 pub fn loc0(self) -> &'a mut W {
89 self.variant(CH8LOC_A::LOC0)
90 }
91 #[doc = "Location 1"]
92 #[inline(always)]
93 pub fn loc1(self) -> &'a mut W {
94 self.variant(CH8LOC_A::LOC1)
95 }
96 #[doc = "Location 2"]
97 #[inline(always)]
98 pub fn loc2(self) -> &'a mut W {
99 self.variant(CH8LOC_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 CH9LOC_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<CH9LOC_A> for u8 {
114 #[inline(always)]
115 fn from(variant: CH9LOC_A) -> Self {
116 variant as _
117 }
118}
119#[doc = "Field `CH9LOC` reader - I/O Location"]
120pub type CH9LOC_R = crate::FieldReader<u8, CH9LOC_A>;
121impl CH9LOC_R {
122 #[doc = "Get enumerated values variant"]
123 #[inline(always)]
124 pub fn variant(&self) -> Option<CH9LOC_A> {
125 match self.bits {
126 0 => Some(CH9LOC_A::LOC0),
127 1 => Some(CH9LOC_A::LOC1),
128 2 => Some(CH9LOC_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 == CH9LOC_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 == CH9LOC_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 == CH9LOC_A::LOC2
146 }
147}
148#[doc = "Field `CH9LOC` writer - I/O Location"]
149pub type CH9LOC_W<'a> = crate::FieldWriter<'a, u32, ROUTELOC2_SPEC, u8, CH9LOC_A, 6, 8>;
150impl<'a> CH9LOC_W<'a> {
151 #[doc = "Location 0"]
152 #[inline(always)]
153 pub fn loc0(self) -> &'a mut W {
154 self.variant(CH9LOC_A::LOC0)
155 }
156 #[doc = "Location 1"]
157 #[inline(always)]
158 pub fn loc1(self) -> &'a mut W {
159 self.variant(CH9LOC_A::LOC1)
160 }
161 #[doc = "Location 2"]
162 #[inline(always)]
163 pub fn loc2(self) -> &'a mut W {
164 self.variant(CH9LOC_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 CH10LOC_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<CH10LOC_A> for u8 {
179 #[inline(always)]
180 fn from(variant: CH10LOC_A) -> Self {
181 variant as _
182 }
183}
184#[doc = "Field `CH10LOC` reader - I/O Location"]
185pub type CH10LOC_R = crate::FieldReader<u8, CH10LOC_A>;
186impl CH10LOC_R {
187 #[doc = "Get enumerated values variant"]
188 #[inline(always)]
189 pub fn variant(&self) -> Option<CH10LOC_A> {
190 match self.bits {
191 0 => Some(CH10LOC_A::LOC0),
192 1 => Some(CH10LOC_A::LOC1),
193 2 => Some(CH10LOC_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 == CH10LOC_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 == CH10LOC_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 == CH10LOC_A::LOC2
211 }
212}
213#[doc = "Field `CH10LOC` writer - I/O Location"]
214pub type CH10LOC_W<'a> = crate::FieldWriter<'a, u32, ROUTELOC2_SPEC, u8, CH10LOC_A, 6, 16>;
215impl<'a> CH10LOC_W<'a> {
216 #[doc = "Location 0"]
217 #[inline(always)]
218 pub fn loc0(self) -> &'a mut W {
219 self.variant(CH10LOC_A::LOC0)
220 }
221 #[doc = "Location 1"]
222 #[inline(always)]
223 pub fn loc1(self) -> &'a mut W {
224 self.variant(CH10LOC_A::LOC1)
225 }
226 #[doc = "Location 2"]
227 #[inline(always)]
228 pub fn loc2(self) -> &'a mut W {
229 self.variant(CH10LOC_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 CH11LOC_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<CH11LOC_A> for u8 {
244 #[inline(always)]
245 fn from(variant: CH11LOC_A) -> Self {
246 variant as _
247 }
248}
249#[doc = "Field `CH11LOC` reader - I/O Location"]
250pub type CH11LOC_R = crate::FieldReader<u8, CH11LOC_A>;
251impl CH11LOC_R {
252 #[doc = "Get enumerated values variant"]
253 #[inline(always)]
254 pub fn variant(&self) -> Option<CH11LOC_A> {
255 match self.bits {
256 0 => Some(CH11LOC_A::LOC0),
257 1 => Some(CH11LOC_A::LOC1),
258 2 => Some(CH11LOC_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 == CH11LOC_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 == CH11LOC_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 == CH11LOC_A::LOC2
276 }
277}
278#[doc = "Field `CH11LOC` writer - I/O Location"]
279pub type CH11LOC_W<'a> = crate::FieldWriter<'a, u32, ROUTELOC2_SPEC, u8, CH11LOC_A, 6, 24>;
280impl<'a> CH11LOC_W<'a> {
281 #[doc = "Location 0"]
282 #[inline(always)]
283 pub fn loc0(self) -> &'a mut W {
284 self.variant(CH11LOC_A::LOC0)
285 }
286 #[doc = "Location 1"]
287 #[inline(always)]
288 pub fn loc1(self) -> &'a mut W {
289 self.variant(CH11LOC_A::LOC1)
290 }
291 #[doc = "Location 2"]
292 #[inline(always)]
293 pub fn loc2(self) -> &'a mut W {
294 self.variant(CH11LOC_A::LOC2)
295 }
296}
297impl R {
298 #[doc = "Bits 0:5 - I/O Location"]
299 #[inline(always)]
300 pub fn ch8loc(&self) -> CH8LOC_R {
301 CH8LOC_R::new((self.bits & 0x3f) as u8)
302 }
303 #[doc = "Bits 8:13 - I/O Location"]
304 #[inline(always)]
305 pub fn ch9loc(&self) -> CH9LOC_R {
306 CH9LOC_R::new(((self.bits >> 8) & 0x3f) as u8)
307 }
308 #[doc = "Bits 16:21 - I/O Location"]
309 #[inline(always)]
310 pub fn ch10loc(&self) -> CH10LOC_R {
311 CH10LOC_R::new(((self.bits >> 16) & 0x3f) as u8)
312 }
313 #[doc = "Bits 24:29 - I/O Location"]
314 #[inline(always)]
315 pub fn ch11loc(&self) -> CH11LOC_R {
316 CH11LOC_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 ch8loc(&mut self) -> CH8LOC_W {
323 CH8LOC_W::new(self)
324 }
325 #[doc = "Bits 8:13 - I/O Location"]
326 #[inline(always)]
327 pub fn ch9loc(&mut self) -> CH9LOC_W {
328 CH9LOC_W::new(self)
329 }
330 #[doc = "Bits 16:21 - I/O Location"]
331 #[inline(always)]
332 pub fn ch10loc(&mut self) -> CH10LOC_W {
333 CH10LOC_W::new(self)
334 }
335 #[doc = "Bits 24:29 - I/O Location"]
336 #[inline(always)]
337 pub fn ch11loc(&mut self) -> CH11LOC_W {
338 CH11LOC_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 [routeloc2](index.html) module"]
348pub struct ROUTELOC2_SPEC;
349impl crate::RegisterSpec for ROUTELOC2_SPEC {
350 type Ux = u32;
351}
352#[doc = "`read()` method returns [routeloc2::R](R) reader structure"]
353impl crate::Readable for ROUTELOC2_SPEC {
354 type Reader = R;
355}
356#[doc = "`write(|w| ..)` method takes [routeloc2::W](W) writer structure"]
357impl crate::Writable for ROUTELOC2_SPEC {
358 type Writer = W;
359}
360#[doc = "`reset()` method sets ROUTELOC2 to value 0"]
361impl crate::Resettable for ROUTELOC2_SPEC {
362 #[inline(always)]
363 fn reset_value() -> Self::Ux {
364 0
365 }
366}