implement error view which displays all error on the display

This commit was merged in pull request #48.
This commit is contained in:
2026-08-29 20:19:14 +00:00
parent a31c818b37
commit ef10eec216
17 changed files with 316 additions and 92 deletions
+14 -9
View File
@@ -1,5 +1,7 @@
use crate::peripherals::Peripherals;
use alloc::boxed::Box;
use alloc::vec;
use core::error;
use crate::card::model::Card;
use crate::card::{decoder::split_nfc_hex, mock::*};
@@ -15,6 +17,7 @@ use embedded_graphics::pixelcolor::Rgb565;
use embedded_graphics::prelude::RgbColor;
use embedded_graphics_core::draw_target::DrawTarget;
use crate::peripherals::storage::cardstore::CardStoreError;
pub const MAX_SELECTED: i32 = 4;
#[derive(Debug, Clone)]
@@ -26,17 +29,19 @@ impl Navigable for MainMenu {
fn display(
&self,
outputs: &mut Outputs,
_: &Peripherals
) -> impl core::future::Future<Output = ()> + Send {
let display = &mut outputs.primary_display;
display.clear(Rgb565::BLACK).unwrap();
_: &Peripherals,
) -> impl core::future::Future<Output = Result<(), Box<dyn error::Error>>> + Send {
async move {
let display = &mut outputs.primary_display;
display.clear(Rgb565::BLACK).unwrap();
menu_item::show(display, "Scan card", 0, self.selected);
menu_item::show(display, "Last card", 1, self.selected);
menu_item::show(display, "Journal", 2, self.selected);
menu_item::show(display, "Settings", 3, self.selected);
menu_item::show(display, "Scan card", 0, self.selected);
menu_item::show(display, "Last card", 1, self.selected);
menu_item::show(display, "Journal", 2, self.selected);
menu_item::show(display, "Settings", 3, self.selected);
core::future::ready(())
Ok(())
}
}
fn handle_input(&self, input: Action) -> impl core::future::Future<Output = NewState> + Send {