//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){
- uint16_t bitnum = 0, MaxBits = 512, errCnt = 0;
+ int errCnt = 0, bestErr = 1000;
+ uint16_t bitnum = 0, MaxBits = 512, bestRun = 0;
size_t i, k;
- uint16_t bestErr = 1000, bestRun = 0;
if (*size < 16) return -1;
//find correct start position [alignment]
for (k=0; k < 2; ++k){
// by iceman
// find Visa2000 preamble in already demoded data
int Visa2kDemod_AM(uint8_t *dest, size_t *size) {
- if (*size < 96*2) return -1; //make sure buffer has data
+ if (*size < 96) return -1; //make sure buffer has data
size_t startIdx = 0;
uint8_t preamble[] = {0,1,0,1,0,1,1,0,0,1,0,0,1,0,0,1,0,1,0,1,0,0,1,1,0,0,1,1,0,0,1,0};
uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx);
// by iceman
// find Noralsy preamble in already demoded data
int NoralsyDemod_AM(uint8_t *dest, size_t *size) {
- if (*size < 96*2) return -1; //make sure buffer has data
+ if (*size < 96) return -1; //make sure buffer has data
size_t startIdx = 0;
uint8_t preamble[] = {1,0,1,1,1,0,1,1,0,0,0,0};
uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx);