From ece2621a6f5a09530d76e29de603ae79a841d940 Mon Sep 17 00:00:00 2001 From: jgromes Date: Fri, 31 Mar 2023 22:02:35 +0200 Subject: [PATCH] [SX126x] Fixed packet length in LoRa implicit mode --- src/modules/SX126x/SX126x.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/modules/SX126x/SX126x.cpp b/src/modules/SX126x/SX126x.cpp index ea0a1048..44f95a1a 100644 --- a/src/modules/SX126x/SX126x.cpp +++ b/src/modules/SX126x/SX126x.cpp @@ -1287,6 +1287,12 @@ float SX126x::getFrequencyError() { size_t SX126x::getPacketLength(bool update) { (void)update; + + // in implicit mode, return the cached value + if((getPacketType() == RADIOLIB_SX126X_PACKET_TYPE_LORA) && (_headerType == RADIOLIB_SX126X_LORA_HEADER_IMPLICIT)) { + return(_implicitLen); + } + uint8_t rxBufStatus[2] = {0, 0}; _mod->SPIreadStream(RADIOLIB_SX126X_CMD_GET_RX_BUFFER_STATUS, rxBufStatus, 2); return((size_t)rxBufStatus[0]);