sscanf(Cmd, "%i %i %i %i", &offset, &clk, &invert, &maxErr);
uint8_t BitStream[MAX_DEMOD_BUF_LEN];
sscanf(Cmd, "%i %i %i %i", &offset, &clk, &invert, &maxErr);
uint8_t BitStream[MAX_DEMOD_BUF_LEN];
//invert here inverts the ask raw demoded bits which has no effect on the demod, but we need the pointer
int errCnt = askdemod(BitStream, &size, &clk, &invert, maxErr, 0, 0);
if ( errCnt < 0 || errCnt > maxErr ) {
//invert here inverts the ask raw demoded bits which has no effect on the demod, but we need the pointer
int errCnt = askdemod(BitStream, &size, &clk, &invert, maxErr, 0, 0);
if ( errCnt < 0 || errCnt > maxErr ) {
- for(int i = 1; i<GraphTraceLen; i++){
- if (GraphBuffer[i]-GraphBuffer[i-1]>=thresLen) //large jump up
- GraphBuffer[i-1] = 127;
- else if(GraphBuffer[i]-GraphBuffer[i-1]<=-1*thresLen) //large jump down
- GraphBuffer[i-1] = -127;
+ for(int i = 1; i < GraphTraceLen; ++i){
+ if (GraphBuffer[i] - GraphBuffer[i-1] >= thresLen) //large jump up
+ last = 127;
+ else if(GraphBuffer[i] - GraphBuffer[i-1] <= -1 * thresLen) //large jump down
+ last = -127;
+
+ GraphBuffer[i-1] = last;
// bbbbbbbb w ffffffff cccccccccccccccc w xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// |26 bit| |-117--| |-----142------|
//
// bbbbbbbb w ffffffff cccccccccccccccc w xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// |26 bit| |-117--| |-----142------|
//
- // 00110010 0 0000011111010000000000000001000100101000100001111 0 00000000
- // bbbbbbbb w ffffffffffffffffccccccccccccccccccccccccccccccccc w xxxxxxxx
- // |50 bit| |----4000------||-----------2248975-------------|
+ // 00110010 0 0000111110100000 00000000000100010010100010000111 1 000000000
+ // bbbbbbbb w ffffffffffffffff cccccccccccccccccccccccccccccccc w xxxxxxxxx
+ // |50 bit| |----4000------| |-----------2248975------------|
// b = format bit len, o = odd parity of last 3 bits
// f = facility code, c = card number
// w = wiegand parity
// b = format bit len, o = odd parity of last 3 bits
// f = facility code, c = card number
// w = wiegand parity
fc = bytebits_to_byte(BitStream + 9, 8);
cardnum = bytebits_to_byte(BitStream + 17, 16);
code1 = bytebits_to_byte(BitStream + 8,fmtLen);
fc = bytebits_to_byte(BitStream + 9, 8);
cardnum = bytebits_to_byte(BitStream + 17, 16);
code1 = bytebits_to_byte(BitStream + 8,fmtLen);
- PrintAndLog("AWID Found - BitLength: %d, FC: %d, Card: %d - Wiegand: %x, Raw: %08x%08x%08x", fmtLen, fc, cardnum, code1, rawHi2, rawHi, rawLo);
+ PrintAndLog("AWID Found - BitLength: %d, FC: %d, Card: %u - Wiegand: %x, Raw: %08x%08x%08x", fmtLen, fc, cardnum, code1, rawHi2, rawHi, rawLo);
break;
case 50:
fc = bytebits_to_byte(BitStream + 9, 16);
cardnum = bytebits_to_byte(BitStream + 25, 32);
code1 = bytebits_to_byte(BitStream + 8, (fmtLen-32) );
code2 = bytebits_to_byte(BitStream + 8 + (fmtLen-32), 32);
break;
case 50:
fc = bytebits_to_byte(BitStream + 9, 16);
cardnum = bytebits_to_byte(BitStream + 25, 32);
code1 = bytebits_to_byte(BitStream + 8, (fmtLen-32) );
code2 = bytebits_to_byte(BitStream + 8 + (fmtLen-32), 32);
- PrintAndLog("AWID Found - BitLength: %d, FC: %d, Card: %d - Wiegand: %x%08x, Raw: %08x%08x%08x", fmtLen, fc, cardnum, code1, code2, rawHi2, rawHi, rawLo);
+ PrintAndLog("AWID Found - BitLength: %d, FC: %d, Card: %u - Wiegand: %x%08x, Raw: %08x%08x%08x", fmtLen, fc, cardnum, code1, code2, rawHi2, rawHi, rawLo);
break;
default:
if (fmtLen > 32 ) {
cardnum = bytebits_to_byte(BitStream+8+(fmtLen-17), 16);
code1 = bytebits_to_byte(BitStream+8,fmtLen-32);
code2 = bytebits_to_byte(BitStream+8+(fmtLen-32),32);
break;
default:
if (fmtLen > 32 ) {
cardnum = bytebits_to_byte(BitStream+8+(fmtLen-17), 16);
code1 = bytebits_to_byte(BitStream+8,fmtLen-32);
code2 = bytebits_to_byte(BitStream+8+(fmtLen-32),32);
- PrintAndLog("AWID Found - BitLength: %d -unknown BitLength- (%d) - Wiegand: %x%08x, Raw: %08x%08x%08x", fmtLen, cardnum, code1, code2, rawHi2, rawHi, rawLo);
+ PrintAndLog("AWID Found - BitLength: %d -unknown BitLength- (%u) - Wiegand: %x%08x, Raw: %08x%08x%08x", fmtLen, cardnum, code1, code2, rawHi2, rawHi, rawLo);
} else {
cardnum = bytebits_to_byte(BitStream+8+(fmtLen-17), 16);
code1 = bytebits_to_byte(BitStream+8,fmtLen);
} else {
cardnum = bytebits_to_byte(BitStream+8+(fmtLen-17), 16);
code1 = bytebits_to_byte(BitStream+8,fmtLen);
- PrintAndLog("AWID Found - BitLength: %d -unknown BitLength- (%d) - Wiegand: %x, Raw: %08x%08x%08x", fmtLen, cardnum, code1, rawHi2, rawHi, rawLo);
+ PrintAndLog("AWID Found - BitLength: %d -unknown BitLength- (%u) - Wiegand: %x, Raw: %08x%08x%08x", fmtLen, cardnum, code1, rawHi2, rawHi, rawLo);