use pigdef::config::InputPull;
use pigdef::description::PinDescription;
use pigdef::pin_function::PinFunction;
use std::borrow::Cow;
const PIN_1: PinDescription = PinDescription {
bpn: 1,
bcm: None,
name: Cow::Borrowed("3V3"),
options: Cow::Borrowed(&[]),
};
const PIN_2: PinDescription = PinDescription {
bpn: 2,
bcm: None,
name: Cow::Borrowed("5V"),
options: Cow::Borrowed(&[]),
};
const PIN_3: PinDescription = PinDescription {
bpn: 3,
bcm: Some(2),
name: Cow::Borrowed("GPIO2"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullUp)),
PinFunction::Output(None),
]),
};
const PIN_4: PinDescription = PinDescription {
bpn: 4,
bcm: None,
name: Cow::Borrowed("5V"),
options: Cow::Borrowed(&[]),
};
const PIN_5: PinDescription = PinDescription {
bpn: 5,
bcm: Some(3),
name: Cow::Borrowed("GPIO3"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullUp)),
PinFunction::Output(None),
]),
};
const PIN_6: PinDescription = PinDescription {
bpn: 6,
bcm: None,
name: Cow::Borrowed("Ground"),
options: Cow::Borrowed(&[]),
};
const PIN_7: PinDescription = PinDescription {
bpn: 7,
bcm: Some(4),
name: Cow::Borrowed("GPIO4"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullUp)),
PinFunction::Output(None),
]),
};
const PIN_8: PinDescription = PinDescription {
bpn: 8,
bcm: Some(14),
name: Cow::Borrowed("GPIO14"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_9: PinDescription = PinDescription {
bpn: 9,
bcm: None,
name: Cow::Borrowed("Ground"),
options: Cow::Borrowed(&[]),
};
const PIN_10: PinDescription = PinDescription {
bpn: 10,
bcm: Some(15),
name: Cow::Borrowed("GPIO15"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_11: PinDescription = PinDescription {
bpn: 11,
bcm: Some(17),
name: Cow::Borrowed("GPIO17"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_12: PinDescription = PinDescription {
bpn: 12,
bcm: Some(18),
name: Cow::Borrowed("GPIO18"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_13: PinDescription = PinDescription {
bpn: 13,
bcm: Some(27),
name: Cow::Borrowed("GPIO27"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_14: PinDescription = PinDescription {
bpn: 14,
bcm: None,
name: Cow::Borrowed("Ground"),
options: Cow::Borrowed(&[]),
};
const PIN_15: PinDescription = PinDescription {
bpn: 15,
bcm: Some(22),
name: Cow::Borrowed("GPIO22"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_16: PinDescription = PinDescription {
bpn: 16,
bcm: Some(23),
name: Cow::Borrowed("GPIO23"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_17: PinDescription = PinDescription {
bpn: 17,
bcm: None,
name: Cow::Borrowed("3V3"),
options: Cow::Borrowed(&[]),
};
const PIN_18: PinDescription = PinDescription {
bpn: 18,
bcm: Some(24),
name: Cow::Borrowed("GPIO24"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_19: PinDescription = PinDescription {
bpn: 19,
bcm: Some(10),
name: Cow::Borrowed("GPIO10"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_20: PinDescription = PinDescription {
bpn: 20,
bcm: None,
name: Cow::Borrowed("Ground"),
options: Cow::Borrowed(&[]),
};
const PIN_21: PinDescription = PinDescription {
bpn: 21,
bcm: Some(9),
name: Cow::Borrowed("GPIO9"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_22: PinDescription = PinDescription {
bpn: 22,
bcm: Some(25),
name: Cow::Borrowed("GPIO25"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_23: PinDescription = PinDescription {
bpn: 23,
bcm: Some(11),
name: Cow::Borrowed("GPIO11"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_24: PinDescription = PinDescription {
bpn: 24,
bcm: Some(8),
name: Cow::Borrowed("GPIO8"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullUp)),
PinFunction::Output(None),
]),
};
const PIN_25: PinDescription = PinDescription {
bpn: 25,
bcm: None,
name: Cow::Borrowed("Ground"),
options: Cow::Borrowed(&[]),
};
const PIN_26: PinDescription = PinDescription {
bpn: 26,
bcm: Some(7),
name: Cow::Borrowed("GPIO7"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullUp)),
PinFunction::Output(None),
]),
};
const PIN_27: PinDescription = PinDescription {
bpn: 27,
bcm: None,
name: Cow::Borrowed("GPIO0"), options: Cow::Borrowed(&[
]),
};
const PIN_28: PinDescription = PinDescription {
bpn: 28,
bcm: None,
name: Cow::Borrowed("GPIO1"), options: Cow::Borrowed(&[
]),
};
const PIN_29: PinDescription = PinDescription {
bpn: 29,
bcm: Some(5),
name: Cow::Borrowed("GPIO5"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullUp)),
PinFunction::Output(None),
]),
};
const PIN_30: PinDescription = PinDescription {
bpn: 30,
bcm: None,
name: Cow::Borrowed("Ground"),
options: Cow::Borrowed(&[]),
};
const PIN_31: PinDescription = PinDescription {
bpn: 31,
bcm: Some(6),
name: Cow::Borrowed("GPIO6"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullUp)),
PinFunction::Output(None),
]),
};
const PIN_32: PinDescription = PinDescription {
bpn: 32,
bcm: Some(12),
name: Cow::Borrowed("GPIO12"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_33: PinDescription = PinDescription {
bpn: 33,
bcm: Some(13),
name: Cow::Borrowed("GPIO13"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_34: PinDescription = PinDescription {
bpn: 34,
bcm: None,
name: Cow::Borrowed("Ground"),
options: Cow::Borrowed(&[]),
};
const PIN_35: PinDescription = PinDescription {
bpn: 35,
bcm: Some(19),
name: Cow::Borrowed("GPIO19"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_36: PinDescription = PinDescription {
bpn: 36,
bcm: Some(16),
name: Cow::Borrowed("GPIO16"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_37: PinDescription = PinDescription {
bpn: 37,
bcm: Some(26),
name: Cow::Borrowed("GPIO26"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_38: PinDescription = PinDescription {
bpn: 38,
bcm: Some(20),
name: Cow::Borrowed("GPIO20"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
const PIN_39: PinDescription = PinDescription {
bpn: 39,
bcm: None,
name: Cow::Borrowed("Ground"),
options: Cow::Borrowed(&[]),
};
const PIN_40: PinDescription = PinDescription {
bpn: 40,
bcm: Some(21),
name: Cow::Borrowed("GPIO21"),
options: Cow::Borrowed(&[
PinFunction::Input(Some(InputPull::PullDown)),
PinFunction::Output(None),
]),
};
pub(crate) const GPIO_PIN_DESCRIPTIONS: [PinDescription; 40] = [
PIN_1, PIN_2, PIN_3, PIN_4, PIN_5, PIN_6, PIN_7, PIN_8, PIN_9, PIN_10, PIN_11, PIN_12, PIN_13,
PIN_14, PIN_15, PIN_16, PIN_17, PIN_18, PIN_19, PIN_20, PIN_21, PIN_22, PIN_23, PIN_24, PIN_25,
PIN_26, PIN_27, PIN_28, PIN_29, PIN_30, PIN_31, PIN_32, PIN_33, PIN_34, PIN_35, PIN_36, PIN_37,
PIN_38, PIN_39, PIN_40,
];