From f000831d72d47dfd86b96d6494500e78413f4449 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Redon?= Date: Tue, 10 Jul 2018 15:58:40 +0200 Subject: sniffer: fix inverted reset meaning Change-Id: I860e2e29c059e1e0ec126695bb68d489891a17da --- firmware/libcommon/source/sniffer.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/firmware/libcommon/source/sniffer.c b/firmware/libcommon/source/sniffer.c index 0ca71a5..c58b047 100644 --- a/firmware/libcommon/source/sniffer.c +++ b/firmware/libcommon/source/sniffer.c @@ -832,11 +832,11 @@ static void Sniffer_reset_isr(const Pin* pPin) TRACE_ERROR("Pin other than reset caused a interrupt\n\r"); return; } - /* Update the ISO state according to the reset change */ + /* Update the ISO state according to the reset change (reset is active low) */ if (PIO_Get(&pin_rst)) { - change_flags |= SNIFF_CHANGE_FLAG_RESET_HOLD; /* set flag and let main loop send it */ - } else { change_flags |= SNIFF_CHANGE_FLAG_RESET_RELEASE; /* set flag and let main loop send it */ + } else { + change_flags |= SNIFF_CHANGE_FLAG_RESET_HOLD; /* set flag and let main loop send it */ } } @@ -1011,13 +1011,13 @@ void Sniffer_run(void) /* Handle flags */ if (change_flags) { /* WARNING this is not synced with the data buffer handling */ if (change_flags & SNIFF_CHANGE_FLAG_RESET_HOLD) { - if (ISO7816_S_WAIT_ATR != iso_state) { - change_state(ISO7816_S_WAIT_ATR); + if (ISO7816_S_RESET != iso_state) { + change_state(ISO7816_S_RESET); } } if (change_flags & SNIFF_CHANGE_FLAG_RESET_RELEASE) { - if (ISO7816_S_RESET != iso_state) { - change_state(ISO7816_S_RESET); + if (ISO7816_S_WAIT_ATR != iso_state) { + change_state(ISO7816_S_WAIT_ATR); } } if (change_flags & SNIFF_CHANGE_FLAG_TIMEOUT_WT) { -- cgit v1.2.3