fixed: first bit of em4x50 word was skipped in case of a "0" -> first transition in raw Manchester decoding is now taken into account

This commit is contained in:
tharexde 2020-06-14 14:51:48 +02:00
parent 62ce1cdf13
commit 4d292d3ca0

View file

@ -1537,6 +1537,11 @@ static uint16_t cleanAskRawDemod(uint8_t *bits, size_t *size, int clk, int inver
getNextHigh(bits, *size, high, &pos);
// getNextLow(bits, *size, low, &pos);
// do not skip first transition
if ((pos > cl_2 - cl_4 - 1) && (pos <= clk + cl_4 + 1)) {
bits[bitCnt++] = invert ^ 1;
}
// sample counts, like clock = 32.. it tries to find 32/4 = 8, 32/2 = 16
for (size_t i = pos; i < *size; i++) {
if (bits[i] >= high && waveHigh) {