Compare commits
3 Commits
57f701e8aa
...
53075f63ec
Author | SHA1 | Date | |
---|---|---|---|
|
53075f63ec | ||
|
1fb1c3d573 | ||
|
9f781497d8 |
|
@ -9,7 +9,9 @@ path = "static_pins_macros"
|
||||||
[dependencies.arduino-hal]
|
[dependencies.arduino-hal]
|
||||||
git = "https://github.com/rahix/avr-hal"
|
git = "https://github.com/rahix/avr-hal"
|
||||||
rev = "3e362624547462928a219c40f9ea8e3a64f21e5f"
|
rev = "3e362624547462928a219c40f9ea8e3a64f21e5f"
|
||||||
features = ["sparkfun-promicro"]
|
|
||||||
|
[features]
|
||||||
|
sparkfun-promicro = ["arduino-hal/sparkfun-promicro"]
|
||||||
|
|
||||||
[profile.dev]
|
[profile.dev]
|
||||||
panic = "abort"
|
panic = "abort"
|
||||||
|
|
29
src/lib.rs
29
src/lib.rs
|
@ -1,26 +1,7 @@
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
pub use static_pins_macros::*;
|
use arduino_hal::{hal::port::*, pac::*};
|
||||||
|
use static_pins_macros::impl_static_pin;
|
||||||
pub trait StaticPinOps {
|
|
||||||
type Port;
|
|
||||||
const PIN_NUM: u8;
|
|
||||||
const PIN_POS: u8;
|
|
||||||
|
|
||||||
fn into_input();
|
|
||||||
fn into_output();
|
|
||||||
fn into_output_high();
|
|
||||||
fn into_pull_up_input();
|
|
||||||
|
|
||||||
fn write(data: u8);
|
|
||||||
fn read() -> u8;
|
|
||||||
|
|
||||||
fn is_low() -> bool;
|
|
||||||
fn is_high() -> bool;
|
|
||||||
|
|
||||||
fn set_low();
|
|
||||||
fn set_high();
|
|
||||||
}
|
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! impl_static_pins {
|
macro_rules! impl_static_pins {
|
||||||
|
@ -50,3 +31,9 @@ macro_rules! impl_static_pins {
|
||||||
)+
|
)+
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "sparkfun-promicro")]
|
||||||
|
impl_static_pins!(
|
||||||
|
PB0, PB1, PB2, PB3, PB4, PB5, PB6, PB7, PC6, PC7, PD0, PD1, PD2, PD3, PD4, PD5, PD6, PD7, PE2,
|
||||||
|
PE6, PF0, PF1, PF4, PF5, PF6, PF7
|
||||||
|
);
|
||||||
|
|
Loading…
Reference in New Issue