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