initial safety biased leased control architecture

This commit is contained in:
2025-10-22 22:20:28 -07:00
parent 26271fcb17
commit fd63bdc0c9
9 changed files with 276 additions and 153 deletions

View File

@@ -1,6 +1,5 @@
mod pin;
mod driver;
mod task;
mod driver;
use anyhow::Result;
use embedded_hal::digital::PinState;
@@ -8,15 +7,9 @@ use embedded_hal::digital::PinState;
pub trait Mcp23017 {
fn init(&mut self) -> Result<()>;
fn new_output_pin(&self, pin: u8) -> Result<impl Mcp23017OutputPin>;
fn set_pin(&mut self, pin: u8, value: PinState) -> Result<()>;
fn flush(&self) -> Result<()>;
}
pub trait Mcp23017OutputPin {
fn set_state(&mut self, pin_state: PinState);
fn set_state_on_drop(&mut self, pin_state: PinState);
fn flush(&mut self) -> Result<()>;
}
pub use driver::Mcp23017Driver;