]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdlf.c
FIX: @marshmellow42 's ST detection fix.
[proxmark3-svn] / client / cmdlf.c
index 92352438f6bfe2e0d133643fb70640f8829e047a..414e4a2be1bbb675fcfd0197bd24883b6ee97d38 100644 (file)
@@ -8,6 +8,9 @@
 // Low frequency commands
 //-----------------------------------------------------------------------------
 #include "cmdlf.h"
+
+bool g_lf_threshold_set = FALSE;
+
 static int CmdHelp(const char *Cmd);
 
 int usage_lf_cmdread(void) {
@@ -27,11 +30,10 @@ int usage_lf_cmdread(void) {
        return 0;
 }
 int usage_lf_read(void){
-       PrintAndLog("Usage: lf read [h] [s] [t]");
+       PrintAndLog("Usage: lf read [h] [s]");
        PrintAndLog("Options:");
        PrintAndLog("       h            This help");
        PrintAndLog("       s            silent run no printout");
-       PrintAndLog("       t            waits for device to respond with no timeout");
        PrintAndLog("Use 'lf config' to set parameters.");
        return 0;
 }
@@ -503,7 +505,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;
+                               g_lf_threshold_set = (trigger_threshold > 0);
+                       }
                        break;
                case 'b':
                        errors |= param_getdec(Cmd, cmdp+1, &bps);
@@ -544,9 +549,11 @@ int CmdLFSetConfig(const char *Cmd) {
 }
 
 int CmdLFRead(const char *Cmd) {
+       
+       if (offline) return 0;
+       
        bool errors = FALSE;
        bool arg1 = FALSE;
-       bool thresholdRead = FALSE;     
        uint8_t cmdp = 0;
        while(param_getchar(Cmd, cmdp) != 0x00) {
                switch(param_getchar(Cmd, cmdp)) {
@@ -558,21 +565,13 @@ int CmdLFRead(const char *Cmd) {
                        arg1 = TRUE;
                        cmdp++;
                        break;
-               case 't':
-               case 'T':
-                       thresholdRead = TRUE;
-                       cmdp++;
-                       break;
                default:
                        PrintAndLog("Unknown parameter '%c'", param_getchar(Cmd, cmdp));
-                       errors = 1;
+                       errors = TRUE;
                        break;
                }
                if(errors) break;
        }
-       
-       // No args
-       if (cmdp == 0) errors = 1;
 
        //Validations
        if (errors) return usage_lf_read();
@@ -580,7 +579,7 @@ int CmdLFRead(const char *Cmd) {
        UsbCommand c = {CMD_ACQUIRE_RAW_ADC_SAMPLES_125K, {arg1,0,0}};
        clearCommandBuffer();
        SendCommand(&c);
-       if ( thresholdRead ) {
+       if ( g_lf_threshold_set ) {
                WaitForResponse(CMD_ACK,NULL);  
        } else {
                if ( !WaitForResponseTimeout(CMD_ACK, NULL ,2500) ) {
Impressum, Datenschutz