From bcaeeed6cee27844436b47815b5a0daf5d49b623 Mon Sep 17 00:00:00 2001 From: 3djc Date: Thu, 5 Sep 2019 13:45:33 +0200 Subject: [PATCH] Enable dump xfire telem using BT --- radio/src/bluetooth.h | 2 +- radio/src/telemetry/crossfire.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) 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; }