]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdlffdx.c
Fix #912
[proxmark3-svn] / client / cmdlffdx.c
index a603a4d27bd8f52e200d80d40829169b5d4dad1a..d0ac52c0feb7e7078373f06743b999c334b36129 100644 (file)
@@ -5,6 +5,7 @@
 // the license.
 //-----------------------------------------------------------------------------
 // Low frequency fdx-b tag commands
+// Differential Biphase, rf/32, 128 bits (known)
 //-----------------------------------------------------------------------------
 
 #include "cmdlffdx.h"
@@ -12,7 +13,7 @@
 #include <stdio.h>
 #include <inttypes.h>
 #include <string.h>
-#include "proxmark3.h"
+#include "comms.h"
 #include "ui.h"         // for PrintAndLog
 #include "util.h"
 #include "cmdparser.h"
@@ -46,7 +47,7 @@ static int CmdHelp(const char *Cmd);
 
 int usage_lf_fdx_clone(void){
        PrintAndLog("Clone a FDX-B animal tag to a T55x7 tag.");
-       PrintAndLog("Usage: lf animal clone [h] <country id> <animal id> <Q5>");
+       PrintAndLog("Usage: lf fdx clone [h] <country id> <animal id> <Q5>");
        PrintAndLog("Options:");
        PrintAndLog("      h            : This help");
        PrintAndLog("      <country id> : Country id");
@@ -57,7 +58,7 @@ int usage_lf_fdx_clone(void){
        // extended data
        PrintAndLog("      <Q5>        : Specify write to Q5 (t5555 instead of t55x7)");
        PrintAndLog("");
-       PrintAndLog("Sample: lf animal clone 999 112233");
+       PrintAndLog("Sample: lf fdx clone 999 112233");
        return 0;
 }
 
@@ -65,13 +66,13 @@ int usage_lf_fdx_sim(void) {
        PrintAndLog("Enables simulation of FDX-B animal tag");
        PrintAndLog("Simulation runs until the button is pressed or another USB command is issued.");
        PrintAndLog("");
-       PrintAndLog("Usage:  lf animal sim [h] <country id> <animal id>");
+       PrintAndLog("Usage:  lf fdx sim [h] <country id> <animal id>");
        PrintAndLog("Options:");
        PrintAndLog("      h            : This help");
        PrintAndLog("      <country id> : Country ID");
        PrintAndLog("      <animal id>  : Animal ID");
        PrintAndLog("");
-       PrintAndLog("Sample: lf animal sim 999 112233");
+       PrintAndLog("Sample: lf fdx sim 999 112233");
        return 0;
 }
 // clearing the topbit needed for the preambl detection. 
@@ -136,7 +137,7 @@ int CmdFdxDemod(const char *Cmd){
 
        //Differential Biphase / di-phase (inverted biphase)
        //get binary from ask wave
-       if (!ASKbiphaseDemod("0 32 1 0", false)) {
+       if (!ASKbiphaseDemod("0 32 1 100", false)) {
                if (g_debugMode) PrintAndLog("DEBUG: Error - FDX-B ASKbiphaseDemod failed");
                return 0;
        }
@@ -158,6 +159,8 @@ int CmdFdxDemod(const char *Cmd){
 
        // set and leave DemodBuffer intact
        setDemodBuf(DemodBuffer, 128, preambleIndex);
+       setClockGrid(g_DemodClock, g_DemodStartIdx + (preambleIndex*g_DemodClock));
+
        uint8_t bits_no_spacer[117];
        memcpy(bits_no_spacer, DemodBuffer + 11, 117);
 
@@ -203,8 +206,7 @@ int CmdFdxDemod(const char *Cmd){
 }
 
 int CmdFdxRead(const char *Cmd) {
-       CmdLFRead("s");
-       getSamples("10000", true);
+       lf_read(true, 39999);
        return CmdFdxDemod(Cmd);
 }
 
Impressum, Datenschutz