diff --git a/common/lfdemod.c b/common/lfdemod.c index 731496026..aa3586f6c 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -708,7 +708,18 @@ int Visa2kDemod_AM(uint8_t *dest, size_t *size) { //return start position return (int) 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 + 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); + if (errChk == 0) return -2; //preamble not found + if (*size != 96) return -3; //wrong demoded size + //return start position + return (int) startIdx; +} // find presco preamble 0x10D in already demoded data int PrescoDemod(uint8_t *dest, size_t *size) { if (*size < 128*2) return -1; //make sure buffer has data diff --git a/common/lfdemod.h b/common/lfdemod.h index b4ff453e9..11634d00e 100644 --- a/common/lfdemod.h +++ b/common/lfdemod.h @@ -59,4 +59,5 @@ int PrescoDemod(uint8_t *dest, size_t *size); int NedapDemod(uint8_t *dest, size_t *size); int JablotronDemod(uint8_t *dest, size_t *size); int Visa2kDemod_AM(uint8_t *dest, size_t *size); +int NoralsyDemod_AM(uint8_t *dest, size_t *size); #endif