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