#[cfg(any(feature = "board-hifive1", feature = "board-hifive1-revb"))]
#[macro_export]
macro_rules! pin {
($gpio:ident, none) => {
()
};
($gpio:ident, spi0_sck) => {
$gpio.pin5
};
($gpio:ident, spi0_mosi) => {
$gpio.pin3
};
($gpio:ident, spi0_miso) => {
$gpio.pin4
};
($gpio:ident, spi0_ss0) => {
$gpio.pin2
};
($gpio:ident, spi0_ss2) => {
$gpio.pin9
};
($gpio:ident, spi0_ss3) => {
$gpio.pin10
};
($gpio:ident, i2c0_sda) => {
$gpio.pin12
};
($gpio:ident, i2c0_scl) => {
$gpio.pin13
};
($gpio:ident, uart0_tx) => {
$gpio.pin17
};
($gpio:ident, uart0_rx) => {
$gpio.pin16
};
($gpio:ident, dig0) => {
$gpio.pin16
};
($gpio:ident, dig1) => {
$gpio.pin17
};
($gpio:ident, dig2) => {
$gpio.pin18
};
($gpio:ident, dig3) => {
$gpio.pin19
};
($gpio:ident, dig4) => {
$gpio.pin20
};
($gpio:ident, dig5) => {
$gpio.pin21
};
($gpio:ident, dig6) => {
$gpio.pin22
};
($gpio:ident, dig7) => {
$gpio.pin23
};
($gpio:ident, dig8) => {
$gpio.pin0
};
($gpio:ident, dig9) => {
$gpio.pin1
};
($gpio:ident, dig10) => {
$gpio.pin2
};
($gpio:ident, dig11) => {
$gpio.pin3
};
($gpio:ident, dig12) => {
$gpio.pin4
};
($gpio:ident, dig13) => {
$gpio.pin5
};
($gpio:ident, dig14) => {
$gpio.pin8
}; ($gpio:ident, dig15) => {
$gpio.pin9
};
($gpio:ident, dig16) => {
$gpio.pin10
};
($gpio:ident, dig17) => {
$gpio.pin11
};
($gpio:ident, dig18) => {
$gpio.pin12
};
($gpio:ident, dig19) => {
$gpio.pin13
};
($gpio:ident, led_red) => {
$gpio.pin22
};
($gpio:ident, led_green) => {
$gpio.pin19
};
($gpio:ident, led_blue) => {
$gpio.pin21
};
}
#[cfg(feature = "board-redv")]
#[macro_export]
macro_rules! pin {
($gpio:ident, none) => {
()
};
($gpio:ident, spi0_sck) => {
$gpio.pin5
};
($gpio:ident, spi0_mosi) => {
$gpio.pin3
};
($gpio:ident, spi0_miso) => {
$gpio.pin4
};
($gpio:ident, spi0_ss0) => {
$gpio.pin2
};
($gpio:ident, spi0_ss2) => {
$gpio.pin9
};
($gpio:ident, spi0_ss3) => {
$gpio.pin10
};
($gpio:ident, i2c0_sda) => {
$gpio.pin12
};
($gpio:ident, i2c0_scl) => {
$gpio.pin13
};
($gpio:ident, uart0_tx) => {
$gpio.pin17
};
($gpio:ident, uart0_rx) => {
$gpio.pin16
};
($gpio:ident, dig0) => {
$gpio.pin16
};
($gpio:ident, dig1) => {
$gpio.pin17
};
($gpio:ident, dig2) => {
$gpio.pin18
};
($gpio:ident, dig3) => {
$gpio.pin19
};
($gpio:ident, dig4) => {
$gpio.pin20
};
($gpio:ident, dig5) => {
$gpio.pin21
};
($gpio:ident, dig6) => {
$gpio.pin22
};
($gpio:ident, dig7) => {
$gpio.pin23
};
($gpio:ident, dig8) => {
$gpio.pin0
};
($gpio:ident, dig9) => {
$gpio.pin1
};
($gpio:ident, dig10) => {
$gpio.pin2
};
($gpio:ident, dig11) => {
$gpio.pin3
};
($gpio:ident, dig12) => {
$gpio.pin4
};
($gpio:ident, dig13) => {
$gpio.pin5
};
($gpio:ident, dig14) => {
$gpio.pin8
}; ($gpio:ident, dig15) => {
$gpio.pin9
};
($gpio:ident, dig16) => {
$gpio.pin10
};
($gpio:ident, dig17) => {
$gpio.pin11
};
($gpio:ident, dig18) => {
$gpio.pin12
};
($gpio:ident, dig19) => {
$gpio.pin13
};
($gpio:ident, led_blue) => {
$gpio.pin5
};
}
#[macro_export]
macro_rules! pins {
( $gpio:ident, ($($name:ident),+) ) => {
($($crate::pin!($gpio, $name)),+)
}
}