X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/4db6f3bbb9b589f62bdaa8d30be0dc6cef3dac3f..890738733a64445e6565516fe20c927884b712fd:/client/cmdlffdx.c?ds=sidebyside

diff --git a/client/cmdlffdx.c b/client/cmdlffdx.c
index 69c3c483..006ffd56 100644
--- a/client/cmdlffdx.c
+++ b/client/cmdlffdx.c
@@ -5,11 +5,14 @@
 // the license.
 //-----------------------------------------------------------------------------
 // Low frequency fdx-b tag commands
+// Differential Biphase, rf/32, 128 bits (known)
 //-----------------------------------------------------------------------------
 
 #include "cmdlffdx.h"
 
+#include <stdio.h>
 #include <inttypes.h>
+#include <string.h>
 #include "proxmark3.h"
 #include "ui.h"         // for PrintAndLog
 #include "util.h"
@@ -44,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");
@@ -63,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. 
@@ -134,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 0", false)) {
 		if (g_debugMode) PrintAndLog("DEBUG: Error - FDX-B ASKbiphaseDemod failed");
 		return 0;
 	}
@@ -156,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);
 
@@ -201,8 +206,7 @@ int CmdFdxDemod(const char *Cmd){
 }
 
 int CmdFdxRead(const char *Cmd) {
-	CmdLFRead("s");
-	getSamples("10000", TRUE);
+	lf_read(true, 10000);
 	return CmdFdxDemod(Cmd);
 }