diff --git a/radio/src/bluetooth.h b/radio/src/bluetooth.h index 42c5abaa7..2f4f2e1c6 100644 --- a/radio/src/bluetooth.h +++ b/radio/src/bluetooth.h @@ -54,6 +54,7 @@ class Bluetooth public: void writeString(const char * str); char * readline(bool error_reset = true); + void write(const uint8_t * data, uint8_t length); void forwardTelemetry(const uint8_t * packet); void wakeup(); @@ -66,7 +67,6 @@ class Bluetooth protected: void pushByte(uint8_t byte); uint8_t read(uint8_t * data, uint8_t size, uint32_t timeout=1000/*ms*/); - void write(const uint8_t * data, uint8_t length); void appendTrainerByte(uint8_t data); void processTrainerFrame(const uint8_t * buffer); void processTrainerByte(uint8_t data); diff --git a/radio/src/telemetry/crossfire.cpp b/radio/src/telemetry/crossfire.cpp index 4e2efd5e8..609bd7632 100644 --- a/radio/src/telemetry/crossfire.cpp +++ b/radio/src/telemetry/crossfire.cpp @@ -212,6 +212,11 @@ void processCrossfireTelemetryData(uint8_t data) if (telemetryRxBufferCount > 4) { uint8_t length = telemetryRxBuffer[1]; if (length + 2 == telemetryRxBufferCount) { +#if defined(BLUETOOTH) + if (g_eeGeneral.bluetoothMode == BLUETOOTH_TELEMETRY && bluetooth.state == BLUETOOTH_STATE_CONNECTED) { + bluetooth.write(telemetryRxBuffer, telemetryRxBufferCount); + } +#endif processCrossfireTelemetryFrame(); telemetryRxBufferCount = 0; }