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