Merge branch 'feat/ble-log-host-only-support' into 'master'

feat: Supported BLE Log Initialization in Host Only Mode

See merge request espressif/esp-idf!51625
This commit is contained in:
Island
2026-08-13 12:11:29 +08:00
3 changed files with 18 additions and 5 deletions
@@ -13,7 +13,7 @@
#include "ble_log_rt.h" #include "ble_log_rt.h"
#include "esp_log.h" #include "esp_log.h"
#if CONFIG_SOC_ESP_NIMBLE_CONTROLLER #if CONFIG_BLE_LOG_LL_ENABLED && CONFIG_SOC_ESP_NIMBLE_CONTROLLER
#if CONFIG_BT_DUAL_MODE_ARCH #if CONFIG_BT_DUAL_MODE_ARCH
#include "ble_mbuf.h" #include "ble_mbuf.h"
#define BLE_MBUF_COPY(buf, off, len, dst) ble_mbuf_copydata((struct ble_mbuf *)(buf), off, len, dst) #define BLE_MBUF_COPY(buf, off, len, dst) ble_mbuf_copydata((struct ble_mbuf *)(buf), off, len, dst)
@@ -21,7 +21,7 @@
#include "os/os_mbuf.h" #include "os/os_mbuf.h"
#define BLE_MBUF_COPY(buf, off, len, dst) os_mbuf_copydata((struct os_mbuf *)(buf), off, len, dst) #define BLE_MBUF_COPY(buf, off, len, dst) os_mbuf_copydata((struct os_mbuf *)(buf), off, len, dst)
#endif // CONFIG_BT_DUAL_MODE_ARCH #endif // CONFIG_BT_DUAL_MODE_ARCH
#endif /* CONFIG_SOC_ESP_NIMBLE_CONTROLLER */ #endif /* CONFIG_BLE_LOG_LL_ENABLED && CONFIG_SOC_ESP_NIMBLE_CONTROLLER */
/* VARIABLE */ /* VARIABLE */
#define TAG "ble_log" #define TAG "ble_log"
@@ -206,12 +206,12 @@ void ble_log_lbm_write_trans(ble_log_prph_trans_t **trans, ble_log_src_t src_cod
BLE_LOG_MEMCPY(buf + BLE_LOG_FRAME_HEAD_LEN, addr, len); BLE_LOG_MEMCPY(buf + BLE_LOG_FRAME_HEAD_LEN, addr, len);
} }
if (len_append) { if (len_append) {
#if CONFIG_SOC_ESP_NIMBLE_CONTROLLER #if CONFIG_BLE_LOG_LL_ENABLED && CONFIG_SOC_ESP_NIMBLE_CONTROLLER
if (omdata) { if (omdata) {
BLE_MBUF_COPY(addr_append, 0, len_append, buf + BLE_LOG_FRAME_HEAD_LEN + len); BLE_MBUF_COPY(addr_append, 0, len_append, buf + BLE_LOG_FRAME_HEAD_LEN + len);
} }
else else
#endif /* CONFIG_SOC_ESP_NIMBLE_CONTROLLER */ #endif /* CONFIG_BLE_LOG_LL_ENABLED && CONFIG_SOC_ESP_NIMBLE_CONTROLLER */
{ {
BLE_LOG_MEMCPY(buf + BLE_LOG_FRAME_HEAD_LEN + len, addr_append, len_append); BLE_LOG_MEMCPY(buf + BLE_LOG_FRAME_HEAD_LEN + len, addr_append, len_append);
} }
@@ -19,6 +19,9 @@
#include "bt_common.h" #include "bt_common.h"
#include "bt_osal.h" #include "bt_osal.h"
#include "bt_prf_task.h" #include "bt_prf_task.h"
#if CONFIG_BLE_LOG_ENABLED && !CONFIG_BT_CONTROLLER_ENABLED
#include "ble_log.h"
#endif
static esp_bluedroid_status_t s_bt_host_state = ESP_BLUEDROID_STATUS_UNINITIALIZED; static esp_bluedroid_status_t s_bt_host_state = ESP_BLUEDROID_STATUS_UNINITIALIZED;
@@ -246,6 +249,12 @@ esp_err_t esp_bluedroid_init_with_cfg(esp_bluedroid_config_t *cfg)
} }
#endif #endif
#if CONFIG_BLE_LOG_ENABLED && !CONFIG_BT_CONTROLLER_ENABLED
if (!ble_log_init()) {
LOG_WARN("BLE Log init failed");
}
#endif
s_bt_host_state = ESP_BLUEDROID_STATUS_INITIALIZED; s_bt_host_state = ESP_BLUEDROID_STATUS_INITIALIZED;
return ESP_OK; return ESP_OK;
@@ -274,6 +283,10 @@ esp_err_t esp_bluedroid_deinit(void)
return ESP_ERR_NO_MEM; return ESP_ERR_NO_MEM;
} }
#if CONFIG_BLE_LOG_ENABLED && !CONFIG_BT_CONTROLLER_ENABLED
ble_log_deinit();
#endif
msg.sig = BTC_SIG_API_CALL; msg.sig = BTC_SIG_API_CALL;
msg.pid = BTC_PID_MAIN_INIT; msg.pid = BTC_PID_MAIN_INIT;
msg.act = BTC_MAIN_ACT_DEINIT; msg.act = BTC_MAIN_ACT_DEINIT;