feat(radio): bluetooth audio KCX mod support for TX16S MK3 (#7056)

This commit is contained in:
3djc
2026-02-16 18:39:13 +10:00
committed by GitHub
parent 017006c243
commit 7fcdfe5b5c
4 changed files with 25 additions and 4 deletions
+1 -1
View File
@@ -163,7 +163,7 @@ static void audio_update_dma_buffer(uint8_t tc)
bool audioHeadphoneDetect()
{
#if defined(KCX_BTAUDIO)
return gpio_read(AUDIO_HP_DETECT_PIN) || gpio_read(BTAUDIO_LINKED_GPIO);
return gpio_read(AUDIO_HP_DETECT_PIN) || btAudioLinked();
#else
return gpio_read(AUDIO_HP_DETECT_PIN);
#endif
+5 -1
View File
@@ -26,6 +26,10 @@
void btAudioInit()
{
#if defined(BTAUDIO_POWER_GPIO)
gpio_init(BTAUDIO_POWER_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW);
gpio_set(BTAUDIO_POWER_GPIO);
#endif
gpio_init(BTAUDIO_LINKED_GPIO, GPIO_IN, GPIO_PIN_SPEED_LOW);
gpio_init(BTAUDIO_CONNECT_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW);
gpio_set(BTAUDIO_CONNECT_GPIO);
@@ -33,7 +37,7 @@ void btAudioInit()
bool btAudioLinked()
{
return gpio_read(BTAUDIO_LINKED_GPIO);
return gpio_read(BTAUDIO_LINKED_GPIO) != 0;
}
void btAudioConnect()
+13 -2
View File
@@ -8,6 +8,7 @@ option(MODULE_SIZE_STD "Standard size TX Module" ON)
option(LUA_MIXER "Enable LUA mixer/model scripts support" ON)
option(DISK_CACHE "Enable SD card disk cache" ON)
option(INTERNAL_GPS "Support for internal GPS" ON)
option(KCX_BTAUDIO "KCX_BTAUDIO audio emitter installed" OFF)
set(FIRMWARE_QSPI YES)
set(FIRMWARE_FORMAT_UF2 YES)
@@ -71,8 +72,11 @@ set(SOFTWARE_KEYBOARD ON)
set(FUNCTION_SWITCHES ON)
set(USB_CHARGER YES)
set(AUX_SERIAL YES)
set(AUX2_SERIAL YES)
if(KCX_BTAUDIO)
set(AUX2_SERIAL NO)
else()
set(AUX2_SERIAL YES)
endif()
add_definitions(
-DSTM32H750XBTx -DSTM32H750xx
-DSDRAM -DCCMRAM
@@ -208,5 +212,12 @@ if (MULTIMODULE)
)
endif()
if(KCX_BTAUDIO)
set(SRC ${SRC}
drivers/kcx_btaudio.cpp
)
add_definitions(-DKCX_BTAUDIO)
endif()
# Make malloc() thread-safe
add_definitions(-DTHREADSAFE_MALLOC)
+6
View File
@@ -541,6 +541,7 @@ USART6: INTMODULE_USART
#define AUX_SERIAL_DMA_RX_CHANNEL LL_DMAMUX1_REQ_UART5_RX
#define AUX_SERIAL_PWR_GPIO GPIO_PIN(GPIOB, 7) // PB.07
#if defined(AUX2_SERIAL)
#define AUX2_SERIAL_TX_GPIO GPIO_PIN(GPIOB, 10) // PB.10
#define AUX2_SERIAL_RX_GPIO GPIO_PIN(GPIOB, 11) // PB.11
#define AUX2_SERIAL_USART USART3
@@ -553,6 +554,11 @@ USART6: INTMODULE_USART
#define AUX2_SERIAL_DMA_RX_STREAM LL_DMA_STREAM_6
#define AUX2_SERIAL_DMA_RX_CHANNEL LL_DMAMUX1_REQ_USART3_RX
#define AUX2_SERIAL_PWR_GPIO GPIO_PIN(GPIOC, 13) // PC.13
#elif defined(KCX_BTAUDIO)
#define BTAUDIO_POWER_GPIO GPIO_PIN(GPIOC, 13)
#define BTAUDIO_LINKED_GPIO GPIO_PIN(GPIOB, 11)
#define BTAUDIO_CONNECT_GPIO GPIO_PIN(GPIOB, 10)
#endif
// Touch
#define TOUCH_I2C_BUS I2C_Bus_1