sam3_hal/pio/
piod.rs

1//! Wrapper struct for [`PIOD`] and its pins.
2#![allow(unused_imports)]
3
4use crate::{
5    pac::PIOD,
6    pio::peripheral::{PeripheralA, PeripheralB},
7};
8use seq_macro::seq;
9
10seq! {N in 0..31 {
11    crate::pio::def_pioc! {
12        PioD(PIOD) => {
13            #(Pd: N,)*
14        }
15    }
16}}
17
18crate::pio::pin_peripherals! {
19    pio: PIOD,
20    pinopts: [
21        [pin: Pd0, peripherals: [A, B]],
22        [pin: Pd1, peripherals: [A, B]],
23        [pin: Pd2, peripherals: [A, B]],
24        [pin: Pd3, peripherals: [A, B]],
25        [pin: Pd4, peripherals: [A, B]],
26        [pin: Pd5, peripherals: [A, B]],
27        [pin: Pd6, peripherals: [A, B]],
28        [pin: Pd7, peripherals: [A, B]],
29        [pin: Pd8, peripherals: [A, B]],
30        [pin: Pd9, peripherals: [A, B]],
31        [pin: Pd10, peripherals: [A]],
32    ],
33}
34
35#[cfg(feature = "sam3x217")]
36crate::pio::pin_peripherals! {
37    pio: PIOD,
38    pinopts: [
39        [pin: Pd11, peripherals: [A]],
40        [pin: Pd12, peripherals: [A]],
41        [pin: Pd13, peripherals: [A]],
42        [pin: Pd14, peripherals: [A]],
43        [pin: Pd15, peripherals: [A]],
44        [pin: Pd16, peripherals: [A]],
45        [pin: Pd17, peripherals: [A]],
46        [pin: Pd18, peripherals: [A]],
47        [pin: Pd19, peripherals: [A]],
48        [pin: Pd20, peripherals: [A]],
49        [pin: Pd21, peripherals: [A]],
50        [pin: Pd22, peripherals: [A]],
51        [pin: Pd23, peripherals: [A]],
52        [pin: Pd24, peripherals: [A]],
53        [pin: Pd25, peripherals: [A]],
54        [pin: Pd26, peripherals: [A]],
55        [pin: Pd27, peripherals: [A]],
56        [pin: Pd28, peripherals: [A]],
57        [pin: Pd29, peripherals: [A]],
58        [pin: Pd30, peripherals: [A]],
59    ],
60}