]> git.zerfleddert.de Git - proxmark3-svn/commitdiff
adjust timeouts on lf read/lf search to no timeout if threshold was set.
authormarshmellow42 <marshmellowrf@gmail.com>
Mon, 27 Feb 2017 02:44:40 +0000 (21:44 -0500)
committermarshmellow42 <marshmellowrf@gmail.com>
Mon, 27 Feb 2017 02:44:40 +0000 (21:44 -0500)
NOTE: lf snoop already doesn't have a timeout...
also adjusted PRIx64 to SCNx64 in em410xwrite

client/cmdlf.c
client/cmdlfem4x.c

index 5683a589eec4dc99edf44a9bf20465d4e561242b..dc7185cc3b29dd0035f6afcdfe46e2180851d7b5 100644 (file)
@@ -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;
 }
 
index 38bb5c5d19ee7e6b6f0a10c8c20792146e8efb26..f9103126ea99863931b8b943e8ea0dbafef4acfd 100644 (file)
@@ -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) {
Impressum, Datenschutz