From 2b11c7c75068f6e25da5cc4ed463ff78b2cc8900 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Sun, 26 Feb 2017 21:44:40 -0500 Subject: [PATCH] adjust timeouts on lf read/lf search to no timeout if threshold was set. NOTE: lf snoop already doesn't have a timeout... also adjusted PRIx64 to SCNx64 in em410xwrite --- client/cmdlf.c | 23 ++++++++++++++--------- client/cmdlfem4x.c | 2 +- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/client/cmdlf.c b/client/cmdlf.c index 5683a589..dc7185cc 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -35,7 +35,7 @@ #include "cmdlfviking.h" // for viking menu #include "cmdlfcotag.h" // for COTAG menu - +bool threshold_set = false; static int CmdHelp(const char *Cmd); @@ -510,7 +510,10 @@ int CmdLFSetConfig(const char *Cmd) case 't': errors |= param_getdec(Cmd,cmdp+1,&unsigned_trigg); cmdp+=2; - if(!errors) trigger_threshold = unsigned_trigg; + if(!errors) { + trigger_threshold = unsigned_trigg; + if (trigger_threshold > 0) threshold_set = true; + } break; case 'b': errors |= param_getdec(Cmd,cmdp+1,&bps); @@ -557,7 +560,7 @@ int CmdLFSetConfig(const char *Cmd) int CmdLFRead(const char *Cmd) { - + if (offline) return 0; uint8_t cmdp = 0; bool arg1 = false; if (param_getchar(Cmd, cmdp) == 'h') @@ -569,12 +572,14 @@ int CmdLFRead(const char *Cmd) UsbCommand c = {CMD_ACQUIRE_RAW_ADC_SAMPLES_125K, {arg1,0,0}}; clearCommandBuffer(); SendCommand(&c); - WaitForResponse(CMD_ACK,NULL); - //if ( !WaitForResponseTimeout(CMD_ACK,NULL,2500) ) { - // PrintAndLog("command execution time out"); - // return 1; - //} - + if (threshold_set) { + WaitForResponse(CMD_ACK,NULL); + } else { + if ( !WaitForResponseTimeout(CMD_ACK,NULL,2500) ) { + PrintAndLog("command execution time out"); + return 1; + } + } return 0; } diff --git a/client/cmdlfem4x.c b/client/cmdlfem4x.c index 38bb5c5d..f9103126 100644 --- a/client/cmdlfem4x.c +++ b/client/cmdlfem4x.c @@ -183,7 +183,7 @@ int CmdEM410xWrite(const char *Cmd) int card = 0xFF; // invalid card value unsigned int clock = 0; // invalid clock value - sscanf(Cmd, "%" PRIx64 " %d %d", &id, &card, &clock); + sscanf(Cmd, "%" SCNx64 " %d %d", &id, &card, &clock); // Check ID if (id == 0xFFFFFFFFFFFFFFFF) { -- 2.39.2