Small optimization
This commit is contained in:
@@ -279,7 +279,7 @@ void loop(void)
|
|||||||
if (txDeviceState.readPacket) {
|
if (txDeviceState.readPacket) {
|
||||||
int incomingByte = LoRa.read();
|
int incomingByte = LoRa.read();
|
||||||
if (incomingByte > -1) {
|
if (incomingByte > -1) {
|
||||||
qspDecodeIncomingFrame(&qsp, incomingByte, ppm, &rxDeviceState);
|
qspDecodeIncomingFrame(&qsp, incomingByte, ppm, &rxDeviceState, &txDeviceState);
|
||||||
} else {
|
} else {
|
||||||
txDeviceState.rssi = getRadioRssi();
|
txDeviceState.rssi = getRadioRssi();
|
||||||
txDeviceState.snr = getRadioSnr();
|
txDeviceState.snr = getRadioSnr();
|
||||||
@@ -428,7 +428,7 @@ void loop(void)
|
|||||||
|
|
||||||
display.setCursor(54, 48);
|
display.setCursor(54, 48);
|
||||||
display.setTextSize(2);
|
display.setTextSize(2);
|
||||||
display.print(rxDeviceState.roundtrip);
|
display.print(txDeviceState.roundtrip);
|
||||||
|
|
||||||
display.display();
|
display.display();
|
||||||
}
|
}
|
||||||
@@ -461,7 +461,7 @@ void onReceive(int packetSize)
|
|||||||
|
|
||||||
while (incomingByte = LoRa.read(), incomingByte > -1)
|
while (incomingByte = LoRa.read(), incomingByte > -1)
|
||||||
{
|
{
|
||||||
qspDecodeIncomingFrame(&qsp, incomingByte, ppm, &rxDeviceState);
|
qspDecodeIncomingFrame(&qsp, incomingByte, ppm, &rxDeviceState, &txDeviceState);
|
||||||
}
|
}
|
||||||
|
|
||||||
rxDeviceState.rssi = getRadioRssi();
|
rxDeviceState.rssi = getRadioRssi();
|
||||||
|
|||||||
19
qsp.cpp
19
qsp.cpp
@@ -143,8 +143,13 @@ void qspClearPayload(QspConfiguration_t *qsp)
|
|||||||
qsp->payloadLength = 0;
|
qsp->payloadLength = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void qspDecodeIncomingFrame(QspConfiguration_t *qsp, uint8_t incomingByte, int ppm[], RxDeviceState_t *rxDeviceState)
|
void qspDecodeIncomingFrame(
|
||||||
{
|
QspConfiguration_t *qsp,
|
||||||
|
uint8_t incomingByte,
|
||||||
|
int ppm[],
|
||||||
|
RxDeviceState_t *rxDeviceState,
|
||||||
|
TxDeviceState_t *txDeviceState
|
||||||
|
) {
|
||||||
static uint8_t frameId;
|
static uint8_t frameId;
|
||||||
static uint8_t payloadLength;
|
static uint8_t payloadLength;
|
||||||
static uint8_t receivedPayload;
|
static uint8_t receivedPayload;
|
||||||
@@ -228,12 +233,12 @@ void qspDecodeIncomingFrame(QspConfiguration_t *qsp, uint8_t incomingByte, int p
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case QSP_FRAME_PONG:
|
case QSP_FRAME_PONG:
|
||||||
rxDeviceState->roundtrip = qsp->payload[0];
|
txDeviceState->roundtrip = qsp->payload[0];
|
||||||
rxDeviceState->roundtrip += (uint32_t) qsp->payload[1] << 8;
|
txDeviceState->roundtrip += (uint32_t) qsp->payload[1] << 8;
|
||||||
rxDeviceState->roundtrip += (uint32_t) qsp->payload[2] << 16;
|
txDeviceState->roundtrip += (uint32_t) qsp->payload[2] << 16;
|
||||||
rxDeviceState->roundtrip += (uint32_t) qsp->payload[3] << 24;
|
txDeviceState->roundtrip += (uint32_t) qsp->payload[3] << 24;
|
||||||
|
|
||||||
rxDeviceState->roundtrip = (micros() - rxDeviceState->roundtrip) / 1000;
|
txDeviceState->roundtrip = (micros() - txDeviceState->roundtrip) / 1000;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
8
qsp.h
8
qsp.h
@@ -9,7 +9,13 @@ uint8_t get10bitLowShift(uint8_t channel);
|
|||||||
void qspComputeCrc(QspConfiguration_t *qsp, uint8_t dataByte);
|
void qspComputeCrc(QspConfiguration_t *qsp, uint8_t dataByte);
|
||||||
void encodeRxHealthPayload(QspConfiguration_t *qsp, RxDeviceState_t *rxDeviceState);
|
void encodeRxHealthPayload(QspConfiguration_t *qsp, RxDeviceState_t *rxDeviceState);
|
||||||
void encodeRcDataPayload(QspConfiguration_t *qsp, PPMReader *ppmSource, uint8_t noOfChannels);
|
void encodeRcDataPayload(QspConfiguration_t *qsp, PPMReader *ppmSource, uint8_t noOfChannels);
|
||||||
void qspDecodeIncomingFrame(QspConfiguration_t *qsp, uint8_t incomingByte, int ppm[], RxDeviceState_t *rxDeviceState);
|
void qspDecodeIncomingFrame(
|
||||||
|
QspConfiguration_t *qsp,
|
||||||
|
uint8_t incomingByte,
|
||||||
|
int ppm[],
|
||||||
|
RxDeviceState_t *rxDeviceState,
|
||||||
|
TxDeviceState_t *txDeviceState
|
||||||
|
);
|
||||||
void qspClearPayload(QspConfiguration_t *qsp);
|
void qspClearPayload(QspConfiguration_t *qsp);
|
||||||
void qspEncodeFrame(QspConfiguration_t *qsp);
|
void qspEncodeFrame(QspConfiguration_t *qsp);
|
||||||
|
|
||||||
|
|||||||
@@ -98,6 +98,5 @@ struct RxDeviceState_t {
|
|||||||
uint8_t rxVoltage = 0;
|
uint8_t rxVoltage = 0;
|
||||||
uint8_t a1Voltage = 0;
|
uint8_t a1Voltage = 0;
|
||||||
uint8_t a2Voltage = 0;
|
uint8_t a2Voltage = 0;
|
||||||
uint32_t roundtrip = 0;
|
|
||||||
uint8_t flags = 0;
|
uint8_t flags = 0;
|
||||||
};
|
};
|
||||||
Reference in New Issue
Block a user