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