From 173ed6d1c73e129427209148a8660c9d6bdb1213 Mon Sep 17 00:00:00 2001 From: Lee Leahy Date: Sun, 5 Mar 2023 07:40:05 -1000 Subject: [PATCH] Don't flush the serial buffers if inCommandMode --- Firmware/LoRaSerial/Serial.ino | 2 -- Firmware/LoRaSerial/States.ino | 9 ++++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Firmware/LoRaSerial/Serial.ino b/Firmware/LoRaSerial/Serial.ino index fd98d6b9..edd8733c 100644 --- a/Firmware/LoRaSerial/Serial.ino +++ b/Firmware/LoRaSerial/Serial.ino @@ -931,10 +931,8 @@ void resetSerial() //Empty the buffers rxHead = rxTail; - radioTxHead = radioTxTail; txHead = txTail; commandRXHead = commandRXTail; commandTXHead = commandTXTail; - endOfTxData = &outgoingPacket[headerBytes]; commandLength = 0; } diff --git a/Firmware/LoRaSerial/States.ino b/Firmware/LoRaSerial/States.ino index b3abe0db..4d754353 100644 --- a/Firmware/LoRaSerial/States.ino +++ b/Firmware/LoRaSerial/States.ino @@ -2887,7 +2887,10 @@ void breakLink() } //Flush the buffers - resetSerial(); + if (!inCommandMode) + resetSerial(); + radioTxHead = radioTxTail; + endOfTxData = &outgoingPacket[headerBytes]; //Reset the radio and the link triggerEvent(TRIGGER_RADIO_RESET); @@ -3052,7 +3055,11 @@ void vcBreakLink(int8_t vcIndex) //Flush the buffers outputSerialData(true); if (vcIndex == myVc) + { resetSerial(); + radioTxHead = radioTxTail; + endOfTxData = &outgoingPacket[headerBytes]; + } } //Place VC in LINK-UP state since it is receiving HEARTBEATs from the remote radio