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: with open(TEST_PIPE, 'r') as pipe:
success, card = (True, pipe.readline()) success, card = (True, pipe.readline())
else: else:
nfc.SAMConfig()
success, card = nfc.readPassiveTargetID(pn532.PN532_MIFARE_ISO14443A_106KBPS) success, card = nfc.readPassiveTargetID(pn532.PN532_MIFARE_ISO14443A_106KBPS)
try: if not TEST:
# ensure we have communication with the reader try:
if nfc.getFirmwareVersion(): # ensure we have communication with the reader
feed_watchdog() if nfc.getFirmwareVersion():
except: feed_watchdog()
continue else:
raise
except:
logging.error('Problem communicating with NFC reader!')
time.sleep(1)
continue
try: try:
card = binascii.hexlify(card).decode().strip() card = binascii.hexlify(card).decode().strip()