Drain oversized LoRa packets to prevent RX FIFO corruption

This commit is contained in:
2026-02-04 15:10:37 +01:00
parent cb6929bdc1
commit f177e5562d

View File

@@ -138,6 +138,16 @@ bool lora_receive(LoraPacket &pkt, uint32_t timeout_ms) {
while (LoRa.available() && len < sizeof(buffer)) { while (LoRa.available() && len < sizeof(buffer)) {
buffer[len++] = LoRa.read(); buffer[len++] = LoRa.read();
} }
if (LoRa.available()) {
while (LoRa.available()) {
LoRa.read();
}
if (SERIAL_DEBUG_MODE) {
Serial.println("rx_reject: oversize packet drained");
}
note_reject(RxRejectReason::LengthMismatch);
return false;
}
if (len < 5) { if (len < 5) {
note_reject(RxRejectReason::LengthMismatch); note_reject(RxRejectReason::LengthMismatch);