Compare commits

..

4 Commits

Author SHA1 Message Date
d607cdec85 feat: rename crate 2025-04-25 16:24:43 +04:00
53075f63ec feat(feature): add sparkfun-promicro feature 2025-04-25 13:40:28 +04:00
1fb1c3d573 feat(trait): remove StaticPinOps 2025-04-25 13:40:06 +04:00
9f781497d8 feat(cfg): impl static pins (only for promicro) 2025-04-25 13:39:39 +04:00
2 changed files with 12 additions and 23 deletions

View File

@@ -1,5 +1,5 @@
[package] [package]
name = "static_pins" name = "static-pins"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2021"
@@ -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"

View File

@@ -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
);