1#[doc = "Register `EXTIPSELH` reader"]
2pub struct R(crate::R<EXTIPSELH_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<EXTIPSELH_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<EXTIPSELH_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<EXTIPSELH_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `EXTIPSELH` writer"]
17pub struct W(crate::W<EXTIPSELH_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<EXTIPSELH_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<EXTIPSELH_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<EXTIPSELH_SPEC>) -> Self {
34 W(writer)
35 }
36}
37#[doc = "External Interrupt 8 Port Select\n\nValue on reset: 0"]
38#[derive(Clone, Copy, Debug, PartialEq)]
39#[repr(u8)]
40pub enum EXTIPSEL8_A {
41 #[doc = "0: Port A group selected for external interrupt 8"]
42 PORTA = 0,
43 #[doc = "1: Port B group selected for external interrupt 8"]
44 PORTB = 1,
45 #[doc = "2: Port C group selected for external interrupt 8"]
46 PORTC = 2,
47 #[doc = "3: Port D group selected for external interrupt 8"]
48 PORTD = 3,
49 #[doc = "5: Port F group selected for external interrupt 8"]
50 PORTF = 5,
51}
52impl From<EXTIPSEL8_A> for u8 {
53 #[inline(always)]
54 fn from(variant: EXTIPSEL8_A) -> Self {
55 variant as _
56 }
57}
58#[doc = "Field `EXTIPSEL8` reader - External Interrupt 8 Port Select"]
59pub type EXTIPSEL8_R = crate::FieldReader<u8, EXTIPSEL8_A>;
60impl EXTIPSEL8_R {
61 #[doc = "Get enumerated values variant"]
62 #[inline(always)]
63 pub fn variant(&self) -> Option<EXTIPSEL8_A> {
64 match self.bits {
65 0 => Some(EXTIPSEL8_A::PORTA),
66 1 => Some(EXTIPSEL8_A::PORTB),
67 2 => Some(EXTIPSEL8_A::PORTC),
68 3 => Some(EXTIPSEL8_A::PORTD),
69 5 => Some(EXTIPSEL8_A::PORTF),
70 _ => None,
71 }
72 }
73 #[doc = "Checks if the value of the field is `PORTA`"]
74 #[inline(always)]
75 pub fn is_porta(&self) -> bool {
76 *self == EXTIPSEL8_A::PORTA
77 }
78 #[doc = "Checks if the value of the field is `PORTB`"]
79 #[inline(always)]
80 pub fn is_portb(&self) -> bool {
81 *self == EXTIPSEL8_A::PORTB
82 }
83 #[doc = "Checks if the value of the field is `PORTC`"]
84 #[inline(always)]
85 pub fn is_portc(&self) -> bool {
86 *self == EXTIPSEL8_A::PORTC
87 }
88 #[doc = "Checks if the value of the field is `PORTD`"]
89 #[inline(always)]
90 pub fn is_portd(&self) -> bool {
91 *self == EXTIPSEL8_A::PORTD
92 }
93 #[doc = "Checks if the value of the field is `PORTF`"]
94 #[inline(always)]
95 pub fn is_portf(&self) -> bool {
96 *self == EXTIPSEL8_A::PORTF
97 }
98}
99#[doc = "Field `EXTIPSEL8` writer - External Interrupt 8 Port Select"]
100pub type EXTIPSEL8_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL8_A, 4, 0>;
101impl<'a> EXTIPSEL8_W<'a> {
102 #[doc = "Port A group selected for external interrupt 8"]
103 #[inline(always)]
104 pub fn porta(self) -> &'a mut W {
105 self.variant(EXTIPSEL8_A::PORTA)
106 }
107 #[doc = "Port B group selected for external interrupt 8"]
108 #[inline(always)]
109 pub fn portb(self) -> &'a mut W {
110 self.variant(EXTIPSEL8_A::PORTB)
111 }
112 #[doc = "Port C group selected for external interrupt 8"]
113 #[inline(always)]
114 pub fn portc(self) -> &'a mut W {
115 self.variant(EXTIPSEL8_A::PORTC)
116 }
117 #[doc = "Port D group selected for external interrupt 8"]
118 #[inline(always)]
119 pub fn portd(self) -> &'a mut W {
120 self.variant(EXTIPSEL8_A::PORTD)
121 }
122 #[doc = "Port F group selected for external interrupt 8"]
123 #[inline(always)]
124 pub fn portf(self) -> &'a mut W {
125 self.variant(EXTIPSEL8_A::PORTF)
126 }
127}
128#[doc = "External Interrupt 9 Port Select\n\nValue on reset: 0"]
129#[derive(Clone, Copy, Debug, PartialEq)]
130#[repr(u8)]
131pub enum EXTIPSEL9_A {
132 #[doc = "0: Port A group selected for external interrupt 9"]
133 PORTA = 0,
134 #[doc = "1: Port B group selected for external interrupt 9"]
135 PORTB = 1,
136 #[doc = "2: Port C group selected for external interrupt 9"]
137 PORTC = 2,
138 #[doc = "3: Port D group selected for external interrupt 9"]
139 PORTD = 3,
140 #[doc = "5: Port F group selected for external interrupt 9"]
141 PORTF = 5,
142}
143impl From<EXTIPSEL9_A> for u8 {
144 #[inline(always)]
145 fn from(variant: EXTIPSEL9_A) -> Self {
146 variant as _
147 }
148}
149#[doc = "Field `EXTIPSEL9` reader - External Interrupt 9 Port Select"]
150pub type EXTIPSEL9_R = crate::FieldReader<u8, EXTIPSEL9_A>;
151impl EXTIPSEL9_R {
152 #[doc = "Get enumerated values variant"]
153 #[inline(always)]
154 pub fn variant(&self) -> Option<EXTIPSEL9_A> {
155 match self.bits {
156 0 => Some(EXTIPSEL9_A::PORTA),
157 1 => Some(EXTIPSEL9_A::PORTB),
158 2 => Some(EXTIPSEL9_A::PORTC),
159 3 => Some(EXTIPSEL9_A::PORTD),
160 5 => Some(EXTIPSEL9_A::PORTF),
161 _ => None,
162 }
163 }
164 #[doc = "Checks if the value of the field is `PORTA`"]
165 #[inline(always)]
166 pub fn is_porta(&self) -> bool {
167 *self == EXTIPSEL9_A::PORTA
168 }
169 #[doc = "Checks if the value of the field is `PORTB`"]
170 #[inline(always)]
171 pub fn is_portb(&self) -> bool {
172 *self == EXTIPSEL9_A::PORTB
173 }
174 #[doc = "Checks if the value of the field is `PORTC`"]
175 #[inline(always)]
176 pub fn is_portc(&self) -> bool {
177 *self == EXTIPSEL9_A::PORTC
178 }
179 #[doc = "Checks if the value of the field is `PORTD`"]
180 #[inline(always)]
181 pub fn is_portd(&self) -> bool {
182 *self == EXTIPSEL9_A::PORTD
183 }
184 #[doc = "Checks if the value of the field is `PORTF`"]
185 #[inline(always)]
186 pub fn is_portf(&self) -> bool {
187 *self == EXTIPSEL9_A::PORTF
188 }
189}
190#[doc = "Field `EXTIPSEL9` writer - External Interrupt 9 Port Select"]
191pub type EXTIPSEL9_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL9_A, 4, 4>;
192impl<'a> EXTIPSEL9_W<'a> {
193 #[doc = "Port A group selected for external interrupt 9"]
194 #[inline(always)]
195 pub fn porta(self) -> &'a mut W {
196 self.variant(EXTIPSEL9_A::PORTA)
197 }
198 #[doc = "Port B group selected for external interrupt 9"]
199 #[inline(always)]
200 pub fn portb(self) -> &'a mut W {
201 self.variant(EXTIPSEL9_A::PORTB)
202 }
203 #[doc = "Port C group selected for external interrupt 9"]
204 #[inline(always)]
205 pub fn portc(self) -> &'a mut W {
206 self.variant(EXTIPSEL9_A::PORTC)
207 }
208 #[doc = "Port D group selected for external interrupt 9"]
209 #[inline(always)]
210 pub fn portd(self) -> &'a mut W {
211 self.variant(EXTIPSEL9_A::PORTD)
212 }
213 #[doc = "Port F group selected for external interrupt 9"]
214 #[inline(always)]
215 pub fn portf(self) -> &'a mut W {
216 self.variant(EXTIPSEL9_A::PORTF)
217 }
218}
219#[doc = "External Interrupt 10 Port Select\n\nValue on reset: 0"]
220#[derive(Clone, Copy, Debug, PartialEq)]
221#[repr(u8)]
222pub enum EXTIPSEL10_A {
223 #[doc = "0: Port A group selected for external interrupt 10"]
224 PORTA = 0,
225 #[doc = "1: Port B group selected for external interrupt 10"]
226 PORTB = 1,
227 #[doc = "2: Port C group selected for external interrupt 10"]
228 PORTC = 2,
229 #[doc = "3: Port D group selected for external interrupt 10"]
230 PORTD = 3,
231 #[doc = "5: Port F group selected for external interrupt 10"]
232 PORTF = 5,
233}
234impl From<EXTIPSEL10_A> for u8 {
235 #[inline(always)]
236 fn from(variant: EXTIPSEL10_A) -> Self {
237 variant as _
238 }
239}
240#[doc = "Field `EXTIPSEL10` reader - External Interrupt 10 Port Select"]
241pub type EXTIPSEL10_R = crate::FieldReader<u8, EXTIPSEL10_A>;
242impl EXTIPSEL10_R {
243 #[doc = "Get enumerated values variant"]
244 #[inline(always)]
245 pub fn variant(&self) -> Option<EXTIPSEL10_A> {
246 match self.bits {
247 0 => Some(EXTIPSEL10_A::PORTA),
248 1 => Some(EXTIPSEL10_A::PORTB),
249 2 => Some(EXTIPSEL10_A::PORTC),
250 3 => Some(EXTIPSEL10_A::PORTD),
251 5 => Some(EXTIPSEL10_A::PORTF),
252 _ => None,
253 }
254 }
255 #[doc = "Checks if the value of the field is `PORTA`"]
256 #[inline(always)]
257 pub fn is_porta(&self) -> bool {
258 *self == EXTIPSEL10_A::PORTA
259 }
260 #[doc = "Checks if the value of the field is `PORTB`"]
261 #[inline(always)]
262 pub fn is_portb(&self) -> bool {
263 *self == EXTIPSEL10_A::PORTB
264 }
265 #[doc = "Checks if the value of the field is `PORTC`"]
266 #[inline(always)]
267 pub fn is_portc(&self) -> bool {
268 *self == EXTIPSEL10_A::PORTC
269 }
270 #[doc = "Checks if the value of the field is `PORTD`"]
271 #[inline(always)]
272 pub fn is_portd(&self) -> bool {
273 *self == EXTIPSEL10_A::PORTD
274 }
275 #[doc = "Checks if the value of the field is `PORTF`"]
276 #[inline(always)]
277 pub fn is_portf(&self) -> bool {
278 *self == EXTIPSEL10_A::PORTF
279 }
280}
281#[doc = "Field `EXTIPSEL10` writer - External Interrupt 10 Port Select"]
282pub type EXTIPSEL10_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL10_A, 4, 8>;
283impl<'a> EXTIPSEL10_W<'a> {
284 #[doc = "Port A group selected for external interrupt 10"]
285 #[inline(always)]
286 pub fn porta(self) -> &'a mut W {
287 self.variant(EXTIPSEL10_A::PORTA)
288 }
289 #[doc = "Port B group selected for external interrupt 10"]
290 #[inline(always)]
291 pub fn portb(self) -> &'a mut W {
292 self.variant(EXTIPSEL10_A::PORTB)
293 }
294 #[doc = "Port C group selected for external interrupt 10"]
295 #[inline(always)]
296 pub fn portc(self) -> &'a mut W {
297 self.variant(EXTIPSEL10_A::PORTC)
298 }
299 #[doc = "Port D group selected for external interrupt 10"]
300 #[inline(always)]
301 pub fn portd(self) -> &'a mut W {
302 self.variant(EXTIPSEL10_A::PORTD)
303 }
304 #[doc = "Port F group selected for external interrupt 10"]
305 #[inline(always)]
306 pub fn portf(self) -> &'a mut W {
307 self.variant(EXTIPSEL10_A::PORTF)
308 }
309}
310#[doc = "External Interrupt 11 Port Select\n\nValue on reset: 0"]
311#[derive(Clone, Copy, Debug, PartialEq)]
312#[repr(u8)]
313pub enum EXTIPSEL11_A {
314 #[doc = "0: Port A group selected for external interrupt 11"]
315 PORTA = 0,
316 #[doc = "1: Port B group selected for external interrupt 11"]
317 PORTB = 1,
318 #[doc = "2: Port C group selected for external interrupt 11"]
319 PORTC = 2,
320 #[doc = "3: Port D group selected for external interrupt 11"]
321 PORTD = 3,
322 #[doc = "5: Port F group selected for external interrupt 11"]
323 PORTF = 5,
324}
325impl From<EXTIPSEL11_A> for u8 {
326 #[inline(always)]
327 fn from(variant: EXTIPSEL11_A) -> Self {
328 variant as _
329 }
330}
331#[doc = "Field `EXTIPSEL11` reader - External Interrupt 11 Port Select"]
332pub type EXTIPSEL11_R = crate::FieldReader<u8, EXTIPSEL11_A>;
333impl EXTIPSEL11_R {
334 #[doc = "Get enumerated values variant"]
335 #[inline(always)]
336 pub fn variant(&self) -> Option<EXTIPSEL11_A> {
337 match self.bits {
338 0 => Some(EXTIPSEL11_A::PORTA),
339 1 => Some(EXTIPSEL11_A::PORTB),
340 2 => Some(EXTIPSEL11_A::PORTC),
341 3 => Some(EXTIPSEL11_A::PORTD),
342 5 => Some(EXTIPSEL11_A::PORTF),
343 _ => None,
344 }
345 }
346 #[doc = "Checks if the value of the field is `PORTA`"]
347 #[inline(always)]
348 pub fn is_porta(&self) -> bool {
349 *self == EXTIPSEL11_A::PORTA
350 }
351 #[doc = "Checks if the value of the field is `PORTB`"]
352 #[inline(always)]
353 pub fn is_portb(&self) -> bool {
354 *self == EXTIPSEL11_A::PORTB
355 }
356 #[doc = "Checks if the value of the field is `PORTC`"]
357 #[inline(always)]
358 pub fn is_portc(&self) -> bool {
359 *self == EXTIPSEL11_A::PORTC
360 }
361 #[doc = "Checks if the value of the field is `PORTD`"]
362 #[inline(always)]
363 pub fn is_portd(&self) -> bool {
364 *self == EXTIPSEL11_A::PORTD
365 }
366 #[doc = "Checks if the value of the field is `PORTF`"]
367 #[inline(always)]
368 pub fn is_portf(&self) -> bool {
369 *self == EXTIPSEL11_A::PORTF
370 }
371}
372#[doc = "Field `EXTIPSEL11` writer - External Interrupt 11 Port Select"]
373pub type EXTIPSEL11_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL11_A, 4, 12>;
374impl<'a> EXTIPSEL11_W<'a> {
375 #[doc = "Port A group selected for external interrupt 11"]
376 #[inline(always)]
377 pub fn porta(self) -> &'a mut W {
378 self.variant(EXTIPSEL11_A::PORTA)
379 }
380 #[doc = "Port B group selected for external interrupt 11"]
381 #[inline(always)]
382 pub fn portb(self) -> &'a mut W {
383 self.variant(EXTIPSEL11_A::PORTB)
384 }
385 #[doc = "Port C group selected for external interrupt 11"]
386 #[inline(always)]
387 pub fn portc(self) -> &'a mut W {
388 self.variant(EXTIPSEL11_A::PORTC)
389 }
390 #[doc = "Port D group selected for external interrupt 11"]
391 #[inline(always)]
392 pub fn portd(self) -> &'a mut W {
393 self.variant(EXTIPSEL11_A::PORTD)
394 }
395 #[doc = "Port F group selected for external interrupt 11"]
396 #[inline(always)]
397 pub fn portf(self) -> &'a mut W {
398 self.variant(EXTIPSEL11_A::PORTF)
399 }
400}
401#[doc = "External Interrupt 12 Port Select\n\nValue on reset: 0"]
402#[derive(Clone, Copy, Debug, PartialEq)]
403#[repr(u8)]
404pub enum EXTIPSEL12_A {
405 #[doc = "0: Port A group selected for external interrupt 12"]
406 PORTA = 0,
407 #[doc = "1: Port B group selected for external interrupt 12"]
408 PORTB = 1,
409 #[doc = "2: Port C group selected for external interrupt 12"]
410 PORTC = 2,
411 #[doc = "3: Port D group selected for external interrupt 12"]
412 PORTD = 3,
413 #[doc = "5: Port F group selected for external interrupt 12"]
414 PORTF = 5,
415}
416impl From<EXTIPSEL12_A> for u8 {
417 #[inline(always)]
418 fn from(variant: EXTIPSEL12_A) -> Self {
419 variant as _
420 }
421}
422#[doc = "Field `EXTIPSEL12` reader - External Interrupt 12 Port Select"]
423pub type EXTIPSEL12_R = crate::FieldReader<u8, EXTIPSEL12_A>;
424impl EXTIPSEL12_R {
425 #[doc = "Get enumerated values variant"]
426 #[inline(always)]
427 pub fn variant(&self) -> Option<EXTIPSEL12_A> {
428 match self.bits {
429 0 => Some(EXTIPSEL12_A::PORTA),
430 1 => Some(EXTIPSEL12_A::PORTB),
431 2 => Some(EXTIPSEL12_A::PORTC),
432 3 => Some(EXTIPSEL12_A::PORTD),
433 5 => Some(EXTIPSEL12_A::PORTF),
434 _ => None,
435 }
436 }
437 #[doc = "Checks if the value of the field is `PORTA`"]
438 #[inline(always)]
439 pub fn is_porta(&self) -> bool {
440 *self == EXTIPSEL12_A::PORTA
441 }
442 #[doc = "Checks if the value of the field is `PORTB`"]
443 #[inline(always)]
444 pub fn is_portb(&self) -> bool {
445 *self == EXTIPSEL12_A::PORTB
446 }
447 #[doc = "Checks if the value of the field is `PORTC`"]
448 #[inline(always)]
449 pub fn is_portc(&self) -> bool {
450 *self == EXTIPSEL12_A::PORTC
451 }
452 #[doc = "Checks if the value of the field is `PORTD`"]
453 #[inline(always)]
454 pub fn is_portd(&self) -> bool {
455 *self == EXTIPSEL12_A::PORTD
456 }
457 #[doc = "Checks if the value of the field is `PORTF`"]
458 #[inline(always)]
459 pub fn is_portf(&self) -> bool {
460 *self == EXTIPSEL12_A::PORTF
461 }
462}
463#[doc = "Field `EXTIPSEL12` writer - External Interrupt 12 Port Select"]
464pub type EXTIPSEL12_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL12_A, 4, 16>;
465impl<'a> EXTIPSEL12_W<'a> {
466 #[doc = "Port A group selected for external interrupt 12"]
467 #[inline(always)]
468 pub fn porta(self) -> &'a mut W {
469 self.variant(EXTIPSEL12_A::PORTA)
470 }
471 #[doc = "Port B group selected for external interrupt 12"]
472 #[inline(always)]
473 pub fn portb(self) -> &'a mut W {
474 self.variant(EXTIPSEL12_A::PORTB)
475 }
476 #[doc = "Port C group selected for external interrupt 12"]
477 #[inline(always)]
478 pub fn portc(self) -> &'a mut W {
479 self.variant(EXTIPSEL12_A::PORTC)
480 }
481 #[doc = "Port D group selected for external interrupt 12"]
482 #[inline(always)]
483 pub fn portd(self) -> &'a mut W {
484 self.variant(EXTIPSEL12_A::PORTD)
485 }
486 #[doc = "Port F group selected for external interrupt 12"]
487 #[inline(always)]
488 pub fn portf(self) -> &'a mut W {
489 self.variant(EXTIPSEL12_A::PORTF)
490 }
491}
492#[doc = "External Interrupt 13 Port Select\n\nValue on reset: 0"]
493#[derive(Clone, Copy, Debug, PartialEq)]
494#[repr(u8)]
495pub enum EXTIPSEL13_A {
496 #[doc = "0: Port A group selected for external interrupt 13"]
497 PORTA = 0,
498 #[doc = "1: Port B group selected for external interrupt 13"]
499 PORTB = 1,
500 #[doc = "2: Port C group selected for external interrupt 13"]
501 PORTC = 2,
502 #[doc = "3: Port D group selected for external interrupt 13"]
503 PORTD = 3,
504 #[doc = "5: Port F group selected for external interrupt 13"]
505 PORTF = 5,
506}
507impl From<EXTIPSEL13_A> for u8 {
508 #[inline(always)]
509 fn from(variant: EXTIPSEL13_A) -> Self {
510 variant as _
511 }
512}
513#[doc = "Field `EXTIPSEL13` reader - External Interrupt 13 Port Select"]
514pub type EXTIPSEL13_R = crate::FieldReader<u8, EXTIPSEL13_A>;
515impl EXTIPSEL13_R {
516 #[doc = "Get enumerated values variant"]
517 #[inline(always)]
518 pub fn variant(&self) -> Option<EXTIPSEL13_A> {
519 match self.bits {
520 0 => Some(EXTIPSEL13_A::PORTA),
521 1 => Some(EXTIPSEL13_A::PORTB),
522 2 => Some(EXTIPSEL13_A::PORTC),
523 3 => Some(EXTIPSEL13_A::PORTD),
524 5 => Some(EXTIPSEL13_A::PORTF),
525 _ => None,
526 }
527 }
528 #[doc = "Checks if the value of the field is `PORTA`"]
529 #[inline(always)]
530 pub fn is_porta(&self) -> bool {
531 *self == EXTIPSEL13_A::PORTA
532 }
533 #[doc = "Checks if the value of the field is `PORTB`"]
534 #[inline(always)]
535 pub fn is_portb(&self) -> bool {
536 *self == EXTIPSEL13_A::PORTB
537 }
538 #[doc = "Checks if the value of the field is `PORTC`"]
539 #[inline(always)]
540 pub fn is_portc(&self) -> bool {
541 *self == EXTIPSEL13_A::PORTC
542 }
543 #[doc = "Checks if the value of the field is `PORTD`"]
544 #[inline(always)]
545 pub fn is_portd(&self) -> bool {
546 *self == EXTIPSEL13_A::PORTD
547 }
548 #[doc = "Checks if the value of the field is `PORTF`"]
549 #[inline(always)]
550 pub fn is_portf(&self) -> bool {
551 *self == EXTIPSEL13_A::PORTF
552 }
553}
554#[doc = "Field `EXTIPSEL13` writer - External Interrupt 13 Port Select"]
555pub type EXTIPSEL13_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL13_A, 4, 20>;
556impl<'a> EXTIPSEL13_W<'a> {
557 #[doc = "Port A group selected for external interrupt 13"]
558 #[inline(always)]
559 pub fn porta(self) -> &'a mut W {
560 self.variant(EXTIPSEL13_A::PORTA)
561 }
562 #[doc = "Port B group selected for external interrupt 13"]
563 #[inline(always)]
564 pub fn portb(self) -> &'a mut W {
565 self.variant(EXTIPSEL13_A::PORTB)
566 }
567 #[doc = "Port C group selected for external interrupt 13"]
568 #[inline(always)]
569 pub fn portc(self) -> &'a mut W {
570 self.variant(EXTIPSEL13_A::PORTC)
571 }
572 #[doc = "Port D group selected for external interrupt 13"]
573 #[inline(always)]
574 pub fn portd(self) -> &'a mut W {
575 self.variant(EXTIPSEL13_A::PORTD)
576 }
577 #[doc = "Port F group selected for external interrupt 13"]
578 #[inline(always)]
579 pub fn portf(self) -> &'a mut W {
580 self.variant(EXTIPSEL13_A::PORTF)
581 }
582}
583#[doc = "External Interrupt 14 Port Select\n\nValue on reset: 0"]
584#[derive(Clone, Copy, Debug, PartialEq)]
585#[repr(u8)]
586pub enum EXTIPSEL14_A {
587 #[doc = "0: Port A group selected for external interrupt 14"]
588 PORTA = 0,
589 #[doc = "1: Port B group selected for external interrupt 14"]
590 PORTB = 1,
591 #[doc = "2: Port C group selected for external interrupt 14"]
592 PORTC = 2,
593 #[doc = "3: Port D group selected for external interrupt 14"]
594 PORTD = 3,
595 #[doc = "5: Port F group selected for external interrupt 14"]
596 PORTF = 5,
597}
598impl From<EXTIPSEL14_A> for u8 {
599 #[inline(always)]
600 fn from(variant: EXTIPSEL14_A) -> Self {
601 variant as _
602 }
603}
604#[doc = "Field `EXTIPSEL14` reader - External Interrupt 14 Port Select"]
605pub type EXTIPSEL14_R = crate::FieldReader<u8, EXTIPSEL14_A>;
606impl EXTIPSEL14_R {
607 #[doc = "Get enumerated values variant"]
608 #[inline(always)]
609 pub fn variant(&self) -> Option<EXTIPSEL14_A> {
610 match self.bits {
611 0 => Some(EXTIPSEL14_A::PORTA),
612 1 => Some(EXTIPSEL14_A::PORTB),
613 2 => Some(EXTIPSEL14_A::PORTC),
614 3 => Some(EXTIPSEL14_A::PORTD),
615 5 => Some(EXTIPSEL14_A::PORTF),
616 _ => None,
617 }
618 }
619 #[doc = "Checks if the value of the field is `PORTA`"]
620 #[inline(always)]
621 pub fn is_porta(&self) -> bool {
622 *self == EXTIPSEL14_A::PORTA
623 }
624 #[doc = "Checks if the value of the field is `PORTB`"]
625 #[inline(always)]
626 pub fn is_portb(&self) -> bool {
627 *self == EXTIPSEL14_A::PORTB
628 }
629 #[doc = "Checks if the value of the field is `PORTC`"]
630 #[inline(always)]
631 pub fn is_portc(&self) -> bool {
632 *self == EXTIPSEL14_A::PORTC
633 }
634 #[doc = "Checks if the value of the field is `PORTD`"]
635 #[inline(always)]
636 pub fn is_portd(&self) -> bool {
637 *self == EXTIPSEL14_A::PORTD
638 }
639 #[doc = "Checks if the value of the field is `PORTF`"]
640 #[inline(always)]
641 pub fn is_portf(&self) -> bool {
642 *self == EXTIPSEL14_A::PORTF
643 }
644}
645#[doc = "Field `EXTIPSEL14` writer - External Interrupt 14 Port Select"]
646pub type EXTIPSEL14_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL14_A, 4, 24>;
647impl<'a> EXTIPSEL14_W<'a> {
648 #[doc = "Port A group selected for external interrupt 14"]
649 #[inline(always)]
650 pub fn porta(self) -> &'a mut W {
651 self.variant(EXTIPSEL14_A::PORTA)
652 }
653 #[doc = "Port B group selected for external interrupt 14"]
654 #[inline(always)]
655 pub fn portb(self) -> &'a mut W {
656 self.variant(EXTIPSEL14_A::PORTB)
657 }
658 #[doc = "Port C group selected for external interrupt 14"]
659 #[inline(always)]
660 pub fn portc(self) -> &'a mut W {
661 self.variant(EXTIPSEL14_A::PORTC)
662 }
663 #[doc = "Port D group selected for external interrupt 14"]
664 #[inline(always)]
665 pub fn portd(self) -> &'a mut W {
666 self.variant(EXTIPSEL14_A::PORTD)
667 }
668 #[doc = "Port F group selected for external interrupt 14"]
669 #[inline(always)]
670 pub fn portf(self) -> &'a mut W {
671 self.variant(EXTIPSEL14_A::PORTF)
672 }
673}
674#[doc = "External Interrupt 15 Port Select\n\nValue on reset: 0"]
675#[derive(Clone, Copy, Debug, PartialEq)]
676#[repr(u8)]
677pub enum EXTIPSEL15_A {
678 #[doc = "0: Port A group selected for external interrupt 15"]
679 PORTA = 0,
680 #[doc = "1: Port B group selected for external interrupt 15"]
681 PORTB = 1,
682 #[doc = "2: Port C group selected for external interrupt 15"]
683 PORTC = 2,
684 #[doc = "3: Port D group selected for external interrupt 15"]
685 PORTD = 3,
686 #[doc = "5: Port F group selected for external interrupt 15"]
687 PORTF = 5,
688}
689impl From<EXTIPSEL15_A> for u8 {
690 #[inline(always)]
691 fn from(variant: EXTIPSEL15_A) -> Self {
692 variant as _
693 }
694}
695#[doc = "Field `EXTIPSEL15` reader - External Interrupt 15 Port Select"]
696pub type EXTIPSEL15_R = crate::FieldReader<u8, EXTIPSEL15_A>;
697impl EXTIPSEL15_R {
698 #[doc = "Get enumerated values variant"]
699 #[inline(always)]
700 pub fn variant(&self) -> Option<EXTIPSEL15_A> {
701 match self.bits {
702 0 => Some(EXTIPSEL15_A::PORTA),
703 1 => Some(EXTIPSEL15_A::PORTB),
704 2 => Some(EXTIPSEL15_A::PORTC),
705 3 => Some(EXTIPSEL15_A::PORTD),
706 5 => Some(EXTIPSEL15_A::PORTF),
707 _ => None,
708 }
709 }
710 #[doc = "Checks if the value of the field is `PORTA`"]
711 #[inline(always)]
712 pub fn is_porta(&self) -> bool {
713 *self == EXTIPSEL15_A::PORTA
714 }
715 #[doc = "Checks if the value of the field is `PORTB`"]
716 #[inline(always)]
717 pub fn is_portb(&self) -> bool {
718 *self == EXTIPSEL15_A::PORTB
719 }
720 #[doc = "Checks if the value of the field is `PORTC`"]
721 #[inline(always)]
722 pub fn is_portc(&self) -> bool {
723 *self == EXTIPSEL15_A::PORTC
724 }
725 #[doc = "Checks if the value of the field is `PORTD`"]
726 #[inline(always)]
727 pub fn is_portd(&self) -> bool {
728 *self == EXTIPSEL15_A::PORTD
729 }
730 #[doc = "Checks if the value of the field is `PORTF`"]
731 #[inline(always)]
732 pub fn is_portf(&self) -> bool {
733 *self == EXTIPSEL15_A::PORTF
734 }
735}
736#[doc = "Field `EXTIPSEL15` writer - External Interrupt 15 Port Select"]
737pub type EXTIPSEL15_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL15_A, 4, 28>;
738impl<'a> EXTIPSEL15_W<'a> {
739 #[doc = "Port A group selected for external interrupt 15"]
740 #[inline(always)]
741 pub fn porta(self) -> &'a mut W {
742 self.variant(EXTIPSEL15_A::PORTA)
743 }
744 #[doc = "Port B group selected for external interrupt 15"]
745 #[inline(always)]
746 pub fn portb(self) -> &'a mut W {
747 self.variant(EXTIPSEL15_A::PORTB)
748 }
749 #[doc = "Port C group selected for external interrupt 15"]
750 #[inline(always)]
751 pub fn portc(self) -> &'a mut W {
752 self.variant(EXTIPSEL15_A::PORTC)
753 }
754 #[doc = "Port D group selected for external interrupt 15"]
755 #[inline(always)]
756 pub fn portd(self) -> &'a mut W {
757 self.variant(EXTIPSEL15_A::PORTD)
758 }
759 #[doc = "Port F group selected for external interrupt 15"]
760 #[inline(always)]
761 pub fn portf(self) -> &'a mut W {
762 self.variant(EXTIPSEL15_A::PORTF)
763 }
764}
765impl R {
766 #[doc = "Bits 0:3 - External Interrupt 8 Port Select"]
767 #[inline(always)]
768 pub fn extipsel8(&self) -> EXTIPSEL8_R {
769 EXTIPSEL8_R::new((self.bits & 0x0f) as u8)
770 }
771 #[doc = "Bits 4:7 - External Interrupt 9 Port Select"]
772 #[inline(always)]
773 pub fn extipsel9(&self) -> EXTIPSEL9_R {
774 EXTIPSEL9_R::new(((self.bits >> 4) & 0x0f) as u8)
775 }
776 #[doc = "Bits 8:11 - External Interrupt 10 Port Select"]
777 #[inline(always)]
778 pub fn extipsel10(&self) -> EXTIPSEL10_R {
779 EXTIPSEL10_R::new(((self.bits >> 8) & 0x0f) as u8)
780 }
781 #[doc = "Bits 12:15 - External Interrupt 11 Port Select"]
782 #[inline(always)]
783 pub fn extipsel11(&self) -> EXTIPSEL11_R {
784 EXTIPSEL11_R::new(((self.bits >> 12) & 0x0f) as u8)
785 }
786 #[doc = "Bits 16:19 - External Interrupt 12 Port Select"]
787 #[inline(always)]
788 pub fn extipsel12(&self) -> EXTIPSEL12_R {
789 EXTIPSEL12_R::new(((self.bits >> 16) & 0x0f) as u8)
790 }
791 #[doc = "Bits 20:23 - External Interrupt 13 Port Select"]
792 #[inline(always)]
793 pub fn extipsel13(&self) -> EXTIPSEL13_R {
794 EXTIPSEL13_R::new(((self.bits >> 20) & 0x0f) as u8)
795 }
796 #[doc = "Bits 24:27 - External Interrupt 14 Port Select"]
797 #[inline(always)]
798 pub fn extipsel14(&self) -> EXTIPSEL14_R {
799 EXTIPSEL14_R::new(((self.bits >> 24) & 0x0f) as u8)
800 }
801 #[doc = "Bits 28:31 - External Interrupt 15 Port Select"]
802 #[inline(always)]
803 pub fn extipsel15(&self) -> EXTIPSEL15_R {
804 EXTIPSEL15_R::new(((self.bits >> 28) & 0x0f) as u8)
805 }
806}
807impl W {
808 #[doc = "Bits 0:3 - External Interrupt 8 Port Select"]
809 #[inline(always)]
810 pub fn extipsel8(&mut self) -> EXTIPSEL8_W {
811 EXTIPSEL8_W::new(self)
812 }
813 #[doc = "Bits 4:7 - External Interrupt 9 Port Select"]
814 #[inline(always)]
815 pub fn extipsel9(&mut self) -> EXTIPSEL9_W {
816 EXTIPSEL9_W::new(self)
817 }
818 #[doc = "Bits 8:11 - External Interrupt 10 Port Select"]
819 #[inline(always)]
820 pub fn extipsel10(&mut self) -> EXTIPSEL10_W {
821 EXTIPSEL10_W::new(self)
822 }
823 #[doc = "Bits 12:15 - External Interrupt 11 Port Select"]
824 #[inline(always)]
825 pub fn extipsel11(&mut self) -> EXTIPSEL11_W {
826 EXTIPSEL11_W::new(self)
827 }
828 #[doc = "Bits 16:19 - External Interrupt 12 Port Select"]
829 #[inline(always)]
830 pub fn extipsel12(&mut self) -> EXTIPSEL12_W {
831 EXTIPSEL12_W::new(self)
832 }
833 #[doc = "Bits 20:23 - External Interrupt 13 Port Select"]
834 #[inline(always)]
835 pub fn extipsel13(&mut self) -> EXTIPSEL13_W {
836 EXTIPSEL13_W::new(self)
837 }
838 #[doc = "Bits 24:27 - External Interrupt 14 Port Select"]
839 #[inline(always)]
840 pub fn extipsel14(&mut self) -> EXTIPSEL14_W {
841 EXTIPSEL14_W::new(self)
842 }
843 #[doc = "Bits 28:31 - External Interrupt 15 Port Select"]
844 #[inline(always)]
845 pub fn extipsel15(&mut self) -> EXTIPSEL15_W {
846 EXTIPSEL15_W::new(self)
847 }
848 #[doc = "Writes raw bits to the register."]
849 #[inline(always)]
850 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
851 self.0.bits(bits);
852 self
853 }
854}
855#[doc = "External Interrupt Port Select High 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 [extipselh](index.html) module"]
856pub struct EXTIPSELH_SPEC;
857impl crate::RegisterSpec for EXTIPSELH_SPEC {
858 type Ux = u32;
859}
860#[doc = "`read()` method returns [extipselh::R](R) reader structure"]
861impl crate::Readable for EXTIPSELH_SPEC {
862 type Reader = R;
863}
864#[doc = "`write(|w| ..)` method takes [extipselh::W](W) writer structure"]
865impl crate::Writable for EXTIPSELH_SPEC {
866 type Writer = W;
867}
868#[doc = "`reset()` method sets EXTIPSELH to value 0"]
869impl crate::Resettable for EXTIPSELH_SPEC {
870 #[inline(always)]
871 fn reset_value() -> Self::Ux {
872 0
873 }
874}