Map bluetooth port as int module (2 wires)

This commit is contained in:
Richard Li
2025-01-24 19:00:12 +01:00
committed by Malte Langermann
parent eca1fea7d1
commit 6daea8b947
2 changed files with 46 additions and 22 deletions
+4
View File
@@ -44,6 +44,10 @@ if(PCBREV STREQUAL NB4P)
add_definitions(-DRADIO_NB4P)
set(ROTARY_ENCODER YES)
set(KEY_DRIVER nb4p_key_driver.cpp)
# Defines internal modules for PL18 via UART7
set(INTERNAL_MODULES MULTI;AFHDS3;CRSF CACHE STRING "Internal modules")
set(DEFAULT_INTERNAL_MODULE MULTIMODULE CACHE STRING "Default internal module")
elseif(PCBREV STREQUAL PL18EV)
set(FLAVOUR pl18ev)
add_definitions(-DRADIO_PL18EV -DUSE_HATS_AS_KEYS)
+42 -22
View File
@@ -609,31 +609,49 @@
// Internal Module
#if defined(RADIO_PL18)
#define INTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOF | RCC_AHB1Periph_GPIOI | RCC_AHB1Periph_DMA1)
#define INTMODULE_PWR_GPIO GPIO_PIN(GPIOI, 0) // PI.00
#define INTMODULE_TX_GPIO GPIO_PIN(GPIOF, 7) // PF.07
#define INTMODULE_RX_GPIO GPIO_PIN(GPIOF, 6) // PF.06
#define INTMODULE_USART UART7
#define INTMODULE_GPIO_AF LL_GPIO_AF_8
#define INTMODULE_USART_IRQn UART7_IRQn
#define INTMODULE_USART_IRQHandler UART7_IRQHandler
#define INTMODULE_DMA DMA1
#define INTMODULE_DMA_STREAM LL_DMA_STREAM_1
#define INTMODULE_DMA_STREAM_IRQ DMA1_Stream1_IRQn
#define INTMODULE_DMA_FLAG_TC DMA_FLAG_TCIF1
#define INTMODULE_DMA_CHANNEL LL_DMA_CHANNEL_5
#define INTMODULE_RX_DMA DMA1
#define INTMODULE_RX_DMA_STREAM LL_DMA_STREAM_3
#define INTMODULE_RX_DMA_CHANNEL LL_DMA_CHANNEL_5
#define INTMODULE_PWR_GPIO GPIO_PIN(GPIOI, 0) // PI.00
#define INTMODULE_TX_GPIO GPIO_PIN(GPIOF, 7) // PF.07
#define INTMODULE_RX_GPIO GPIO_PIN(GPIOF, 6) // PF.06
#define INTMODULE_USART UART7
#define INTMODULE_GPIO_AF LL_GPIO_AF_8
#define INTMODULE_USART_IRQn UART7_IRQn
#define INTMODULE_USART_IRQHandler UART7_IRQHandler
#define INTMODULE_DMA DMA1
#define INTMODULE_DMA_STREAM LL_DMA_STREAM_1
#define INTMODULE_DMA_STREAM_IRQ DMA1_Stream1_IRQn
#define INTMODULE_DMA_FLAG_TC DMA_FLAG_TCIF1
#define INTMODULE_DMA_CHANNEL LL_DMA_CHANNEL_5
#define INTMODULE_RX_DMA DMA1
#define INTMODULE_RX_DMA_STREAM LL_DMA_STREAM_3
#define INTMODULE_RX_DMA_CHANNEL LL_DMA_CHANNEL_5
// #define INTMODULE_RX_DMA_Stream_IRQn DMA1_Stream3_IRQn
// #define INTMODULE_RX_DMA_Stream_IRQHandler DMA1_Stream_IRQHandler
#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)
#else
#define INTMODULE_RCC_AHB1Periph 0
#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(RADIO_NB4P)
#define INTMODULE_PWR_GPIO GPIO_PIN(GPIOI, 8) // PI.08
#define INTMODULE_TX_GPIO GPIO_PIN(GPIOB, 10) // PB.10
#define INTMODULE_RX_GPIO GPIO_PIN(GPIOB, 11) // PB.11
#define INTMODULE_USART USART3
#define INTMODULE_GPIO_AF LL_GPIO_AF_7
#define INTMODULE_USART_IRQn USART3_IRQn
#define INTMODULE_USART_IRQHandler USART3_IRQHandler
#define INTMODULE_DMA DMA1
#define INTMODULE_DMA_STREAM LL_DMA_STREAM_3
#define INTMODULE_DMA_STREAM_IRQ DMA1_Stream3_IRQn
#define INTMODULE_DMA_FLAG_TC DMA_FLAG_TCIF1
#define INTMODULE_DMA_CHANNEL LL_DMA_CHANNEL_4
#define INTMODULE_RX_DMA DMA1
#define INTMODULE_RX_DMA_STREAM LL_DMA_STREAM_1
#define INTMODULE_RX_DMA_CHANNEL LL_DMA_CHANNEL_4
#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)
#endif
// External Module
@@ -704,6 +722,7 @@
#define ROTARY_ENCODER_NAVIGATION
//BLUETOOTH
#if !defined(RADIO_NB4P)
#define BT_EN_GPIO GPIOI
#define BT_EN_GPIO_PIN GPIO_Pin_8 // PI.8
@@ -726,6 +745,7 @@
#define BT_CMD_MODE_GPIO GPIOH
#define BT_CMD_MODE_GPIO_PIN GPIO_Pin_6 // PH.6
#endif
// Millisecond timer
#define MS_TIMER TIM14