implement card model

This commit is contained in:
2026-08-18 20:51:19 +00:00
parent b55b444db4
commit 68250b2924
5 changed files with 82 additions and 29 deletions
+8 -12
View File
@@ -1,3 +1,9 @@
use crate::card::decoder::{
decode_known_event, decode_packed_card_text, decode_secret, split_nfc_hex,
};
use crate::card::model::NfcPayload;
use crate::display::palette::{PALETTES, TYPE_STYLES};
use crate::display::sprite::render_sprite_onto_ili9341;
use alloc::{format, string::String};
use embedded_graphics::mono_font::MonoTextStyle;
use embedded_graphics::mono_font::ascii::FONT_6X10;
@@ -7,10 +13,6 @@ use embedded_graphics::prelude::RgbColor;
use embedded_graphics::text::Text;
use embedded_graphics::{Drawable, geometry::Size, primitives::Rectangle};
use embedded_graphics_core::draw_target::DrawTarget;
use crate::card::decoder::{decode_known_event, decode_packed_card_text, decode_secret, split_nfc_hex};
use crate::card::model::NfcPayload;
use crate::display::palette::{PALETTES, TYPE_STYLES};
use crate::display::sprite::render_sprite_onto_ili9341;
pub fn render_nfc_payload<D>(display: &mut D, payload: &[u8; 858])
where
@@ -23,10 +25,7 @@ where
let (name, trait1, trait2, trait3) = decode_packed_card_text(nfc_payload.packed_card_text);
let secret = decode_secret(nfc_payload.secret);
let background = Rectangle::new(
Point::new(0, 0),
Size::new(240, 320),
);
let background = Rectangle::new(Point::new(0, 0), Size::new(240, 320));
let bg_color: Rgb565 = TYPE_STYLES[(nfc_payload.card_type - 1) as usize]
.primary
.into_rgb565();
@@ -48,10 +47,7 @@ where
.draw(display)
.unwrap();
Text::new(
&format!(
"Event: {}",
decode_known_event(nfc_payload.event_encoding).unwrap_or("Unknown")
),
&format!("Event: {}", decode_known_event(nfc_payload.event_encoding)),
Point::new(20, 260),
style,
)