multi: Fix TQly & TRSS sensors not being discovered (#1480)

move the TQly & TRSS hack where it belongs
This commit is contained in:
Raphael Coeffic
2022-01-23 11:09:46 +10:00
committed by GitHub
parent 1b66af88af
commit 9c075d0a01
4 changed files with 22 additions and 14 deletions
+13 -2
View File
@@ -436,8 +436,19 @@ static void processMultiTelemetryPaket(const uint8_t * packet, uint8_t module)
break;
case FrSkySportTelemetry:
if (len >= 4)
sportProcessTelemetryPacket(data);
if (len >= 4) {
if (sportProcessTelemetryPacket(data) && len >= 8) {
uint8_t primId = data[1];
uint16_t dataId = *((uint16_t *)(data+2));
if (primId == DATA_FRAME && dataId == RSSI_ID) {
// fetch MPM special TX_RSSI & TX_LQI sensors
uint8_t physicalId = data[0] & 0x1F;
uint8_t instance = physicalId + (TELEMETRY_ENDPOINT_SPORT << 5);
sportProcessTelemetryPacket(TX_RSSI_ID, 0, instance, data[5] >> 1u, UNIT_DB);
sportProcessTelemetryPacket(TX_LQI_ID, 0, instance, data[7], UNIT_RAW);
}
}
}
else
TRACE("[MP] Received sport telemetry len %d < 4", len);
break;