]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - common/lfdemod.c
align clock grid with demods on graph (#276)
[proxmark3-svn] / common / lfdemod.c
index 6beef130bfd8afcda1396a018f08c0a8fd41a7e4..d6ef88a40280e57d3e241baffc772bfd70e1aeed 100644 (file)
@@ -751,8 +751,8 @@ int DetectPSKClock(uint8_t dest[], size_t size, int clock, size_t *firstPhaseShi
        uint16_t fcs = countFC(dest, size, 0);
        *fc = fcs & 0xFF;
        if (g_debugMode==2) prnt("DEBUG PSK: FC: %d, FC2: %d",*fc, fcs>>8);
-       if ((fcs>>8) == 10 && *fc == 8) return -1;
-       if (*fc!=2 && *fc!=4 && *fc!=8) return -1;
+       if ((fcs>>8) == 10 && *fc == 8) return 0;
+       if (*fc!=2 && *fc!=4 && *fc!=8) return 0;
 
        //if we already have a valid clock quit
        size_t i=1;
@@ -833,15 +833,9 @@ int DetectPSKClock(uint8_t dest[], size_t size, int clock, size_t *firstPhaseShi
        return clk[best];
 }
 
-//int DetectPSKClock(uint8_t dest[], size_t size, int clock) {
-//     size_t firstPhaseShift = 0;
-//     uint8_t curPhase = 0;
-//     return DetectPSKClock_ext(dest, size, clock, &firstPhaseShift, &curPhase);
-//}
-
 //by marshmellow
 //detects the bit clock for FSK given the high and low Field Clocks
-uint8_t detectFSKClk_ext(uint8_t *BitStream, size_t size, uint8_t fcHigh, uint8_t fcLow, int *firstClockEdge) {
+uint8_t detectFSKClk(uint8_t *BitStream, size_t size, uint8_t fcHigh, uint8_t fcLow, int *firstClockEdge) {
        uint8_t clk[] = {8,16,32,40,50,64,100,128,0};
        uint16_t rfLens[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
        uint8_t rfCnts[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
@@ -947,11 +941,6 @@ uint8_t detectFSKClk_ext(uint8_t *BitStream, size_t size, uint8_t fcHigh, uint8_
        return clk[ii];
 }
 
-uint8_t        detectFSKClk(uint8_t *BitStream, size_t size, uint8_t fcHigh, uint8_t fcLow) {
-       int firstClockEdge = 0;
-       return detectFSKClk_ext(BitStream, size, fcHigh, fcLow, &firstClockEdge);
-}
-
 //**********************************************************************************************
 //--------------------Modulation Demods &/or Decoding Section-----------------------------------
 //**********************************************************************************************
@@ -977,7 +966,7 @@ bool findST(int *stStopLoc, int *stStartIdx, int lowToLowWaveLen[], int highToLo
 }
 //by marshmellow
 //attempt to identify a Sequence Terminator in ASK modulated raw wave
-bool DetectST_ext(uint8_t buffer[], size_t *size, int *foundclock, size_t *ststart, size_t *stend) {
+bool DetectST(uint8_t buffer[], size_t *size, int *foundclock, size_t *ststart, size_t *stend) {
        size_t bufsize = *size;
        //need to loop through all samples and identify our clock, look for the ST pattern
        int clk = 0; 
@@ -1098,10 +1087,6 @@ bool DetectST_ext(uint8_t buffer[], size_t *size, int *foundclock, size_t *ststa
        *size = newloc;
        return true;
 }
-bool DetectST(uint8_t  buffer[], size_t *size, int *foundclock) {
-       size_t ststart = 0, stend = 0;
-       return DetectST_ext(buffer, size, foundclock, &ststart, &stend);
-}
 
 //by marshmellow
 //take 11 10 01 11 00 and make 01100 ... miller decoding 
@@ -1561,7 +1546,7 @@ int pskRawDemod_ext(uint8_t dest[], size_t *size, int *clock, int *invert, int *
        uint16_t errCnt=0, errCnt2=0;
        
        *clock = DetectPSKClock(dest, *size, *clock, &firstFullWave, &curPhase, &fc);
-       if (*clock == 0) return -1;
+       if (*clock <= 0) return -1;
        //if clock detect found firstfullwave...
        uint16_t tol = fc/2;
        if (firstFullWave == 0) {
Impressum, Datenschutz