efm32gg11b510_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 = "4: Port E group selected for external interrupt 8"]
50    PORTE = 4,
51    #[doc = "5: Port F group selected for external interrupt 8"]
52    PORTF = 5,
53    #[doc = "6: Port G group selected for external interrupt 8"]
54    PORTG = 6,
55    #[doc = "7: Port H group selected for external interrupt 8"]
56    PORTH = 7,
57    #[doc = "8: Port I group selected for external interrupt 8"]
58    PORTI = 8,
59}
60impl From<EXTIPSEL8_A> for u8 {
61    #[inline(always)]
62    fn from(variant: EXTIPSEL8_A) -> Self {
63        variant as _
64    }
65}
66#[doc = "Field `EXTIPSEL8` reader - External Interrupt 8 Port Select"]
67pub type EXTIPSEL8_R = crate::FieldReader<u8, EXTIPSEL8_A>;
68impl EXTIPSEL8_R {
69    #[doc = "Get enumerated values variant"]
70    #[inline(always)]
71    pub fn variant(&self) -> Option<EXTIPSEL8_A> {
72        match self.bits {
73            0 => Some(EXTIPSEL8_A::PORTA),
74            1 => Some(EXTIPSEL8_A::PORTB),
75            2 => Some(EXTIPSEL8_A::PORTC),
76            3 => Some(EXTIPSEL8_A::PORTD),
77            4 => Some(EXTIPSEL8_A::PORTE),
78            5 => Some(EXTIPSEL8_A::PORTF),
79            6 => Some(EXTIPSEL8_A::PORTG),
80            7 => Some(EXTIPSEL8_A::PORTH),
81            8 => Some(EXTIPSEL8_A::PORTI),
82            _ => None,
83        }
84    }
85    #[doc = "Checks if the value of the field is `PORTA`"]
86    #[inline(always)]
87    pub fn is_porta(&self) -> bool {
88        *self == EXTIPSEL8_A::PORTA
89    }
90    #[doc = "Checks if the value of the field is `PORTB`"]
91    #[inline(always)]
92    pub fn is_portb(&self) -> bool {
93        *self == EXTIPSEL8_A::PORTB
94    }
95    #[doc = "Checks if the value of the field is `PORTC`"]
96    #[inline(always)]
97    pub fn is_portc(&self) -> bool {
98        *self == EXTIPSEL8_A::PORTC
99    }
100    #[doc = "Checks if the value of the field is `PORTD`"]
101    #[inline(always)]
102    pub fn is_portd(&self) -> bool {
103        *self == EXTIPSEL8_A::PORTD
104    }
105    #[doc = "Checks if the value of the field is `PORTE`"]
106    #[inline(always)]
107    pub fn is_porte(&self) -> bool {
108        *self == EXTIPSEL8_A::PORTE
109    }
110    #[doc = "Checks if the value of the field is `PORTF`"]
111    #[inline(always)]
112    pub fn is_portf(&self) -> bool {
113        *self == EXTIPSEL8_A::PORTF
114    }
115    #[doc = "Checks if the value of the field is `PORTG`"]
116    #[inline(always)]
117    pub fn is_portg(&self) -> bool {
118        *self == EXTIPSEL8_A::PORTG
119    }
120    #[doc = "Checks if the value of the field is `PORTH`"]
121    #[inline(always)]
122    pub fn is_porth(&self) -> bool {
123        *self == EXTIPSEL8_A::PORTH
124    }
125    #[doc = "Checks if the value of the field is `PORTI`"]
126    #[inline(always)]
127    pub fn is_porti(&self) -> bool {
128        *self == EXTIPSEL8_A::PORTI
129    }
130}
131#[doc = "Field `EXTIPSEL8` writer - External Interrupt 8 Port Select"]
132pub type EXTIPSEL8_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL8_A, 4, 0>;
133impl<'a> EXTIPSEL8_W<'a> {
134    #[doc = "Port A group selected for external interrupt 8"]
135    #[inline(always)]
136    pub fn porta(self) -> &'a mut W {
137        self.variant(EXTIPSEL8_A::PORTA)
138    }
139    #[doc = "Port B group selected for external interrupt 8"]
140    #[inline(always)]
141    pub fn portb(self) -> &'a mut W {
142        self.variant(EXTIPSEL8_A::PORTB)
143    }
144    #[doc = "Port C group selected for external interrupt 8"]
145    #[inline(always)]
146    pub fn portc(self) -> &'a mut W {
147        self.variant(EXTIPSEL8_A::PORTC)
148    }
149    #[doc = "Port D group selected for external interrupt 8"]
150    #[inline(always)]
151    pub fn portd(self) -> &'a mut W {
152        self.variant(EXTIPSEL8_A::PORTD)
153    }
154    #[doc = "Port E group selected for external interrupt 8"]
155    #[inline(always)]
156    pub fn porte(self) -> &'a mut W {
157        self.variant(EXTIPSEL8_A::PORTE)
158    }
159    #[doc = "Port F group selected for external interrupt 8"]
160    #[inline(always)]
161    pub fn portf(self) -> &'a mut W {
162        self.variant(EXTIPSEL8_A::PORTF)
163    }
164    #[doc = "Port G group selected for external interrupt 8"]
165    #[inline(always)]
166    pub fn portg(self) -> &'a mut W {
167        self.variant(EXTIPSEL8_A::PORTG)
168    }
169    #[doc = "Port H group selected for external interrupt 8"]
170    #[inline(always)]
171    pub fn porth(self) -> &'a mut W {
172        self.variant(EXTIPSEL8_A::PORTH)
173    }
174    #[doc = "Port I group selected for external interrupt 8"]
175    #[inline(always)]
176    pub fn porti(self) -> &'a mut W {
177        self.variant(EXTIPSEL8_A::PORTI)
178    }
179}
180#[doc = "External Interrupt 9 Port Select\n\nValue on reset: 0"]
181#[derive(Clone, Copy, Debug, PartialEq)]
182#[repr(u8)]
183pub enum EXTIPSEL9_A {
184    #[doc = "0: Port A group selected for external interrupt 9"]
185    PORTA = 0,
186    #[doc = "1: Port B group selected for external interrupt 9"]
187    PORTB = 1,
188    #[doc = "2: Port C group selected for external interrupt 9"]
189    PORTC = 2,
190    #[doc = "3: Port D group selected for external interrupt 9"]
191    PORTD = 3,
192    #[doc = "4: Port E group selected for external interrupt 9"]
193    PORTE = 4,
194    #[doc = "5: Port F group selected for external interrupt 9"]
195    PORTF = 5,
196    #[doc = "6: Port G group selected for external interrupt 9"]
197    PORTG = 6,
198    #[doc = "7: Port H group selected for external interrupt 9"]
199    PORTH = 7,
200    #[doc = "8: Port I group selected for external interrupt 9"]
201    PORTI = 8,
202}
203impl From<EXTIPSEL9_A> for u8 {
204    #[inline(always)]
205    fn from(variant: EXTIPSEL9_A) -> Self {
206        variant as _
207    }
208}
209#[doc = "Field `EXTIPSEL9` reader - External Interrupt 9 Port Select"]
210pub type EXTIPSEL9_R = crate::FieldReader<u8, EXTIPSEL9_A>;
211impl EXTIPSEL9_R {
212    #[doc = "Get enumerated values variant"]
213    #[inline(always)]
214    pub fn variant(&self) -> Option<EXTIPSEL9_A> {
215        match self.bits {
216            0 => Some(EXTIPSEL9_A::PORTA),
217            1 => Some(EXTIPSEL9_A::PORTB),
218            2 => Some(EXTIPSEL9_A::PORTC),
219            3 => Some(EXTIPSEL9_A::PORTD),
220            4 => Some(EXTIPSEL9_A::PORTE),
221            5 => Some(EXTIPSEL9_A::PORTF),
222            6 => Some(EXTIPSEL9_A::PORTG),
223            7 => Some(EXTIPSEL9_A::PORTH),
224            8 => Some(EXTIPSEL9_A::PORTI),
225            _ => None,
226        }
227    }
228    #[doc = "Checks if the value of the field is `PORTA`"]
229    #[inline(always)]
230    pub fn is_porta(&self) -> bool {
231        *self == EXTIPSEL9_A::PORTA
232    }
233    #[doc = "Checks if the value of the field is `PORTB`"]
234    #[inline(always)]
235    pub fn is_portb(&self) -> bool {
236        *self == EXTIPSEL9_A::PORTB
237    }
238    #[doc = "Checks if the value of the field is `PORTC`"]
239    #[inline(always)]
240    pub fn is_portc(&self) -> bool {
241        *self == EXTIPSEL9_A::PORTC
242    }
243    #[doc = "Checks if the value of the field is `PORTD`"]
244    #[inline(always)]
245    pub fn is_portd(&self) -> bool {
246        *self == EXTIPSEL9_A::PORTD
247    }
248    #[doc = "Checks if the value of the field is `PORTE`"]
249    #[inline(always)]
250    pub fn is_porte(&self) -> bool {
251        *self == EXTIPSEL9_A::PORTE
252    }
253    #[doc = "Checks if the value of the field is `PORTF`"]
254    #[inline(always)]
255    pub fn is_portf(&self) -> bool {
256        *self == EXTIPSEL9_A::PORTF
257    }
258    #[doc = "Checks if the value of the field is `PORTG`"]
259    #[inline(always)]
260    pub fn is_portg(&self) -> bool {
261        *self == EXTIPSEL9_A::PORTG
262    }
263    #[doc = "Checks if the value of the field is `PORTH`"]
264    #[inline(always)]
265    pub fn is_porth(&self) -> bool {
266        *self == EXTIPSEL9_A::PORTH
267    }
268    #[doc = "Checks if the value of the field is `PORTI`"]
269    #[inline(always)]
270    pub fn is_porti(&self) -> bool {
271        *self == EXTIPSEL9_A::PORTI
272    }
273}
274#[doc = "Field `EXTIPSEL9` writer - External Interrupt 9 Port Select"]
275pub type EXTIPSEL9_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL9_A, 4, 4>;
276impl<'a> EXTIPSEL9_W<'a> {
277    #[doc = "Port A group selected for external interrupt 9"]
278    #[inline(always)]
279    pub fn porta(self) -> &'a mut W {
280        self.variant(EXTIPSEL9_A::PORTA)
281    }
282    #[doc = "Port B group selected for external interrupt 9"]
283    #[inline(always)]
284    pub fn portb(self) -> &'a mut W {
285        self.variant(EXTIPSEL9_A::PORTB)
286    }
287    #[doc = "Port C group selected for external interrupt 9"]
288    #[inline(always)]
289    pub fn portc(self) -> &'a mut W {
290        self.variant(EXTIPSEL9_A::PORTC)
291    }
292    #[doc = "Port D group selected for external interrupt 9"]
293    #[inline(always)]
294    pub fn portd(self) -> &'a mut W {
295        self.variant(EXTIPSEL9_A::PORTD)
296    }
297    #[doc = "Port E group selected for external interrupt 9"]
298    #[inline(always)]
299    pub fn porte(self) -> &'a mut W {
300        self.variant(EXTIPSEL9_A::PORTE)
301    }
302    #[doc = "Port F group selected for external interrupt 9"]
303    #[inline(always)]
304    pub fn portf(self) -> &'a mut W {
305        self.variant(EXTIPSEL9_A::PORTF)
306    }
307    #[doc = "Port G group selected for external interrupt 9"]
308    #[inline(always)]
309    pub fn portg(self) -> &'a mut W {
310        self.variant(EXTIPSEL9_A::PORTG)
311    }
312    #[doc = "Port H group selected for external interrupt 9"]
313    #[inline(always)]
314    pub fn porth(self) -> &'a mut W {
315        self.variant(EXTIPSEL9_A::PORTH)
316    }
317    #[doc = "Port I group selected for external interrupt 9"]
318    #[inline(always)]
319    pub fn porti(self) -> &'a mut W {
320        self.variant(EXTIPSEL9_A::PORTI)
321    }
322}
323#[doc = "External Interrupt 10 Port Select\n\nValue on reset: 0"]
324#[derive(Clone, Copy, Debug, PartialEq)]
325#[repr(u8)]
326pub enum EXTIPSEL10_A {
327    #[doc = "0: Port A group selected for external interrupt 10"]
328    PORTA = 0,
329    #[doc = "1: Port B group selected for external interrupt 10"]
330    PORTB = 1,
331    #[doc = "2: Port C group selected for external interrupt 10"]
332    PORTC = 2,
333    #[doc = "3: Port D group selected for external interrupt 10"]
334    PORTD = 3,
335    #[doc = "4: Port E group selected for external interrupt 10"]
336    PORTE = 4,
337    #[doc = "5: Port F group selected for external interrupt 10"]
338    PORTF = 5,
339    #[doc = "6: Port G group selected for external interrupt 10"]
340    PORTG = 6,
341    #[doc = "7: Port H group selected for external interrupt 10"]
342    PORTH = 7,
343    #[doc = "8: Port I group selected for external interrupt 10"]
344    PORTI = 8,
345}
346impl From<EXTIPSEL10_A> for u8 {
347    #[inline(always)]
348    fn from(variant: EXTIPSEL10_A) -> Self {
349        variant as _
350    }
351}
352#[doc = "Field `EXTIPSEL10` reader - External Interrupt 10 Port Select"]
353pub type EXTIPSEL10_R = crate::FieldReader<u8, EXTIPSEL10_A>;
354impl EXTIPSEL10_R {
355    #[doc = "Get enumerated values variant"]
356    #[inline(always)]
357    pub fn variant(&self) -> Option<EXTIPSEL10_A> {
358        match self.bits {
359            0 => Some(EXTIPSEL10_A::PORTA),
360            1 => Some(EXTIPSEL10_A::PORTB),
361            2 => Some(EXTIPSEL10_A::PORTC),
362            3 => Some(EXTIPSEL10_A::PORTD),
363            4 => Some(EXTIPSEL10_A::PORTE),
364            5 => Some(EXTIPSEL10_A::PORTF),
365            6 => Some(EXTIPSEL10_A::PORTG),
366            7 => Some(EXTIPSEL10_A::PORTH),
367            8 => Some(EXTIPSEL10_A::PORTI),
368            _ => None,
369        }
370    }
371    #[doc = "Checks if the value of the field is `PORTA`"]
372    #[inline(always)]
373    pub fn is_porta(&self) -> bool {
374        *self == EXTIPSEL10_A::PORTA
375    }
376    #[doc = "Checks if the value of the field is `PORTB`"]
377    #[inline(always)]
378    pub fn is_portb(&self) -> bool {
379        *self == EXTIPSEL10_A::PORTB
380    }
381    #[doc = "Checks if the value of the field is `PORTC`"]
382    #[inline(always)]
383    pub fn is_portc(&self) -> bool {
384        *self == EXTIPSEL10_A::PORTC
385    }
386    #[doc = "Checks if the value of the field is `PORTD`"]
387    #[inline(always)]
388    pub fn is_portd(&self) -> bool {
389        *self == EXTIPSEL10_A::PORTD
390    }
391    #[doc = "Checks if the value of the field is `PORTE`"]
392    #[inline(always)]
393    pub fn is_porte(&self) -> bool {
394        *self == EXTIPSEL10_A::PORTE
395    }
396    #[doc = "Checks if the value of the field is `PORTF`"]
397    #[inline(always)]
398    pub fn is_portf(&self) -> bool {
399        *self == EXTIPSEL10_A::PORTF
400    }
401    #[doc = "Checks if the value of the field is `PORTG`"]
402    #[inline(always)]
403    pub fn is_portg(&self) -> bool {
404        *self == EXTIPSEL10_A::PORTG
405    }
406    #[doc = "Checks if the value of the field is `PORTH`"]
407    #[inline(always)]
408    pub fn is_porth(&self) -> bool {
409        *self == EXTIPSEL10_A::PORTH
410    }
411    #[doc = "Checks if the value of the field is `PORTI`"]
412    #[inline(always)]
413    pub fn is_porti(&self) -> bool {
414        *self == EXTIPSEL10_A::PORTI
415    }
416}
417#[doc = "Field `EXTIPSEL10` writer - External Interrupt 10 Port Select"]
418pub type EXTIPSEL10_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL10_A, 4, 8>;
419impl<'a> EXTIPSEL10_W<'a> {
420    #[doc = "Port A group selected for external interrupt 10"]
421    #[inline(always)]
422    pub fn porta(self) -> &'a mut W {
423        self.variant(EXTIPSEL10_A::PORTA)
424    }
425    #[doc = "Port B group selected for external interrupt 10"]
426    #[inline(always)]
427    pub fn portb(self) -> &'a mut W {
428        self.variant(EXTIPSEL10_A::PORTB)
429    }
430    #[doc = "Port C group selected for external interrupt 10"]
431    #[inline(always)]
432    pub fn portc(self) -> &'a mut W {
433        self.variant(EXTIPSEL10_A::PORTC)
434    }
435    #[doc = "Port D group selected for external interrupt 10"]
436    #[inline(always)]
437    pub fn portd(self) -> &'a mut W {
438        self.variant(EXTIPSEL10_A::PORTD)
439    }
440    #[doc = "Port E group selected for external interrupt 10"]
441    #[inline(always)]
442    pub fn porte(self) -> &'a mut W {
443        self.variant(EXTIPSEL10_A::PORTE)
444    }
445    #[doc = "Port F group selected for external interrupt 10"]
446    #[inline(always)]
447    pub fn portf(self) -> &'a mut W {
448        self.variant(EXTIPSEL10_A::PORTF)
449    }
450    #[doc = "Port G group selected for external interrupt 10"]
451    #[inline(always)]
452    pub fn portg(self) -> &'a mut W {
453        self.variant(EXTIPSEL10_A::PORTG)
454    }
455    #[doc = "Port H group selected for external interrupt 10"]
456    #[inline(always)]
457    pub fn porth(self) -> &'a mut W {
458        self.variant(EXTIPSEL10_A::PORTH)
459    }
460    #[doc = "Port I group selected for external interrupt 10"]
461    #[inline(always)]
462    pub fn porti(self) -> &'a mut W {
463        self.variant(EXTIPSEL10_A::PORTI)
464    }
465}
466#[doc = "External Interrupt 11 Port Select\n\nValue on reset: 0"]
467#[derive(Clone, Copy, Debug, PartialEq)]
468#[repr(u8)]
469pub enum EXTIPSEL11_A {
470    #[doc = "0: Port A group selected for external interrupt 11"]
471    PORTA = 0,
472    #[doc = "1: Port B group selected for external interrupt 11"]
473    PORTB = 1,
474    #[doc = "2: Port C group selected for external interrupt 11"]
475    PORTC = 2,
476    #[doc = "3: Port D group selected for external interrupt 11"]
477    PORTD = 3,
478    #[doc = "4: Port E group selected for external interrupt 11"]
479    PORTE = 4,
480    #[doc = "5: Port F group selected for external interrupt 11"]
481    PORTF = 5,
482    #[doc = "6: Port G group selected for external interrupt 11"]
483    PORTG = 6,
484    #[doc = "7: Port H group selected for external interrupt 11"]
485    PORTH = 7,
486    #[doc = "8: Port I group selected for external interrupt 11"]
487    PORTI = 8,
488}
489impl From<EXTIPSEL11_A> for u8 {
490    #[inline(always)]
491    fn from(variant: EXTIPSEL11_A) -> Self {
492        variant as _
493    }
494}
495#[doc = "Field `EXTIPSEL11` reader - External Interrupt 11 Port Select"]
496pub type EXTIPSEL11_R = crate::FieldReader<u8, EXTIPSEL11_A>;
497impl EXTIPSEL11_R {
498    #[doc = "Get enumerated values variant"]
499    #[inline(always)]
500    pub fn variant(&self) -> Option<EXTIPSEL11_A> {
501        match self.bits {
502            0 => Some(EXTIPSEL11_A::PORTA),
503            1 => Some(EXTIPSEL11_A::PORTB),
504            2 => Some(EXTIPSEL11_A::PORTC),
505            3 => Some(EXTIPSEL11_A::PORTD),
506            4 => Some(EXTIPSEL11_A::PORTE),
507            5 => Some(EXTIPSEL11_A::PORTF),
508            6 => Some(EXTIPSEL11_A::PORTG),
509            7 => Some(EXTIPSEL11_A::PORTH),
510            8 => Some(EXTIPSEL11_A::PORTI),
511            _ => None,
512        }
513    }
514    #[doc = "Checks if the value of the field is `PORTA`"]
515    #[inline(always)]
516    pub fn is_porta(&self) -> bool {
517        *self == EXTIPSEL11_A::PORTA
518    }
519    #[doc = "Checks if the value of the field is `PORTB`"]
520    #[inline(always)]
521    pub fn is_portb(&self) -> bool {
522        *self == EXTIPSEL11_A::PORTB
523    }
524    #[doc = "Checks if the value of the field is `PORTC`"]
525    #[inline(always)]
526    pub fn is_portc(&self) -> bool {
527        *self == EXTIPSEL11_A::PORTC
528    }
529    #[doc = "Checks if the value of the field is `PORTD`"]
530    #[inline(always)]
531    pub fn is_portd(&self) -> bool {
532        *self == EXTIPSEL11_A::PORTD
533    }
534    #[doc = "Checks if the value of the field is `PORTE`"]
535    #[inline(always)]
536    pub fn is_porte(&self) -> bool {
537        *self == EXTIPSEL11_A::PORTE
538    }
539    #[doc = "Checks if the value of the field is `PORTF`"]
540    #[inline(always)]
541    pub fn is_portf(&self) -> bool {
542        *self == EXTIPSEL11_A::PORTF
543    }
544    #[doc = "Checks if the value of the field is `PORTG`"]
545    #[inline(always)]
546    pub fn is_portg(&self) -> bool {
547        *self == EXTIPSEL11_A::PORTG
548    }
549    #[doc = "Checks if the value of the field is `PORTH`"]
550    #[inline(always)]
551    pub fn is_porth(&self) -> bool {
552        *self == EXTIPSEL11_A::PORTH
553    }
554    #[doc = "Checks if the value of the field is `PORTI`"]
555    #[inline(always)]
556    pub fn is_porti(&self) -> bool {
557        *self == EXTIPSEL11_A::PORTI
558    }
559}
560#[doc = "Field `EXTIPSEL11` writer - External Interrupt 11 Port Select"]
561pub type EXTIPSEL11_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL11_A, 4, 12>;
562impl<'a> EXTIPSEL11_W<'a> {
563    #[doc = "Port A group selected for external interrupt 11"]
564    #[inline(always)]
565    pub fn porta(self) -> &'a mut W {
566        self.variant(EXTIPSEL11_A::PORTA)
567    }
568    #[doc = "Port B group selected for external interrupt 11"]
569    #[inline(always)]
570    pub fn portb(self) -> &'a mut W {
571        self.variant(EXTIPSEL11_A::PORTB)
572    }
573    #[doc = "Port C group selected for external interrupt 11"]
574    #[inline(always)]
575    pub fn portc(self) -> &'a mut W {
576        self.variant(EXTIPSEL11_A::PORTC)
577    }
578    #[doc = "Port D group selected for external interrupt 11"]
579    #[inline(always)]
580    pub fn portd(self) -> &'a mut W {
581        self.variant(EXTIPSEL11_A::PORTD)
582    }
583    #[doc = "Port E group selected for external interrupt 11"]
584    #[inline(always)]
585    pub fn porte(self) -> &'a mut W {
586        self.variant(EXTIPSEL11_A::PORTE)
587    }
588    #[doc = "Port F group selected for external interrupt 11"]
589    #[inline(always)]
590    pub fn portf(self) -> &'a mut W {
591        self.variant(EXTIPSEL11_A::PORTF)
592    }
593    #[doc = "Port G group selected for external interrupt 11"]
594    #[inline(always)]
595    pub fn portg(self) -> &'a mut W {
596        self.variant(EXTIPSEL11_A::PORTG)
597    }
598    #[doc = "Port H group selected for external interrupt 11"]
599    #[inline(always)]
600    pub fn porth(self) -> &'a mut W {
601        self.variant(EXTIPSEL11_A::PORTH)
602    }
603    #[doc = "Port I group selected for external interrupt 11"]
604    #[inline(always)]
605    pub fn porti(self) -> &'a mut W {
606        self.variant(EXTIPSEL11_A::PORTI)
607    }
608}
609#[doc = "External Interrupt 12 Port Select\n\nValue on reset: 0"]
610#[derive(Clone, Copy, Debug, PartialEq)]
611#[repr(u8)]
612pub enum EXTIPSEL12_A {
613    #[doc = "0: Port A group selected for external interrupt 12"]
614    PORTA = 0,
615    #[doc = "1: Port B group selected for external interrupt 12"]
616    PORTB = 1,
617    #[doc = "2: Port C group selected for external interrupt 12"]
618    PORTC = 2,
619    #[doc = "3: Port D group selected for external interrupt 12"]
620    PORTD = 3,
621    #[doc = "4: Port E group selected for external interrupt 12"]
622    PORTE = 4,
623    #[doc = "5: Port F group selected for external interrupt 12"]
624    PORTF = 5,
625    #[doc = "6: Port G group selected for external interrupt 12"]
626    PORTG = 6,
627    #[doc = "7: Port H group selected for external interrupt 12"]
628    PORTH = 7,
629    #[doc = "8: Port I group selected for external interrupt 12"]
630    PORTI = 8,
631}
632impl From<EXTIPSEL12_A> for u8 {
633    #[inline(always)]
634    fn from(variant: EXTIPSEL12_A) -> Self {
635        variant as _
636    }
637}
638#[doc = "Field `EXTIPSEL12` reader - External Interrupt 12 Port Select"]
639pub type EXTIPSEL12_R = crate::FieldReader<u8, EXTIPSEL12_A>;
640impl EXTIPSEL12_R {
641    #[doc = "Get enumerated values variant"]
642    #[inline(always)]
643    pub fn variant(&self) -> Option<EXTIPSEL12_A> {
644        match self.bits {
645            0 => Some(EXTIPSEL12_A::PORTA),
646            1 => Some(EXTIPSEL12_A::PORTB),
647            2 => Some(EXTIPSEL12_A::PORTC),
648            3 => Some(EXTIPSEL12_A::PORTD),
649            4 => Some(EXTIPSEL12_A::PORTE),
650            5 => Some(EXTIPSEL12_A::PORTF),
651            6 => Some(EXTIPSEL12_A::PORTG),
652            7 => Some(EXTIPSEL12_A::PORTH),
653            8 => Some(EXTIPSEL12_A::PORTI),
654            _ => None,
655        }
656    }
657    #[doc = "Checks if the value of the field is `PORTA`"]
658    #[inline(always)]
659    pub fn is_porta(&self) -> bool {
660        *self == EXTIPSEL12_A::PORTA
661    }
662    #[doc = "Checks if the value of the field is `PORTB`"]
663    #[inline(always)]
664    pub fn is_portb(&self) -> bool {
665        *self == EXTIPSEL12_A::PORTB
666    }
667    #[doc = "Checks if the value of the field is `PORTC`"]
668    #[inline(always)]
669    pub fn is_portc(&self) -> bool {
670        *self == EXTIPSEL12_A::PORTC
671    }
672    #[doc = "Checks if the value of the field is `PORTD`"]
673    #[inline(always)]
674    pub fn is_portd(&self) -> bool {
675        *self == EXTIPSEL12_A::PORTD
676    }
677    #[doc = "Checks if the value of the field is `PORTE`"]
678    #[inline(always)]
679    pub fn is_porte(&self) -> bool {
680        *self == EXTIPSEL12_A::PORTE
681    }
682    #[doc = "Checks if the value of the field is `PORTF`"]
683    #[inline(always)]
684    pub fn is_portf(&self) -> bool {
685        *self == EXTIPSEL12_A::PORTF
686    }
687    #[doc = "Checks if the value of the field is `PORTG`"]
688    #[inline(always)]
689    pub fn is_portg(&self) -> bool {
690        *self == EXTIPSEL12_A::PORTG
691    }
692    #[doc = "Checks if the value of the field is `PORTH`"]
693    #[inline(always)]
694    pub fn is_porth(&self) -> bool {
695        *self == EXTIPSEL12_A::PORTH
696    }
697    #[doc = "Checks if the value of the field is `PORTI`"]
698    #[inline(always)]
699    pub fn is_porti(&self) -> bool {
700        *self == EXTIPSEL12_A::PORTI
701    }
702}
703#[doc = "Field `EXTIPSEL12` writer - External Interrupt 12 Port Select"]
704pub type EXTIPSEL12_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL12_A, 4, 16>;
705impl<'a> EXTIPSEL12_W<'a> {
706    #[doc = "Port A group selected for external interrupt 12"]
707    #[inline(always)]
708    pub fn porta(self) -> &'a mut W {
709        self.variant(EXTIPSEL12_A::PORTA)
710    }
711    #[doc = "Port B group selected for external interrupt 12"]
712    #[inline(always)]
713    pub fn portb(self) -> &'a mut W {
714        self.variant(EXTIPSEL12_A::PORTB)
715    }
716    #[doc = "Port C group selected for external interrupt 12"]
717    #[inline(always)]
718    pub fn portc(self) -> &'a mut W {
719        self.variant(EXTIPSEL12_A::PORTC)
720    }
721    #[doc = "Port D group selected for external interrupt 12"]
722    #[inline(always)]
723    pub fn portd(self) -> &'a mut W {
724        self.variant(EXTIPSEL12_A::PORTD)
725    }
726    #[doc = "Port E group selected for external interrupt 12"]
727    #[inline(always)]
728    pub fn porte(self) -> &'a mut W {
729        self.variant(EXTIPSEL12_A::PORTE)
730    }
731    #[doc = "Port F group selected for external interrupt 12"]
732    #[inline(always)]
733    pub fn portf(self) -> &'a mut W {
734        self.variant(EXTIPSEL12_A::PORTF)
735    }
736    #[doc = "Port G group selected for external interrupt 12"]
737    #[inline(always)]
738    pub fn portg(self) -> &'a mut W {
739        self.variant(EXTIPSEL12_A::PORTG)
740    }
741    #[doc = "Port H group selected for external interrupt 12"]
742    #[inline(always)]
743    pub fn porth(self) -> &'a mut W {
744        self.variant(EXTIPSEL12_A::PORTH)
745    }
746    #[doc = "Port I group selected for external interrupt 12"]
747    #[inline(always)]
748    pub fn porti(self) -> &'a mut W {
749        self.variant(EXTIPSEL12_A::PORTI)
750    }
751}
752#[doc = "External Interrupt 13 Port Select\n\nValue on reset: 0"]
753#[derive(Clone, Copy, Debug, PartialEq)]
754#[repr(u8)]
755pub enum EXTIPSEL13_A {
756    #[doc = "0: Port A group selected for external interrupt 13"]
757    PORTA = 0,
758    #[doc = "1: Port B group selected for external interrupt 13"]
759    PORTB = 1,
760    #[doc = "2: Port C group selected for external interrupt 13"]
761    PORTC = 2,
762    #[doc = "3: Port D group selected for external interrupt 13"]
763    PORTD = 3,
764    #[doc = "4: Port E group selected for external interrupt 13"]
765    PORTE = 4,
766    #[doc = "5: Port F group selected for external interrupt 13"]
767    PORTF = 5,
768    #[doc = "6: Port G group selected for external interrupt 13"]
769    PORTG = 6,
770    #[doc = "7: Port H group selected for external interrupt 13"]
771    PORTH = 7,
772    #[doc = "8: Port I group selected for external interrupt 13"]
773    PORTI = 8,
774}
775impl From<EXTIPSEL13_A> for u8 {
776    #[inline(always)]
777    fn from(variant: EXTIPSEL13_A) -> Self {
778        variant as _
779    }
780}
781#[doc = "Field `EXTIPSEL13` reader - External Interrupt 13 Port Select"]
782pub type EXTIPSEL13_R = crate::FieldReader<u8, EXTIPSEL13_A>;
783impl EXTIPSEL13_R {
784    #[doc = "Get enumerated values variant"]
785    #[inline(always)]
786    pub fn variant(&self) -> Option<EXTIPSEL13_A> {
787        match self.bits {
788            0 => Some(EXTIPSEL13_A::PORTA),
789            1 => Some(EXTIPSEL13_A::PORTB),
790            2 => Some(EXTIPSEL13_A::PORTC),
791            3 => Some(EXTIPSEL13_A::PORTD),
792            4 => Some(EXTIPSEL13_A::PORTE),
793            5 => Some(EXTIPSEL13_A::PORTF),
794            6 => Some(EXTIPSEL13_A::PORTG),
795            7 => Some(EXTIPSEL13_A::PORTH),
796            8 => Some(EXTIPSEL13_A::PORTI),
797            _ => None,
798        }
799    }
800    #[doc = "Checks if the value of the field is `PORTA`"]
801    #[inline(always)]
802    pub fn is_porta(&self) -> bool {
803        *self == EXTIPSEL13_A::PORTA
804    }
805    #[doc = "Checks if the value of the field is `PORTB`"]
806    #[inline(always)]
807    pub fn is_portb(&self) -> bool {
808        *self == EXTIPSEL13_A::PORTB
809    }
810    #[doc = "Checks if the value of the field is `PORTC`"]
811    #[inline(always)]
812    pub fn is_portc(&self) -> bool {
813        *self == EXTIPSEL13_A::PORTC
814    }
815    #[doc = "Checks if the value of the field is `PORTD`"]
816    #[inline(always)]
817    pub fn is_portd(&self) -> bool {
818        *self == EXTIPSEL13_A::PORTD
819    }
820    #[doc = "Checks if the value of the field is `PORTE`"]
821    #[inline(always)]
822    pub fn is_porte(&self) -> bool {
823        *self == EXTIPSEL13_A::PORTE
824    }
825    #[doc = "Checks if the value of the field is `PORTF`"]
826    #[inline(always)]
827    pub fn is_portf(&self) -> bool {
828        *self == EXTIPSEL13_A::PORTF
829    }
830    #[doc = "Checks if the value of the field is `PORTG`"]
831    #[inline(always)]
832    pub fn is_portg(&self) -> bool {
833        *self == EXTIPSEL13_A::PORTG
834    }
835    #[doc = "Checks if the value of the field is `PORTH`"]
836    #[inline(always)]
837    pub fn is_porth(&self) -> bool {
838        *self == EXTIPSEL13_A::PORTH
839    }
840    #[doc = "Checks if the value of the field is `PORTI`"]
841    #[inline(always)]
842    pub fn is_porti(&self) -> bool {
843        *self == EXTIPSEL13_A::PORTI
844    }
845}
846#[doc = "Field `EXTIPSEL13` writer - External Interrupt 13 Port Select"]
847pub type EXTIPSEL13_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL13_A, 4, 20>;
848impl<'a> EXTIPSEL13_W<'a> {
849    #[doc = "Port A group selected for external interrupt 13"]
850    #[inline(always)]
851    pub fn porta(self) -> &'a mut W {
852        self.variant(EXTIPSEL13_A::PORTA)
853    }
854    #[doc = "Port B group selected for external interrupt 13"]
855    #[inline(always)]
856    pub fn portb(self) -> &'a mut W {
857        self.variant(EXTIPSEL13_A::PORTB)
858    }
859    #[doc = "Port C group selected for external interrupt 13"]
860    #[inline(always)]
861    pub fn portc(self) -> &'a mut W {
862        self.variant(EXTIPSEL13_A::PORTC)
863    }
864    #[doc = "Port D group selected for external interrupt 13"]
865    #[inline(always)]
866    pub fn portd(self) -> &'a mut W {
867        self.variant(EXTIPSEL13_A::PORTD)
868    }
869    #[doc = "Port E group selected for external interrupt 13"]
870    #[inline(always)]
871    pub fn porte(self) -> &'a mut W {
872        self.variant(EXTIPSEL13_A::PORTE)
873    }
874    #[doc = "Port F group selected for external interrupt 13"]
875    #[inline(always)]
876    pub fn portf(self) -> &'a mut W {
877        self.variant(EXTIPSEL13_A::PORTF)
878    }
879    #[doc = "Port G group selected for external interrupt 13"]
880    #[inline(always)]
881    pub fn portg(self) -> &'a mut W {
882        self.variant(EXTIPSEL13_A::PORTG)
883    }
884    #[doc = "Port H group selected for external interrupt 13"]
885    #[inline(always)]
886    pub fn porth(self) -> &'a mut W {
887        self.variant(EXTIPSEL13_A::PORTH)
888    }
889    #[doc = "Port I group selected for external interrupt 13"]
890    #[inline(always)]
891    pub fn porti(self) -> &'a mut W {
892        self.variant(EXTIPSEL13_A::PORTI)
893    }
894}
895#[doc = "External Interrupt 14 Port Select\n\nValue on reset: 0"]
896#[derive(Clone, Copy, Debug, PartialEq)]
897#[repr(u8)]
898pub enum EXTIPSEL14_A {
899    #[doc = "0: Port A group selected for external interrupt 14"]
900    PORTA = 0,
901    #[doc = "1: Port B group selected for external interrupt 14"]
902    PORTB = 1,
903    #[doc = "2: Port C group selected for external interrupt 14"]
904    PORTC = 2,
905    #[doc = "3: Port D group selected for external interrupt 14"]
906    PORTD = 3,
907    #[doc = "4: Port E group selected for external interrupt 14"]
908    PORTE = 4,
909    #[doc = "5: Port F group selected for external interrupt 14"]
910    PORTF = 5,
911    #[doc = "6: Port G group selected for external interrupt 14"]
912    PORTG = 6,
913    #[doc = "7: Port H group selected for external interrupt 14"]
914    PORTH = 7,
915    #[doc = "8: Port I group selected for external interrupt 14"]
916    PORTI = 8,
917}
918impl From<EXTIPSEL14_A> for u8 {
919    #[inline(always)]
920    fn from(variant: EXTIPSEL14_A) -> Self {
921        variant as _
922    }
923}
924#[doc = "Field `EXTIPSEL14` reader - External Interrupt 14 Port Select"]
925pub type EXTIPSEL14_R = crate::FieldReader<u8, EXTIPSEL14_A>;
926impl EXTIPSEL14_R {
927    #[doc = "Get enumerated values variant"]
928    #[inline(always)]
929    pub fn variant(&self) -> Option<EXTIPSEL14_A> {
930        match self.bits {
931            0 => Some(EXTIPSEL14_A::PORTA),
932            1 => Some(EXTIPSEL14_A::PORTB),
933            2 => Some(EXTIPSEL14_A::PORTC),
934            3 => Some(EXTIPSEL14_A::PORTD),
935            4 => Some(EXTIPSEL14_A::PORTE),
936            5 => Some(EXTIPSEL14_A::PORTF),
937            6 => Some(EXTIPSEL14_A::PORTG),
938            7 => Some(EXTIPSEL14_A::PORTH),
939            8 => Some(EXTIPSEL14_A::PORTI),
940            _ => None,
941        }
942    }
943    #[doc = "Checks if the value of the field is `PORTA`"]
944    #[inline(always)]
945    pub fn is_porta(&self) -> bool {
946        *self == EXTIPSEL14_A::PORTA
947    }
948    #[doc = "Checks if the value of the field is `PORTB`"]
949    #[inline(always)]
950    pub fn is_portb(&self) -> bool {
951        *self == EXTIPSEL14_A::PORTB
952    }
953    #[doc = "Checks if the value of the field is `PORTC`"]
954    #[inline(always)]
955    pub fn is_portc(&self) -> bool {
956        *self == EXTIPSEL14_A::PORTC
957    }
958    #[doc = "Checks if the value of the field is `PORTD`"]
959    #[inline(always)]
960    pub fn is_portd(&self) -> bool {
961        *self == EXTIPSEL14_A::PORTD
962    }
963    #[doc = "Checks if the value of the field is `PORTE`"]
964    #[inline(always)]
965    pub fn is_porte(&self) -> bool {
966        *self == EXTIPSEL14_A::PORTE
967    }
968    #[doc = "Checks if the value of the field is `PORTF`"]
969    #[inline(always)]
970    pub fn is_portf(&self) -> bool {
971        *self == EXTIPSEL14_A::PORTF
972    }
973    #[doc = "Checks if the value of the field is `PORTG`"]
974    #[inline(always)]
975    pub fn is_portg(&self) -> bool {
976        *self == EXTIPSEL14_A::PORTG
977    }
978    #[doc = "Checks if the value of the field is `PORTH`"]
979    #[inline(always)]
980    pub fn is_porth(&self) -> bool {
981        *self == EXTIPSEL14_A::PORTH
982    }
983    #[doc = "Checks if the value of the field is `PORTI`"]
984    #[inline(always)]
985    pub fn is_porti(&self) -> bool {
986        *self == EXTIPSEL14_A::PORTI
987    }
988}
989#[doc = "Field `EXTIPSEL14` writer - External Interrupt 14 Port Select"]
990pub type EXTIPSEL14_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL14_A, 4, 24>;
991impl<'a> EXTIPSEL14_W<'a> {
992    #[doc = "Port A group selected for external interrupt 14"]
993    #[inline(always)]
994    pub fn porta(self) -> &'a mut W {
995        self.variant(EXTIPSEL14_A::PORTA)
996    }
997    #[doc = "Port B group selected for external interrupt 14"]
998    #[inline(always)]
999    pub fn portb(self) -> &'a mut W {
1000        self.variant(EXTIPSEL14_A::PORTB)
1001    }
1002    #[doc = "Port C group selected for external interrupt 14"]
1003    #[inline(always)]
1004    pub fn portc(self) -> &'a mut W {
1005        self.variant(EXTIPSEL14_A::PORTC)
1006    }
1007    #[doc = "Port D group selected for external interrupt 14"]
1008    #[inline(always)]
1009    pub fn portd(self) -> &'a mut W {
1010        self.variant(EXTIPSEL14_A::PORTD)
1011    }
1012    #[doc = "Port E group selected for external interrupt 14"]
1013    #[inline(always)]
1014    pub fn porte(self) -> &'a mut W {
1015        self.variant(EXTIPSEL14_A::PORTE)
1016    }
1017    #[doc = "Port F group selected for external interrupt 14"]
1018    #[inline(always)]
1019    pub fn portf(self) -> &'a mut W {
1020        self.variant(EXTIPSEL14_A::PORTF)
1021    }
1022    #[doc = "Port G group selected for external interrupt 14"]
1023    #[inline(always)]
1024    pub fn portg(self) -> &'a mut W {
1025        self.variant(EXTIPSEL14_A::PORTG)
1026    }
1027    #[doc = "Port H group selected for external interrupt 14"]
1028    #[inline(always)]
1029    pub fn porth(self) -> &'a mut W {
1030        self.variant(EXTIPSEL14_A::PORTH)
1031    }
1032    #[doc = "Port I group selected for external interrupt 14"]
1033    #[inline(always)]
1034    pub fn porti(self) -> &'a mut W {
1035        self.variant(EXTIPSEL14_A::PORTI)
1036    }
1037}
1038#[doc = "External Interrupt 15 Port Select\n\nValue on reset: 0"]
1039#[derive(Clone, Copy, Debug, PartialEq)]
1040#[repr(u8)]
1041pub enum EXTIPSEL15_A {
1042    #[doc = "0: Port A group selected for external interrupt 15"]
1043    PORTA = 0,
1044    #[doc = "1: Port B group selected for external interrupt 15"]
1045    PORTB = 1,
1046    #[doc = "2: Port C group selected for external interrupt 15"]
1047    PORTC = 2,
1048    #[doc = "3: Port D group selected for external interrupt 15"]
1049    PORTD = 3,
1050    #[doc = "4: Port E group selected for external interrupt 15"]
1051    PORTE = 4,
1052    #[doc = "5: Port F group selected for external interrupt 15"]
1053    PORTF = 5,
1054    #[doc = "6: Port G group selected for external interrupt 15"]
1055    PORTG = 6,
1056    #[doc = "7: Port H group selected for external interrupt 15"]
1057    PORTH = 7,
1058    #[doc = "8: Port I group selected for external interrupt 15"]
1059    PORTI = 8,
1060}
1061impl From<EXTIPSEL15_A> for u8 {
1062    #[inline(always)]
1063    fn from(variant: EXTIPSEL15_A) -> Self {
1064        variant as _
1065    }
1066}
1067#[doc = "Field `EXTIPSEL15` reader - External Interrupt 15 Port Select"]
1068pub type EXTIPSEL15_R = crate::FieldReader<u8, EXTIPSEL15_A>;
1069impl EXTIPSEL15_R {
1070    #[doc = "Get enumerated values variant"]
1071    #[inline(always)]
1072    pub fn variant(&self) -> Option<EXTIPSEL15_A> {
1073        match self.bits {
1074            0 => Some(EXTIPSEL15_A::PORTA),
1075            1 => Some(EXTIPSEL15_A::PORTB),
1076            2 => Some(EXTIPSEL15_A::PORTC),
1077            3 => Some(EXTIPSEL15_A::PORTD),
1078            4 => Some(EXTIPSEL15_A::PORTE),
1079            5 => Some(EXTIPSEL15_A::PORTF),
1080            6 => Some(EXTIPSEL15_A::PORTG),
1081            7 => Some(EXTIPSEL15_A::PORTH),
1082            8 => Some(EXTIPSEL15_A::PORTI),
1083            _ => None,
1084        }
1085    }
1086    #[doc = "Checks if the value of the field is `PORTA`"]
1087    #[inline(always)]
1088    pub fn is_porta(&self) -> bool {
1089        *self == EXTIPSEL15_A::PORTA
1090    }
1091    #[doc = "Checks if the value of the field is `PORTB`"]
1092    #[inline(always)]
1093    pub fn is_portb(&self) -> bool {
1094        *self == EXTIPSEL15_A::PORTB
1095    }
1096    #[doc = "Checks if the value of the field is `PORTC`"]
1097    #[inline(always)]
1098    pub fn is_portc(&self) -> bool {
1099        *self == EXTIPSEL15_A::PORTC
1100    }
1101    #[doc = "Checks if the value of the field is `PORTD`"]
1102    #[inline(always)]
1103    pub fn is_portd(&self) -> bool {
1104        *self == EXTIPSEL15_A::PORTD
1105    }
1106    #[doc = "Checks if the value of the field is `PORTE`"]
1107    #[inline(always)]
1108    pub fn is_porte(&self) -> bool {
1109        *self == EXTIPSEL15_A::PORTE
1110    }
1111    #[doc = "Checks if the value of the field is `PORTF`"]
1112    #[inline(always)]
1113    pub fn is_portf(&self) -> bool {
1114        *self == EXTIPSEL15_A::PORTF
1115    }
1116    #[doc = "Checks if the value of the field is `PORTG`"]
1117    #[inline(always)]
1118    pub fn is_portg(&self) -> bool {
1119        *self == EXTIPSEL15_A::PORTG
1120    }
1121    #[doc = "Checks if the value of the field is `PORTH`"]
1122    #[inline(always)]
1123    pub fn is_porth(&self) -> bool {
1124        *self == EXTIPSEL15_A::PORTH
1125    }
1126    #[doc = "Checks if the value of the field is `PORTI`"]
1127    #[inline(always)]
1128    pub fn is_porti(&self) -> bool {
1129        *self == EXTIPSEL15_A::PORTI
1130    }
1131}
1132#[doc = "Field `EXTIPSEL15` writer - External Interrupt 15 Port Select"]
1133pub type EXTIPSEL15_W<'a> = crate::FieldWriter<'a, u32, EXTIPSELH_SPEC, u8, EXTIPSEL15_A, 4, 28>;
1134impl<'a> EXTIPSEL15_W<'a> {
1135    #[doc = "Port A group selected for external interrupt 15"]
1136    #[inline(always)]
1137    pub fn porta(self) -> &'a mut W {
1138        self.variant(EXTIPSEL15_A::PORTA)
1139    }
1140    #[doc = "Port B group selected for external interrupt 15"]
1141    #[inline(always)]
1142    pub fn portb(self) -> &'a mut W {
1143        self.variant(EXTIPSEL15_A::PORTB)
1144    }
1145    #[doc = "Port C group selected for external interrupt 15"]
1146    #[inline(always)]
1147    pub fn portc(self) -> &'a mut W {
1148        self.variant(EXTIPSEL15_A::PORTC)
1149    }
1150    #[doc = "Port D group selected for external interrupt 15"]
1151    #[inline(always)]
1152    pub fn portd(self) -> &'a mut W {
1153        self.variant(EXTIPSEL15_A::PORTD)
1154    }
1155    #[doc = "Port E group selected for external interrupt 15"]
1156    #[inline(always)]
1157    pub fn porte(self) -> &'a mut W {
1158        self.variant(EXTIPSEL15_A::PORTE)
1159    }
1160    #[doc = "Port F group selected for external interrupt 15"]
1161    #[inline(always)]
1162    pub fn portf(self) -> &'a mut W {
1163        self.variant(EXTIPSEL15_A::PORTF)
1164    }
1165    #[doc = "Port G group selected for external interrupt 15"]
1166    #[inline(always)]
1167    pub fn portg(self) -> &'a mut W {
1168        self.variant(EXTIPSEL15_A::PORTG)
1169    }
1170    #[doc = "Port H group selected for external interrupt 15"]
1171    #[inline(always)]
1172    pub fn porth(self) -> &'a mut W {
1173        self.variant(EXTIPSEL15_A::PORTH)
1174    }
1175    #[doc = "Port I group selected for external interrupt 15"]
1176    #[inline(always)]
1177    pub fn porti(self) -> &'a mut W {
1178        self.variant(EXTIPSEL15_A::PORTI)
1179    }
1180}
1181impl R {
1182    #[doc = "Bits 0:3 - External Interrupt 8 Port Select"]
1183    #[inline(always)]
1184    pub fn extipsel8(&self) -> EXTIPSEL8_R {
1185        EXTIPSEL8_R::new((self.bits & 0x0f) as u8)
1186    }
1187    #[doc = "Bits 4:7 - External Interrupt 9 Port Select"]
1188    #[inline(always)]
1189    pub fn extipsel9(&self) -> EXTIPSEL9_R {
1190        EXTIPSEL9_R::new(((self.bits >> 4) & 0x0f) as u8)
1191    }
1192    #[doc = "Bits 8:11 - External Interrupt 10 Port Select"]
1193    #[inline(always)]
1194    pub fn extipsel10(&self) -> EXTIPSEL10_R {
1195        EXTIPSEL10_R::new(((self.bits >> 8) & 0x0f) as u8)
1196    }
1197    #[doc = "Bits 12:15 - External Interrupt 11 Port Select"]
1198    #[inline(always)]
1199    pub fn extipsel11(&self) -> EXTIPSEL11_R {
1200        EXTIPSEL11_R::new(((self.bits >> 12) & 0x0f) as u8)
1201    }
1202    #[doc = "Bits 16:19 - External Interrupt 12 Port Select"]
1203    #[inline(always)]
1204    pub fn extipsel12(&self) -> EXTIPSEL12_R {
1205        EXTIPSEL12_R::new(((self.bits >> 16) & 0x0f) as u8)
1206    }
1207    #[doc = "Bits 20:23 - External Interrupt 13 Port Select"]
1208    #[inline(always)]
1209    pub fn extipsel13(&self) -> EXTIPSEL13_R {
1210        EXTIPSEL13_R::new(((self.bits >> 20) & 0x0f) as u8)
1211    }
1212    #[doc = "Bits 24:27 - External Interrupt 14 Port Select"]
1213    #[inline(always)]
1214    pub fn extipsel14(&self) -> EXTIPSEL14_R {
1215        EXTIPSEL14_R::new(((self.bits >> 24) & 0x0f) as u8)
1216    }
1217    #[doc = "Bits 28:31 - External Interrupt 15 Port Select"]
1218    #[inline(always)]
1219    pub fn extipsel15(&self) -> EXTIPSEL15_R {
1220        EXTIPSEL15_R::new(((self.bits >> 28) & 0x0f) as u8)
1221    }
1222}
1223impl W {
1224    #[doc = "Bits 0:3 - External Interrupt 8 Port Select"]
1225    #[inline(always)]
1226    pub fn extipsel8(&mut self) -> EXTIPSEL8_W {
1227        EXTIPSEL8_W::new(self)
1228    }
1229    #[doc = "Bits 4:7 - External Interrupt 9 Port Select"]
1230    #[inline(always)]
1231    pub fn extipsel9(&mut self) -> EXTIPSEL9_W {
1232        EXTIPSEL9_W::new(self)
1233    }
1234    #[doc = "Bits 8:11 - External Interrupt 10 Port Select"]
1235    #[inline(always)]
1236    pub fn extipsel10(&mut self) -> EXTIPSEL10_W {
1237        EXTIPSEL10_W::new(self)
1238    }
1239    #[doc = "Bits 12:15 - External Interrupt 11 Port Select"]
1240    #[inline(always)]
1241    pub fn extipsel11(&mut self) -> EXTIPSEL11_W {
1242        EXTIPSEL11_W::new(self)
1243    }
1244    #[doc = "Bits 16:19 - External Interrupt 12 Port Select"]
1245    #[inline(always)]
1246    pub fn extipsel12(&mut self) -> EXTIPSEL12_W {
1247        EXTIPSEL12_W::new(self)
1248    }
1249    #[doc = "Bits 20:23 - External Interrupt 13 Port Select"]
1250    #[inline(always)]
1251    pub fn extipsel13(&mut self) -> EXTIPSEL13_W {
1252        EXTIPSEL13_W::new(self)
1253    }
1254    #[doc = "Bits 24:27 - External Interrupt 14 Port Select"]
1255    #[inline(always)]
1256    pub fn extipsel14(&mut self) -> EXTIPSEL14_W {
1257        EXTIPSEL14_W::new(self)
1258    }
1259    #[doc = "Bits 28:31 - External Interrupt 15 Port Select"]
1260    #[inline(always)]
1261    pub fn extipsel15(&mut self) -> EXTIPSEL15_W {
1262        EXTIPSEL15_W::new(self)
1263    }
1264    #[doc = "Writes raw bits to the register."]
1265    #[inline(always)]
1266    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
1267        self.0.bits(bits);
1268        self
1269    }
1270}
1271#[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"]
1272pub struct EXTIPSELH_SPEC;
1273impl crate::RegisterSpec for EXTIPSELH_SPEC {
1274    type Ux = u32;
1275}
1276#[doc = "`read()` method returns [extipselh::R](R) reader structure"]
1277impl crate::Readable for EXTIPSELH_SPEC {
1278    type Reader = R;
1279}
1280#[doc = "`write(|w| ..)` method takes [extipselh::W](W) writer structure"]
1281impl crate::Writable for EXTIPSELH_SPEC {
1282    type Writer = W;
1283}
1284#[doc = "`reset()` method sets EXTIPSELH to value 0"]
1285impl crate::Resettable for EXTIPSELH_SPEC {
1286    #[inline(always)]
1287    fn reset_value() -> Self::Ux {
1288        0
1289    }
1290}