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