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