Improve recovery after NFC comms failure

This commit is contained in:
Tanner Collin 2023-08-30 23:34:33 +01:00
parent 44ece0b3b0
commit 743ac56d3a

18
main.py
View File

@ -124,14 +124,20 @@ def reader_thread(card_data_queue):
with open(TEST_PIPE, 'r') as pipe:
success, card = (True, pipe.readline())
else:
nfc.SAMConfig()
success, card = nfc.readPassiveTargetID(pn532.PN532_MIFARE_ISO14443A_106KBPS)
try:
# ensure we have communication with the reader
if nfc.getFirmwareVersion():
feed_watchdog()
except:
continue
if not TEST:
try:
# ensure we have communication with the reader
if nfc.getFirmwareVersion():
feed_watchdog()
else:
raise
except:
logging.error('Problem communicating with NFC reader!')
time.sleep(1)
continue
try:
card = binascii.hexlify(card).decode().strip()