X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/56bbb25a4114df189f66dc8c14d233187e40b042..b82c2f85e457f361b119d21a31f3263ac3489cc8:/common/lfdemod.c diff --git a/common/lfdemod.c b/common/lfdemod.c index 3bc246a3..8b31f1a4 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -259,13 +259,15 @@ int cleanAskRawDemod(uint8_t *BinStream, size_t *size, int clk, int invert, int //by marshmellow void askAmp(uint8_t *BitStream, size_t size) { - for(size_t i = 1; i=30) //large jump up - BitStream[i]=255; - else if(BitStream[i]-BitStream[i-1]<=-20) //large jump down - BitStream[i]=0; + uint8_t last = 128; + for(size_t i = 1; i < size; ++i){ + if (BitStream[i]-BitStream[i-1] >= 30) //large jump up + last = 255; + else if(BitStream[i-1] - BitStream[i] >= 20) //large jump down + last = 0; + + BitStream[i] = last; } - return; } //by marshmellow @@ -764,15 +766,16 @@ int PyramiddemodFSK(uint8_t *dest, size_t *size) return (int)startIdx; } -// find presco preamble 0x10D in already demoded data +// find nedap preamble in already demoded data int NedapDemod(uint8_t *dest, size_t *size) { //make sure buffer has data if (*size < 128) return -3; + size_t startIdx = 0; + //uint8_t preamble[] = {1,1,1,1,1,1,1,1,1,0,0,0,1}; uint8_t preamble[] = {1,1,1,1,1,1,1,1,1,0}; uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx); if (errChk == 0) return -4; //preamble not found - //return start position return (int) startIdx; }