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:
parent
2fee251ac5
commit
1c51c646c4
22 changed files with 93 additions and 93 deletions
|
@ -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(...)
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -1811,7 +1811,7 @@ void opentxInit()
|
|||
#endif
|
||||
#endif // #if !defined(EEPROM)
|
||||
|
||||
#if defined(SERIAL2)
|
||||
#if defined(AUX_SERIAL)
|
||||
serial2Init(g_eeGeneral.serial2Mode, modelTelemetryProtocol());
|
||||
#endif
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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 |
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue