use hermes_five::devices::{Button, InputEvent};
use hermes_five::hardware::{Board, BoardEvent};
#[hermes_five::runtime]
async fn main() {
let board = Board::run();
board.on(BoardEvent::OnReady, |board: Board| async move {
let button = Button::new_pullup(&board, 8)?;
button.on(InputEvent::OnChange, |value: bool| async move {
println!("Push button value changed: {}", value);
Ok(())
});
button.on(InputEvent::OnPress, |_: ()| async move {
println!("Push button pressed");
Ok(())
});
button.on(InputEvent::OnRelease, |_: ()| async move {
println!("Push button released");
Ok(())
});
Ok(())
});
}