efm32pg12b500_pac/gpio/
extipsell.rs

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