]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - common/lfdemod.c
clean up some comments
[proxmark3-svn] / common / lfdemod.c
index 34194394deea0ded2029bbe3e173a7261c36fc7e..1b499158b09c025b7784b07d1c694e98a27d2de7 100644 (file)
@@ -336,30 +336,20 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert)
                        for (i = iii; i < *size; ++i) {
                                if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){
                                        lastBit+=*clk;
-                                       //BitStream[bitnum] = *invert;
-                                       //bitnum++;
                                        midBit=0;
                                } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){
                                        //low found and we are expecting a bar
                                        lastBit+=*clk;
-                                       //BitStream[bitnum] = 1- *invert;
-                                       //bitnum++;
                                        midBit=0;
                                } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){
                                        //mid bar?
                                        midBit=1;
-                                       //BitStream[bitnum]= 1- *invert;
-                                       //bitnum++;
                                } else if ((BinStream[i]>=high) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){
                                        //mid bar?
                                        midBit=1;
-                                       //BitStream[bitnum]= *invert;
-                                       //bitnum++;
                                } else if ((i-lastBit)>((*clk/2)+tol) && (midBit==0)){
                                        //no mid bar found
                                        midBit=1;
-                                       //BitStream[bitnum]= BitStream[bitnum-1];
-                                       //bitnum++;
                                } else {
                                        //mid value found or no bar supposed to be here
 
@@ -367,16 +357,11 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert)
                                                //should have hit a high or low based on clock!!
                                                //debug
                                                //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit);
-                                               //if (bitnum > 0){
-                                               //      BitStream[bitnum]=77;
-                                               //      bitnum++;
-                                               //}
 
                                                errCnt++;
                                                lastBit+=*clk;//skip over until hit too many errors
                                                if (errCnt > ((*size/1000))){  //allow 1 error for every 1000 samples else start over
                                                        errCnt=0;
-                                                       //      bitnum=0;//start over
                                                        break;
                                                }
                                        }
@@ -816,7 +801,6 @@ int PyramiddemodFSK(uint8_t *dest, size_t size)
   return -4;
 }
 
-
 // by marshmellow
 // not perfect especially with lower clocks or VERY good antennas (heavy wave clipping)
 // maybe somehow adjust peak trimming value based on samples to fix?
@@ -885,7 +869,6 @@ int DetectASKClock(uint8_t dest[], size_t size, int clock)
   return clk[best];
 }
 
-
 //by marshmellow
 //detect psk clock by reading #peaks vs no peaks(or errors)
 int DetectpskNRZClock(uint8_t dest[], size_t size, int clock)
@@ -963,7 +946,7 @@ int DetectpskNRZClock(uint8_t dest[], size_t size, int clock)
        return clk[best];
 }
 
-//by marshmellow (attempt to get rid of high immediately after a low)
+// by marshmellow (attempt to get rid of high immediately after a low)
 void pskCleanWave(uint8_t *BitStream, size_t size)
 {
        int i;
@@ -999,9 +982,26 @@ void pskCleanWave(uint8_t *BitStream, size_t size)
        return;
 }
 
+// by marshmellow
+// convert psk1 demod to psk2 demod
+// only transition waves are 1s
+void psk1TOpsk2(uint8_t *BitStream, size_t size)
+{
+       size_t i=1;
+       uint8_t lastBit=BitStream[0];
+       for (; i<size; i++){
+               if (lastBit!=BitStream[i]){
+                       lastBit=BitStream[i];
+                       BitStream[i]=1;
+               } else {
+                       BitStream[i]=0;
+               }
+       }
+       return;
+}
 
-//redesigned by marshmellow adjusted from existing decode functions
-//indala id decoding - only tested on 26 bit tags, but attempted to make it work for more
+// redesigned by marshmellow adjusted from existing decode functions
+// indala id decoding - only tested on 26 bit tags, but attempted to make it work for more
 int indala26decode(uint8_t *bitStream, size_t *size, uint8_t *invert)
 {
        //26 bit 40134 format  (don't know other formats)
@@ -1064,9 +1064,8 @@ int indala26decode(uint8_t *bitStream, size_t *size, uint8_t *invert)
        return 1;
 }
 
-
-//by marshmellow - demodulate PSK1 wave or NRZ wave (both similar enough)
-//peaks switch bit (high=1 low=0) each clock cycle = 1 bit determined by last peak
+// by marshmellow - demodulate PSK1 wave or NRZ wave (both similar enough)
+// peaks invert bit (high=1 low=0) each clock cycle = 1 bit determined by last peak
 int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert)
 {
        pskCleanWave(dest,*size);
@@ -1087,7 +1086,6 @@ int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert)
        uint32_t bestStart = *size;
        uint32_t maxErr = (*size/1000);
        uint32_t bestErrCnt = maxErr;
-       //uint8_t midBit=0;
        uint8_t curBit=0;
        uint8_t bitHigh=0;
        uint8_t ignorewin=*clk/8;
@@ -1198,7 +1196,6 @@ int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert)
        return errCnt;
 }
 
-
 //by marshmellow
 //detects the bit clock for FSK given the high and low Field Clocks
 uint8_t detectFSKClk(uint8_t *BitStream, size_t size, uint8_t fcHigh, uint8_t fcLow)
Impressum, Datenschutz