]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - common/lfdemod.c
FIX: Marshmellow hinted that I should use another fskclock method, which obeys the...
[proxmark3-svn] / common / lfdemod.c
index 144cb32735c7269e3b6eea34ee25679309b0097d..a42566ada95199c20e0626edfb8376b2cbcc2f74 100644 (file)
@@ -1094,11 +1094,9 @@ void psk1TOpsk2(uint8_t *BitStream, size_t size)
 // from only transition waves are 1s to phase shifts change bit
 void psk2TOpsk1(uint8_t *BitStream, size_t size)
 {
 // from only transition waves are 1s to phase shifts change bit
 void psk2TOpsk1(uint8_t *BitStream, size_t size)
 {
-       size_t i;
-       uint8_t phase=BitStream[0];
-       //uint8_t lastBit=BitStream[0];
-       for (i=1; i<size; i++){
-               if (phase!=BitStream[i]){
+       uint8_t phase=0;
+       for (size_t i=0; i<size; i++){
+               if (BitStream[i]==1){
                        phase ^=1;
                }
                BitStream[i]=phase;
                        phase ^=1;
                }
                BitStream[i]=phase;
@@ -1600,7 +1598,7 @@ int pskRawDemod(uint8_t dest[], size_t *size, int *clock, int *invert)
   *clock = DetectPSKClock(dest, *size, *clock);
   if (*clock==0) return -1;
   int avgWaveVal=0, lastAvgWaveVal=0;
   *clock = DetectPSKClock(dest, *size, *clock);
   if (*clock==0) return -1;
   int avgWaveVal=0, lastAvgWaveVal=0;
-  //find first full wave
+  //find first phase shift
   for (i=0; i<loopCnt; i++){
     if (dest[i]+fc < dest[i+1] && dest[i+1] >= dest[i+2]){
       if (waveStart == 0) {
   for (i=0; i<loopCnt; i++){
     if (dest[i]+fc < dest[i+1] && dest[i+1] >= dest[i+2]){
       if (waveStart == 0) {
Impressum, Datenschutz