From d44ec9b218124260bf12a5ea11531ce201148651 Mon Sep 17 00:00:00 2001 From: 3djc Date: Tue, 21 Jan 2020 09:41:08 +0100 Subject: [PATCH] Display baudrate choice only when needed on colorlcd (#7311) --- radio/src/gui/480x272/radio_hardware.cpp | 8 +++++++- radio/src/targets/horus/hal.h | 6 +++++- radio/src/telemetry/crossfire.h | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/radio/src/gui/480x272/radio_hardware.cpp b/radio/src/gui/480x272/radio_hardware.cpp index fbf4db3fd..bf6c333f6 100644 --- a/radio/src/gui/480x272/radio_hardware.cpp +++ b/radio/src/gui/480x272/radio_hardware.cpp @@ -113,6 +113,12 @@ void onHardwareAntennaSwitchConfirm(const char * result) #define EXTERNAL_ANTENNA_ROW #endif +#if defined(CROSSFIRE) && SPORT_MAX_BAUDRATE < 400000 + #define MAX_BAUDRATE_ROW 0 +#else + #define MAX_BAUDRATE_ROW HIDDEN_ROW +#endif + bool menuRadioHardware(event_t event) { MENU(STR_HARDWARE, RADIO_ICONS, menuTabGeneral, MENU_RADIO_HARDWARE, ITEM_RADIO_HARDWARE_MAX, { @@ -134,7 +140,7 @@ bool menuRadioHardware(event_t event) READONLY_ROW, /* RTC */ 0, /* RTC check */ - 0, /* max baudrate */ + MAX_BAUDRATE_ROW, /* max baudrate */ BLUETOOTH_ROWS diff --git a/radio/src/targets/horus/hal.h b/radio/src/targets/horus/hal.h index 7b6934068..1e5eb137e 100644 --- a/radio/src/targets/horus/hal.h +++ b/radio/src/targets/horus/hal.h @@ -303,7 +303,11 @@ #define PWR_SWITCH_GPIO_PIN GPIO_Pin_0 // PJ.00 // S.Port update connector -#define SPORT_MAX_BAUDRATE 250000 // < 400000 +#if defined(RADIO_T16) + #define SPORT_MAX_BAUDRATE 400000 +#else + #define SPORT_MAX_BAUDRATE 250000 // < 400000 +#endif #if defined(PCBX10) && !defined(RADIO_T16) #define SPORT_UPDATE_RCC_AHB1Periph RCC_AHB1Periph_GPIOH #define SPORT_UPDATE_PWR_GPIO GPIOH diff --git a/radio/src/telemetry/crossfire.h b/radio/src/telemetry/crossfire.h index 5f40b6f93..3daed0d57 100644 --- a/radio/src/telemetry/crossfire.h +++ b/radio/src/telemetry/crossfire.h @@ -81,7 +81,6 @@ enum CrossfireSensorIndexes { void processCrossfireTelemetryData(uint8_t data); void crossfireSetDefault(int index, uint8_t id, uint8_t subId); -#if SPORT_MAX_BAUDRATE < 400000 const uint32_t CROSSFIRE_BAUDRATES[] = { 400000, 115200, @@ -90,6 +89,7 @@ const uint8_t CROSSFIRE_PERIODS[] = { 4, 16, }; +#if SPORT_MAX_BAUDRATE < 400000 #define CROSSFIRE_BAUDRATE CROSSFIRE_BAUDRATES[g_eeGeneral.telemetryBaudrate] #define CROSSFIRE_PERIOD CROSSFIRE_PERIODS[g_eeGeneral.telemetryBaudrate] #else