// 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"
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");
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.
//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;
}
// 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);
}
int CmdFdxRead(const char *Cmd) {
- CmdLFRead("s");
- getSamples("10000", TRUE);
+ lf_read(true, 10000);
return CmdFdxDemod(Cmd);
}