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
This commit is contained in:
marshmellow42 2017-02-26 21:44:40 -05:00
commit 2b11c7c750
2 changed files with 15 additions and 10 deletions

View file

@ -35,7 +35,7 @@
#include "cmdlfviking.h" // for viking menu #include "cmdlfviking.h" // for viking menu
#include "cmdlfcotag.h" // for COTAG menu #include "cmdlfcotag.h" // for COTAG menu
bool threshold_set = false;
static int CmdHelp(const char *Cmd); static int CmdHelp(const char *Cmd);
@ -510,7 +510,10 @@ int CmdLFSetConfig(const char *Cmd)
case 't': case 't':
errors |= param_getdec(Cmd,cmdp+1,&unsigned_trigg); errors |= param_getdec(Cmd,cmdp+1,&unsigned_trigg);
cmdp+=2; cmdp+=2;
if(!errors) trigger_threshold = unsigned_trigg; if(!errors) {
trigger_threshold = unsigned_trigg;
if (trigger_threshold > 0) threshold_set = true;
}
break; break;
case 'b': case 'b':
errors |= param_getdec(Cmd,cmdp+1,&bps); errors |= param_getdec(Cmd,cmdp+1,&bps);
@ -557,7 +560,7 @@ int CmdLFSetConfig(const char *Cmd)
int CmdLFRead(const char *Cmd) int CmdLFRead(const char *Cmd)
{ {
if (offline) return 0;
uint8_t cmdp = 0; uint8_t cmdp = 0;
bool arg1 = false; bool arg1 = false;
if (param_getchar(Cmd, cmdp) == 'h') 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}}; UsbCommand c = {CMD_ACQUIRE_RAW_ADC_SAMPLES_125K, {arg1,0,0}};
clearCommandBuffer(); clearCommandBuffer();
SendCommand(&c); SendCommand(&c);
WaitForResponse(CMD_ACK,NULL); if (threshold_set) {
//if ( !WaitForResponseTimeout(CMD_ACK,NULL,2500) ) { WaitForResponse(CMD_ACK,NULL);
// PrintAndLog("command execution time out"); } else {
// return 1; if ( !WaitForResponseTimeout(CMD_ACK,NULL,2500) ) {
//} PrintAndLog("command execution time out");
return 1;
}
}
return 0; return 0;
} }

View file

@ -183,7 +183,7 @@ int CmdEM410xWrite(const char *Cmd)
int card = 0xFF; // invalid card value int card = 0xFF; // invalid card value
unsigned int clock = 0; // invalid clock 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 // Check ID
if (id == 0xFFFFFFFFFFFFFFFF) { if (id == 0xFFFFFFFFFFFFFFFF) {