1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-14 20:10:08 +03:00

Introduce AUX_SERIAL (#6456)

This commit is contained in:
3djc 2019-05-28 13:06:02 +02:00 committed by Bertrand Songis
parent 2fee251ac5
commit 1c51c646c4
22 changed files with 93 additions and 93 deletions

View file

@ -45,7 +45,7 @@ uint8_t serial2TracesEnabled();
#define debugPrintf(...) printf(__VA_ARGS__)
#elif defined(DEBUG) && defined(CLI)
#define debugPrintf(...) do { if (cliTracesEnabled) serialPrintf(__VA_ARGS__); } while(0)
#elif defined(DEBUG) && defined(SERIAL2)
#elif defined(DEBUG) && defined(AUX_SERIAL)
#define debugPrintf(...) do { serialPrintf(__VA_ARGS__); } while(0)
#else
#define debugPrintf(...)

View file

@ -58,7 +58,7 @@ enum menuRadioHwItems {
#if defined(USEHORUSBT)
CASE_BLUETOOTH(ITEM_RADIO_HARDWARE_BLUETOOTH_NAME)
#endif
#if defined(SERIAL2)
#if defined(AUX_SERIAL)
ITEM_RADIO_HARDWARE_UART3_MODE,
#endif
ITEM_RADIO_HARDWARE_JITTER_FILTER,
@ -66,7 +66,7 @@ enum menuRadioHwItems {
ITEM_RADIO_HARDWARE_MAX
};
#if defined(SERIAL2)
#if defined(AUX_SERIAL)
#define AUX_SERIAL_ROWS 0,
#else
#define AUX_SERIAL_ROWS
@ -233,7 +233,7 @@ void menuRadioHardware(event_t event)
#endif
#endif
#if defined(SERIAL2)
#if defined(AUX_SERIAL)
case ITEM_RADIO_HARDWARE_UART3_MODE:
g_eeGeneral.serial2Mode = editChoice(HW_SETTINGS_COLUMN, y, STR_UART3MODE, STR_UART3MODES, g_eeGeneral.serial2Mode, 0, UART_MODE_MAX, attr, event);
if (attr && checkIncDec_Ret) {

View file

@ -56,7 +56,7 @@ enum MenuRadioHardwareItems {
ITEM_RADIO_HARDWARE_BLUETOOTH_MODE,
ITEM_RADIO_HARDWARE_BLUETOOTH_PAIRING_CODE,
ITEM_RADIO_HARDWARE_BLUETOOTH_NAME,
#if defined(SERIAL2)
#if defined(AUX_SERIAL)
ITEM_RADIO_HARDWARE_UART3_MODE,
#endif
ITEM_RADIO_HARDWARE_JITTER_FILTER,
@ -215,7 +215,7 @@ bool menuRadioHardware(event_t event)
editName(HW_SETTINGS_COLUMN+50, y, g_eeGeneral.bluetoothName, LEN_BLUETOOTH_NAME, event, attr);
break;
#if defined(SERIAL2)
#if defined(AUX_SERIAL)
case ITEM_RADIO_HARDWARE_UART3_MODE:
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_UART3MODE);
g_eeGeneral.serial2Mode = editChoice(HW_SETTINGS_COLUMN+50, y, STR_UART3MODES, g_eeGeneral.serial2Mode, 0, UART_MODE_MAX, attr, event);

View file

@ -1362,7 +1362,7 @@ static int luaSerialWrite(lua_State * L)
while(wr_len--) usbSerialPutc(*p++);
}
#endif
#if defined(SERIAL2)
#if defined(AUX_SERIAL)
if (serial2Mode == UART_MODE_LUA) {
size_t wr_len = len;
const char* p = str;

View file

@ -1811,7 +1811,7 @@ void opentxInit()
#endif
#endif // #if !defined(EEPROM)
#if defined(SERIAL2)
#if defined(AUX_SERIAL)
serial2Init(g_eeGeneral.serial2Mode, modelTelemetryProtocol());
#endif

View file

@ -30,7 +30,7 @@ void serialPutc(char c) {
if (getSelectedUsbMode() == USB_SERIAL_MODE)
usbSerialPutc(c);
#endif
#if defined(SERIAL2)
#if defined(AUX_SERIAL)
if (serial2TracesEnabled())
serial2Putc(c);
#endif

View file

@ -30,7 +30,7 @@ set(TARGET_SRC
${TARGET_SRC}
../common/arm/stm32/rtc_driver.cpp
../common/arm/stm32/cpu_id.cpp
${SERIAL2_DRIVER}
${AUX_SERIAL_DRIVER}
)
set(FIRMWARE_TARGET_SRC
${FIRMWARE_TARGET_SRC}

View file

@ -198,12 +198,12 @@ int main()
RCC_AHB1PeriphClockCmd(PWR_RCC_AHB1Periph | KEYS_RCC_AHB1Periph |
LCD_RCC_AHB1Periph | BACKLIGHT_RCC_AHB1Periph |
SERIAL_RCC_AHB1Periph | I2C_RCC_AHB1Periph |
AUX_SERIAL_RCC_AHB1Periph | I2C_RCC_AHB1Periph |
SD_RCC_AHB1Periph, ENABLE);
RCC_APB1PeriphClockCmd(LCD_RCC_APB1Periph | BACKLIGHT_RCC_APB1Periph |
INTERRUPT_xMS_RCC_APB1Periph | I2C_RCC_APB1Periph |
SERIAL_RCC_APB1Periph |
AUX_SERIAL_RCC_APB1Periph |
SD_RCC_APB1Periph, ENABLE);
RCC_APB2PeriphClockCmd(LCD_RCC_APB2Periph | BACKLIGHT_RCC_APB2Periph | RCC_APB2Periph_SYSCFG, ENABLE);

View file

@ -22,22 +22,22 @@
uint8_t serial2Mode = 0;
Fifo<uint8_t, 512> serial2TxFifo;
DMAFifo<32> serial2RxFifo __DMA (SERIAL_DMA_Stream_RX);
DMAFifo<32> serial2RxFifo __DMA (AUX_SERIAL_DMA_Stream_RX);
void uart3Setup(unsigned int baudrate, bool dma)
{
USART_InitTypeDef USART_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_PinAFConfig(SERIAL_GPIO, SERIAL_GPIO_PinSource_RX, SERIAL_GPIO_AF);
GPIO_PinAFConfig(SERIAL_GPIO, SERIAL_GPIO_PinSource_TX, SERIAL_GPIO_AF);
GPIO_PinAFConfig(AUX_SERIAL_GPIO, AUX_SERIAL_GPIO_PinSource_RX, AUX_SERIAL_GPIO_AF);
GPIO_PinAFConfig(AUX_SERIAL_GPIO, AUX_SERIAL_GPIO_PinSource_TX, AUX_SERIAL_GPIO_AF);
GPIO_InitStructure.GPIO_Pin = SERIAL_GPIO_PIN_TX | SERIAL_GPIO_PIN_RX;
GPIO_InitStructure.GPIO_Pin = AUX_SERIAL_GPIO_PIN_TX | AUX_SERIAL_GPIO_PIN_RX;
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(SERIAL_GPIO, &GPIO_InitStructure);
GPIO_Init(AUX_SERIAL_GPIO, &GPIO_InitStructure);
USART_InitStructure.USART_BaudRate = baudrate;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
@ -45,15 +45,15 @@ void uart3Setup(unsigned int baudrate, bool dma)
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;
USART_Init(SERIAL_USART, &USART_InitStructure);
USART_Init(AUX_SERIAL_USART, &USART_InitStructure);
if (dma) {
DMA_InitTypeDef DMA_InitStructure;
serial2RxFifo.clear();
USART_ITConfig(SERIAL_USART, USART_IT_RXNE, DISABLE);
USART_ITConfig(SERIAL_USART, USART_IT_TXE, DISABLE);
DMA_InitStructure.DMA_Channel = SERIAL_DMA_Channel_RX;
DMA_InitStructure.DMA_PeripheralBaseAddr = CONVERT_PTR_UINT(&SERIAL_USART->DR);
USART_ITConfig(AUX_SERIAL_USART, USART_IT_RXNE, DISABLE);
USART_ITConfig(AUX_SERIAL_USART, USART_IT_TXE, DISABLE);
DMA_InitStructure.DMA_Channel = AUX_SERIAL_DMA_Channel_RX;
DMA_InitStructure.DMA_PeripheralBaseAddr = CONVERT_PTR_UINT(&AUX_SERIAL_USART->DR);
DMA_InitStructure.DMA_Memory0BaseAddr = CONVERT_PTR_UINT(serial2RxFifo.buffer());
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;
DMA_InitStructure.DMA_BufferSize = serial2RxFifo.size();
@ -67,17 +67,17 @@ void uart3Setup(unsigned int baudrate, bool dma)
DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full;
DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;
DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;
DMA_Init(SERIAL_DMA_Stream_RX, &DMA_InitStructure);
USART_DMACmd(SERIAL_USART, USART_DMAReq_Rx, ENABLE);
USART_Cmd(SERIAL_USART, ENABLE);
DMA_Cmd(SERIAL_DMA_Stream_RX, ENABLE);
DMA_Init(AUX_SERIAL_DMA_Stream_RX, &DMA_InitStructure);
USART_DMACmd(AUX_SERIAL_USART, USART_DMAReq_Rx, ENABLE);
USART_Cmd(AUX_SERIAL_USART, ENABLE);
DMA_Cmd(AUX_SERIAL_DMA_Stream_RX, ENABLE);
}
else {
USART_Cmd(SERIAL_USART, ENABLE);
USART_ITConfig(SERIAL_USART, USART_IT_RXNE, ENABLE);
USART_ITConfig(SERIAL_USART, USART_IT_TXE, DISABLE);
NVIC_SetPriority(SERIAL_USART_IRQn, 7);
NVIC_EnableIRQ(SERIAL_USART_IRQn);
USART_Cmd(AUX_SERIAL_USART, ENABLE);
USART_ITConfig(AUX_SERIAL_USART, USART_IT_RXNE, ENABLE);
USART_ITConfig(AUX_SERIAL_USART, USART_IT_TXE, DISABLE);
NVIC_SetPriority(AUX_SERIAL_USART_IRQn, 7);
NVIC_EnableIRQ(AUX_SERIAL_USART_IRQn);
}
}
@ -121,20 +121,20 @@ void serial2Putc(char c)
if (++n > 100) return;
}
serial2TxFifo.push(c);
USART_ITConfig(SERIAL_USART, USART_IT_TXE, ENABLE);
USART_ITConfig(AUX_SERIAL_USART, USART_IT_TXE, ENABLE);
#endif
}
void serial2SbusInit()
{
uart3Setup(SBUS_BAUDRATE, true);
SERIAL_USART->CR1 |= USART_CR1_M | USART_CR1_PCE ;
AUX_SERIAL_USART->CR1 |= USART_CR1_M | USART_CR1_PCE ;
}
void serial2Stop()
{
DMA_DeInit(SERIAL_DMA_Stream_RX);
USART_DeInit(SERIAL_USART);
DMA_DeInit(AUX_SERIAL_DMA_Stream_RX);
USART_DeInit(AUX_SERIAL_USART);
}
uint8_t serial2TracesEnabled()
@ -147,27 +147,27 @@ uint8_t serial2TracesEnabled()
}
#if !defined(SIMU)
extern "C" void SERIAL_USART_IRQHandler(void)
extern "C" void AUX_SERIAL_USART_IRQHandler(void)
{
DEBUG_INTERRUPT(INT_SER2);
// Send
if (USART_GetITStatus(SERIAL_USART, USART_IT_TXE) != RESET) {
if (USART_GetITStatus(AUX_SERIAL_USART, USART_IT_TXE) != RESET) {
uint8_t txchar;
if (serial2TxFifo.pop(txchar)) {
/* Write one byte to the transmit data register */
USART_SendData(SERIAL_USART, txchar);
USART_SendData(AUX_SERIAL_USART, txchar);
}
else {
USART_ITConfig(SERIAL_USART, USART_IT_TXE, DISABLE);
USART_ITConfig(AUX_SERIAL_USART, USART_IT_TXE, DISABLE);
}
}
#if defined(CLI)
if (!(getSelectedUsbMode() == USB_SERIAL_MODE)) {
// Receive
uint32_t status = SERIAL_USART->SR;
uint32_t status = AUX_SERIAL_USART->SR;
while (status & (USART_FLAG_RXNE | USART_FLAG_ERRORS)) {
uint8_t data = SERIAL_USART->DR;
uint8_t data = AUX_SERIAL_USART->DR;
if (!(status & USART_FLAG_ERRORS)) {
switch (serial2Mode) {
case UART_MODE_DEBUG:
@ -175,7 +175,7 @@ extern "C" void SERIAL_USART_IRQHandler(void)
break;
}
}
status = SERIAL_USART->SR;
status = AUX_SERIAL_USART->SR;
}
}
#endif

View file

@ -126,7 +126,7 @@ if(PXX2)
)
endif()
set(SERIAL2_DRIVER ../common/arm/stm32/serial2_driver.cpp)
set(AUX_SERIAL_DRIVER ../common/arm/stm32/serial2_driver.cpp)
set(GVAR_SCREEN model_gvars.cpp)

View file

@ -138,7 +138,7 @@ void boardInit()
AUDIO_RCC_AHB1Periph |
KEYS_RCC_AHB1Periph |
ADC_RCC_AHB1Periph |
SERIAL_RCC_AHB1Periph |
AUX_SERIAL_RCC_AHB1Periph |
TELEMETRY_RCC_AHB1Periph |
TRAINER_RCC_AHB1Periph |
BT_RCC_AHB1Periph |
@ -154,7 +154,7 @@ void boardInit()
ADC_RCC_APB1Periph |
TIMER_2MHz_RCC_APB1Periph |
AUDIO_RCC_APB1Periph |
SERIAL_RCC_APB1Periph |
AUX_SERIAL_RCC_APB1Periph |
TELEMETRY_RCC_APB1Periph |
TRAINER_RCC_APB1Periph |
AUDIO_RCC_APB1Periph |

View file

@ -629,7 +629,7 @@ extern uint8_t gpsTraceEnabled;
void gpsSendByte(uint8_t byte);
// Second serial port driver
#define SERIAL2
#define AUX_SERIAL
#define DEBUG_BAUDRATE 115200
extern uint8_t serial2Mode;
void serial2Init(unsigned int mode, unsigned int protocol);

View file

@ -316,19 +316,19 @@
#endif
// Serial Port (DEBUG)
#define SERIAL_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA1)
#define SERIAL_RCC_APB1Periph RCC_APB1Periph_USART3
#define SERIAL_GPIO GPIOB
#define SERIAL_GPIO_PIN_TX GPIO_Pin_10 // PB.10
#define SERIAL_GPIO_PIN_RX GPIO_Pin_11 // PB.11
#define SERIAL_GPIO_PinSource_TX GPIO_PinSource10
#define SERIAL_GPIO_PinSource_RX GPIO_PinSource11
#define SERIAL_GPIO_AF GPIO_AF_USART3
#define SERIAL_USART USART3
#define SERIAL_USART_IRQHandler USART3_IRQHandler
#define SERIAL_USART_IRQn USART3_IRQn
#define SERIAL_DMA_Stream_RX DMA1_Stream1
#define SERIAL_DMA_Channel_RX DMA_Channel_4
#define AUX_SERIAL_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA1)
#define AUX_SERIAL_RCC_APB1Periph RCC_APB1Periph_USART3
#define AUX_SERIAL_GPIO GPIOB
#define AUX_SERIAL_GPIO_PIN_TX GPIO_Pin_10 // PB.10
#define AUX_SERIAL_GPIO_PIN_RX GPIO_Pin_11 // PB.11
#define AUX_SERIAL_GPIO_PinSource_TX GPIO_PinSource10
#define AUX_SERIAL_GPIO_PinSource_RX GPIO_PinSource11
#define AUX_SERIAL_GPIO_AF GPIO_AF_USART3
#define AUX_SERIAL_USART USART3
#define AUX_SERIAL_USART_IRQHandler USART3_IRQHandler
#define AUX_SERIAL_USART_IRQn USART3_IRQn
#define AUX_SERIAL_DMA_Stream_RX DMA1_Stream1
#define AUX_SERIAL_DMA_Channel_RX DMA_Channel_4
// Telemetry
#define TELEMETRY_RCC_AHB1Periph (RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA1)

View file

@ -23,7 +23,7 @@ if(PCB STREQUAL X9E)
top_lcd_driver.cpp
startup_stm32f40_41xxx.s
)
set(SERIAL2_DRIVER ../common/arm/stm32/serial2_driver.cpp)
set(AUX_SERIAL_DRIVER ../common/arm/stm32/serial2_driver.cpp)
if(STICKS STREQUAL HORUS)
add_definitions(-DHORUS_STICKS)
endif()
@ -48,7 +48,7 @@ elseif(PCB STREQUAL X9D+)
set(BITMAPS_TARGET taranis_bitmaps)
set(FONTS_TARGET taranis_fonts)
set(LCD_DRIVER lcd_driver_spi.cpp)
set(SERIAL2_DRIVER ../common/arm/stm32/serial2_driver.cpp)
set(AUX_SERIAL_DRIVER ../common/arm/stm32/serial2_driver.cpp)
set(GVAR_SCREEN model_gvars.cpp)
set(STATUS_LEDS NO)
elseif(PCB STREQUAL X9D)
@ -65,7 +65,7 @@ elseif(PCB STREQUAL X9D)
set(BITMAPS_TARGET taranis_bitmaps)
set(FONTS_TARGET taranis_fonts)
set(LCD_DRIVER lcd_driver_aspi.cpp)
set(SERIAL2_DRIVER ../common/arm/stm32/serial2_driver.cpp)
set(AUX_SERIAL_DRIVER ../common/arm/stm32/serial2_driver.cpp)
set(GVAR_SCREEN model_gvars.cpp)
set(STATUS_LEDS NO)
elseif(PCB STREQUAL X7)

View file

@ -153,7 +153,7 @@ void boardInit()
EXTMODULE_RCC_AHB1Periph |
TELEMETRY_RCC_AHB1Periph |
SPORT_UPDATE_RCC_AHB1Periph |
SERIAL_RCC_AHB1Periph |
AUX_SERIAL_RCC_AHB1Periph |
TRAINER_RCC_AHB1Periph |
HEARTBEAT_RCC_AHB1Periph |
BT_RCC_AHB1Periph |
@ -171,7 +171,7 @@ void boardInit()
SD_RCC_APB1Periph |
TRAINER_RCC_APB1Periph |
TELEMETRY_RCC_APB1Periph |
SERIAL_RCC_APB1Periph |
AUX_SERIAL_RCC_APB1Periph |
INTMODULE_RCC_APB1Periph |
BT_RCC_APB1Periph |
GYRO_RCC_APB1Periph,
@ -226,7 +226,7 @@ void boardInit()
i2cInit();
usbInit();
#if defined(DEBUG) && defined(SERIAL_GPIO)
#if defined(DEBUG) && defined(AUX_SERIAL_GPIO)
serial2Init(0, 0); // default serial mode (None if DEBUG not defined)
TRACE("\nTaranis board started :)");
#endif

View file

@ -763,9 +763,9 @@ void hapticOff(void);
#endif
// Second serial port driver
#if defined(SERIAL_GPIO)
#if defined(AUX_SERIAL_GPIO)
#define DEBUG_BAUDRATE 115200
#define SERIAL2
#define AUX_SERIAL
extern uint8_t serial2Mode;
void serial2Init(unsigned int mode, unsigned int protocol);
void serial2Putc(char c);

View file

@ -1079,23 +1079,23 @@
// Serial Port
#if defined(PCBX7) || defined(PCBXLITE) || defined(PCBX9LITE)
#define SERIAL_RCC_AHB1Periph 0
#define SERIAL_RCC_APB1Periph 0
#define AUX_SERIAL_RCC_AHB1Periph 0
#define AUX_SERIAL_RCC_APB1Periph 0
#else
#define TRAINER_BATTERY_COMPARTMENT
#define SERIAL_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA1)
#define SERIAL_RCC_APB1Periph RCC_APB1Periph_USART3
#define SERIAL_GPIO GPIOB
#define SERIAL_GPIO_PIN_TX GPIO_Pin_10 // PB.10
#define SERIAL_GPIO_PIN_RX GPIO_Pin_11 // PB.11
#define SERIAL_GPIO_PinSource_TX GPIO_PinSource10
#define SERIAL_GPIO_PinSource_RX GPIO_PinSource11
#define SERIAL_GPIO_AF GPIO_AF_USART3
#define SERIAL_USART USART3
#define SERIAL_USART_IRQHandler USART3_IRQHandler
#define SERIAL_USART_IRQn USART3_IRQn
#define SERIAL_DMA_Stream_RX DMA1_Stream1
#define SERIAL_DMA_Channel_RX DMA_Channel_4
#define AUX_SERIAL_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA1)
#define AUX_SERIAL_RCC_APB1Periph RCC_APB1Periph_USART3
#define AUX_SERIAL_GPIO GPIOB
#define AUX_SERIAL_GPIO_PIN_TX GPIO_Pin_10 // PB.10
#define AUX_SERIAL_GPIO_PIN_RX GPIO_Pin_11 // PB.11
#define AUX_SERIAL_GPIO_PinSource_TX GPIO_PinSource10
#define AUX_SERIAL_GPIO_PinSource_RX GPIO_PinSource11
#define AUX_SERIAL_GPIO_AF GPIO_AF_USART3
#define AUX_SERIAL_USART USART3
#define AUX_SERIAL_USART_IRQHandler USART3_IRQHandler
#define AUX_SERIAL_USART_IRQn USART3_IRQn
#define AUX_SERIAL_DMA_Stream_RX DMA1_Stream1
#define AUX_SERIAL_DMA_Channel_RX DMA_Channel_4
#endif
// Telemetry

View file

@ -184,7 +184,7 @@ extern "C" void TELEMETRY_USART_IRQHandler(void)
// TODO we should have telemetry in an higher layer, functions above should move to a sport_driver.cpp
uint8_t telemetryGetByte(uint8_t * byte)
{
#if defined(SERIAL2)
#if defined(AUX_SERIAL)
if (telemetryProtocol == PROTOCOL_TELEMETRY_FRSKY_D_SECONDARY) {
if (serial2Mode == UART_MODE_TELEMETRY)
return serial2RxFifo.pop(*byte);

View file

@ -309,7 +309,7 @@ int sbusGetByte(uint8_t * byte)
case TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE:
return heartbeatFifo.pop(*byte);
#endif
#if defined(SERIAL_USART)
#if defined(AUX_SERIAL_USART)
case TRAINER_MODE_MASTER_BATTERY_COMPARTMENT:
return serial2RxFifo.pop(*byte);
#endif

View file

@ -176,7 +176,7 @@ void processCrossfireTelemetryFrame()
void processCrossfireTelemetryData(uint8_t data)
{
#if defined(SERIAL2)
#if defined(AUX_SERIAL)
if (g_eeGeneral.serial2Mode == UART_MODE_TELEMETRY_MIRROR) {
serial2Putc(data);
}

View file

@ -27,7 +27,7 @@ void processFrskyTelemetryData(uint8_t data)
btPushByte(data);
#endif
#if defined(SERIAL2)
#if defined(AUX_SERIAL)
if (g_eeGeneral.serial2Mode == UART_MODE_TELEMETRY_MIRROR) {
serial2Putc(data);
}

View file

@ -285,7 +285,7 @@ void telemetryInit(uint8_t protocol)
}
#endif
#if defined(SERIAL2) || defined(PCBSKY9X)
#if defined(AUX_SERIAL) || defined(PCBSKY9X)
else if (protocol == PROTOCOL_TELEMETRY_FRSKY_D_SECONDARY) {
telemetryPortInit(0, TELEMETRY_SERIAL_DEFAULT);
serial2TelemetryInit(PROTOCOL_TELEMETRY_FRSKY_D_SECONDARY);