nrf52832/
gpio.rs

1// Licensed under the Apache License, Version 2.0 or the MIT License.
2// SPDX-License-Identifier: Apache-2.0 OR MIT
3// Copyright Tock Contributors 2022.
4
5pub use nrf52::gpio::{GPIOPin, Pin, Port};
6
7pub const NUM_PINS: usize = 32;
8
9pub fn nrf52832_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    ])
44}