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;
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};
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-----------------------------------
//**********************************************************************************************
}
//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;
*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
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) {