Reduced number of SPI operations when reading RF packets

This commit is contained in:
Pawel Spychalski (DzikuVx)
2017-10-28 23:07:14 +02:00
parent 72cb29eca2
commit b3cac834e2
2 changed files with 9 additions and 5 deletions

View File

@@ -277,8 +277,9 @@ void loop(void)
{ {
#ifdef DEVICE_MODE_TX #ifdef DEVICE_MODE_TX
if (txDeviceState.readPacket) { if (txDeviceState.readPacket) {
if (LoRa.available()) { int incomingByte = LoRa.read();
qspDecodeIncomingFrame(&qsp, LoRa.read(), ppm, &rxDeviceState); if (incomingByte > -1) {
qspDecodeIncomingFrame(&qsp, incomingByte, ppm, &rxDeviceState);
} else { } else {
txDeviceState.rssi = getRadioRssi(); txDeviceState.rssi = getRadioRssi();
txDeviceState.snr = getRadioSnr(); txDeviceState.snr = getRadioSnr();
@@ -455,9 +456,12 @@ void onReceive(int packetSize)
#endif #endif
#ifdef DEVICE_MODE_RX #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(); rxDeviceState.rssi = getRadioRssi();

View File

@@ -30,7 +30,7 @@ void sbusPreparePacket(uint8_t packet[], int channels[], bool isSignalLoss, bool
* 173-1811 with middle at 992 S.BUS protocol requires * 173-1811 with middle at 992 S.BUS protocol requires
*/ */
for (uint8_t i = 0; i < SBUS_CHANNEL_NUMBER; i++) { for (uint8_t i = 0; i < SBUS_CHANNEL_NUMBER; i++) {
output[i] = mapsChannelToSbus(channels[i]); output[i] = mapChannelToSbus(channels[i]);
} }
uint8_t stateByte = 0x00; uint8_t stateByte = 0x00;