From 594e937e44314fd4c47f17cee4e04ece7dc27048 Mon Sep 17 00:00:00 2001 From: Risto Date: Mon, 5 Apr 2021 18:13:21 +0200 Subject: [PATCH 1/3] Making better use of BLUETOOTH_PACKET_SIZE Using BLUETOOTH_PACKET_SIZE instead of literal in code. --- radio/src/bluetooth.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radio/src/bluetooth.cpp b/radio/src/bluetooth.cpp index efb33334e..26397fc4c 100644 --- a/radio/src/bluetooth.cpp +++ b/radio/src/bluetooth.cpp @@ -215,10 +215,10 @@ void Bluetooth::processTrainerByte(uint8_t data) if (bufferIndex >= BLUETOOTH_PACKET_SIZE) { uint8_t crc = 0x00; - for (int i=0; i<13; i++) { + for (int i=0; i<(BLUETOOTH_PACKET_SIZE-1); i++) { crc ^= buffer[i]; } - if (crc == buffer[13]) { + if (crc == buffer[BLUETOOTH_PACKET_SIZE-1]) { if (buffer[0] == 0x80) { processTrainerFrame(buffer); } From 2a6cde247d9c5a7729efd6340510532d52dc50d6 Mon Sep 17 00:00:00 2001 From: Risto Date: Mon, 5 Apr 2021 18:18:19 +0200 Subject: [PATCH 2/3] Added TRAINER_FRAME --- radio/src/telemetry/frsky.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/radio/src/telemetry/frsky.h b/radio/src/telemetry/frsky.h index 8621869c6..1bd899605 100644 --- a/radio/src/telemetry/frsky.h +++ b/radio/src/telemetry/frsky.h @@ -259,9 +259,10 @@ inline uint8_t TELEMETRY_RSSI() return telemetryData.rssi.value(); } -constexpr uint8_t START_STOP = 0x7E; -constexpr uint8_t BYTE_STUFF = 0x7D; -constexpr uint8_t STUFF_MASK = 0x20; +constexpr uint8_t START_STOP = 0x7E; +constexpr uint8_t BYTE_STUFF = 0x7D; +constexpr uint8_t STUFF_MASK = 0x20; +constexpr uint8_t TRAINER_FRAME = 0x80; typedef enum { TS_IDLE = 0, // waiting for 0x5e frame marker From a04b3f377a9b40e34111e0a92fbfae0bbd13dab7 Mon Sep 17 00:00:00 2001 From: Risto Date: Mon, 5 Apr 2021 18:19:20 +0200 Subject: [PATCH 3/3] Using new TRAINER_FRAME --- radio/src/bluetooth.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radio/src/bluetooth.cpp b/radio/src/bluetooth.cpp index 26397fc4c..e19547912 100644 --- a/radio/src/bluetooth.cpp +++ b/radio/src/bluetooth.cpp @@ -219,7 +219,7 @@ void Bluetooth::processTrainerByte(uint8_t data) crc ^= buffer[i]; } if (crc == buffer[BLUETOOTH_PACKET_SIZE-1]) { - if (buffer[0] == 0x80) { + if (buffer[0] == TRAINER_FRAME) { processTrainerFrame(buffer); } } @@ -249,7 +249,7 @@ void Bluetooth::sendTrainer() crc = 0x00; buffer[bufferIndex++] = START_STOP; // start byte - pushByte(0x80); // trainer frame type? + pushByte(TRAINER_FRAME); for (int channel=0; channel