From 16b3cf764d3fcc5a115c80fbf656745b729ae954 Mon Sep 17 00:00:00 2001 From: MichaelDvP <59284019+MichaelDvP@users.noreply.github.com> Date: Thu, 1 Jul 2021 09:34:34 +0200 Subject: [PATCH] don't count wrong tx-echos as rx-errors --- src/telegram.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/telegram.cpp b/src/telegram.cpp index 1d5893b3a..23d7910f6 100644 --- a/src/telegram.cpp +++ b/src/telegram.cpp @@ -154,8 +154,12 @@ void RxService::add(uint8_t * data, uint8_t length) { // validate the CRC. if it fails then increment the number of corrupt/incomplete telegrams and only report to console/syslog uint8_t crc = calculate_crc(data, length - 1); if (data[length - 1] != crc) { - telegram_error_count_++; - LOG_ERROR(F("Rx: %s (CRC %02X != %02X)"), Helpers::data_to_hex(data, length).c_str(), data[length - 1], crc); + if ((data[0] & 0x7F) != ems_bus_id()) { // do not count echos as errors + telegram_error_count_++; + LOG_WARNING(F("Rx: %s (CRC %02X != %02X)"), Helpers::data_to_hex(data, length).c_str(), data[length - 1], crc); + } else { + LOG_TRACE(F("Rx: %s (CRC %02X != %02X)"), Helpers::data_to_hex(data, length).c_str(), data[length - 1], crc); + } return; }