diff --git a/crossbow.ino b/crossbow.ino index f3a6686..afe2b32 100644 --- a/crossbow.ino +++ b/crossbow.ino @@ -277,8 +277,9 @@ void loop(void) { #ifdef DEVICE_MODE_TX if (txDeviceState.readPacket) { - if (LoRa.available()) { - qspDecodeIncomingFrame(&qsp, LoRa.read(), ppm, &rxDeviceState); + int incomingByte = LoRa.read(); + if (incomingByte > -1) { + qspDecodeIncomingFrame(&qsp, incomingByte, ppm, &rxDeviceState); } else { txDeviceState.rssi = getRadioRssi(); txDeviceState.snr = getRadioSnr(); @@ -455,9 +456,12 @@ void onReceive(int packetSize) #endif #ifdef DEVICE_MODE_RX - while (LoRa.available()) + + int incomingByte; + + while (incomingByte = LoRa.read(), incomingByte > -1) { - qspDecodeIncomingFrame(&qsp, LoRa.read(), ppm, &rxDeviceState); + qspDecodeIncomingFrame(&qsp, incomingByte, ppm, &rxDeviceState); } rxDeviceState.rssi = getRadioRssi(); diff --git a/sbus.cpp b/sbus.cpp index b31eb5c..f8ebff6 100644 --- a/sbus.cpp +++ b/sbus.cpp @@ -30,7 +30,7 @@ void sbusPreparePacket(uint8_t packet[], int channels[], bool isSignalLoss, bool * 173-1811 with middle at 992 S.BUS protocol requires */ for (uint8_t i = 0; i < SBUS_CHANNEL_NUMBER; i++) { - output[i] = mapsChannelToSbus(channels[i]); + output[i] = mapChannelToSbus(channels[i]); } uint8_t stateByte = 0x00;