]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdlf.c
CHG: 'lf cotag demod' - now finds FC/CN Thanks to @marshmellow42
[proxmark3-svn] / client / cmdlf.c
index eb2f7cde15455992b455af8a75dc7079c4e6496f..8931fc757ad0b17ad81545d1b4a7eed4f45b6150 100644 (file)
@@ -497,24 +497,24 @@ int CmdLFSetConfig(const char *Cmd) {
                        cmdp++;
                        break;
                case 'q':
-                       errors |= param_getdec(Cmd,cmdp+1,&divisor);
+                       errors |= param_getdec(Cmd, cmdp+1, &divisor);
                        cmdp+=2;
                        break;
                case 't':
-                       errors |= param_getdec(Cmd,cmdp+1,&unsigned_trigg);
+                       errors |= param_getdec(Cmd, cmdp+1, &unsigned_trigg);
                        cmdp+=2;
                        if(!errors) trigger_threshold = unsigned_trigg;
                        break;
                case 'b':
-                       errors |= param_getdec(Cmd,cmdp+1,&bps);
+                       errors |= param_getdec(Cmd, cmdp+1, &bps);
                        cmdp+=2;
                        break;
                case 'd':
-                       errors |= param_getdec(Cmd,cmdp+1,&decimation);
+                       errors |= param_getdec(Cmd, cmdp+1, &decimation);
                        cmdp+=2;
                        break;
                case 'a':
-                       averaging = param_getchar(Cmd,cmdp+1) == '1';
+                       averaging = param_getchar(Cmd, cmdp+1) == '1';
                        cmdp+=2;
                        break;
                default:
@@ -531,14 +531,13 @@ int CmdLFSetConfig(const char *Cmd) {
        //Validations
        if (errors) return usage_lf_config();
        
-       //Bps is limited to 8, so fits in lower half of arg1
+       //Bps is limited to 8
        if (bps >> 4) bps = 8;
 
        sample_config config = { decimation, bps, averaging, divisor, trigger_threshold };
 
-       //Averaging is a flag on high-bit of arg[1]
-       UsbCommand c = {CMD_SET_LF_SAMPLING_CONFIG};
-       memcpy(c.d.asBytes,&config,sizeof(sample_config));
+       UsbCommand c = {CMD_SET_LF_SAMPLING_CONFIG, {0,0,0} };
+       memcpy(c.d.asBytes, &config, sizeof(sample_config));
        clearCommandBuffer();
        SendCommand(&c);
        return 0;
@@ -556,7 +555,7 @@ int CmdLFRead(const char *Cmd) {
        UsbCommand c = {CMD_ACQUIRE_RAW_ADC_SAMPLES_125K, {arg1,0,0}};
        clearCommandBuffer();
        SendCommand(&c);
-       if ( !WaitForResponseTimeout(CMD_ACK,NULL,2500) ) {
+       if ( !WaitForResponseTimeout(CMD_ACK, NULL ,2500) ) {
                PrintAndLog("command execution time out");
                return 1;
        }
@@ -1011,7 +1010,7 @@ int CmdLFfind(const char *Cmd) {
 
        if (!offline && (cmdp != '1')){
                CmdLFRead("s");
-               getSamples("30000", TRUE);
+               getSamples("30000", false);
        } else if (GraphTraceLen < 1000) {
                PrintAndLog("Data in Graphbuffer was too small.");
                return 0;
@@ -1117,15 +1116,24 @@ int CmdLFfind(const char *Cmd) {
                PrintAndLog("\nValid Presco ID Found!");
                return 1;
        }
+       // ICEMAN;  always call save_restorGB for COTAG. Will break graphbuffer
+       save_restoreGB(1)
+       ans=CmdCOTAGRead("");
+       if (ans>0){
+               PrintAndLog("\nValid COTAG ID Found!");
+               return 1;
+       }
+       save_restoreGB(0)
        // TIdemod?
-       
+
+/*     
        if (!offline && (cmdp != '1')){
                ans=CmdLFHitagReader("26");
                if (ans==0) {
                        return 1;
                }
        }
-
+*/
        PrintAndLog("\nNo Known Tags Found!\n");
        if (testRaw=='u' || testRaw=='U'){
                //test unknown tag formats (raw mode)
Impressum, Datenschutz