]> git.zerfleddert.de Git - proxmark3-svn/commitdiff
CHG: minor LF adjustments.
authoriceman1001 <iceman@iuse.se>
Tue, 28 Feb 2017 15:55:16 +0000 (16:55 +0100)
committericeman1001 <iceman@iuse.se>
Tue, 28 Feb 2017 15:55:16 +0000 (16:55 +0100)
CHG: `lf visa2000` - removed askedgedetect, it seemed it destroyed more than enhanced.

client/cmddata.c
client/cmddata.h
client/cmdlfem4x.c
client/cmdlfjablotron.c
client/cmdlfvisa2000.c
common/lfdemod.c

index 398d31fbed5a5b259322d537c6e0d0a203494b0b..19e01d82bf8c3770eeaa9e2882c25c9872ca1102 100644 (file)
@@ -834,7 +834,7 @@ int CmdVikingDemod(const char *Cmd)
                return 0;
        }
        size_t size = DemodBufferLen;
-       //call lfdemod.c demod for Viking
+
        int ans = VikingDemod_AM(DemodBuffer, &size);
        if (ans < 0) {
                if (g_debugMode) PrintAndLog("DEBUG: Error - Viking Demod %d %s", ans, (ans == -5)?"[chksum error]":"");
@@ -2095,6 +2095,11 @@ int CmdGrid(const char *Cmd)
        RepaintGraphWindow();
        return 0;
 }
+void setGrid_Clock(uint8_t clock){
+       PlotGridXdefault = clock;
+       RepaintGraphWindow();
+}
+
 
 int CmdHexsamples(const char *Cmd)
 {
index b0ff5bd06327cacd1f30197c181f8271c01d80e6..4ea0b3b27dfcd7afaae00221087c634c5a03755d 100644 (file)
@@ -80,6 +80,8 @@ int NRZrawDemod(const char *Cmd, bool verbose);
 void printEM410x(uint32_t hi, uint64_t id);
 int getSamples(const char *Cmd, bool silent);
 
+void setGrid_Clock(uint8_t clock);
+
 int CmdDataIIR(const char *Cmd);
 
 extern uint8_t DemodBuffer[MAX_DEMOD_BUF_LEN];
index 7383756b65909077cab3f0ea959e7b007fec32dd..59a1eef3182a80d961a9cf926de86a2d4a309141 100644 (file)
@@ -443,7 +443,7 @@ int EM4x50Read(const char *Cmd, bool verbose) {
                        }
                }
                if (!clk) {
-                       PrintAndLog("ERROR: EM4x50 - didn't find a clock");
+                       if (verbose || g_debugMode) PrintAndLog("ERROR: EM4x50 - didn't find a clock");
                        return 0;
                }
        } else tol = clk/8;
index dc5e10d7f002555fd13eeb6b7132ed392722534b..473fbe28c56d3fb1b61f59c6abf9cc4f3c78f108 100644 (file)
@@ -97,6 +97,7 @@ int CmdJablotronDemod(const char *Cmd) {
        }
 
        setDemodBuf(DemodBuffer+ans, 64, 0);
+       setGrid_Clock(64);
        
        //got a good demod
        uint32_t raw1 = bytebits_to_byte(DemodBuffer, 32);
@@ -125,7 +126,7 @@ int CmdJablotronDemod(const char *Cmd) {
 
 int CmdJablotronRead(const char *Cmd) {
        CmdLFRead("s");
-       getSamples("12000", TRUE);
+       getSamples("10000", TRUE);
        return CmdJablotronDemod(Cmd);
 }
 
index c08371087789997a3e39c0b8bddfb693e73e2465..5c030ec3b83c18570404553391e58910ffbe2938 100644 (file)
@@ -62,7 +62,7 @@ int CmdVisa2kDemod(const char *Cmd) {
        // save GraphBuffer - to restore it later       
        save_restoreGB(1);
        
-       CmdAskEdgeDetect("");
+       //sCmdAskEdgeDetect("");
        
        //ASK / Manchester
        bool st = TRUE;
@@ -88,7 +88,8 @@ int CmdVisa2kDemod(const char *Cmd) {
                return 0;
        }
        setDemodBuf(DemodBuffer, 96, ans);
-       
+       setGrid_Clock(64);
+               
        //got a good demod
        uint32_t raw1 = bytebits_to_byte(DemodBuffer, 32);
        uint32_t raw2 = bytebits_to_byte(DemodBuffer+32, 32);
@@ -110,7 +111,7 @@ int CmdVisa2kDemod(const char *Cmd) {
 
 int CmdVisa2kRead(const char *Cmd) {
        CmdLFRead("s");
-       getSamples("16000",TRUE);
+       getSamples("12000",TRUE);
        return CmdVisa2kDemod(Cmd);
 }
 
index 439699c6266643bca9053527d0cd00f500d9abf3..7f8333ac1185420dc039ebfb334e6b404ac5e36d 100644 (file)
@@ -243,6 +243,7 @@ int Em410xDecode(uint8_t *BitStream, size_t *size, size_t *startIdx, uint32_t *h
 
 //by marshmellow
 //demodulates strong heavily clipped samples
+//RETURN: num of errors.  if 0, is ok.
 int cleanAskRawDemod(uint8_t *BinStream, size_t *size, int clk, int invert, int high, int low)
 {
        size_t bitCnt=0, smplCnt=0, errCnt=0;
@@ -386,25 +387,30 @@ int askdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert, int maxErr
 //by marshmellow
 //take 10 and 01 and manchester decode
 //run through 2 times and take least errCnt
-int manrawdecode(uint8_t * BitStream, size_t *size, uint8_t invert){
+int manrawdecode(uint8_t *BitStream, size_t *size, uint8_t invert){
+
+       // sanity check
+       if (*size < 16) return -1;
+       
        int errCnt = 0, bestErr = 1000;
        uint16_t bitnum = 0, MaxBits = 512, bestRun = 0;
        size_t i, k;
-       if (*size < 16) return -1;
+
        //find correct start position [alignment]
-       for (k=0; k < 2; ++k){
-               for (i=k; i<*size-3; i += 2)
+       for (k = 0; k < 2; ++k){
+               for (i = k; i < *size-3; i += 2) {
                        if (BitStream[i] == BitStream[i+1])
                                errCnt++;
-
+               }
                if (bestErr > errCnt){
                        bestErr = errCnt;
                        bestRun = k;
                }
-               errCnt=0;
+               errCnt = 0;
        }
+       
        //decode
-       for (i=bestRun; i < *size-3; i += 2){
+       for (i = bestRun; i < *size-3; i += 2){
                if (BitStream[i] == 1 && (BitStream[i+1] == 0)){
                        BitStream[bitnum++] = invert;
                } else if ((BitStream[i] == 0) && BitStream[i+1] == 1){
@@ -412,9 +418,9 @@ int manrawdecode(uint8_t * BitStream, size_t *size, uint8_t invert){
                } else {
                        BitStream[bitnum++] = 7;
                }
-               if (bitnum>MaxBits) break;
+               if (bitnum > MaxBits) break;
        }
-       *size=bitnum;
+       *size = bitnum;
        return bestErr;
 }
 
Impressum, Datenschutz