diff options
author | Kévin Redon <kredon@sysmocom.de> | 2018-07-10 15:58:40 +0200 |
---|---|---|
committer | Kévin Redon <kredon@sysmocom.de> | 2018-07-11 22:01:58 +0200 |
commit | f000831d72d47dfd86b96d6494500e78413f4449 (patch) | |
tree | 329402f5ac0f2abd56705ee209d37744dc522532 | |
parent | b37bda0b55fbd474a45235c96d6283745b74bd8b (diff) |
sniffer: fix inverted reset meaning
Change-Id: I860e2e29c059e1e0ec126695bb68d489891a17da
-rw-r--r-- | firmware/libcommon/source/sniffer.c | 14 |
1 files 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) { |