From f5bed3c5b13bfcd20d55da19d8706c6089407793 Mon Sep 17 00:00:00 2001 From: Oleg Moiseenko <807634+merlokk@users.noreply.github.com> Date: Thu, 9 Oct 2025 09:42:43 +0300 Subject: [PATCH] Adjusts LF ADC raw data processing Adjusts the bit shift for ADC raw data conversion to refine the value range. --- firmware/application/src/rfid/reader/lf/lf_reader_generic.c | 2 +- software/script/chameleon_cli_unit.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/firmware/application/src/rfid/reader/lf/lf_reader_generic.c b/firmware/application/src/rfid/reader/lf/lf_reader_generic.c index 1d5a3c2..4fdbc42 100644 --- a/firmware/application/src/rfid/reader/lf/lf_reader_generic.c +++ b/firmware/application/src/rfid/reader/lf/lf_reader_generic.c @@ -45,7 +45,7 @@ bool raw_read_to_buffer(uint8_t *data, size_t maxlen, uint32_t timeout_ms, size_ while (NO_TIMEOUT_1MS(p_at, timeout_ms) && *outlen < maxlen) { uint16_t val = 0; while (cb_pop_front(&cb, &val) && *outlen < maxlen) { - val = val >> 6; // 14 bit ADC to 8 bit value + val = val >> 5; // 14 bit ADC to 8 bit value and /2 range data[*outlen] = val > 0xff ? 0xff : val; ++(*outlen); } diff --git a/software/script/chameleon_cli_unit.py b/software/script/chameleon_cli_unit.py index bc714dc..8144175 100644 --- a/software/script/chameleon_cli_unit.py +++ b/software/script/chameleon_cli_unit.py @@ -3267,7 +3267,7 @@ class LFADCGenericRead(ReaderRequiredUnit): for i in range(0, len(resp), width): chunk = resp[i : i + width] hexpart = " ".join(f"{b:02x}" for b in chunk) - binpart = "".join('1' if b >= 0x5f else '0' for b in chunk) + binpart = "".join('1' if b >= 0xbf else '0' for b in chunk) print(f"{i:04x} {hexpart:<{width * 3}} {binpart}") avg = 0