From 4cecdc0cae3055a3652639a5d41254128539f98e Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Thu, 4 Aug 2022 08:20:22 +0200 Subject: [PATCH] PXX2: fix CRC check and frame end --- radio/src/pulses/pxx2.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/radio/src/pulses/pxx2.cpp b/radio/src/pulses/pxx2.cpp index 4d02dca72..b4a5b6c8f 100644 --- a/radio/src/pulses/pxx2.cpp +++ b/radio/src/pulses/pxx2.cpp @@ -768,14 +768,15 @@ static void pxx2ProcessData(void* context, uint8_t data, uint8_t* buffer, uint8_ uint8_t crcHigh = frame[frame_len + 1]; uint8_t crcLow = frame[frame_len + 2]; - if (((crc >> 8) != crcHigh) || ((crc & 0xFF) == crcLow)) { - TRACE("[PXX2] crc error"); + if (crc != (crcHigh << 8 | crcLow)) { + TRACE("[PXX2] crc error [%02x/%02x]", crc, crcHigh << 8 | crcLow); *len = 0; return; } auto state = (PXX2State*)context; processPXX2Frame(state->module, frame); + *len = 0; }