From cb192d47ede2fd634a4f553e534b9925b85775cc Mon Sep 17 00:00:00 2001 From: "jacob.eva" Date: Thu, 10 Oct 2024 14:47:40 +0100 Subject: [PATCH] Fix incorrect SX1280 preamble calculation --- sx128x.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sx128x.cpp b/sx128x.cpp index f4d55cb..e965a46 100644 --- a/sx128x.cpp +++ b/sx128x.cpp @@ -328,12 +328,15 @@ void sx128x::setPacketParams(uint32_t preamble, uint8_t headermode, uint8_t leng uint8_t m = 1; uint32_t preamblelen; - for (e <= 15; e++;) { - for (m <= 15; m++;) { - preamblelen = m * (uint32_t(1) << e); + while (e <= 15) { + while (m <= 15) { + preamblelen = m * (pow(2,e)); if (preamblelen >= preamble) break; + m++; } if (preamblelen >= preamble) break; + m = 0; + e++; } buf[0] = (e << 4) | m;