From afee51e0ef7dd536af731e1770dc2af3d281d7bf Mon Sep 17 00:00:00 2001 From: cjin Date: Fri, 4 Jul 2025 16:43:39 +0800 Subject: [PATCH] feat(ble): enable broker initialization on ESP32-C5 --- components/bt/controller/esp32c5/ble.c | 66 +++++++++++++++++++++++++- 1 file changed, 64 insertions(+), 2 deletions(-) diff --git a/components/bt/controller/esp32c5/ble.c b/components/bt/controller/esp32c5/ble.c index 8aef45a9a8..f584686f43 100644 --- a/components/bt/controller/esp32c5/ble.c +++ b/components/bt/controller/esp32c5/ble.c @@ -17,6 +17,21 @@ void base_stack_deinitEnv(void); int base_stack_enable(void); void base_stack_disable(void); +int adv_stack_initEnv(void); +void adv_stack_deinitEnv(void); +int adv_stack_enable(void); +void adv_stack_disable(void); + +int extAdv_stack_initEnv(void); +void extAdv_stack_deinitEnv(void); +int extAdv_stack_enable(void); +void extAdv_stack_disable(void); + +int sync_stack_initEnv(void); +void sync_stack_deinitEnv(void); +int sync_stack_enable(void); +void sync_stack_disable(void); + int conn_stack_initEnv(void); void conn_stack_deinitEnv(void); int conn_stack_enable(void); @@ -85,6 +100,21 @@ int ble_stack_initEnv(void) return rc; } + rc = adv_stack_initEnv(); + if (rc) { + return rc; + } + + rc = extAdv_stack_initEnv(); + if (rc) { + return rc; + } + + rc = sync_stack_initEnv(); + if (rc) { + return rc; + } + #if DEFAULT_BT_LE_MAX_CONNECTIONS rc = conn_stack_initEnv(); if (rc) { @@ -109,7 +139,9 @@ void ble_stack_deinitEnv(void) #endif // CONFIG_BT_LE_ERROR_SIM_ENABLED conn_stack_deinitEnv(); #endif // DEFAULT_BT_LE_MAX_CONNECTIONS - + sync_stack_deinitEnv(); + extAdv_stack_deinitEnv(); + adv_stack_deinitEnv(); base_stack_deinitEnv(); } @@ -122,6 +154,21 @@ int ble_stack_enable(void) return rc; } + rc = adv_stack_enable(); + if (rc) { + return rc; + } + + rc = extAdv_stack_enable(); + if (rc) { + return rc; + } + + rc = sync_stack_enable(); + if (rc) { + return rc; + } + #if DEFAULT_BT_LE_MAX_CONNECTIONS rc = conn_stack_enable(); if (rc) { @@ -143,7 +190,20 @@ int ble_stack_enable(void) #if CONFIG_BT_LE_RXBUF_OPT_ENABLED mmgmt_enableRxbufOptFeature(); #endif // CONFIG_BT_LE_RXBUF_OPT_ENABLED + rc = adv_stack_enable(); + if (rc) { + return rc; + } + rc = extAdv_stack_enable(); + if (rc) { + return rc; + } + + rc = sync_stack_enable(); + if (rc) { + return rc; + } return 0; } @@ -160,6 +220,8 @@ void ble_stack_disable(void) #endif // CONFIG_BT_LE_ERROR_SIM_ENABLED conn_stack_disable(); #endif // DEFAULT_BT_LE_MAX_CONNECTIONS - + sync_stack_disable(); + extAdv_stack_disable(); + adv_stack_disable(); base_stack_disable(); }