Reduced number of SPI operations when reading RF packets
This commit is contained in:
12
crossbow.ino
12
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();
|
||||
|
||||
2
sbus.cpp
2
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;
|
||||
|
||||
Reference in New Issue
Block a user