mirror of
https://github.com/opentx/opentx.git
synced 2025-07-15 20:35:17 +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__)
|
#define debugPrintf(...) printf(__VA_ARGS__)
|
||||||
#elif defined(DEBUG) && defined(CLI)
|
#elif defined(DEBUG) && defined(CLI)
|
||||||
#define debugPrintf(...) do { if (cliTracesEnabled) serialPrintf(__VA_ARGS__); } while(0)
|
#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)
|
#define debugPrintf(...) do { serialPrintf(__VA_ARGS__); } while(0)
|
||||||
#else
|
#else
|
||||||
#define debugPrintf(...)
|
#define debugPrintf(...)
|
||||||
|
|
|
@ -58,7 +58,7 @@ enum menuRadioHwItems {
|
||||||
#if defined(USEHORUSBT)
|
#if defined(USEHORUSBT)
|
||||||
CASE_BLUETOOTH(ITEM_RADIO_HARDWARE_BLUETOOTH_NAME)
|
CASE_BLUETOOTH(ITEM_RADIO_HARDWARE_BLUETOOTH_NAME)
|
||||||
#endif
|
#endif
|
||||||
#if defined(SERIAL2)
|
#if defined(AUX_SERIAL)
|
||||||
ITEM_RADIO_HARDWARE_UART3_MODE,
|
ITEM_RADIO_HARDWARE_UART3_MODE,
|
||||||
#endif
|
#endif
|
||||||
ITEM_RADIO_HARDWARE_JITTER_FILTER,
|
ITEM_RADIO_HARDWARE_JITTER_FILTER,
|
||||||
|
@ -66,7 +66,7 @@ enum menuRadioHwItems {
|
||||||
ITEM_RADIO_HARDWARE_MAX
|
ITEM_RADIO_HARDWARE_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(SERIAL2)
|
#if defined(AUX_SERIAL)
|
||||||
#define AUX_SERIAL_ROWS 0,
|
#define AUX_SERIAL_ROWS 0,
|
||||||
#else
|
#else
|
||||||
#define AUX_SERIAL_ROWS
|
#define AUX_SERIAL_ROWS
|
||||||
|
@ -233,7 +233,7 @@ void menuRadioHardware(event_t event)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(SERIAL2)
|
#if defined(AUX_SERIAL)
|
||||||
case ITEM_RADIO_HARDWARE_UART3_MODE:
|
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);
|
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) {
|
if (attr && checkIncDec_Ret) {
|
||||||
|
|
|
@ -56,7 +56,7 @@ enum MenuRadioHardwareItems {
|
||||||
ITEM_RADIO_HARDWARE_BLUETOOTH_MODE,
|
ITEM_RADIO_HARDWARE_BLUETOOTH_MODE,
|
||||||
ITEM_RADIO_HARDWARE_BLUETOOTH_PAIRING_CODE,
|
ITEM_RADIO_HARDWARE_BLUETOOTH_PAIRING_CODE,
|
||||||
ITEM_RADIO_HARDWARE_BLUETOOTH_NAME,
|
ITEM_RADIO_HARDWARE_BLUETOOTH_NAME,
|
||||||
#if defined(SERIAL2)
|
#if defined(AUX_SERIAL)
|
||||||
ITEM_RADIO_HARDWARE_UART3_MODE,
|
ITEM_RADIO_HARDWARE_UART3_MODE,
|
||||||
#endif
|
#endif
|
||||||
ITEM_RADIO_HARDWARE_JITTER_FILTER,
|
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);
|
editName(HW_SETTINGS_COLUMN+50, y, g_eeGeneral.bluetoothName, LEN_BLUETOOTH_NAME, event, attr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#if defined(SERIAL2)
|
#if defined(AUX_SERIAL)
|
||||||
case ITEM_RADIO_HARDWARE_UART3_MODE:
|
case ITEM_RADIO_HARDWARE_UART3_MODE:
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_UART3MODE);
|
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);
|
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++);
|
while(wr_len--) usbSerialPutc(*p++);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#if defined(SERIAL2)
|
#if defined(AUX_SERIAL)
|
||||||
if (serial2Mode == UART_MODE_LUA) {
|
if (serial2Mode == UART_MODE_LUA) {
|
||||||
size_t wr_len = len;
|
size_t wr_len = len;
|
||||||
const char* p = str;
|
const char* p = str;
|
||||||
|
|
|
@ -1811,7 +1811,7 @@ void opentxInit()
|
||||||
#endif
|
#endif
|
||||||
#endif // #if !defined(EEPROM)
|
#endif // #if !defined(EEPROM)
|
||||||
|
|
||||||
#if defined(SERIAL2)
|
#if defined(AUX_SERIAL)
|
||||||
serial2Init(g_eeGeneral.serial2Mode, modelTelemetryProtocol());
|
serial2Init(g_eeGeneral.serial2Mode, modelTelemetryProtocol());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ void serialPutc(char c) {
|
||||||
if (getSelectedUsbMode() == USB_SERIAL_MODE)
|
if (getSelectedUsbMode() == USB_SERIAL_MODE)
|
||||||
usbSerialPutc(c);
|
usbSerialPutc(c);
|
||||||
#endif
|
#endif
|
||||||
#if defined(SERIAL2)
|
#if defined(AUX_SERIAL)
|
||||||
if (serial2TracesEnabled())
|
if (serial2TracesEnabled())
|
||||||
serial2Putc(c);
|
serial2Putc(c);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -30,7 +30,7 @@ set(TARGET_SRC
|
||||||
${TARGET_SRC}
|
${TARGET_SRC}
|
||||||
../common/arm/stm32/rtc_driver.cpp
|
../common/arm/stm32/rtc_driver.cpp
|
||||||
../common/arm/stm32/cpu_id.cpp
|
../common/arm/stm32/cpu_id.cpp
|
||||||
${SERIAL2_DRIVER}
|
${AUX_SERIAL_DRIVER}
|
||||||
)
|
)
|
||||||
set(FIRMWARE_TARGET_SRC
|
set(FIRMWARE_TARGET_SRC
|
||||||
${FIRMWARE_TARGET_SRC}
|
${FIRMWARE_TARGET_SRC}
|
||||||
|
|
|
@ -198,12 +198,12 @@ int main()
|
||||||
|
|
||||||
RCC_AHB1PeriphClockCmd(PWR_RCC_AHB1Periph | KEYS_RCC_AHB1Periph |
|
RCC_AHB1PeriphClockCmd(PWR_RCC_AHB1Periph | KEYS_RCC_AHB1Periph |
|
||||||
LCD_RCC_AHB1Periph | BACKLIGHT_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);
|
SD_RCC_AHB1Periph, ENABLE);
|
||||||
|
|
||||||
RCC_APB1PeriphClockCmd(LCD_RCC_APB1Periph | BACKLIGHT_RCC_APB1Periph |
|
RCC_APB1PeriphClockCmd(LCD_RCC_APB1Periph | BACKLIGHT_RCC_APB1Periph |
|
||||||
INTERRUPT_xMS_RCC_APB1Periph | I2C_RCC_APB1Periph |
|
INTERRUPT_xMS_RCC_APB1Periph | I2C_RCC_APB1Periph |
|
||||||
SERIAL_RCC_APB1Periph |
|
AUX_SERIAL_RCC_APB1Periph |
|
||||||
SD_RCC_APB1Periph, ENABLE);
|
SD_RCC_APB1Periph, ENABLE);
|
||||||
|
|
||||||
RCC_APB2PeriphClockCmd(LCD_RCC_APB2Periph | BACKLIGHT_RCC_APB2Periph | RCC_APB2Periph_SYSCFG, ENABLE);
|
RCC_APB2PeriphClockCmd(LCD_RCC_APB2Periph | BACKLIGHT_RCC_APB2Periph | RCC_APB2Periph_SYSCFG, ENABLE);
|
||||||
|
|
|
@ -22,22 +22,22 @@
|
||||||
|
|
||||||
uint8_t serial2Mode = 0;
|
uint8_t serial2Mode = 0;
|
||||||
Fifo<uint8_t, 512> serial2TxFifo;
|
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)
|
void uart3Setup(unsigned int baudrate, bool dma)
|
||||||
{
|
{
|
||||||
USART_InitTypeDef USART_InitStructure;
|
USART_InitTypeDef USART_InitStructure;
|
||||||
GPIO_InitTypeDef GPIO_InitStructure;
|
GPIO_InitTypeDef GPIO_InitStructure;
|
||||||
|
|
||||||
GPIO_PinAFConfig(SERIAL_GPIO, SERIAL_GPIO_PinSource_RX, SERIAL_GPIO_AF);
|
GPIO_PinAFConfig(AUX_SERIAL_GPIO, AUX_SERIAL_GPIO_PinSource_RX, AUX_SERIAL_GPIO_AF);
|
||||||
GPIO_PinAFConfig(SERIAL_GPIO, SERIAL_GPIO_PinSource_TX, 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_Mode = GPIO_Mode_AF;
|
||||||
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
|
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
|
||||||
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
|
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
|
||||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
|
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_BaudRate = baudrate;
|
||||||
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
|
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_Parity = USART_Parity_No;
|
||||||
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
|
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
|
||||||
USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;
|
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) {
|
if (dma) {
|
||||||
DMA_InitTypeDef DMA_InitStructure;
|
DMA_InitTypeDef DMA_InitStructure;
|
||||||
serial2RxFifo.clear();
|
serial2RxFifo.clear();
|
||||||
USART_ITConfig(SERIAL_USART, USART_IT_RXNE, DISABLE);
|
USART_ITConfig(AUX_SERIAL_USART, USART_IT_RXNE, DISABLE);
|
||||||
USART_ITConfig(SERIAL_USART, USART_IT_TXE, DISABLE);
|
USART_ITConfig(AUX_SERIAL_USART, USART_IT_TXE, DISABLE);
|
||||||
DMA_InitStructure.DMA_Channel = SERIAL_DMA_Channel_RX;
|
DMA_InitStructure.DMA_Channel = AUX_SERIAL_DMA_Channel_RX;
|
||||||
DMA_InitStructure.DMA_PeripheralBaseAddr = CONVERT_PTR_UINT(&SERIAL_USART->DR);
|
DMA_InitStructure.DMA_PeripheralBaseAddr = CONVERT_PTR_UINT(&AUX_SERIAL_USART->DR);
|
||||||
DMA_InitStructure.DMA_Memory0BaseAddr = CONVERT_PTR_UINT(serial2RxFifo.buffer());
|
DMA_InitStructure.DMA_Memory0BaseAddr = CONVERT_PTR_UINT(serial2RxFifo.buffer());
|
||||||
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;
|
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;
|
||||||
DMA_InitStructure.DMA_BufferSize = serial2RxFifo.size();
|
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_FIFOThreshold = DMA_FIFOThreshold_Full;
|
||||||
DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;
|
DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;
|
||||||
DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;
|
DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;
|
||||||
DMA_Init(SERIAL_DMA_Stream_RX, &DMA_InitStructure);
|
DMA_Init(AUX_SERIAL_DMA_Stream_RX, &DMA_InitStructure);
|
||||||
USART_DMACmd(SERIAL_USART, USART_DMAReq_Rx, ENABLE);
|
USART_DMACmd(AUX_SERIAL_USART, USART_DMAReq_Rx, ENABLE);
|
||||||
USART_Cmd(SERIAL_USART, ENABLE);
|
USART_Cmd(AUX_SERIAL_USART, ENABLE);
|
||||||
DMA_Cmd(SERIAL_DMA_Stream_RX, ENABLE);
|
DMA_Cmd(AUX_SERIAL_DMA_Stream_RX, ENABLE);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
USART_Cmd(SERIAL_USART, ENABLE);
|
USART_Cmd(AUX_SERIAL_USART, ENABLE);
|
||||||
USART_ITConfig(SERIAL_USART, USART_IT_RXNE, ENABLE);
|
USART_ITConfig(AUX_SERIAL_USART, USART_IT_RXNE, ENABLE);
|
||||||
USART_ITConfig(SERIAL_USART, USART_IT_TXE, DISABLE);
|
USART_ITConfig(AUX_SERIAL_USART, USART_IT_TXE, DISABLE);
|
||||||
NVIC_SetPriority(SERIAL_USART_IRQn, 7);
|
NVIC_SetPriority(AUX_SERIAL_USART_IRQn, 7);
|
||||||
NVIC_EnableIRQ(SERIAL_USART_IRQn);
|
NVIC_EnableIRQ(AUX_SERIAL_USART_IRQn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,20 +121,20 @@ void serial2Putc(char c)
|
||||||
if (++n > 100) return;
|
if (++n > 100) return;
|
||||||
}
|
}
|
||||||
serial2TxFifo.push(c);
|
serial2TxFifo.push(c);
|
||||||
USART_ITConfig(SERIAL_USART, USART_IT_TXE, ENABLE);
|
USART_ITConfig(AUX_SERIAL_USART, USART_IT_TXE, ENABLE);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void serial2SbusInit()
|
void serial2SbusInit()
|
||||||
{
|
{
|
||||||
uart3Setup(SBUS_BAUDRATE, true);
|
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()
|
void serial2Stop()
|
||||||
{
|
{
|
||||||
DMA_DeInit(SERIAL_DMA_Stream_RX);
|
DMA_DeInit(AUX_SERIAL_DMA_Stream_RX);
|
||||||
USART_DeInit(SERIAL_USART);
|
USART_DeInit(AUX_SERIAL_USART);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t serial2TracesEnabled()
|
uint8_t serial2TracesEnabled()
|
||||||
|
@ -147,27 +147,27 @@ uint8_t serial2TracesEnabled()
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(SIMU)
|
#if !defined(SIMU)
|
||||||
extern "C" void SERIAL_USART_IRQHandler(void)
|
extern "C" void AUX_SERIAL_USART_IRQHandler(void)
|
||||||
{
|
{
|
||||||
DEBUG_INTERRUPT(INT_SER2);
|
DEBUG_INTERRUPT(INT_SER2);
|
||||||
// Send
|
// Send
|
||||||
if (USART_GetITStatus(SERIAL_USART, USART_IT_TXE) != RESET) {
|
if (USART_GetITStatus(AUX_SERIAL_USART, USART_IT_TXE) != RESET) {
|
||||||
uint8_t txchar;
|
uint8_t txchar;
|
||||||
if (serial2TxFifo.pop(txchar)) {
|
if (serial2TxFifo.pop(txchar)) {
|
||||||
/* Write one byte to the transmit data register */
|
/* Write one byte to the transmit data register */
|
||||||
USART_SendData(SERIAL_USART, txchar);
|
USART_SendData(AUX_SERIAL_USART, txchar);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
USART_ITConfig(SERIAL_USART, USART_IT_TXE, DISABLE);
|
USART_ITConfig(AUX_SERIAL_USART, USART_IT_TXE, DISABLE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CLI)
|
#if defined(CLI)
|
||||||
if (!(getSelectedUsbMode() == USB_SERIAL_MODE)) {
|
if (!(getSelectedUsbMode() == USB_SERIAL_MODE)) {
|
||||||
// Receive
|
// Receive
|
||||||
uint32_t status = SERIAL_USART->SR;
|
uint32_t status = AUX_SERIAL_USART->SR;
|
||||||
while (status & (USART_FLAG_RXNE | USART_FLAG_ERRORS)) {
|
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)) {
|
if (!(status & USART_FLAG_ERRORS)) {
|
||||||
switch (serial2Mode) {
|
switch (serial2Mode) {
|
||||||
case UART_MODE_DEBUG:
|
case UART_MODE_DEBUG:
|
||||||
|
@ -175,7 +175,7 @@ extern "C" void SERIAL_USART_IRQHandler(void)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
status = SERIAL_USART->SR;
|
status = AUX_SERIAL_USART->SR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -126,7 +126,7 @@ if(PXX2)
|
||||||
)
|
)
|
||||||
endif()
|
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)
|
set(GVAR_SCREEN model_gvars.cpp)
|
||||||
|
|
||||||
|
|
|
@ -138,7 +138,7 @@ void boardInit()
|
||||||
AUDIO_RCC_AHB1Periph |
|
AUDIO_RCC_AHB1Periph |
|
||||||
KEYS_RCC_AHB1Periph |
|
KEYS_RCC_AHB1Periph |
|
||||||
ADC_RCC_AHB1Periph |
|
ADC_RCC_AHB1Periph |
|
||||||
SERIAL_RCC_AHB1Periph |
|
AUX_SERIAL_RCC_AHB1Periph |
|
||||||
TELEMETRY_RCC_AHB1Periph |
|
TELEMETRY_RCC_AHB1Periph |
|
||||||
TRAINER_RCC_AHB1Periph |
|
TRAINER_RCC_AHB1Periph |
|
||||||
BT_RCC_AHB1Periph |
|
BT_RCC_AHB1Periph |
|
||||||
|
@ -154,7 +154,7 @@ void boardInit()
|
||||||
ADC_RCC_APB1Periph |
|
ADC_RCC_APB1Periph |
|
||||||
TIMER_2MHz_RCC_APB1Periph |
|
TIMER_2MHz_RCC_APB1Periph |
|
||||||
AUDIO_RCC_APB1Periph |
|
AUDIO_RCC_APB1Periph |
|
||||||
SERIAL_RCC_APB1Periph |
|
AUX_SERIAL_RCC_APB1Periph |
|
||||||
TELEMETRY_RCC_APB1Periph |
|
TELEMETRY_RCC_APB1Periph |
|
||||||
TRAINER_RCC_APB1Periph |
|
TRAINER_RCC_APB1Periph |
|
||||||
AUDIO_RCC_APB1Periph |
|
AUDIO_RCC_APB1Periph |
|
||||||
|
|
|
@ -629,7 +629,7 @@ extern uint8_t gpsTraceEnabled;
|
||||||
void gpsSendByte(uint8_t byte);
|
void gpsSendByte(uint8_t byte);
|
||||||
|
|
||||||
// Second serial port driver
|
// Second serial port driver
|
||||||
#define SERIAL2
|
#define AUX_SERIAL
|
||||||
#define DEBUG_BAUDRATE 115200
|
#define DEBUG_BAUDRATE 115200
|
||||||
extern uint8_t serial2Mode;
|
extern uint8_t serial2Mode;
|
||||||
void serial2Init(unsigned int mode, unsigned int protocol);
|
void serial2Init(unsigned int mode, unsigned int protocol);
|
||||||
|
|
|
@ -316,19 +316,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Serial Port (DEBUG)
|
// Serial Port (DEBUG)
|
||||||
#define SERIAL_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA1)
|
#define AUX_SERIAL_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA1)
|
||||||
#define SERIAL_RCC_APB1Periph RCC_APB1Periph_USART3
|
#define AUX_SERIAL_RCC_APB1Periph RCC_APB1Periph_USART3
|
||||||
#define SERIAL_GPIO GPIOB
|
#define AUX_SERIAL_GPIO GPIOB
|
||||||
#define SERIAL_GPIO_PIN_TX GPIO_Pin_10 // PB.10
|
#define AUX_SERIAL_GPIO_PIN_TX GPIO_Pin_10 // PB.10
|
||||||
#define SERIAL_GPIO_PIN_RX GPIO_Pin_11 // PB.11
|
#define AUX_SERIAL_GPIO_PIN_RX GPIO_Pin_11 // PB.11
|
||||||
#define SERIAL_GPIO_PinSource_TX GPIO_PinSource10
|
#define AUX_SERIAL_GPIO_PinSource_TX GPIO_PinSource10
|
||||||
#define SERIAL_GPIO_PinSource_RX GPIO_PinSource11
|
#define AUX_SERIAL_GPIO_PinSource_RX GPIO_PinSource11
|
||||||
#define SERIAL_GPIO_AF GPIO_AF_USART3
|
#define AUX_SERIAL_GPIO_AF GPIO_AF_USART3
|
||||||
#define SERIAL_USART USART3
|
#define AUX_SERIAL_USART USART3
|
||||||
#define SERIAL_USART_IRQHandler USART3_IRQHandler
|
#define AUX_SERIAL_USART_IRQHandler USART3_IRQHandler
|
||||||
#define SERIAL_USART_IRQn USART3_IRQn
|
#define AUX_SERIAL_USART_IRQn USART3_IRQn
|
||||||
#define SERIAL_DMA_Stream_RX DMA1_Stream1
|
#define AUX_SERIAL_DMA_Stream_RX DMA1_Stream1
|
||||||
#define SERIAL_DMA_Channel_RX DMA_Channel_4
|
#define AUX_SERIAL_DMA_Channel_RX DMA_Channel_4
|
||||||
|
|
||||||
// Telemetry
|
// Telemetry
|
||||||
#define TELEMETRY_RCC_AHB1Periph (RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA1)
|
#define TELEMETRY_RCC_AHB1Periph (RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA1)
|
||||||
|
|
|
@ -23,7 +23,7 @@ if(PCB STREQUAL X9E)
|
||||||
top_lcd_driver.cpp
|
top_lcd_driver.cpp
|
||||||
startup_stm32f40_41xxx.s
|
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)
|
if(STICKS STREQUAL HORUS)
|
||||||
add_definitions(-DHORUS_STICKS)
|
add_definitions(-DHORUS_STICKS)
|
||||||
endif()
|
endif()
|
||||||
|
@ -48,7 +48,7 @@ elseif(PCB STREQUAL X9D+)
|
||||||
set(BITMAPS_TARGET taranis_bitmaps)
|
set(BITMAPS_TARGET taranis_bitmaps)
|
||||||
set(FONTS_TARGET taranis_fonts)
|
set(FONTS_TARGET taranis_fonts)
|
||||||
set(LCD_DRIVER lcd_driver_spi.cpp)
|
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(GVAR_SCREEN model_gvars.cpp)
|
||||||
set(STATUS_LEDS NO)
|
set(STATUS_LEDS NO)
|
||||||
elseif(PCB STREQUAL X9D)
|
elseif(PCB STREQUAL X9D)
|
||||||
|
@ -65,7 +65,7 @@ elseif(PCB STREQUAL X9D)
|
||||||
set(BITMAPS_TARGET taranis_bitmaps)
|
set(BITMAPS_TARGET taranis_bitmaps)
|
||||||
set(FONTS_TARGET taranis_fonts)
|
set(FONTS_TARGET taranis_fonts)
|
||||||
set(LCD_DRIVER lcd_driver_aspi.cpp)
|
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(GVAR_SCREEN model_gvars.cpp)
|
||||||
set(STATUS_LEDS NO)
|
set(STATUS_LEDS NO)
|
||||||
elseif(PCB STREQUAL X7)
|
elseif(PCB STREQUAL X7)
|
||||||
|
|
|
@ -153,7 +153,7 @@ void boardInit()
|
||||||
EXTMODULE_RCC_AHB1Periph |
|
EXTMODULE_RCC_AHB1Periph |
|
||||||
TELEMETRY_RCC_AHB1Periph |
|
TELEMETRY_RCC_AHB1Periph |
|
||||||
SPORT_UPDATE_RCC_AHB1Periph |
|
SPORT_UPDATE_RCC_AHB1Periph |
|
||||||
SERIAL_RCC_AHB1Periph |
|
AUX_SERIAL_RCC_AHB1Periph |
|
||||||
TRAINER_RCC_AHB1Periph |
|
TRAINER_RCC_AHB1Periph |
|
||||||
HEARTBEAT_RCC_AHB1Periph |
|
HEARTBEAT_RCC_AHB1Periph |
|
||||||
BT_RCC_AHB1Periph |
|
BT_RCC_AHB1Periph |
|
||||||
|
@ -171,7 +171,7 @@ void boardInit()
|
||||||
SD_RCC_APB1Periph |
|
SD_RCC_APB1Periph |
|
||||||
TRAINER_RCC_APB1Periph |
|
TRAINER_RCC_APB1Periph |
|
||||||
TELEMETRY_RCC_APB1Periph |
|
TELEMETRY_RCC_APB1Periph |
|
||||||
SERIAL_RCC_APB1Periph |
|
AUX_SERIAL_RCC_APB1Periph |
|
||||||
INTMODULE_RCC_APB1Periph |
|
INTMODULE_RCC_APB1Periph |
|
||||||
BT_RCC_APB1Periph |
|
BT_RCC_APB1Periph |
|
||||||
GYRO_RCC_APB1Periph,
|
GYRO_RCC_APB1Periph,
|
||||||
|
@ -226,7 +226,7 @@ void boardInit()
|
||||||
i2cInit();
|
i2cInit();
|
||||||
usbInit();
|
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)
|
serial2Init(0, 0); // default serial mode (None if DEBUG not defined)
|
||||||
TRACE("\nTaranis board started :)");
|
TRACE("\nTaranis board started :)");
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -763,9 +763,9 @@ void hapticOff(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Second serial port driver
|
// Second serial port driver
|
||||||
#if defined(SERIAL_GPIO)
|
#if defined(AUX_SERIAL_GPIO)
|
||||||
#define DEBUG_BAUDRATE 115200
|
#define DEBUG_BAUDRATE 115200
|
||||||
#define SERIAL2
|
#define AUX_SERIAL
|
||||||
extern uint8_t serial2Mode;
|
extern uint8_t serial2Mode;
|
||||||
void serial2Init(unsigned int mode, unsigned int protocol);
|
void serial2Init(unsigned int mode, unsigned int protocol);
|
||||||
void serial2Putc(char c);
|
void serial2Putc(char c);
|
||||||
|
|
|
@ -1079,23 +1079,23 @@
|
||||||
|
|
||||||
// Serial Port
|
// Serial Port
|
||||||
#if defined(PCBX7) || defined(PCBXLITE) || defined(PCBX9LITE)
|
#if defined(PCBX7) || defined(PCBXLITE) || defined(PCBX9LITE)
|
||||||
#define SERIAL_RCC_AHB1Periph 0
|
#define AUX_SERIAL_RCC_AHB1Periph 0
|
||||||
#define SERIAL_RCC_APB1Periph 0
|
#define AUX_SERIAL_RCC_APB1Periph 0
|
||||||
#else
|
#else
|
||||||
#define TRAINER_BATTERY_COMPARTMENT
|
#define TRAINER_BATTERY_COMPARTMENT
|
||||||
#define SERIAL_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA1)
|
#define AUX_SERIAL_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA1)
|
||||||
#define SERIAL_RCC_APB1Periph RCC_APB1Periph_USART3
|
#define AUX_SERIAL_RCC_APB1Periph RCC_APB1Periph_USART3
|
||||||
#define SERIAL_GPIO GPIOB
|
#define AUX_SERIAL_GPIO GPIOB
|
||||||
#define SERIAL_GPIO_PIN_TX GPIO_Pin_10 // PB.10
|
#define AUX_SERIAL_GPIO_PIN_TX GPIO_Pin_10 // PB.10
|
||||||
#define SERIAL_GPIO_PIN_RX GPIO_Pin_11 // PB.11
|
#define AUX_SERIAL_GPIO_PIN_RX GPIO_Pin_11 // PB.11
|
||||||
#define SERIAL_GPIO_PinSource_TX GPIO_PinSource10
|
#define AUX_SERIAL_GPIO_PinSource_TX GPIO_PinSource10
|
||||||
#define SERIAL_GPIO_PinSource_RX GPIO_PinSource11
|
#define AUX_SERIAL_GPIO_PinSource_RX GPIO_PinSource11
|
||||||
#define SERIAL_GPIO_AF GPIO_AF_USART3
|
#define AUX_SERIAL_GPIO_AF GPIO_AF_USART3
|
||||||
#define SERIAL_USART USART3
|
#define AUX_SERIAL_USART USART3
|
||||||
#define SERIAL_USART_IRQHandler USART3_IRQHandler
|
#define AUX_SERIAL_USART_IRQHandler USART3_IRQHandler
|
||||||
#define SERIAL_USART_IRQn USART3_IRQn
|
#define AUX_SERIAL_USART_IRQn USART3_IRQn
|
||||||
#define SERIAL_DMA_Stream_RX DMA1_Stream1
|
#define AUX_SERIAL_DMA_Stream_RX DMA1_Stream1
|
||||||
#define SERIAL_DMA_Channel_RX DMA_Channel_4
|
#define AUX_SERIAL_DMA_Channel_RX DMA_Channel_4
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Telemetry
|
// 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
|
// TODO we should have telemetry in an higher layer, functions above should move to a sport_driver.cpp
|
||||||
uint8_t telemetryGetByte(uint8_t * byte)
|
uint8_t telemetryGetByte(uint8_t * byte)
|
||||||
{
|
{
|
||||||
#if defined(SERIAL2)
|
#if defined(AUX_SERIAL)
|
||||||
if (telemetryProtocol == PROTOCOL_TELEMETRY_FRSKY_D_SECONDARY) {
|
if (telemetryProtocol == PROTOCOL_TELEMETRY_FRSKY_D_SECONDARY) {
|
||||||
if (serial2Mode == UART_MODE_TELEMETRY)
|
if (serial2Mode == UART_MODE_TELEMETRY)
|
||||||
return serial2RxFifo.pop(*byte);
|
return serial2RxFifo.pop(*byte);
|
||||||
|
|
|
@ -309,7 +309,7 @@ int sbusGetByte(uint8_t * byte)
|
||||||
case TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE:
|
case TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE:
|
||||||
return heartbeatFifo.pop(*byte);
|
return heartbeatFifo.pop(*byte);
|
||||||
#endif
|
#endif
|
||||||
#if defined(SERIAL_USART)
|
#if defined(AUX_SERIAL_USART)
|
||||||
case TRAINER_MODE_MASTER_BATTERY_COMPARTMENT:
|
case TRAINER_MODE_MASTER_BATTERY_COMPARTMENT:
|
||||||
return serial2RxFifo.pop(*byte);
|
return serial2RxFifo.pop(*byte);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -176,7 +176,7 @@ void processCrossfireTelemetryFrame()
|
||||||
|
|
||||||
void processCrossfireTelemetryData(uint8_t data)
|
void processCrossfireTelemetryData(uint8_t data)
|
||||||
{
|
{
|
||||||
#if defined(SERIAL2)
|
#if defined(AUX_SERIAL)
|
||||||
if (g_eeGeneral.serial2Mode == UART_MODE_TELEMETRY_MIRROR) {
|
if (g_eeGeneral.serial2Mode == UART_MODE_TELEMETRY_MIRROR) {
|
||||||
serial2Putc(data);
|
serial2Putc(data);
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ void processFrskyTelemetryData(uint8_t data)
|
||||||
btPushByte(data);
|
btPushByte(data);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(SERIAL2)
|
#if defined(AUX_SERIAL)
|
||||||
if (g_eeGeneral.serial2Mode == UART_MODE_TELEMETRY_MIRROR) {
|
if (g_eeGeneral.serial2Mode == UART_MODE_TELEMETRY_MIRROR) {
|
||||||
serial2Putc(data);
|
serial2Putc(data);
|
||||||
}
|
}
|
||||||
|
|
|
@ -285,7 +285,7 @@ void telemetryInit(uint8_t protocol)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(SERIAL2) || defined(PCBSKY9X)
|
#if defined(AUX_SERIAL) || defined(PCBSKY9X)
|
||||||
else if (protocol == PROTOCOL_TELEMETRY_FRSKY_D_SECONDARY) {
|
else if (protocol == PROTOCOL_TELEMETRY_FRSKY_D_SECONDARY) {
|
||||||
telemetryPortInit(0, TELEMETRY_SERIAL_DEFAULT);
|
telemetryPortInit(0, TELEMETRY_SERIAL_DEFAULT);
|
||||||
serial2TelemetryInit(PROTOCOL_TELEMETRY_FRSKY_D_SECONDARY);
|
serial2TelemetryInit(PROTOCOL_TELEMETRY_FRSKY_D_SECONDARY);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue