1pub use nrf52::gpio::{GPIOPin, Pin, Port};
6
7pub const NUM_PINS: usize = 48;
8
9pub const fn nrf52840_gpio_create<'a>() -> Port<'a, NUM_PINS> {
10 Port::new([
11 GPIOPin::new(Pin::P0_00),
12 GPIOPin::new(Pin::P0_01),
13 GPIOPin::new(Pin::P0_02),
14 GPIOPin::new(Pin::P0_03),
15 GPIOPin::new(Pin::P0_04),
16 GPIOPin::new(Pin::P0_05),
17 GPIOPin::new(Pin::P0_06),
18 GPIOPin::new(Pin::P0_07),
19 GPIOPin::new(Pin::P0_08),
20 GPIOPin::new(Pin::P0_09),
21 GPIOPin::new(Pin::P0_10),
22 GPIOPin::new(Pin::P0_11),
23 GPIOPin::new(Pin::P0_12),
24 GPIOPin::new(Pin::P0_13),
25 GPIOPin::new(Pin::P0_14),
26 GPIOPin::new(Pin::P0_15),
27 GPIOPin::new(Pin::P0_16),
28 GPIOPin::new(Pin::P0_17),
29 GPIOPin::new(Pin::P0_18),
30 GPIOPin::new(Pin::P0_19),
31 GPIOPin::new(Pin::P0_20),
32 GPIOPin::new(Pin::P0_21),
33 GPIOPin::new(Pin::P0_22),
34 GPIOPin::new(Pin::P0_23),
35 GPIOPin::new(Pin::P0_24),
36 GPIOPin::new(Pin::P0_25),
37 GPIOPin::new(Pin::P0_26),
38 GPIOPin::new(Pin::P0_27),
39 GPIOPin::new(Pin::P0_28),
40 GPIOPin::new(Pin::P0_29),
41 GPIOPin::new(Pin::P0_30),
42 GPIOPin::new(Pin::P0_31),
43 GPIOPin::new(Pin::P1_00),
44 GPIOPin::new(Pin::P1_01),
45 GPIOPin::new(Pin::P1_02),
46 GPIOPin::new(Pin::P1_03),
47 GPIOPin::new(Pin::P1_04),
48 GPIOPin::new(Pin::P1_05),
49 GPIOPin::new(Pin::P1_06),
50 GPIOPin::new(Pin::P1_07),
51 GPIOPin::new(Pin::P1_08),
52 GPIOPin::new(Pin::P1_09),
53 GPIOPin::new(Pin::P1_10),
54 GPIOPin::new(Pin::P1_11),
55 GPIOPin::new(Pin::P1_12),
56 GPIOPin::new(Pin::P1_13),
57 GPIOPin::new(Pin::P1_14),
58 GPIOPin::new(Pin::P1_15),
59 ])
60}