From 9ff94106743bdd3a4254c7f56d29b8d50dbd0c8d Mon Sep 17 00:00:00 2001 From: chenjianhua Date: Tue, 8 Jul 2025 12:06:11 +0800 Subject: [PATCH] fix(bt): Update bt lib for ESP32(d9a3de0) - Support BLE vendor HCI related params reset - Support multi conn optimization vendor hci command - Fixed the issue where rssi of conn is incorrect when latency is no zero - Fixed prio setting for BLE events - Fixed disconnection issue when coexisting with other BLE events - Fixed crash due to bandwidth full when updating conn params --- components/bt/controller/esp32/bt.c | 3 +++ components/soc/esp32/include/soc/Kconfig.soc_caps.in | 4 ++++ components/soc/esp32/include/soc/soc_caps.h | 1 + 3 files changed, 8 insertions(+) diff --git a/components/bt/controller/esp32/bt.c b/components/bt/controller/esp32/bt.c index dddcbfbaf0..a88fca9c72 100644 --- a/components/bt/controller/esp32/bt.c +++ b/components/bt/controller/esp32/bt.c @@ -262,6 +262,7 @@ extern void bt_stack_enableCoexVsCmd(bool en); extern void scan_stack_enableAdvFlowCtrlVsCmd(bool en); extern void adv_stack_enableClearLegacyAdvVsCmd(bool en); extern void advFilter_stack_enableDupExcListVsCmd(bool en); +extern void arr_stack_enableMultiConnVsCmd(bool en); #endif // (CONFIG_BT_NIMBLE_ENABLED) || (CONFIG_BT_BLUEDROID_ENABLED) /* Local Function Declare @@ -1727,6 +1728,7 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg) scan_stack_enableAdvFlowCtrlVsCmd(true); adv_stack_enableClearLegacyAdvVsCmd(true); advFilter_stack_enableDupExcListVsCmd(true); + arr_stack_enableMultiConnVsCmd(true); #endif // (CONFIG_BT_NIMBLE_ENABLED) || (CONFIG_BT_BLUEDROID_ENABLED) btdm_controller_status = ESP_BT_CONTROLLER_STATUS_INITED; @@ -1766,6 +1768,7 @@ esp_err_t esp_bt_controller_deinit(void) scan_stack_enableAdvFlowCtrlVsCmd(false); adv_stack_enableClearLegacyAdvVsCmd(false); advFilter_stack_enableDupExcListVsCmd(false); + arr_stack_enableMultiConnVsCmd(false); #endif // (CONFIG_BT_NIMBLE_ENABLED) || (CONFIG_BT_BLUEDROID_ENABLED) return ESP_OK; diff --git a/components/soc/esp32/include/soc/Kconfig.soc_caps.in b/components/soc/esp32/include/soc/Kconfig.soc_caps.in index 4f663c9039..b04bc04bc0 100644 --- a/components/soc/esp32/include/soc/Kconfig.soc_caps.in +++ b/components/soc/esp32/include/soc/Kconfig.soc_caps.in @@ -947,6 +947,10 @@ config SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED bool default y +config SOC_BLE_MULTI_CONN_OPTIMIZATION + bool + default y + config SOC_ULP_HAS_ADC bool default y diff --git a/components/soc/esp32/include/soc/soc_caps.h b/components/soc/esp32/include/soc/soc_caps.h index 191c8d9025..42b6fea898 100644 --- a/components/soc/esp32/include/soc/soc_caps.h +++ b/components/soc/esp32/include/soc/soc_caps.h @@ -452,6 +452,7 @@ #define SOC_BLE_DEVICE_PRIVACY_SUPPORTED (0) /*!< Support BLE device privacy mode */ #define SOC_BLUFI_SUPPORTED (1) /*!< Support BLUFI */ #define SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED (1) /*!< Support Bluetooth Classic encryption key size configuration through vendor-specific HCI command */ +#define SOC_BLE_MULTI_CONN_OPTIMIZATION (1) /*!< Support multiple connections optimization */ /*-------------------------- ULP CAPS ----------------------------------------*/ #define SOC_ULP_HAS_ADC (1) /* ADC can be accessed from ULP */