]> cvs.zerfleddert.de Git - proxmark3-svn/commitdiff
Merge pull request #808 from MalteHillmann/master
authormarshmellow42 <marshmellow42@users.noreply.github.com>
Thu, 28 Mar 2019 23:15:44 +0000 (19:15 -0400)
committerGitHub <noreply@github.com>
Thu, 28 Mar 2019 23:15:44 +0000 (19:15 -0400)
Fixed bugs for FDX-B demod

client/cmddata.c
client/cmdlffdx.c

index c4f0e8a353bcb3b93c3b02133bb06319b27268f3..8f93ba1753ea42e780f4f6b28835be5c6d6537ac 100644 (file)
@@ -367,18 +367,20 @@ int Cmdmandecoderaw(const char *Cmd)
        return 1;
 }
 
-//by marshmellow
-//biphase decode
-//take 01 or 10 = 0 and 11 or 00 = 1
-//takes 2 arguments "offset" default = 0 if 1 it will shift the decode by one bit
-// and "invert" default = 0 if 1 it will invert output
-//  the argument offset allows us to manually shift if the output is incorrect - [EDIT: now auto detects]
+/** 
+ * @author marshmellow
+ * biphase decode
+ * decdoes  01 or 10 to 0 and 11 or 00 to 1
+ * param offset adjust start position
+ * param invert invert output
+ * param maxErr maximum tolerated errors 
+ */
 int CmdBiphaseDecodeRaw(const char *Cmd)
 {
        size_t size=0;
        int offset=0, invert=0, maxErr=20, errCnt=0;
        char cmdp = param_getchar(Cmd, 0);
-       if (strlen(Cmd) > 3 || cmdp == 'h' || cmdp == 'H') {
+       if (strlen(Cmd) > 7 || cmdp == 'h' || cmdp == 'H') {
                PrintAndLog("Usage:  data biphaserawdecode [offset] [invert] [maxErr]");
                PrintAndLog("     Converts 10 or 01 to 1 and 11 or 00 to 0");
                PrintAndLog("     --must have binary sequence in demodbuffer (run data askrawdemod first)");
@@ -427,7 +429,7 @@ int CmdBiphaseDecodeRaw(const char *Cmd)
 int ASKbiphaseDemod(const char *Cmd, bool verbose)
 {
        //ask raw demod GraphBuffer first
-       int offset=0, clk=0, invert=0, maxErr=0;
+       int offset=0, clk=0, invert=0, maxErr=100;
        sscanf(Cmd, "%i %i %i %i", &offset, &clk, &invert, &maxErr);
 
        uint8_t BitStream[MAX_GRAPH_TRACE_LEN];   
index 20f834ceb7c687a4c708e5c4c37b8b2e3c452124..d0ac52c0feb7e7078373f06743b999c334b36129 100644 (file)
@@ -137,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;
        }
@@ -206,7 +206,7 @@ int CmdFdxDemod(const char *Cmd){
 }
 
 int CmdFdxRead(const char *Cmd) {
-       lf_read(true, 10000);
+       lf_read(true, 39999);
        return CmdFdxDemod(Cmd);
 }
 
Impressum, Datenschutz