efm32pg1b200_pac/gpio/
extipselh.rs

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}