implement basic embassy framework

This commit is contained in:
2026-08-14 19:14:44 +00:00
parent 7ce3a60a08
commit 88dce365ad
8 changed files with 71 additions and 63 deletions
-15
View File
@@ -1,15 +0,0 @@
use esp_hal::gpio::{Input, InputConfig, Pull};
use esp_hal::peripherals::GPIO38;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum NavCommand {
NextCard,
PrevCard,
Select,
ScanTag,
}
pub fn init_navigation_button(pin: GPIO38<'static>) -> Input<'static> {
let button_config = InputConfig::default().with_pull(Pull::Up);
Input::new(pin, button_config)
}
+19
View File
@@ -0,0 +1,19 @@
use esp_hal::gpio::{Input, InputConfig, Pull};
use esp_hal::peripherals::Peripherals;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum NavCommand {
NextCard,
PrevCard,
Select,
ScanTag,
}
pub struct Inputs {
pub up: Input<'static>,
pub down: Input<'static>,
pub left: Input<'static>,
pub right: Input<'static>,
pub back: Input<'static>,
pub ok: Input<'static>,
}
+3
View File
@@ -0,0 +1,3 @@
use crate::navigation::inputs::Inputs;
pub async fn show(_inputs: &mut Inputs) {}
+8
View File
@@ -0,0 +1,8 @@
use crate::navigation::inputs::Inputs;
#[embassy_executor::task]
pub async fn run(mut inputs: Inputs) {
loop {
crate::navigation::main_menu::show(&mut inputs).await
}
}