diff --git a/Production/Firmware/aic_pico.uf2 b/Production/Firmware/aic_pico.uf2 index 7fb9ba8..32aa3e9 100644 Binary files a/Production/Firmware/aic_pico.uf2 and b/Production/Firmware/aic_pico.uf2 differ diff --git a/firmware/src/lib/aime.c b/firmware/src/lib/aime.c index b779902..595dea8 100644 --- a/firmware/src/lib/aime.c +++ b/firmware/src/lib/aime.c @@ -333,6 +333,9 @@ static void cmd_detect_card() } send_response(); + if (card.card_type != NFC_CARD_NONE) { + nfc_identify_last_card(); + } } static void cmd_card_select() diff --git a/firmware/src/lib/nfc.c b/firmware/src/lib/nfc.c index 45ddcf2..13d0da3 100644 --- a/firmware/src/lib/nfc.c +++ b/firmware/src/lib/nfc.c @@ -15,6 +15,8 @@ #include "pn532.h" #include "pn5180.h" +#define DEBUG(...) { if (nfc_runtime.debug) printf(__VA_ARGS__); } + nfc_runtime_t nfc_runtime; static enum { @@ -383,6 +385,7 @@ static void identify_15693() void nfc_identify_last_card() { if (time_us_64() - last_card_time > CARD_INFO_TIMEOUT_US) { + DEBUG("\nLast card expired, no identification"); return; } diff --git a/firmware/src/main.c b/firmware/src/main.c index 1d17225..9f0076a 100644 --- a/firmware/src/main.c +++ b/firmware/src/main.c @@ -205,7 +205,9 @@ static void cardio_run() nfc_rf_field(true); nfc_card_t card = nfc_detect_card(); - nfc_identify_last_card(); + if (card.card_type != NFC_CARD_NONE) { + nfc_identify_last_card(); + } nfc_rf_field(false); if (memcmp(&old_card, &card, sizeof(old_card)) == 0) {