From bdc64c2d0d073a4dc991408038b4da6f68848e1b Mon Sep 17 00:00:00 2001 From: whowechina Date: Mon, 27 May 2024 10:10:31 +0800 Subject: [PATCH] Better bana timing --- Production/Firmware/aic_pico.uf2 | Bin 164352 -> 164352 bytes firmware/src/lib/bana.c | 10 +++++----- firmware/src/lib/nfc.c | 6 +++--- firmware/src/lib/pn5180.c | 18 ++++++++++++------ firmware/src/lib/pn5180.h | 2 +- firmware/src/lib/pn532.c | 6 +++++- firmware/src/lib/pn532.h | 2 +- 7 files changed, 27 insertions(+), 17 deletions(-) diff --git a/Production/Firmware/aic_pico.uf2 b/Production/Firmware/aic_pico.uf2 index d8b5f61936548153adb32a7dbea8e7ff35d92963..5a95b1779c3c4f55a3b63ffecbb638b4a4d84c16 100644 GIT binary patch delta 13410 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 i87>hI??(JI!>aCrRV-l@cfqQ!sP358