From 34bb823455fec47be2d35fedc5af367474e3fd7b Mon Sep 17 00:00:00 2001 From: whowechina Date: Sat, 11 Jan 2025 20:56:32 +0800 Subject: [PATCH] Touch displays card ID --- Production/Firmware/aic_pico.uf2 | Bin 994816 -> 1011712 bytes firmware/src/gui.c | 81 ++++++++++++++++++++++++------- firmware/src/gui.h | 3 +- firmware/src/main.c | 4 +- 4 files changed, 69 insertions(+), 19 deletions(-) diff --git a/Production/Firmware/aic_pico.uf2 b/Production/Firmware/aic_pico.uf2 index 2e700b10c286e0a5e194d68ae5a24bffb6656f61..26be6f02e2514fd088e1a2bae3530ae61dddd6fd 100644 GIT binary patch delta 128591 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 RYg0xArbV?$AN_{+e*v2u(g^?n diff --git a/firmware/src/gui.c b/firmware/src/gui.c index 9801dd6..8fd8d85 100644 --- a/firmware/src/gui.c +++ b/firmware/src/gui.c @@ -45,8 +45,12 @@ void gui_level(uint8_t level) } static struct { - nfc_card_name card; uint64_t time; + nfc_card_name card; + struct { + uint8_t len; + uint8_t octects[15]; + } real, virtual; } card_splash; static inline bool card_splash_active() @@ -54,12 +58,34 @@ static inline bool card_splash_active() return time_us_64() - card_splash.time < 3000000; } -void gui_report_card(nfc_card_name card) +void gui_report_card_name(nfc_card_name card) { card_splash.card = card; card_splash.time = time_us_64(); } +void gui_report_card_id(const uint8_t *id, int len, bool virtual) +{ + if (len > sizeof(card_splash.real.octects)) { + len = sizeof(card_splash.real.octects); + } + + if (virtual) { + card_splash.virtual.len = len; + memcpy(card_splash.virtual.octects, id, len); + return; + } + + if ((card_splash.real.len == len) && + (memcmp(card_splash.real.octects, id, len) == 0)) { + return; + } + + card_splash.real.len = len; + memcpy(card_splash.real.octects, id, len); + card_splash.virtual.len = 0; +} + static int tapped_key = -1; static void draw_home_keypad() @@ -92,52 +118,73 @@ static void draw_home_keypad() } } -static void center_image(const image_t *img) +static void center_image(const image_t *img, int v_offset) { - gfx_img_draw(120 - img->width / 2, 140 - img->height / 2, img); + gfx_img_draw(120 - img->width / 2, 140 + v_offset - img->height / 2, img); } static void draw_home_aime() { - center_image(&image_aime_reader); + center_image(&image_aime_reader, 0); } static void draw_home_bana() { - center_image(&image_bana_reader); + center_image(&image_bana_reader, 0); } static void draw_home_card() { if (card_splash.card == CARD_AIC_SEGA) { - center_image(&image_aic_sega); + center_image(&image_aic_sega, -16); } else if (card_splash.card == CARD_AIC_KONAMI){ - center_image(&image_aic_konami); + center_image(&image_aic_konami, -16); } else if (card_splash.card == CARD_AIC_BANA) { - center_image(&image_aic_bana); + center_image(&image_aic_bana, -16); } else if (card_splash.card == CARD_AIC_NESICA) { - center_image(&image_aic_nesica); + center_image(&image_aic_nesica, -16); } else if (card_splash.card == CARD_AIC) { - center_image(&image_aic_generic); + center_image(&image_aic_generic, -16); } else if (card_splash.card == CARD_MIFARE) { - center_image(&image_mifare); + center_image(&image_mifare, -16); } else if (card_splash.card == CARD_AIME) { - center_image(&image_aime); + center_image(&image_aime, -16); } else if (card_splash.card == CARD_BANA) { - center_image(&image_bana); + center_image(&image_bana, -16); } else if (card_splash.card == CARD_NESICA) { - center_image(&image_nesica); + center_image(&image_nesica, -16); } else if (card_splash.card == CARD_VICINITY) { - center_image(&image_vicinity); + center_image(&image_vicinity, -16); } else if (card_splash.card == CARD_EAMUSE) { - center_image(&image_eamuse); + center_image(&image_eamuse, -16); } } +static void draw_card_id() +{ + char idstr[40]; + int pos = 0; + idstr[0] = '\0'; + for (int i = 0; i < card_splash.real.len; i++) { + pos += sprintf(idstr + pos, " %02X", card_splash.real.octects[i]); + } + + const lv_font_t *font = card_splash.real.len > 6 ? &lv_lts18 : &lv_lts20; + gfx_text_draw(118, 210, idstr, font, st7789_rgb565(0xffff00), ALIGN_CENTER); + + pos = 0; + idstr[0] = '\0'; + for (int i = 0; i < card_splash.virtual.len; i++) { + pos += sprintf(idstr + pos, "%02X", card_splash.virtual.octects[i]); + } + gfx_text_draw(120, 234, idstr, &lv_lts18, st7789_rgb565(0x00ffff), ALIGN_CENTER); +} + static void draw_home() { if (card_splash_active()) { draw_home_card(); + draw_card_id(); } else if (aime_is_active()) { draw_home_aime(); } else if (bana_is_active()) { diff --git a/firmware/src/gui.h b/firmware/src/gui.h index 0eafff9..0520d7e 100644 --- a/firmware/src/gui.h +++ b/firmware/src/gui.h @@ -17,6 +17,7 @@ void gui_init(); void gui_level(uint8_t level); void gui_loop(); uint16_t gui_keypad_read(); -void gui_report_card(nfc_card_name card); +void gui_report_card_name(nfc_card_name card); +void gui_report_card_id(const uint8_t *id, int len, bool virtual); #endif \ No newline at end of file diff --git a/firmware/src/main.c b/firmware/src/main.c index 9f0076a..9d826fd 100644 --- a/firmware/src/main.c +++ b/firmware/src/main.c @@ -158,7 +158,7 @@ static void core1_loop() void card_name_update_cb(nfc_card_name card_name) { - gui_report_card(card_name); + gui_report_card_name(card_name); } static void update_cardio(nfc_card_t *card) @@ -188,6 +188,7 @@ static void update_cardio(nfc_card_t *card) return; } + gui_report_card_id(hid_cardio.current, 9, true); printf(" -> CardIO "); for (int i = 1; i < 9; i++) { printf("%02X", hid_cardio.current[i]); @@ -207,6 +208,7 @@ static void cardio_run() nfc_card_t card = nfc_detect_card(); if (card.card_type != NFC_CARD_NONE) { nfc_identify_last_card(); + gui_report_card_id(card.uid, card.len, false); } nfc_rf_field(false);