efm32tg11b120_pac/usart0/
input.rs1#[doc = "Register `INPUT` reader"]
2pub struct R(crate::R<INPUT_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<INPUT_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<INPUT_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<INPUT_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `INPUT` writer"]
17pub struct W(crate::W<INPUT_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<INPUT_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<INPUT_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<INPUT_SPEC>) -> Self {
34 W(writer)
35 }
36}
37#[doc = "RX PRS Channel Select\n\nValue on reset: 0"]
38#[derive(Clone, Copy, Debug, PartialEq)]
39#[repr(u8)]
40pub enum RXPRSSEL_A {
41 #[doc = "0: PRS Channel 0 selected"]
42 PRSCH0 = 0,
43 #[doc = "1: PRS Channel 1 selected"]
44 PRSCH1 = 1,
45 #[doc = "2: PRS Channel 2 selected"]
46 PRSCH2 = 2,
47 #[doc = "3: PRS Channel 3 selected"]
48 PRSCH3 = 3,
49 #[doc = "4: PRS Channel 4 selected"]
50 PRSCH4 = 4,
51 #[doc = "5: PRS Channel 5 selected"]
52 PRSCH5 = 5,
53 #[doc = "6: PRS Channel 6 selected"]
54 PRSCH6 = 6,
55 #[doc = "7: PRS Channel 7 selected"]
56 PRSCH7 = 7,
57}
58impl From<RXPRSSEL_A> for u8 {
59 #[inline(always)]
60 fn from(variant: RXPRSSEL_A) -> Self {
61 variant as _
62 }
63}
64#[doc = "Field `RXPRSSEL` reader - RX PRS Channel Select"]
65pub type RXPRSSEL_R = crate::FieldReader<u8, RXPRSSEL_A>;
66impl RXPRSSEL_R {
67 #[doc = "Get enumerated values variant"]
68 #[inline(always)]
69 pub fn variant(&self) -> RXPRSSEL_A {
70 match self.bits {
71 0 => RXPRSSEL_A::PRSCH0,
72 1 => RXPRSSEL_A::PRSCH1,
73 2 => RXPRSSEL_A::PRSCH2,
74 3 => RXPRSSEL_A::PRSCH3,
75 4 => RXPRSSEL_A::PRSCH4,
76 5 => RXPRSSEL_A::PRSCH5,
77 6 => RXPRSSEL_A::PRSCH6,
78 7 => RXPRSSEL_A::PRSCH7,
79 _ => unreachable!(),
80 }
81 }
82 #[doc = "Checks if the value of the field is `PRSCH0`"]
83 #[inline(always)]
84 pub fn is_prsch0(&self) -> bool {
85 *self == RXPRSSEL_A::PRSCH0
86 }
87 #[doc = "Checks if the value of the field is `PRSCH1`"]
88 #[inline(always)]
89 pub fn is_prsch1(&self) -> bool {
90 *self == RXPRSSEL_A::PRSCH1
91 }
92 #[doc = "Checks if the value of the field is `PRSCH2`"]
93 #[inline(always)]
94 pub fn is_prsch2(&self) -> bool {
95 *self == RXPRSSEL_A::PRSCH2
96 }
97 #[doc = "Checks if the value of the field is `PRSCH3`"]
98 #[inline(always)]
99 pub fn is_prsch3(&self) -> bool {
100 *self == RXPRSSEL_A::PRSCH3
101 }
102 #[doc = "Checks if the value of the field is `PRSCH4`"]
103 #[inline(always)]
104 pub fn is_prsch4(&self) -> bool {
105 *self == RXPRSSEL_A::PRSCH4
106 }
107 #[doc = "Checks if the value of the field is `PRSCH5`"]
108 #[inline(always)]
109 pub fn is_prsch5(&self) -> bool {
110 *self == RXPRSSEL_A::PRSCH5
111 }
112 #[doc = "Checks if the value of the field is `PRSCH6`"]
113 #[inline(always)]
114 pub fn is_prsch6(&self) -> bool {
115 *self == RXPRSSEL_A::PRSCH6
116 }
117 #[doc = "Checks if the value of the field is `PRSCH7`"]
118 #[inline(always)]
119 pub fn is_prsch7(&self) -> bool {
120 *self == RXPRSSEL_A::PRSCH7
121 }
122}
123#[doc = "Field `RXPRSSEL` writer - RX PRS Channel Select"]
124pub type RXPRSSEL_W<'a> = crate::FieldWriterSafe<'a, u32, INPUT_SPEC, u8, RXPRSSEL_A, 3, 0>;
125impl<'a> RXPRSSEL_W<'a> {
126 #[doc = "PRS Channel 0 selected"]
127 #[inline(always)]
128 pub fn prsch0(self) -> &'a mut W {
129 self.variant(RXPRSSEL_A::PRSCH0)
130 }
131 #[doc = "PRS Channel 1 selected"]
132 #[inline(always)]
133 pub fn prsch1(self) -> &'a mut W {
134 self.variant(RXPRSSEL_A::PRSCH1)
135 }
136 #[doc = "PRS Channel 2 selected"]
137 #[inline(always)]
138 pub fn prsch2(self) -> &'a mut W {
139 self.variant(RXPRSSEL_A::PRSCH2)
140 }
141 #[doc = "PRS Channel 3 selected"]
142 #[inline(always)]
143 pub fn prsch3(self) -> &'a mut W {
144 self.variant(RXPRSSEL_A::PRSCH3)
145 }
146 #[doc = "PRS Channel 4 selected"]
147 #[inline(always)]
148 pub fn prsch4(self) -> &'a mut W {
149 self.variant(RXPRSSEL_A::PRSCH4)
150 }
151 #[doc = "PRS Channel 5 selected"]
152 #[inline(always)]
153 pub fn prsch5(self) -> &'a mut W {
154 self.variant(RXPRSSEL_A::PRSCH5)
155 }
156 #[doc = "PRS Channel 6 selected"]
157 #[inline(always)]
158 pub fn prsch6(self) -> &'a mut W {
159 self.variant(RXPRSSEL_A::PRSCH6)
160 }
161 #[doc = "PRS Channel 7 selected"]
162 #[inline(always)]
163 pub fn prsch7(self) -> &'a mut W {
164 self.variant(RXPRSSEL_A::PRSCH7)
165 }
166}
167#[doc = "Field `RXPRS` reader - PRS RX Enable"]
168pub type RXPRS_R = crate::BitReader<bool>;
169#[doc = "Field `RXPRS` writer - PRS RX Enable"]
170pub type RXPRS_W<'a> = crate::BitWriter<'a, u32, INPUT_SPEC, bool, 7>;
171#[doc = "CLK PRS Channel Select\n\nValue on reset: 0"]
172#[derive(Clone, Copy, Debug, PartialEq)]
173#[repr(u8)]
174pub enum CLKPRSSEL_A {
175 #[doc = "0: PRS Channel 0 selected"]
176 PRSCH0 = 0,
177 #[doc = "1: PRS Channel 1 selected"]
178 PRSCH1 = 1,
179 #[doc = "2: PRS Channel 2 selected"]
180 PRSCH2 = 2,
181 #[doc = "3: PRS Channel 3 selected"]
182 PRSCH3 = 3,
183 #[doc = "4: PRS Channel 4 selected"]
184 PRSCH4 = 4,
185 #[doc = "5: PRS Channel 5 selected"]
186 PRSCH5 = 5,
187 #[doc = "6: PRS Channel 6 selected"]
188 PRSCH6 = 6,
189 #[doc = "7: PRS Channel 7 selected"]
190 PRSCH7 = 7,
191}
192impl From<CLKPRSSEL_A> for u8 {
193 #[inline(always)]
194 fn from(variant: CLKPRSSEL_A) -> Self {
195 variant as _
196 }
197}
198#[doc = "Field `CLKPRSSEL` reader - CLK PRS Channel Select"]
199pub type CLKPRSSEL_R = crate::FieldReader<u8, CLKPRSSEL_A>;
200impl CLKPRSSEL_R {
201 #[doc = "Get enumerated values variant"]
202 #[inline(always)]
203 pub fn variant(&self) -> CLKPRSSEL_A {
204 match self.bits {
205 0 => CLKPRSSEL_A::PRSCH0,
206 1 => CLKPRSSEL_A::PRSCH1,
207 2 => CLKPRSSEL_A::PRSCH2,
208 3 => CLKPRSSEL_A::PRSCH3,
209 4 => CLKPRSSEL_A::PRSCH4,
210 5 => CLKPRSSEL_A::PRSCH5,
211 6 => CLKPRSSEL_A::PRSCH6,
212 7 => CLKPRSSEL_A::PRSCH7,
213 _ => unreachable!(),
214 }
215 }
216 #[doc = "Checks if the value of the field is `PRSCH0`"]
217 #[inline(always)]
218 pub fn is_prsch0(&self) -> bool {
219 *self == CLKPRSSEL_A::PRSCH0
220 }
221 #[doc = "Checks if the value of the field is `PRSCH1`"]
222 #[inline(always)]
223 pub fn is_prsch1(&self) -> bool {
224 *self == CLKPRSSEL_A::PRSCH1
225 }
226 #[doc = "Checks if the value of the field is `PRSCH2`"]
227 #[inline(always)]
228 pub fn is_prsch2(&self) -> bool {
229 *self == CLKPRSSEL_A::PRSCH2
230 }
231 #[doc = "Checks if the value of the field is `PRSCH3`"]
232 #[inline(always)]
233 pub fn is_prsch3(&self) -> bool {
234 *self == CLKPRSSEL_A::PRSCH3
235 }
236 #[doc = "Checks if the value of the field is `PRSCH4`"]
237 #[inline(always)]
238 pub fn is_prsch4(&self) -> bool {
239 *self == CLKPRSSEL_A::PRSCH4
240 }
241 #[doc = "Checks if the value of the field is `PRSCH5`"]
242 #[inline(always)]
243 pub fn is_prsch5(&self) -> bool {
244 *self == CLKPRSSEL_A::PRSCH5
245 }
246 #[doc = "Checks if the value of the field is `PRSCH6`"]
247 #[inline(always)]
248 pub fn is_prsch6(&self) -> bool {
249 *self == CLKPRSSEL_A::PRSCH6
250 }
251 #[doc = "Checks if the value of the field is `PRSCH7`"]
252 #[inline(always)]
253 pub fn is_prsch7(&self) -> bool {
254 *self == CLKPRSSEL_A::PRSCH7
255 }
256}
257#[doc = "Field `CLKPRSSEL` writer - CLK PRS Channel Select"]
258pub type CLKPRSSEL_W<'a> = crate::FieldWriterSafe<'a, u32, INPUT_SPEC, u8, CLKPRSSEL_A, 3, 8>;
259impl<'a> CLKPRSSEL_W<'a> {
260 #[doc = "PRS Channel 0 selected"]
261 #[inline(always)]
262 pub fn prsch0(self) -> &'a mut W {
263 self.variant(CLKPRSSEL_A::PRSCH0)
264 }
265 #[doc = "PRS Channel 1 selected"]
266 #[inline(always)]
267 pub fn prsch1(self) -> &'a mut W {
268 self.variant(CLKPRSSEL_A::PRSCH1)
269 }
270 #[doc = "PRS Channel 2 selected"]
271 #[inline(always)]
272 pub fn prsch2(self) -> &'a mut W {
273 self.variant(CLKPRSSEL_A::PRSCH2)
274 }
275 #[doc = "PRS Channel 3 selected"]
276 #[inline(always)]
277 pub fn prsch3(self) -> &'a mut W {
278 self.variant(CLKPRSSEL_A::PRSCH3)
279 }
280 #[doc = "PRS Channel 4 selected"]
281 #[inline(always)]
282 pub fn prsch4(self) -> &'a mut W {
283 self.variant(CLKPRSSEL_A::PRSCH4)
284 }
285 #[doc = "PRS Channel 5 selected"]
286 #[inline(always)]
287 pub fn prsch5(self) -> &'a mut W {
288 self.variant(CLKPRSSEL_A::PRSCH5)
289 }
290 #[doc = "PRS Channel 6 selected"]
291 #[inline(always)]
292 pub fn prsch6(self) -> &'a mut W {
293 self.variant(CLKPRSSEL_A::PRSCH6)
294 }
295 #[doc = "PRS Channel 7 selected"]
296 #[inline(always)]
297 pub fn prsch7(self) -> &'a mut W {
298 self.variant(CLKPRSSEL_A::PRSCH7)
299 }
300}
301#[doc = "Field `CLKPRS` reader - PRS CLK Enable"]
302pub type CLKPRS_R = crate::BitReader<bool>;
303#[doc = "Field `CLKPRS` writer - PRS CLK Enable"]
304pub type CLKPRS_W<'a> = crate::BitWriter<'a, u32, INPUT_SPEC, bool, 15>;
305impl R {
306 #[doc = "Bits 0:2 - RX PRS Channel Select"]
307 #[inline(always)]
308 pub fn rxprssel(&self) -> RXPRSSEL_R {
309 RXPRSSEL_R::new((self.bits & 7) as u8)
310 }
311 #[doc = "Bit 7 - PRS RX Enable"]
312 #[inline(always)]
313 pub fn rxprs(&self) -> RXPRS_R {
314 RXPRS_R::new(((self.bits >> 7) & 1) != 0)
315 }
316 #[doc = "Bits 8:10 - CLK PRS Channel Select"]
317 #[inline(always)]
318 pub fn clkprssel(&self) -> CLKPRSSEL_R {
319 CLKPRSSEL_R::new(((self.bits >> 8) & 7) as u8)
320 }
321 #[doc = "Bit 15 - PRS CLK Enable"]
322 #[inline(always)]
323 pub fn clkprs(&self) -> CLKPRS_R {
324 CLKPRS_R::new(((self.bits >> 15) & 1) != 0)
325 }
326}
327impl W {
328 #[doc = "Bits 0:2 - RX PRS Channel Select"]
329 #[inline(always)]
330 pub fn rxprssel(&mut self) -> RXPRSSEL_W {
331 RXPRSSEL_W::new(self)
332 }
333 #[doc = "Bit 7 - PRS RX Enable"]
334 #[inline(always)]
335 pub fn rxprs(&mut self) -> RXPRS_W {
336 RXPRS_W::new(self)
337 }
338 #[doc = "Bits 8:10 - CLK PRS Channel Select"]
339 #[inline(always)]
340 pub fn clkprssel(&mut self) -> CLKPRSSEL_W {
341 CLKPRSSEL_W::new(self)
342 }
343 #[doc = "Bit 15 - PRS CLK Enable"]
344 #[inline(always)]
345 pub fn clkprs(&mut self) -> CLKPRS_W {
346 CLKPRS_W::new(self)
347 }
348 #[doc = "Writes raw bits to the register."]
349 #[inline(always)]
350 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
351 self.0.bits(bits);
352 self
353 }
354}
355#[doc = "USART Input 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 [input](index.html) module"]
356pub struct INPUT_SPEC;
357impl crate::RegisterSpec for INPUT_SPEC {
358 type Ux = u32;
359}
360#[doc = "`read()` method returns [input::R](R) reader structure"]
361impl crate::Readable for INPUT_SPEC {
362 type Reader = R;
363}
364#[doc = "`write(|w| ..)` method takes [input::W](W) writer structure"]
365impl crate::Writable for INPUT_SPEC {
366 type Writer = W;
367}
368#[doc = "`reset()` method sets INPUT to value 0"]
369impl crate::Resettable for INPUT_SPEC {
370 #[inline(always)]
371 fn reset_value() -> Self::Ux {
372 0
373 }
374}