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
|
#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();
|
||||||
|
|||||||
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
|
* 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;
|
||||||
|
|||||||
Reference in New Issue
Block a user