diff --git a/components/bt/controller/esp32c5/Kconfig.in b/components/bt/controller/esp32c5/Kconfig.in index e027a57155..78e6b88812 100644 --- a/components/bt/controller/esp32c5/Kconfig.in +++ b/components/bt/controller/esp32c5/Kconfig.in @@ -859,3 +859,7 @@ menu "Reserved Memory Config" The actual reserved memory count will be the minimum value between the maximum connection instances and the BT_LE_CONN_RESERVED_MEMORY_COUNT. endmenu + +config BT_LE_DTM_ENABLED + bool "Enable Direct Test Mode (DTM) feature" + default n diff --git a/components/bt/controller/esp32c5/ble.c b/components/bt/controller/esp32c5/ble.c index f584686f43..27add99a59 100644 --- a/components/bt/controller/esp32c5/ble.c +++ b/components/bt/controller/esp32c5/ble.c @@ -32,6 +32,13 @@ void sync_stack_deinitEnv(void); int sync_stack_enable(void); void sync_stack_disable(void); +#if CONFIG_BT_LE_DTM_ENABLED +int dtm_stack_initEnv(void); +void dtm_stack_deinitEnv(void); +int dtm_stack_enable(void); +void dtm_stack_disable(void); +#endif // CONFIG_BT_LE_DTM_ENABLED + int conn_stack_initEnv(void); void conn_stack_deinitEnv(void); int conn_stack_enable(void); @@ -115,6 +122,12 @@ int ble_stack_initEnv(void) return rc; } +#if CONFIG_BT_LE_DTM_ENABLED + rc = dtm_stack_initEnv(); + if (rc) { + return rc; + } +#endif // CONFIG_BT_LE_DTM_ENABLED #if DEFAULT_BT_LE_MAX_CONNECTIONS rc = conn_stack_initEnv(); if (rc) { @@ -127,7 +140,6 @@ int ble_stack_initEnv(void) } #endif // CONFIG_BT_LE_ERROR_SIM_ENABLED #endif // DEFAULT_BT_LE_MAX_CONNECTIONS - return 0; } @@ -139,6 +151,9 @@ void ble_stack_deinitEnv(void) #endif // CONFIG_BT_LE_ERROR_SIM_ENABLED conn_stack_deinitEnv(); #endif // DEFAULT_BT_LE_MAX_CONNECTIONS +#if CONFIG_BT_LE_DTM_ENABLED + dtm_stack_deinitEnv(); +#endif // CONFIG_BT_LE_DTM_ENABLED sync_stack_deinitEnv(); extAdv_stack_deinitEnv(); adv_stack_deinitEnv(); @@ -169,6 +184,13 @@ int ble_stack_enable(void) return rc; } +#if CONFIG_BT_LE_DTM_ENABLED + rc = dtm_stack_enable(); + if (rc) { + return rc; + } +#endif // CONFIG_BT_LE_DTM_ENABLED + #if DEFAULT_BT_LE_MAX_CONNECTIONS rc = conn_stack_enable(); if (rc) { @@ -220,6 +242,9 @@ void ble_stack_disable(void) #endif // CONFIG_BT_LE_ERROR_SIM_ENABLED conn_stack_disable(); #endif // DEFAULT_BT_LE_MAX_CONNECTIONS +#if CONFIG_BT_LE_DTM_ENABLED + dtm_stack_disable(); +#endif // CONFIG_BT_LE_DTM_ENABLED sync_stack_disable(); extAdv_stack_disable(); adv_stack_disable();