diff --git a/Firmware/LoRaSerial/LoRaSerial.ino b/Firmware/LoRaSerial/LoRaSerial.ino index 3f931969..b6757f94 100644 --- a/Firmware/LoRaSerial/LoRaSerial.ino +++ b/Firmware/LoRaSerial/LoRaSerial.ino @@ -643,7 +643,7 @@ void setup() arch.beginWDT(); //Start watchdog timer - updateRTS(true); //Enable serial input + updateRTS(true); //We're ready for more data systemPrintTimestamp(); systemPrintln("LRS"); diff --git a/Firmware/LoRaSerial/Serial.ino b/Firmware/LoRaSerial/Serial.ino index 8ad055fc..3738c269 100644 --- a/Firmware/LoRaSerial/Serial.ino +++ b/Firmware/LoRaSerial/Serial.ino @@ -76,7 +76,10 @@ void serialOutputByte(uint8_t data) } } -//Update the output of the RTS pin (host says it's ok to send data when assertRTS = true) +//Update the output of the RTS pin +//LoRaSerial will drive RTS low when it is ready for data +//Given false, we tell the host we *do not* need more data +//Given true, we tell the host we are ready for more data void updateRTS(bool assertRTS) { rtsAsserted = assertRTS; @@ -300,7 +303,7 @@ void updateSerial() //Assert RTS when there is enough space in the receive buffer if ((!rtsAsserted) && (availableRXBytes() < (sizeof(serialReceiveBuffer) / 2)) && (availableTXBytes() <= RTS_ON_BYTES)) - updateRTS(true); + updateRTS(true); //We're ready for more data //Attempt to empty the serialTransmitBuffer outputSerialData(false); diff --git a/Firmware/LoRaSerial/System.ino b/Firmware/LoRaSerial/System.ino index d4202305..37ab2d14 100644 --- a/Firmware/LoRaSerial/System.ino +++ b/Firmware/LoRaSerial/System.ino @@ -1100,9 +1100,6 @@ void updateLeds() { static uint8_t previousLedUse; - //If training button is being pressed, LEDs are being updated by that function - if (trainBtn != NULL && trainBtn->read()) return; - //When changing patterns, start with the LEDs off if (previousLedUse != settings.selectLedUse) {