From 383e723b964c89df38e886e9a327b6de266f0085 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Fri, 14 Jun 2019 21:20:22 +0200 Subject: [PATCH] Bsongis/xlite trainer modes (#6497) More trainer modes added on XLite(S) and X9Lite --- radio/src/bluetooth.cpp | 7 +- radio/src/bluetooth.h | 2 +- radio/src/gui/212x64/model_setup.cpp | 59 +------------ radio/src/gui/212x64/radio_hardware.cpp | 19 +--- radio/src/gui/gui_common.cpp | 79 +++++------------ radio/src/opentx.h | 2 +- radio/src/targets/taranis/CMakeLists.txt | 14 ++- radio/src/targets/taranis/board.h | 2 +- .../src/targets/taranis/extmodule_driver.cpp | 25 ++---- radio/src/targets/taranis/hal.h | 74 +++++++++------- radio/src/targets/taranis/trainer_driver.cpp | 86 ++++++++++++------- radio/src/tasks.cpp | 4 +- radio/src/translations/cz.h.txt | 2 +- radio/src/translations/de.h.txt | 2 +- radio/src/translations/en.h.txt | 2 +- radio/src/translations/es.h.txt | 2 +- radio/src/translations/fi.h.txt | 2 +- radio/src/translations/fr.h.txt | 2 +- radio/src/translations/it.h.txt | 2 +- radio/src/translations/nl.h.txt | 2 +- radio/src/translations/pl.h.txt | 2 +- radio/src/translations/pt.h.txt | 2 +- radio/src/translations/se.h.txt | 2 +- 23 files changed, 157 insertions(+), 238 deletions(-) diff --git a/radio/src/bluetooth.cpp b/radio/src/bluetooth.cpp index d65dad9ba..f268b180a 100644 --- a/radio/src/bluetooth.cpp +++ b/radio/src/bluetooth.cpp @@ -21,7 +21,7 @@ #include "opentx.h" #include "io/frsky_firmware_update.h" -#if defined(PCBHORUS) || defined(PCBX7) || defined(PCBXLITE) || defined(USEHORUSBT) +#if defined(PCBHORUS) || defined(PCBX7) || defined(PCBXLITE) #define BLUETOOTH_COMMAND_NAME "AT+NAME" #define BLUETOOTH_ANSWER_NAME "OK+" #define BLUETOOTH_COMMAND_BAUD_115200 "AT+BAUD115200" @@ -75,7 +75,8 @@ char * Bluetooth::readline(bool error_reset) while (1) { if (!btRxFifo.pop(byte)) { -#if defined(PCBX9E) && !defined(USEHORUSBT) // X9E BT module can get unresponsive +#if defined(PCBX9E) + // X9E BT module can get unresponsive TRACE("NO RESPONSE FROM BT MODULE"); #endif return nullptr; @@ -290,7 +291,7 @@ void Bluetooth::receiveTrainer() } } -#if defined(PCBX9E) && !defined(USEHORUSBT) +#if defined(PCBX9E) void Bluetooth::wakeup(void) { #if !defined(SIMU) diff --git a/radio/src/bluetooth.h b/radio/src/bluetooth.h index e8e86e056..84ae04507 100644 --- a/radio/src/bluetooth.h +++ b/radio/src/bluetooth.h @@ -19,7 +19,7 @@ */ enum BluetoothStates { -#if defined(PCBX9E) && !defined(USEHORUSBT) +#if defined(PCBX9E) BLUETOOTH_INIT, BLUETOOTH_WAIT_TTM, BLUETOOTH_WAIT_BAUDRATE_CHANGE, diff --git a/radio/src/gui/212x64/model_setup.cpp b/radio/src/gui/212x64/model_setup.cpp index c04d064f7..c6135cbb4 100644 --- a/radio/src/gui/212x64/model_setup.cpp +++ b/radio/src/gui/212x64/model_setup.cpp @@ -229,14 +229,8 @@ void editTimerCountdown(int timerIdx, coord_t y, LcdFlags attr, event_t event) #define PORT_CHANNELS_ROWS(x) (x==INTERNAL_MODULE ? INTERNAL_MODULE_CHANNELS_ROWS : (x==EXTERNAL_MODULE ? EXTERNAL_MODULE_CHANNELS_ROWS : 1)) -#if defined(BLUETOOTH) && defined(USEHORUSBT) - #define TRAINER_LINE1_BLUETOOTH_M_ROWS ((bluetooth.distantAddr[0] == 0 || bluetooth.state == BLUETOOTH_STATE_CONNECTED) ? (uint8_t)0 : (uint8_t)1) - #define TRAINER_LINE1_ROWS (g_model.trainerData.mode == TRAINER_MODE_SLAVE ? (uint8_t)1 : (g_model.trainerData.mode == TRAINER_MODE_MASTER_BLUETOOTH ? TRAINER_LINE1_BLUETOOTH_M_ROWS : (g_model.trainerData.mode == TRAINER_MODE_SLAVE_BLUETOOTH ? (uint8_t)1 : HIDDEN_ROW))) - #define TRAINER_LINE2_ROWS (g_model.trainerData.mode == TRAINER_MODE_SLAVE ? (uint8_t)2 : HIDDEN_ROW) -#else - #define TRAINER_LINE1_ROWS (g_model.trainerData.mode == TRAINER_MODE_SLAVE ? (uint8_t)1 : HIDDEN_ROW) - #define TRAINER_LINE2_ROWS (g_model.trainerData.mode == TRAINER_MODE_SLAVE ? (uint8_t)2 : HIDDEN_ROW) -#endif +#define TRAINER_LINE1_ROWS (g_model.trainerData.mode == TRAINER_MODE_SLAVE ? (uint8_t)1 : HIDDEN_ROW) +#define TRAINER_LINE2_ROWS (g_model.trainerData.mode == TRAINER_MODE_SLAVE ? (uint8_t)2 : HIDDEN_ROW) #define TIMER_ROWS(x) 2|NAVIGATION_LINE_BY_LINE, 0, 0, 0, g_model.timers[x].countdownBeep != COUNTDOWN_SILENT ? (uint8_t) 1 : (uint8_t)0 @@ -779,12 +773,6 @@ void menuModelSetup(event_t event) if (attr) { g_model.trainerData.mode = checkIncDec(event, g_model.trainerData.mode, 0, TRAINER_MODE_MAX(), EE_MODEL, isTrainerModeAvailable); } -#if defined(BLUETOOTH) && defined(USEHORUSBT) - if (attr && checkIncDec_Ret) { - bluetooth.state = BLUETOOTH_STATE_OFF; - bluetooth.distantAddr[0] = 0; - } -#endif break; case ITEM_MODEL_SETUP_EXTERNAL_MODULE_LABEL: @@ -918,48 +906,6 @@ void menuModelSetup(event_t event) lcdDrawTextAlignedLeft(y, STR_TRAINER); break; -#if defined(BLUETOOTH) && defined(USEHORUSBT) - case ITEM_MODEL_SETUP_TRAINER_LINE1: - if (g_model.trainerData.mode == TRAINER_MODE_MASTER_BLUETOOTH) { - if (attr) { - s_editMode = 0; - } - if (bluetooth.distantAddr[0]) { - lcdDrawText(INDENT_WIDTH, y+1, bluetooth.distantAddr, TINSIZE); - if (bluetooth.state != BLUETOOTH_STATE_CONNECTED) { - lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, BUTTON("Bind"), menuHorizontalPosition == 0 ? attr : 0); - lcdDrawText(MODEL_SETUP_2ND_COLUMN+5*FW, y, BUTTON("Clear"), menuHorizontalPosition == 1 ? attr : 0); - } - else { - lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, BUTTON("Clear"), attr); - } - if (attr && event == EVT_KEY_FIRST(KEY_ENTER)) { - if (bluetooth.state == BLUETOOTH_STATE_CONNECTED || menuHorizontalPosition == 1) { - bluetooth.state = BLUETOOTH_STATE_OFF; - bluetooth.distantAddr[0] = 0; - } - else { - bluetooth.state = BLUETOOTH_STATE_BIND_REQUESTED; - } - } - } - else { - lcdDrawText(INDENT_WIDTH, y, "---"); - if (bluetooth.state < BLUETOOTH_STATE_IDLE) - lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, BUTTON("Init"), attr); - else - lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, BUTTON("Discover"), attr); - if (attr && event == EVT_KEY_FIRST(KEY_ENTER)) { - if (bluetooth.state < BLUETOOTH_STATE_IDLE) - bluetooth.state = BLUETOOTH_STATE_OFF; - else - bluetooth.state = BLUETOOTH_STATE_DISCOVER_REQUESTED; - } - } - break; - } - // no break -#else case ITEM_MODEL_SETUP_TRAINER_LINE1: lcdDrawTextAlignedLeft(y, STR_CHANNELRANGE); lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_CH, menuHorizontalPosition==0 ? attr : 0); @@ -977,7 +923,6 @@ void menuModelSetup(event_t event) } } break; -#endif case ITEM_MODEL_SETUP_INTERNAL_MODULE_CHANNELS: case ITEM_MODEL_SETUP_EXTERNAL_MODULE_CHANNELS: diff --git a/radio/src/gui/212x64/radio_hardware.cpp b/radio/src/gui/212x64/radio_hardware.cpp index 3f59fd1e7..a24c7df9c 100644 --- a/radio/src/gui/212x64/radio_hardware.cpp +++ b/radio/src/gui/212x64/radio_hardware.cpp @@ -55,9 +55,6 @@ enum menuRadioHwItems { CASE_PCBX9E(ITEM_RADIO_HARDWARE_SQ) CASE_PCBX9E(ITEM_RADIO_HARDWARE_SR) CASE_BLUETOOTH(ITEM_RADIO_HARDWARE_BLUETOOTH_MODE) -#if defined(USEHORUSBT) - CASE_BLUETOOTH(ITEM_RADIO_HARDWARE_BLUETOOTH_NAME) -#endif #if defined(AUX_SERIAL) ITEM_RADIO_HARDWARE_AUX_SERIAL_MODE, #endif @@ -88,10 +85,10 @@ enum menuRadioHwItems { #define SWITCHES_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1 #endif -#if defined(BLUETOOTH) && defined(USEHORUSBT) - #define BLUETOOTH_ROWS 0, uint8_t(g_eeGeneral.bluetoothMode == BLUETOOTH_OFF ? -1 : 0), +#if defined(BLUETOOTH) +#define BLUETOOTH_ROWS (uint8_t)0, #else - #define BLUETOOTH_ROWS (uint8_t)0, +#define BLUETOOTH_ROWS #endif #define SWITCH_TYPE_MAX(sw) ((MIXSRC_SF-MIXSRC_FIRST_SWITCH == sw || MIXSRC_SH-MIXSRC_FIRST_SWITCH == sw) ? SWITCH_2POS : SWITCH_3POS) @@ -218,19 +215,9 @@ void menuRadioHardware(event_t event) lcdDrawText(INDENT_WIDTH, y, STR_BLUETOOTH); lcdDrawTextAtIndex(HW_SETTINGS_COLUMN, y, STR_BLUETOOTH_MODES, g_eeGeneral.bluetoothMode, attr); if (attr) { -#if defined(USEHORUSBT) - g_eeGeneral.bluetoothMode = checkIncDecGen(event, g_eeGeneral.bluetoothMode, BLUETOOTH_OFF, BLUETOOTH_TRAINER); -#else g_eeGeneral.bluetoothMode = checkIncDecGen(event, g_eeGeneral.bluetoothMode, BLUETOOTH_OFF, BLUETOOTH_TELEMETRY); -#endif } break; -#if defined(USEHORUSBT) - case ITEM_RADIO_HARDWARE_BLUETOOTH_NAME: - lcdDrawText(INDENT_WIDTH, y, STR_NAME); - editName(HW_SETTINGS_COLUMN, y, g_eeGeneral.bluetoothName, LEN_BLUETOOTH_NAME, event, attr); - break; -#endif #endif #if defined(AUX_SERIAL) diff --git a/radio/src/gui/gui_common.cpp b/radio/src/gui/gui_common.cpp index 538a4ae93..818f083fe 100644 --- a/radio/src/gui/gui_common.cpp +++ b/radio/src/gui/gui_common.cpp @@ -698,66 +698,33 @@ bool isTelemetryProtocolAvailable(int protocol) return true; } -#if defined(PCBHORUS) bool isTrainerModeAvailable(int mode) { +#if defined(PCBTARANIS) + if (IS_EXTERNAL_MODULE_ENABLED() && (mode == TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE || mode == TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE)) + return false; +#endif + +#if !defined(PCBSKY9X) && !defined(TRAINER_BATTERY_COMPARTMENT) + if (mode == TRAINER_MODE_MASTER_BATTERY_COMPARTMENT) + return false; +#endif + +#if defined(PCBX9E) + if (mode == TRAINER_MODE_MASTER_BLUETOOTH || mode == TRAINER_MODE_SLAVE_BLUETOOTH) + return false; +#elif defined(BLUETOOTH) + if (g_eeGeneral.bluetoothMode != BLUETOOTH_TRAINER && (mode == TRAINER_MODE_MASTER_BLUETOOTH || mode == TRAINER_MODE_SLAVE_BLUETOOTH)) + return false; +#endif + +#if defined(PCBXLITE) + if (mode == TRAINER_MODE_MASTER_TRAINER_JACK || mode == TRAINER_MODE_SLAVE) + return false; +#endif + return true; } -#elif defined(PCBX9E) -bool isTrainerModeAvailable(int mode) -{ - if (IS_EXTERNAL_MODULE_ENABLED() && (mode == TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE || mode == TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE)) - return false; -#if defined(USEHORUSBT) - else if (mode == TRAINER_MODE_MASTER_BATTERY_COMPARTMENT) -#else - else if (mode == TRAINER_MODE_MASTER_BLUETOOTH || mode == TRAINER_MODE_MASTER_BATTERY_COMPARTMENT || mode == TRAINER_MODE_SLAVE_BLUETOOTH) -#endif - return false; - else - return true; -} -#elif defined(PCBX9D) || defined(PCBX9DP) || defined(PCBX9E) -bool isTrainerModeAvailable(int mode) -{ - if (IS_EXTERNAL_MODULE_ENABLED() && (mode == TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE || mode == TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE)) - return false; - else - return true; -} -#elif defined(PCBX7) || defined(PCBXLITES) || defined(PCBX9LITE) -bool isTrainerModeAvailable(int mode) -{ - if (IS_EXTERNAL_MODULE_ENABLED() && (mode == TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE || mode == TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE)) - return false; - else if (mode == TRAINER_MODE_MASTER_BATTERY_COMPARTMENT) - return false; -#if defined(BLUETOOTH) - else if (g_eeGeneral.bluetoothMode != BLUETOOTH_TRAINER && (mode == TRAINER_MODE_MASTER_BLUETOOTH || mode == TRAINER_MODE_SLAVE_BLUETOOTH)) - return false; -#endif - else - return true; -} -#elif defined(PCBXLITES) -bool isTrainerModeAvailable(int mode) -{ - if (mode == TRAINER_MODE_MASTER_TRAINER_JACK || mode == TRAINER_MODE_SLAVE) - return true; - else if (g_eeGeneral.bluetoothMode == BLUETOOTH_TRAINER && (mode == TRAINER_MODE_MASTER_BLUETOOTH || mode == TRAINER_MODE_SLAVE_BLUETOOTH)) - return true; - else - return false; -} -#elif defined(PCBXLITE) -bool isTrainerModeAvailable(int mode) -{ - if (g_eeGeneral.bluetoothMode == BLUETOOTH_TRAINER && (mode == TRAINER_MODE_MASTER_BLUETOOTH || mode == TRAINER_MODE_SLAVE_BLUETOOTH)) - return true; - else - return false; -} -#endif bool modelHasNotes() { diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 10f7c872b..da3487f9c 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -201,7 +201,7 @@ #define IS_FAI_FORBIDDEN(idx) (IS_FAI_ENABLED() && isFaiForbidden(idx)) #if defined(BLUETOOTH) - #if defined(X9E) && !defined(USEHORUSBT) + #if defined(X9E) #define IS_BLUETOOTH_TRAINER() (g_model.trainerData.mode == TRAINER_MODE_SLAVE_BLUETOOTH) #define IS_SLAVE_TRAINER() (g_model.trainerData.mode == TRAINER_MODE_SLAVE) #else diff --git a/radio/src/targets/taranis/CMakeLists.txt b/radio/src/targets/taranis/CMakeLists.txt index 1d2ccc7c5..a180e0658 100644 --- a/radio/src/targets/taranis/CMakeLists.txt +++ b/radio/src/targets/taranis/CMakeLists.txt @@ -2,7 +2,6 @@ option(SHUTDOWN_CONFIRMATION "Shutdown confirmation" OFF) option(LCD_DUAL_BUFFER "Dual LCD Buffer" OFF) option(INTERNAL_MODULE_PPM "Support for PPM internal module hack" OFF) option(INTERNAL_MODULE_PXX1 "Support for PXX1 internal module replacement" OFF) -option(USEHORUSBT "X9E BT module replaced by Horus BT module" OFF) option(PXX1 "PXX1 protocol support" ON) option(PXX2 "PXX2 protocol support" OFF) @@ -184,10 +183,6 @@ else() ${TARGET_SRC} intmodule_pulses_driver.cpp ) - set(PULSES_SRC - ${PULSES_SRC} - ../sbus.cpp - ) endif() if(PCB STREQUAL X9E OR (PCB STREQUAL X7 AND NOT (PCBREV STREQUAL T12)) OR PCB STREQUAL X9LITE) @@ -246,6 +241,11 @@ if(STATUS_LEDS) set(LED_DRIVER led_driver.cpp) endif() +set(SRC + ${SRC} + sbus.cpp + ) + set(TARGET_SRC ${TARGET_SRC} board.cpp @@ -286,8 +286,4 @@ if(INTERNAL_MODULE_PXX1) add_definitions(-DINTERNAL_MODULE_PXX1) endif() -if(USEHORUSBT) - add_definitions(-DUSEHORUSBT) -endif(USEHORUSBT) - set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} ${BITMAPS_TARGET}) diff --git a/radio/src/targets/taranis/board.h b/radio/src/targets/taranis/board.h index 6e8148b08..360726507 100644 --- a/radio/src/targets/taranis/board.h +++ b/radio/src/targets/taranis/board.h @@ -798,7 +798,7 @@ void auxSerialStop(void); // BT driver #define BLUETOOTH_BOOTLOADER_BAUDRATE 230400 #define BLUETOOTH_DEFAULT_BAUDRATE 115200 -#if defined(PCBX9E) && !defined(USEHORUSBT) +#if defined(PCBX9E) #define BLUETOOTH_FACTORY_BAUDRATE 9600 #else #define BLUETOOTH_FACTORY_BAUDRATE 57600 diff --git a/radio/src/targets/taranis/extmodule_driver.cpp b/radio/src/targets/taranis/extmodule_driver.cpp index 6ac0b65d2..689f0caca 100644 --- a/radio/src/targets/taranis/extmodule_driver.cpp +++ b/radio/src/targets/taranis/extmodule_driver.cpp @@ -27,8 +27,7 @@ void extmoduleStop() EXTMODULE_TIMER_DMA_STREAM->CR &= ~DMA_SxCR_EN; // Disable DMA #if defined(EXTMODULE_USART) - NVIC_DisableIRQ(EXTMODULE_USART_DMA_STREAM_IRQn); - EXTMODULE_USART_DMA_STREAM->CR &= ~DMA_SxCR_EN; // Disable DMA + EXTMODULE_USART_TX_DMA_STREAM->CR &= ~DMA_SxCR_EN; // Disable DMA GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = EXTMODULE_TX_GPIO_PIN | EXTMODULE_RX_GPIO_PIN; @@ -126,13 +125,6 @@ void extmoduleInvertedSerialStart(uint32_t baudrate) { EXTERNAL_MODULE_ON(); - NVIC_InitTypeDef NVIC_InitStructure; - NVIC_InitStructure.NVIC_IRQChannel = EXTMODULE_USART_DMA_STREAM_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; /* Not used as 4 bits are used for the pre-emption priority. */; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - // TX + RX Pins GPIO_PinAFConfig(EXTMODULE_USART_GPIO, EXTMODULE_TX_GPIO_PinSource, EXTMODULE_USART_GPIO_AF); GPIO_PinAFConfig(EXTMODULE_USART_GPIO, EXTMODULE_RX_GPIO_PinSource, EXTMODULE_USART_GPIO_AF); @@ -167,8 +159,8 @@ void extmoduleInvertedSerialStart(uint32_t baudrate) void extmoduleSendBuffer(const uint8_t * data, uint8_t size) { DMA_InitTypeDef DMA_InitStructure; - DMA_DeInit(EXTMODULE_USART_DMA_STREAM); - DMA_InitStructure.DMA_Channel = EXTMODULE_USART_DMA_CHANNEL; + DMA_DeInit(EXTMODULE_USART_TX_DMA_STREAM); + DMA_InitStructure.DMA_Channel = EXTMODULE_USART_TX_DMA_CHANNEL; DMA_InitStructure.DMA_PeripheralBaseAddr = CONVERT_PTR_UINT(&EXTMODULE_USART->DR); DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; DMA_InitStructure.DMA_Memory0BaseAddr = CONVERT_PTR_UINT(data); @@ -183,15 +175,11 @@ void extmoduleSendBuffer(const uint8_t * data, uint8_t size) DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full; DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - DMA_Init(EXTMODULE_USART_DMA_STREAM, &DMA_InitStructure); - DMA_Cmd(EXTMODULE_USART_DMA_STREAM, ENABLE); + DMA_Init(EXTMODULE_USART_TX_DMA_STREAM, &DMA_InitStructure); + DMA_Cmd(EXTMODULE_USART_TX_DMA_STREAM, ENABLE); USART_DMACmd(EXTMODULE_USART, USART_DMAReq_Tx, ENABLE); } -// TODO remove this when we have adaptative speed -//uint8_t counter = 0; -//#include - #define USART_FLAG_ERRORS (USART_FLAG_ORE | USART_FLAG_NE | USART_FLAG_FE | USART_FLAG_PE) extern "C" void EXTMODULE_USART_IRQHandler(void) { @@ -201,9 +189,6 @@ extern "C" void EXTMODULE_USART_IRQHandler(void) uint8_t data = EXTMODULE_USART->DR; if (status & USART_FLAG_ERRORS) { extmoduleFifo.errors++; -// if (!counter++) { -// TRACE_NOCRLF("%02X ", (uint8_t)status); -// } } else { extmoduleFifo.push(data); diff --git a/radio/src/targets/taranis/hal.h b/radio/src/targets/taranis/hal.h index c9d8c15ef..e90a70866 100644 --- a/radio/src/targets/taranis/hal.h +++ b/radio/src/targets/taranis/hal.h @@ -826,7 +826,7 @@ #define INTERNAL_MODULE_PXX1 #endif #if defined(PCBXLITE) || defined(PCBX9LITE) - #define INTMODULE_RCC_APB1Periph RCC_APB1Periph_TIM3 + #define INTMODULE_RCC_APB1Periph 0 #define INTMODULE_RCC_APB2Periph RCC_APB2Periph_USART1 #if defined(PCBXLITES) || defined(PCBX9LITE) #define INTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA2) @@ -855,10 +855,6 @@ #define INTMODULE_BOOTCMD_GPIO GPIOC #define INTMODULE_BOOTCMD_GPIO_PIN GPIO_Pin_8 // PC.08 #endif - // #define INTMODULE_TIMER TIM3 - // #define INTMODULE_TIMER_IRQn TIM3_IRQn - // #define INTMODULE_TIMER_IRQHandler TIM3_IRQHandler - // #define INTMODULE_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1) #elif defined(PCBX9E) || defined(PCBX9DP) || defined(RADIO_X7) #define INTMODULE_PULSES #define INTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_DMA2) @@ -962,9 +958,10 @@ #define EXTMODULE_USART USART6 #define EXTMODULE_USART_IRQn USART6_IRQn #define EXTMODULE_USART_IRQHandler USART6_IRQHandler - #define EXTMODULE_USART_DMA_CHANNEL DMA_Channel_5 - #define EXTMODULE_USART_DMA_STREAM DMA2_Stream6 - #define EXTMODULE_USART_DMA_STREAM_IRQn DMA2_Stream6_IRQn + #define EXTMODULE_USART_TX_DMA_CHANNEL DMA_Channel_5 + #define EXTMODULE_USART_TX_DMA_STREAM DMA2_Stream6 + #define EXTMODULE_USART_RX_DMA_CHANNEL DMA_Channel_5 + #define EXTMODULE_USART_RX_DMA_STREAM DMA2_Stream1 #elif defined(RADIO_T12) //Jumper T12v2 external module configured #define EXTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA2) @@ -1233,40 +1230,55 @@ #endif // Trainer / Trainee from the module bay -#if defined(PCBX9LITE) +#if defined(PCBX9LITE) || defined(PCBXLITE) #define TRAINER_MODULE_CPPM - #define TRAINER_MODULE_RCC_AHB1Periph EXTMODULE_HEARTBEAT_RCC_AHB1Periph - #define TRAINER_MODULE_RCC_APB1Periph RCC_APB1Periph_TIM4 + #define TRAINER_MODULE_SBUS + #define TRAINER_MODULE_RCC_AHB1Periph 0 + #define TRAINER_MODULE_RCC_APB1Periph RCC_APB1Periph_TIM3 #define TRAINER_MODULE_RCC_APB2Periph 0 - #define TRAINER_MODULE_CPPM_GPIO EXTMODULE_HEARTBEAT_GPIO - #define TRAINER_MODULE_CPPM_GPIO_PIN EXTMODULE_HEARTBEAT_GPIO_PIN - #define TRAINER_MODULE_CPPM_GPIO_PinSource EXTMODULE_HEARTBEAT_EXTI_PinSource - #define TRAINER_MODULE_CPPM_GPIO_AF GPIO_AF_TIM4 -#elif defined(PCBXLITE) - #define TRAINER_MODULE_CPPM - #define TRAINER_MODULE_RCC_AHB1Periph INTMODULE_HEARTBEAT_RCC_AHB1Periph - #define TRAINER_MODULE_RCC_APB1Periph RCC_APB1Periph_TIM4 - #define TRAINER_MODULE_RCC_APB2Periph 0 - #define TRAINER_MODULE_CPPM_GPIO INTMODULE_HEARTBEAT_GPIO - #define TRAINER_MODULE_CPPM_GPIO_PIN INTMODULE_HEARTBEAT_GPIO_PIN - #define TRAINER_MODULE_CPPM_GPIO_PinSource INTMODULE_HEARTBEAT_EXTI_PinSource - #define TRAINER_MODULE_CPPM_GPIO_AF GPIO_AF_TIM4 + #define TRAINER_MODULE_CPPM_GPIO EXTMODULE_USART_GPIO + #define TRAINER_MODULE_CPPM_GPIO_PIN EXTMODULE_RX_GPIO_PIN + #define TRAINER_MODULE_CPPM_GPIO_PinSource EXTMODULE_RX_GPIO_PinSource + #define TRAINER_MODULE_CPPM_GPIO_AF GPIO_AF_TIM3 + #define TRAINER_MODULE_CPPM_TIMER TIM3 + #define TRAINER_MODULE_CPPM_COUNTER_REGISTER TRAINER_MODULE_CPPM_TIMER->CCR2 + #define TRAINER_MODULE_CPPM_INTERRUPT_ENABLE TIM_DIER_CC2IE + #define TRAINER_MODULE_CPPM_INTERRUPT_FLAG TIM_SR_CC2IF + #define TRAINER_MODULE_CPPM_CCMR1 (TIM_CCMR1_IC2F_0 | TIM_CCMR1_IC2F_1 | TIM_CCMR1_CC2S_0) + #define TRAINER_MODULE_CPPM_CCER TIM_CCER_CC2E + #define TRAINER_MODULE_CPPM_TIMER_IRQn TIM3_IRQn + #define TRAINER_MODULE_CPPM_TIMER_IRQHandler TIM3_IRQHandler + #define TRAINER_MODULE_SBUS_GPIO EXTMODULE_USART_GPIO + #define TRAINER_MODULE_SBUS_GPIO_PIN EXTMODULE_RX_GPIO_PIN + #define TRAINER_MODULE_SBUS_GPIO_AF EXTMODULE_USART_GPIO_AF + #define TRAINER_MODULE_SBUS_USART EXTMODULE_USART + #define TRAINER_MODULE_SBUS_GPIO_PinSource EXTMODULE_RX_GPIO_PinSource + #define TRAINER_MODULE_SBUS_DMA_STREAM EXTMODULE_USART_RX_DMA_STREAM + #define TRAINER_MODULE_SBUS_DMA_CHANNEL EXTMODULE_USART_RX_DMA_CHANNEL #else #define TRAINER_MODULE_CPPM #define TRAINER_MODULE_SBUS #define TRAINER_MODULE_RCC_AHB1Periph RCC_AHB1Periph_GPIOC #define TRAINER_MODULE_RCC_APB2Periph RCC_APB2Periph_USART6 #define TRAINER_MODULE_RCC_APB1Periph RCC_APB1Periph_TIM3 + #define TRAINER_MODULE_CPPM_TIMER TRAINER_TIMER #define TRAINER_MODULE_CPPM_GPIO INTMODULE_HEARTBEAT_GPIO #define TRAINER_MODULE_CPPM_GPIO_PIN INTMODULE_HEARTBEAT_GPIO_PIN #define TRAINER_MODULE_CPPM_GPIO_PinSource INTMODULE_HEARTBEAT_EXTI_PinSource - #define TRAINER_MODULE_SBUS_GPIO_AF GPIO_AF_USART6 - #define TRAINER_MODULE_CPPM_GPIO_AF GPIO_AF_TIM3 - #define TRAINER_MODULE_SBUS_USART USART6 - #define TRAINER_MODULE_SBUS_USART_IRQHandler USART6_IRQHandler - #define TRAINER_MODULE_SBUS_USART_IRQn USART6_IRQn - #define TRAINER_MODULE_SBUS_DMA_Stream DMA2_Stream1 - #define TRAINER_MODULE_SBUS_DMA_Channel DMA_Channel_5 + #define TRAINER_MODULE_CPPM_INTERRUPT_ENABLE TIM_DIER_CC2IE + #define TRAINER_MODULE_CPPM_INTERRUPT_FLAG TIM_SR_CC2IF + #define TRAINER_MODULE_CPPM_CCMR1 (TIM_CCMR1_IC2F_0 | TIM_CCMR1_IC2F_1 | TIM_CCMR1_CC2S_0) + #define TRAINER_MODULE_CPPM_CCER TIM_CCER_CC2E + #define TRAINER_MODULE_CPPM_COUNTER_REGISTER TRAINER_TIMER->CCR2 + #define TRAINER_MODULE_CPPM_TIMER_IRQn TRAINER_TIMER_IRQn + #define TRAINER_MODULE_CPPM_GPIO_AF GPIO_AF_TIM3 + #define TRAINER_MODULE_SBUS_GPIO_AF GPIO_AF_USART6 + #define TRAINER_MODULE_SBUS_USART USART6 + #define TRAINER_MODULE_SBUS_GPIO INTMODULE_HEARTBEAT_GPIO + #define TRAINER_MODULE_SBUS_GPIO_PIN INTMODULE_HEARTBEAT_GPIO_PIN + #define TRAINER_MODULE_SBUS_GPIO_PinSource INTMODULE_HEARTBEAT_EXTI_PinSource + #define TRAINER_MODULE_SBUS_DMA_STREAM DMA2_Stream1 + #define TRAINER_MODULE_SBUS_DMA_CHANNEL DMA_Channel_5 #endif // USB diff --git a/radio/src/targets/taranis/trainer_driver.cpp b/radio/src/targets/taranis/trainer_driver.cpp index 92977c059..0e95f2a59 100644 --- a/radio/src/targets/taranis/trainer_driver.cpp +++ b/radio/src/targets/taranis/trainer_driver.cpp @@ -21,7 +21,7 @@ #include "opentx.h" #if defined(TRAINER_MODULE_SBUS_USART) -DMAFifo<32> heartbeatFifo __DMA (TRAINER_MODULE_SBUS_DMA_Stream); +DMAFifo<32> trainerSbusFifo __DMA (TRAINER_MODULE_SBUS_DMA_STREAM); #endif void trainerSendNextFrame(); @@ -165,10 +165,10 @@ extern "C" void TRAINER_TIMER_IRQHandler() } #endif -#if defined(TRAINER_MODULE_CPPM) - if ((TRAINER_TIMER->DIER & TIM_DIER_CC2IE) && (TRAINER_TIMER->SR & TIM_SR_CC2IF)) { +#if defined(TRAINER_MODULE_CPPM) && !defined(TRAINER_MODULE_CPPM_TIMER_IRQHandler) + if ((TRAINER_TIMER->DIER & TRAINER_MODULE_CPPM_INTERRUPT_ENABLE) && (TRAINER_TIMER->SR & TRAINER_MODULE_CPPM_INTERRUPT_FLAG)) { // capture mode on heartbeat pin (external module) - capture = TRAINER_TIMER->CCR2; + capture = TRAINER_MODULE_CPPM_COUNTER_REGISTER; if (currentTrainerMode == TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE) { doCapture = true; } @@ -202,6 +202,26 @@ extern "C" void TRAINER_TIMER_IRQHandler() #endif } +#if defined(TRAINER_MODULE_CPPM_TIMER_IRQHandler) +extern "C" void TRAINER_MODULE_CPPM_TIMER_IRQHandler() +{ + uint16_t capture = 0; + bool doCapture = false; + + if ((TRAINER_MODULE_CPPM_TIMER->DIER & TRAINER_MODULE_CPPM_INTERRUPT_ENABLE) && (TRAINER_MODULE_CPPM_TIMER->SR & TRAINER_MODULE_CPPM_INTERRUPT_FLAG)) { + // capture mode on external module + capture = TRAINER_MODULE_CPPM_COUNTER_REGISTER; + if (currentTrainerMode == TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE) { + doCapture = true; + } + } + + if (doCapture) { + captureTrainerPulses(capture); + } +} +#endif + #if defined(TRAINER_MODULE_CPPM) void init_trainer_module_cppm() { @@ -217,24 +237,28 @@ void init_trainer_module_cppm() GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(TRAINER_MODULE_CPPM_GPIO, &GPIO_InitStructure); - TRAINER_TIMER->ARR = 0xFFFF; - TRAINER_TIMER->PSC = (PERI1_FREQUENCY * TIMER_MULT_APB1) / 2000000 - 1; // 0.5uS - TRAINER_TIMER->CR2 = 0; - TRAINER_TIMER->CCMR1 = TIM_CCMR1_IC2F_0 | TIM_CCMR1_IC2F_1 | TIM_CCMR1_CC2S_0; - TRAINER_TIMER->CCER = TIM_CCER_CC2E; - TRAINER_TIMER->SR &= ~TIM_SR_CC2IF; // Clear flag - TRAINER_TIMER->DIER |= TIM_DIER_CC2IE; - TRAINER_TIMER->CR1 = TIM_CR1_CEN; + TRAINER_MODULE_CPPM_TIMER->ARR = 0xFFFF; + TRAINER_MODULE_CPPM_TIMER->PSC = (PERI1_FREQUENCY * TIMER_MULT_APB1) / 2000000 - 1; // 0.5uS + TRAINER_MODULE_CPPM_TIMER->CR2 = 0; +#if defined(TRAINER_MODULE_CPPM_CCMR1) + TRAINER_MODULE_CPPM_TIMER->CCMR1 = TRAINER_MODULE_CPPM_CCMR1; +#elif defined(TRAINER_MODULE_CPPM_CCMR2) + TRAINER_MODULE_CPPM_TIMER->CCMR2 = TRAINER_MODULE_CPPM_CCMR2; +#endif + TRAINER_MODULE_CPPM_TIMER->CCER = TRAINER_MODULE_CPPM_CCER; + TRAINER_MODULE_CPPM_TIMER->SR &= ~TRAINER_MODULE_CPPM_INTERRUPT_FLAG; // Clear flag + TRAINER_MODULE_CPPM_TIMER->DIER |= TRAINER_MODULE_CPPM_INTERRUPT_ENABLE; + TRAINER_MODULE_CPPM_TIMER->CR1 = TIM_CR1_CEN; - NVIC_SetPriority(TRAINER_TIMER_IRQn, 7); - NVIC_EnableIRQ(TRAINER_TIMER_IRQn); + NVIC_SetPriority(TRAINER_MODULE_CPPM_TIMER_IRQn, 7); + NVIC_EnableIRQ(TRAINER_MODULE_CPPM_TIMER_IRQn); } void stop_trainer_module_cppm() { - TRAINER_TIMER->DIER = 0; - TRAINER_TIMER->CR1 &= ~TIM_CR1_CEN; // Stop counter - NVIC_DisableIRQ(TRAINER_TIMER_IRQn); // Stop Interrupt + TRAINER_MODULE_CPPM_TIMER->DIER = 0; + TRAINER_MODULE_CPPM_TIMER->CR1 &= ~TIM_CR1_CEN; // Stop counter + NVIC_DisableIRQ(TRAINER_MODULE_CPPM_TIMER_IRQn); // Stop Interrupt if (!IS_EXTERNAL_MODULE_ENABLED()) { EXTERNAL_MODULE_OFF(); @@ -250,14 +274,14 @@ void init_trainer_module_sbus() USART_InitTypeDef USART_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; - GPIO_PinAFConfig(GPIOC, TRAINER_MODULE_CPPM_GPIO_PinSource, TRAINER_MODULE_SBUS_GPIO_AF); + GPIO_PinAFConfig(TRAINER_MODULE_SBUS_GPIO, TRAINER_MODULE_SBUS_GPIO_PinSource, TRAINER_MODULE_SBUS_GPIO_AF); - GPIO_InitStructure.GPIO_Pin = TRAINER_MODULE_CPPM_GPIO_PIN; + GPIO_InitStructure.GPIO_Pin = TRAINER_MODULE_SBUS_GPIO_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; - GPIO_Init(TRAINER_MODULE_CPPM_GPIO, &GPIO_InitStructure); + GPIO_Init(TRAINER_MODULE_SBUS_GPIO, &GPIO_InitStructure); USART_InitStructure.USART_BaudRate = 100000; USART_InitStructure.USART_WordLength = USART_WordLength_9b; @@ -268,14 +292,14 @@ void init_trainer_module_sbus() USART_Init(TRAINER_MODULE_SBUS_USART, &USART_InitStructure); DMA_InitTypeDef DMA_InitStructure; - heartbeatFifo.clear(); + trainerSbusFifo.clear(); USART_ITConfig(TRAINER_MODULE_SBUS_USART, USART_IT_RXNE, DISABLE); USART_ITConfig(TRAINER_MODULE_SBUS_USART, USART_IT_TXE, DISABLE); - DMA_InitStructure.DMA_Channel = TRAINER_MODULE_SBUS_DMA_Channel; + DMA_InitStructure.DMA_Channel = TRAINER_MODULE_SBUS_DMA_CHANNEL; DMA_InitStructure.DMA_PeripheralBaseAddr = CONVERT_PTR_UINT(&TRAINER_MODULE_SBUS_USART->DR); - DMA_InitStructure.DMA_Memory0BaseAddr = CONVERT_PTR_UINT(heartbeatFifo.buffer()); + DMA_InitStructure.DMA_Memory0BaseAddr = CONVERT_PTR_UINT(trainerSbusFifo.buffer()); DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - DMA_InitStructure.DMA_BufferSize = heartbeatFifo.size(); + DMA_InitStructure.DMA_BufferSize = trainerSbusFifo.size(); DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; @@ -286,19 +310,18 @@ void init_trainer_module_sbus() DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full; DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - DMA_Init(TRAINER_MODULE_SBUS_DMA_Stream, &DMA_InitStructure); + DMA_Init(TRAINER_MODULE_SBUS_DMA_STREAM, &DMA_InitStructure); USART_DMACmd(TRAINER_MODULE_SBUS_USART, USART_DMAReq_Rx, ENABLE); USART_Cmd(TRAINER_MODULE_SBUS_USART, ENABLE); - DMA_Cmd(TRAINER_MODULE_SBUS_DMA_Stream, ENABLE); + DMA_Cmd(TRAINER_MODULE_SBUS_DMA_STREAM, ENABLE); } void stop_trainer_module_sbus() { - DMA_Cmd(TRAINER_MODULE_SBUS_DMA_Stream, DISABLE); + DMA_Cmd(TRAINER_MODULE_SBUS_DMA_STREAM, DISABLE); USART_Cmd(TRAINER_MODULE_SBUS_USART, DISABLE); USART_DMACmd(TRAINER_MODULE_SBUS_USART, USART_DMAReq_Rx, DISABLE); - DMA_DeInit(TRAINER_MODULE_SBUS_DMA_Stream); - NVIC_DisableIRQ(TRAINER_MODULE_SBUS_USART_IRQn); + DMA_DeInit(TRAINER_MODULE_SBUS_DMA_STREAM); if (!IS_EXTERNAL_MODULE_ENABLED()) { EXTERNAL_MODULE_OFF(); @@ -306,13 +329,16 @@ void stop_trainer_module_sbus() } #endif +uint32_t ccount = 0; + #if defined(SBUS) int sbusGetByte(uint8_t * byte) { switch (currentTrainerMode) { #if defined(TRAINER_MODULE_SBUS_USART) case TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE: - return heartbeatFifo.pop(*byte); + ccount++; + return trainerSbusFifo.pop(*byte); #endif #if defined(AUX_SERIAL_USART) case TRAINER_MODE_MASTER_BATTERY_COMPARTMENT: diff --git a/radio/src/tasks.cpp b/radio/src/tasks.cpp index 140e4676c..12685157c 100644 --- a/radio/src/tasks.cpp +++ b/radio/src/tasks.cpp @@ -107,8 +107,8 @@ TASK_FUNCTION(mixerTask) s_pulses_paused = true; while (1) { -#if defined(PCBX9D) || defined(PCBX7) - // SBUS on Hearbeat PIN (which is a serial RX) +#if defined(PCBTARANIS) && defined(SBUS) + // SBUS trainer processSbusInput(); #endif diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index a7834f583..178fa87d9 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -859,7 +859,7 @@ #define TR_BLUETOOTH_PIN_CODE TR(INDENT "PIN kód", "PIN kód") #define TR_BAUDRATE "Baudrate BT" #define LEN_BLUETOOTH_MODES "\012" -#if defined(PCBX9E) && !defined(USEHORUSBT) +#if defined(PCBX9E) #define TR_BLUETOOTH_MODES "---\0 ""Povoleno\0 " #else #define TR_BLUETOOTH_MODES "---\0 ""Telemetrie""Trenér\0 " diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 170e41596..fc8e65ce4 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -866,7 +866,7 @@ #define TR_BLUETOOTH_PIN_CODE TR(INDENT "PIN code", "PIN code") #define TR_BAUDRATE "BT Baudrate" #define LEN_BLUETOOTH_MODES "\011" -#if defined(PCBX9E) && !defined(USEHORUSBT) +#if defined(PCBX9E) #define TR_BLUETOOTH_MODES "---\0 ""Enabled\0 " #else #define TR_BLUETOOTH_MODES "---\0 ""Telemetry""Trainer\0" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 2e8b2f8a6..4c85f0adb 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -861,7 +861,7 @@ #define TR_BLUETOOTH_PIN_CODE TR(INDENT "PIN code", "PIN code") #define TR_BAUDRATE "BT Baudrate" #define LEN_BLUETOOTH_MODES "\011" -#if defined(PCBX9E) && !defined(USEHORUSBT) +#if defined(PCBX9E) #define TR_BLUETOOTH_MODES "---\0 ""Enabled\0 " #else #define TR_BLUETOOTH_MODES "---\0 ""Telemetry""Trainer\0" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 0f3812097..fca430329 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -881,7 +881,7 @@ #define TR_BLUETOOTH_PIN_CODE TR(INDENT "PIN code", "PIN code") #define TR_BAUDRATE "BT Baudrate" #define LEN_BLUETOOTH_MODES "\011" -#if defined(PCBX9E) && !defined(USEHORUSBT) +#if defined(PCBX9E) #define TR_BLUETOOTH_MODES "---\0 ""Enabled\0 " #else #define TR_BLUETOOTH_MODES "---\0 ""Telemetry""Trainer\0" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index ed4770796..f158f3b9d 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -874,7 +874,7 @@ #define TR_BLUETOOTH_PIN_CODE TR(INDENT "PIN code", "PIN code") #define TR_BAUDRATE "BT Baudrate" #define LEN_BLUETOOTH_MODES "\011" -#if defined(PCBX9E) && !defined(USEHORUSBT) +#if defined(PCBX9E) #define TR_BLUETOOTH_MODES "---\0 ""Enabled\0 " #else #define TR_BLUETOOTH_MODES "---\0 ""Telemetry""Trainer\0" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 32720e0c3..ae8addb78 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -876,7 +876,7 @@ #define TR_BLUETOOTH_PIN_CODE TR(INDENT "PIN code", "PIN code") #define TR_BAUDRATE "Baudrate BT" #define LEN_BLUETOOTH_MODES "\012" -#if defined(PCBX9E) && !defined(USEHORUSBT) +#if defined(PCBX9E) #define TR_BLUETOOTH_MODES "---\0 ""Activé\0 " #else #define TR_BLUETOOTH_MODES "---\0 ""Télémétrie""Ecolage\0" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 3093eceec..2679823b0 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -875,7 +875,7 @@ #define TR_BLUETOOTH_PIN_CODE TR(INDENT "PIN code", "PIN code") #define TR_BAUDRATE "BT Baudrate" #define LEN_BLUETOOTH_MODES "\011" -#if defined(PCBX9E) && !defined(USEHORUSBT) +#if defined(PCBX9E) #define TR_BLUETOOTH_MODES "---\0 ""Enabled\0 " #else #define TR_BLUETOOTH_MODES "---\0 ""Telemetry""Trainer\0" diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index a83e8aeef..6aa47e53a 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -864,7 +864,7 @@ TR_GYR_VSRCRAW #define TR_BLUETOOTH_PIN_CODE TR(INDENT "PIN code", "PIN code") #define TR_BAUDRATE "BT Baudrate" #define LEN_BLUETOOTH_MODES "\011" -#if defined(PCBX9E) && !defined(USEHORUSBT) +#if defined(PCBX9E) #define TR_BLUETOOTH_MODES "---\0 ""Enabled\0 " #else #define TR_BLUETOOTH_MODES "---\0 ""Telemetry""Trainer\0" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 65f183bff..18c10b70e 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -875,7 +875,7 @@ #define TR_BLUETOOTH_PIN_CODE TR(INDENT "PIN code", "PIN code") #define TR_BAUDRATE "Prędkość BT" #define LEN_BLUETOOTH_MODES "\011" -#if defined(PCBX9E) && !defined(USEHORUSBT) +#if defined(PCBX9E) #define TR_BLUETOOTH_MODES "---\0 ""Enabled\0 " #else #define TR_BLUETOOTH_MODES "---\0 ""Telemetry""Trainer\0" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 0c9064ce3..0b96c237a 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -865,7 +865,7 @@ #define TR_BLUETOOTH_PIN_CODE TR(INDENT "PIN code", "PIN code") #define TR_BAUDRATE "BT Baudrate" #define LEN_BLUETOOTH_MODES "\011" -#if defined(PCBX9E) && !defined(USEHORUSBT) +#if defined(PCBX9E) #define TR_BLUETOOTH_MODES "---\0 ""Enabled\0 " #else #define TR_BLUETOOTH_MODES "---\0 ""Telemetry""Trainer\0" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 4d6096338..7ffad8438 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -875,7 +875,7 @@ #define TR_BLUETOOTH_PIN_CODE TR(INDENT "PIN code", "PIN code") #define TR_BAUDRATE "BT Baudrate" #define LEN_BLUETOOTH_MODES "\011" -#if defined(PCBX9E) && !defined(USEHORUSBT) +#if defined(PCBX9E) #define TR_BLUETOOTH_MODES "---\0 ""Enabled\0 " #else #define TR_BLUETOOTH_MODES "---\0 ""Telemetry""Trainer\0"