From 0a2d2a9b9912e323539971a3a0fe4098274eb28e Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Mon, 15 Apr 2019 18:15:51 +0200 Subject: [PATCH] Telemetry forward through Bluetooth --- radio/src/telemetry/frsky.cpp | 9 ++------- radio/src/telemetry/frsky_sport.cpp | 8 ++++++++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/radio/src/telemetry/frsky.cpp b/radio/src/telemetry/frsky.cpp index 055faa093..c8b567ca5 100644 --- a/radio/src/telemetry/frsky.cpp +++ b/radio/src/telemetry/frsky.cpp @@ -33,16 +33,11 @@ void processFrskyTelemetryData(uint8_t data) } #endif -#if defined(BLUETOOTH) - if (g_eeGeneral.bluetoothMode == BLUETOOTH_TELEMETRY && bluetoothState == BLUETOOTH_STATE_CONNECTED) { - bluetoothForwardTelemetry(data); - } -#endif - if (pushFrskyTelemetryData(data)) { if (IS_FRSKY_SPORT_PROTOCOL()) { sportProcessTelemetryPacket(telemetryRxBuffer); - } else { + } + else { frskyDProcessPacket(telemetryRxBuffer); } } diff --git a/radio/src/telemetry/frsky_sport.cpp b/radio/src/telemetry/frsky_sport.cpp index 1ba3acf1a..bdb84fac5 100644 --- a/radio/src/telemetry/frsky_sport.cpp +++ b/radio/src/telemetry/frsky_sport.cpp @@ -157,6 +157,14 @@ void sportProcessTelemetryPacketWithoutCrc(uint8_t origin, const uint8_t * packe uint16_t dataId = *((uint16_t *)(packet+2)); uint32_t data = SPORT_DATA_S32(packet); +#if defined(BLUETOOTH) + if (g_eeGeneral.bluetoothMode == BLUETOOTH_TELEMETRY && bluetoothState == BLUETOOTH_STATE_CONNECTED) { + for (uint8_t i = 0; i < sizeof(SportTelemetryPacket); i++) { + bluetoothForwardTelemetry(packet[i]); + } + } +#endif + if (primId == DATA_FRAME) { uint8_t instance = physicalId + (origin << 5); if (dataId == RSSI_ID) {