performance improvements

This commit is contained in:
Pawel Spychalski (DzikuVx)
2017-10-27 13:18:22 +02:00
parent 0f735f0054
commit 85b1dbe26d

View File

@@ -138,9 +138,9 @@ void setup(void)
* Use interrupt driven approach only on RX side
* TX interrupts breaks PPM readout
*/
#ifdef DEVICE_MODE_RX
// #ifdef DEVICE_MODE_RX
LoRa.onReceive(onReceive);
#endif
// #endif
LoRa.receive();
#endif
@@ -272,11 +272,20 @@ int8_t getFrameToTransmit(QspConfiguration_t *qsp) {
}
#endif
volatile bool readPacket = false;
uint8_t myRssi = 0;
uint8_t mySnr = 0;
void loop(void)
{
#ifdef DEVICE_MODE_TX
if (LoRa.available()) {
qspDecodeIncomingFrame(&qsp, LoRa.read(), ppm, &rxDeviceState);
if (readPacket) {
while (LoRa.available()) {
qspDecodeIncomingFrame(&qsp, LoRa.read(), ppm, &rxDeviceState);
}
myRssi = getRadioRssi();
mySnr = getRadioSnr();
readPacket = false;
}
#endif
@@ -402,11 +411,11 @@ void loop(void)
display.setTextColor(WHITE, BLACK);
display.setCursor(0, 0);
display.print("TX RSSI: ");
display.print(map(getRadioRssi(), 0, 255, 0, 100));
display.print(map(myRssi, 0, 255, 0, 100));
display.setCursor(0, 12);
display.print("TX SNR: ");
display.print(getRadioSnr());
display.print(mySnr);
display.setCursor(0, 24);
display.print("RX RSSI: ");
@@ -442,6 +451,11 @@ void onReceive(int packetSize)
if (packetSize == 0)
return;
#ifdef DEVICE_MODE_TX
readPacket = true;
#endif
#ifdef DEVICE_MODE_RX
while (LoRa.available())
{
qspDecodeIncomingFrame(&qsp, LoRa.read(), ppm, &rxDeviceState);
@@ -449,4 +463,5 @@ void onReceive(int packetSize)
rxDeviceState.rssi = getRadioRssi();
rxDeviceState.snr = getRadioSnr();
#endif
}