mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-04 21:24:32 +02:00
Merge branch 'feat/ble_log_spi_out_dev_phase_4' into 'master'
BLE Log SPI Out Dev Phase 4 Closes BLERP-2033, BLERP-2032, BLERP-2014, BLERP-2019, BLERP-2016, and BLERP-2015 See merge request espressif/esp-idf!40190
This commit is contained in:
@@ -27,6 +27,21 @@ config BT_BLE_LOG_SPI_OUT_HCI_ENABLED
|
|||||||
help
|
help
|
||||||
Enable logging of HCI packets to the SPI bus when BLE SPI log output is enabled.
|
Enable logging of HCI packets to the SPI bus when BLE SPI log output is enabled.
|
||||||
|
|
||||||
|
config BT_BLE_LOG_SPI_OUT_HCI_BUF_SIZE
|
||||||
|
int "SPI transaction buffer size for HCI logs"
|
||||||
|
depends on BT_BLE_LOG_SPI_OUT_HCI_ENABLED
|
||||||
|
default 1024
|
||||||
|
help
|
||||||
|
SPI transaction buffer size for HCI logs.
|
||||||
|
There will be 2 SPI DMA buffers with the same size.
|
||||||
|
|
||||||
|
config BT_BLE_LOG_SPI_OUT_HCI_TASK_CNT
|
||||||
|
int "HCI task count"
|
||||||
|
depends on BT_BLE_LOG_SPI_OUT_HCI_ENABLED
|
||||||
|
default 1
|
||||||
|
help
|
||||||
|
HCI task count
|
||||||
|
|
||||||
config BT_BLE_LOG_SPI_OUT_HOST_ENABLED
|
config BT_BLE_LOG_SPI_OUT_HOST_ENABLED
|
||||||
bool "Enable Host log output to SPI"
|
bool "Enable Host log output to SPI"
|
||||||
depends on BT_BLE_LOG_SPI_OUT_ENABLED
|
depends on BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
@@ -35,6 +50,21 @@ config BT_BLE_LOG_SPI_OUT_HOST_ENABLED
|
|||||||
This configuration applies to the logs of both Bluedroid Host and NimBLE Host.
|
This configuration applies to the logs of both Bluedroid Host and NimBLE Host.
|
||||||
When BLE SPI log output is enabled, this option allows host logs to be transmitted via SPI.
|
When BLE SPI log output is enabled, this option allows host logs to be transmitted via SPI.
|
||||||
|
|
||||||
|
config BT_BLE_LOG_SPI_OUT_HOST_BUF_SIZE
|
||||||
|
int "SPI transaction buffer size for host logs"
|
||||||
|
depends on BT_BLE_LOG_SPI_OUT_HOST_ENABLED
|
||||||
|
default 1024
|
||||||
|
help
|
||||||
|
SPI transaction buffer size for host logs.
|
||||||
|
There will be 2 SPI DMA buffers with the same size.
|
||||||
|
|
||||||
|
config BT_BLE_LOG_SPI_OUT_HOST_TASK_CNT
|
||||||
|
int "Host task count"
|
||||||
|
depends on BT_BLE_LOG_SPI_OUT_HOST_ENABLED
|
||||||
|
default 2
|
||||||
|
help
|
||||||
|
Host task count.
|
||||||
|
|
||||||
config BT_BLE_LOG_SPI_OUT_LL_ENABLED
|
config BT_BLE_LOG_SPI_OUT_LL_ENABLED
|
||||||
bool "Enable Controller log output to SPI"
|
bool "Enable Controller log output to SPI"
|
||||||
depends on BT_BLE_LOG_SPI_OUT_ENABLED
|
depends on BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
@@ -105,7 +135,7 @@ config BT_BLE_LOG_SPI_OUT_SYNC_IO_NUM
|
|||||||
config BT_BLE_LOG_SPI_OUT_TS_SYNC_SLEEP_SUPPORT
|
config BT_BLE_LOG_SPI_OUT_TS_SYNC_SLEEP_SUPPORT
|
||||||
bool "Enable ble log & logic analyzer log time sync sleep support"
|
bool "Enable ble log & logic analyzer log time sync sleep support"
|
||||||
depends on BT_BLE_LOG_SPI_OUT_LL_ENABLED
|
depends on BT_BLE_LOG_SPI_OUT_LL_ENABLED
|
||||||
default n
|
default y
|
||||||
help
|
help
|
||||||
Enable ble log & logic analyzer log time sync sleep support
|
Enable ble log & logic analyzer log time sync sleep support
|
||||||
|
|
||||||
@@ -138,3 +168,32 @@ config BT_BLE_LOG_SPI_OUT_LE_AUDIO_BUF_SIZE
|
|||||||
help
|
help
|
||||||
SPI transaction buffer size for LE Audio logs.
|
SPI transaction buffer size for LE Audio logs.
|
||||||
There will be 2 SPI DMA buffers with the same size.
|
There will be 2 SPI DMA buffers with the same size.
|
||||||
|
|
||||||
|
config BT_BLE_LOG_SPI_OUT_LE_AUDIO_TASK_CNT
|
||||||
|
int "LE audio task count"
|
||||||
|
depends on BT_BLE_LOG_SPI_OUT_LE_AUDIO_ENABLED
|
||||||
|
default 1
|
||||||
|
help
|
||||||
|
LE audio task count
|
||||||
|
|
||||||
|
config BT_BLE_LOG_SPI_OUT_MESH_ENABLED
|
||||||
|
bool "Enable BLE mesh log output to SPI"
|
||||||
|
depends on BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
Enable BLE mesh log output to SPI
|
||||||
|
|
||||||
|
config BT_BLE_LOG_SPI_OUT_MESH_BUF_SIZE
|
||||||
|
int "SPI transaction buffer size for BLE mesh logs"
|
||||||
|
depends on BT_BLE_LOG_SPI_OUT_MESH_ENABLED
|
||||||
|
default 1024
|
||||||
|
help
|
||||||
|
SPI transaction buffer size for BLE mesh logs.
|
||||||
|
There will be 2 SPI DMA buffers with the same size.
|
||||||
|
|
||||||
|
config BT_BLE_LOG_SPI_OUT_MESH_TASK_CNT
|
||||||
|
int "Mesh task count"
|
||||||
|
depends on BT_BLE_LOG_SPI_OUT_MESH_ENABLED
|
||||||
|
default 3
|
||||||
|
help
|
||||||
|
Mesh task count
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -11,7 +11,6 @@
|
|||||||
#include "driver/spi_master.h"
|
#include "driver/spi_master.h"
|
||||||
#include "driver/gpio.h"
|
#include "driver/gpio.h"
|
||||||
#include "esp_timer.h"
|
#include "esp_timer.h"
|
||||||
#include "esp_log.h"
|
|
||||||
#include "freertos/semphr.h"
|
#include "freertos/semphr.h"
|
||||||
#include "esp_heap_caps.h"
|
#include "esp_heap_caps.h"
|
||||||
|
|
||||||
@@ -27,21 +26,22 @@ enum {
|
|||||||
BLE_LOG_SPI_OUT_SOURCE_ESP_LEGACY_ISR,
|
BLE_LOG_SPI_OUT_SOURCE_ESP_LEGACY_ISR,
|
||||||
BLE_LOG_SPI_OUT_SOURCE_LL_HCI,
|
BLE_LOG_SPI_OUT_SOURCE_LL_HCI,
|
||||||
BLE_LOG_SPI_OUT_SOURCE_LE_AUDIO,
|
BLE_LOG_SPI_OUT_SOURCE_LE_AUDIO,
|
||||||
|
BLE_LOG_SPI_OUT_SOURCE_MESH,
|
||||||
BLE_LOG_SPI_OUT_SOURCE_USER = 0x10,
|
BLE_LOG_SPI_OUT_SOURCE_USER = 0x10,
|
||||||
BLE_LOG_SPI_OUT_SOURCE_SSC = 0xFD,
|
BLE_LOG_SPI_OUT_SOURCE_SSC = 0xFD,
|
||||||
BLE_LOG_SPI_OUT_SOURCE_SYNC,
|
BLE_LOG_SPI_OUT_SOURCE_SYNC,
|
||||||
BLE_LOG_SPI_OUT_SOURCE_LOSS,
|
BLE_LOG_SPI_OUT_SOURCE_LOSS,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
#define BLE_LOG_SPI_OUT_LEVEL_NONE 0
|
||||||
BLE_LOG_SPI_OUT_LEVEL_NONE = 0,
|
#define BLE_LOG_SPI_OUT_LEVEL_ERROR 1
|
||||||
BLE_LOG_SPI_OUT_LEVEL_ERROR,
|
#define BLE_LOG_SPI_OUT_LEVEL_WARN 2
|
||||||
BLE_LOG_SPI_OUT_LEVEL_WARN,
|
#define BLE_LOG_SPI_OUT_LEVEL_INFO 3
|
||||||
BLE_LOG_SPI_OUT_LEVEL_INFO,
|
#define BLE_LOG_SPI_OUT_LEVEL_DEBUG 4
|
||||||
BLE_LOG_SPI_OUT_LEVEL_DEBUG,
|
#define BLE_LOG_SPI_OUT_LEVEL_VERBOSE 5
|
||||||
BLE_LOG_SPI_OUT_LEVEL_VERBOSE,
|
#define BLE_LOG_SPI_OUT_STR(x) #x
|
||||||
BLE_LOG_SPI_OUT_LEVEL_MAX,
|
#define BLE_LOG_SPI_OUT_XSTR(x) BLE_LOG_SPI_OUT_STR(x)
|
||||||
};
|
#define BLE_LOG_SPI_OUT_BUILD_PREFIX(LEVEL, TAG) "[" BLE_LOG_SPI_OUT_XSTR(LEVEL) "][" TAG "]"
|
||||||
|
|
||||||
// Public functions
|
// Public functions
|
||||||
int ble_log_spi_out_init(void);
|
int ble_log_spi_out_init(void);
|
||||||
@@ -53,12 +53,12 @@ void ble_log_spi_out_ll_write(uint32_t len, const uint8_t *addr, uint32_t len_ap
|
|||||||
void ble_log_spi_out_ll_log_ev_proc(void);
|
void ble_log_spi_out_ll_log_ev_proc(void);
|
||||||
void ble_log_spi_out_ts_sync_start(void);
|
void ble_log_spi_out_ts_sync_start(void);
|
||||||
void ble_log_spi_out_ts_sync_stop(void);
|
void ble_log_spi_out_ts_sync_stop(void);
|
||||||
int ble_log_spi_out_printf(uint8_t source, const char *format, ...);
|
|
||||||
int ble_log_spi_out_printf_enh(uint8_t source, uint8_t level, const char *tag, const char *format, ...);
|
|
||||||
int ble_log_spi_out_write_with_ts(uint8_t source, const uint8_t *addr, uint16_t len);
|
|
||||||
void ble_log_spi_out_dump_all(void);
|
void ble_log_spi_out_dump_all(void);
|
||||||
void ble_log_spi_out_enable(bool enable);
|
void ble_log_spi_out_enable(bool enable);
|
||||||
void ble_log_spi_out_flush(void);
|
void ble_log_spi_out_flush(void);
|
||||||
void ble_log_spi_out_le_audio_write(const uint8_t *addr, uint16_t len);
|
void ble_log_spi_out_le_audio_write(const uint8_t *addr, uint16_t len);
|
||||||
|
int ble_log_spi_out_host_write(uint8_t source, const char *prefix, const char *format, ...);
|
||||||
|
int ble_log_spi_out_hci_write(uint8_t source, const uint8_t *addr, uint16_t len);
|
||||||
|
int ble_log_spi_out_mesh_write(const char *prefix, const char *format, ...);
|
||||||
|
|
||||||
#endif // __BT_SPI_OUT_H__
|
#endif // __BT_SPI_OUT_H__
|
||||||
|
@@ -599,6 +599,7 @@ menu "Controller debug log Options (Experimental)"
|
|||||||
depends on BT_CTRL_LE_LOG_EN
|
depends on BT_CTRL_LE_LOG_EN
|
||||||
depends on !BT_CTRL_LE_LOG_DUMP_ONLY
|
depends on !BT_CTRL_LE_LOG_DUMP_ONLY
|
||||||
select BT_BLE_LOG_SPI_OUT_ENABLED
|
select BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
select BT_BLE_LOG_SPI_OUT_LL_ENABLED
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Output ble controller logs to SPI bus
|
Output ble controller logs to SPI bus
|
||||||
|
@@ -551,7 +551,7 @@ static void esp_bt_controller_log_interface(uint32_t len, const uint8_t *addr, b
|
|||||||
#if CONFIG_BT_CTRL_LE_LOG_SPI_OUT_EN
|
#if CONFIG_BT_CTRL_LE_LOG_SPI_OUT_EN
|
||||||
static IRAM_ATTR void esp_bt_controller_spi_log_interface(uint32_t len, const uint8_t *addr, bool end)
|
static IRAM_ATTR void esp_bt_controller_spi_log_interface(uint32_t len, const uint8_t *addr, bool end)
|
||||||
{
|
{
|
||||||
ble_log_spi_out_write(BLE_LOG_SPI_OUT_SOURCE_ESP_LEGACY, addr, len);
|
ble_log_spi_out_ll_write(len, addr, 0, NULL, 0);
|
||||||
}
|
}
|
||||||
#endif // CONFIG_BT_CTRL_LE_LOG_SPI_OUT_EN
|
#endif // CONFIG_BT_CTRL_LE_LOG_SPI_OUT_EN
|
||||||
|
|
||||||
@@ -1809,6 +1809,7 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
|
|||||||
#if CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
#if CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
if (ble_log_spi_out_init() != 0) {
|
if (ble_log_spi_out_init() != 0) {
|
||||||
ESP_LOGE(BT_LOG_TAG, "BLE Log SPI output init failed");
|
ESP_LOGE(BT_LOG_TAG, "BLE Log SPI output init failed");
|
||||||
|
err = ESP_ERR_NO_MEM;
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
@@ -67,9 +67,9 @@ void hci_host_send_packet(uint8_t *data, uint16_t len)
|
|||||||
#if (BT_HCI_LOG_INCLUDED == TRUE)
|
#if (BT_HCI_LOG_INCLUDED == TRUE)
|
||||||
bt_hci_log_record_hci_data(data[0], &data[1], len - 1);
|
bt_hci_log_record_hci_data(data[0], &data[1], len - 1);
|
||||||
#endif
|
#endif
|
||||||
#if (BT_BLE_LOG_SPI_OUT_HCI_ENABLED && !SOC_ESP_NIMBLE_CONTROLLER)
|
#if CONFIG_BT_BLE_LOG_SPI_OUT_HCI_ENABLED
|
||||||
ble_log_spi_out_write_with_ts(BLE_LOG_SPI_OUT_SOURCE_HCI_DOWNSTREAM, data, len);
|
ble_log_spi_out_hci_write(BLE_LOG_SPI_OUT_SOURCE_HCI_DOWNSTREAM, data, len);
|
||||||
#endif // (BT_BLE_LOG_SPI_OUT_HCI_ENABLED && !SOC_ESP_NIMBLE_CONTROLLER)
|
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_HCI_ENABLED
|
||||||
#if (BT_CONTROLLER_INCLUDED == TRUE)
|
#if (BT_CONTROLLER_INCLUDED == TRUE)
|
||||||
esp_vhci_host_send_packet(data, len);
|
esp_vhci_host_send_packet(data, len);
|
||||||
#else /* BT_CONTROLLER_INCLUDED == TRUE */
|
#else /* BT_CONTROLLER_INCLUDED == TRUE */
|
||||||
|
@@ -223,20 +223,26 @@ static inline void trc_dump_buffer(const char *prefix, uint8_t *data, uint16_t l
|
|||||||
#if (BT_BLE_LOG_SPI_OUT_HOST_ENABLED && !CLASSIC_BT_INCLUDED)
|
#if (BT_BLE_LOG_SPI_OUT_HOST_ENABLED && !CLASSIC_BT_INCLUDED)
|
||||||
|
|
||||||
#define BTM_TRACE_ERROR(fmt, args...) { \
|
#define BTM_TRACE_ERROR(fmt, args...) { \
|
||||||
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_ERROR, "BT_BTM"), fmt, ## args); \
|
||||||
if (btm_cb.trace_level >= BT_TRACE_LEVEL_ERROR && BT_LOG_LEVEL_CHECK(BTM, ERROR)) BT_PRINT_E("BT_BTM", fmt, ## args); \
|
if (btm_cb.trace_level >= BT_TRACE_LEVEL_ERROR && BT_LOG_LEVEL_CHECK(BTM, ERROR)) BT_PRINT_E("BT_BTM", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define BTM_TRACE_WARNING(fmt, args...) { \
|
#define BTM_TRACE_WARNING(fmt, args...) { \
|
||||||
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_WARN, "BT_BTM"), fmt, ## args); \
|
||||||
if (btm_cb.trace_level >= BT_TRACE_LEVEL_WARNING && BT_LOG_LEVEL_CHECK(BTM, WARNING)) BT_PRINT_W("BT_BTM", fmt, ## args); \
|
if (btm_cb.trace_level >= BT_TRACE_LEVEL_WARNING && BT_LOG_LEVEL_CHECK(BTM, WARNING)) BT_PRINT_W("BT_BTM", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define BTM_TRACE_API(fmt, args...) { \
|
#define BTM_TRACE_API(fmt, args...) { \
|
||||||
ble_log_spi_out_printf_enh(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, BLE_LOG_SPI_OUT_LEVEL_INFO, "BT_BTM", fmt, ## args); \
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_INFO, "BT_BTM"), fmt, ## args); \
|
||||||
if (btm_cb.trace_level >= BT_TRACE_LEVEL_API && BT_LOG_LEVEL_CHECK(BTM, API)) BT_PRINT_I("BT_BTM", fmt, ## args); \
|
if (btm_cb.trace_level >= BT_TRACE_LEVEL_API && BT_LOG_LEVEL_CHECK(BTM, API)) BT_PRINT_I("BT_BTM", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define BTM_TRACE_EVENT(fmt, args...) { \
|
#define BTM_TRACE_EVENT(fmt, args...) { \
|
||||||
ble_log_spi_out_printf_enh(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, BLE_LOG_SPI_OUT_LEVEL_DEBUG, "BT_BTM", fmt, ## args); \
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_DEBUG, "BT_BTM"), fmt, ## args); \
|
||||||
if (btm_cb.trace_level >= BT_TRACE_LEVEL_EVENT && BT_LOG_LEVEL_CHECK(BTM, EVENT)) BT_PRINT_D("BT_BTM", fmt, ## args); \
|
if (btm_cb.trace_level >= BT_TRACE_LEVEL_EVENT && BT_LOG_LEVEL_CHECK(BTM, EVENT)) BT_PRINT_D("BT_BTM", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -259,19 +265,26 @@ static inline void trc_dump_buffer(const char *prefix, uint8_t *data, uint16_t l
|
|||||||
#if (BT_BLE_LOG_SPI_OUT_HOST_ENABLED && !CLASSIC_BT_INCLUDED)
|
#if (BT_BLE_LOG_SPI_OUT_HOST_ENABLED && !CLASSIC_BT_INCLUDED)
|
||||||
|
|
||||||
#define L2CAP_TRACE_ERROR(fmt, args...) { \
|
#define L2CAP_TRACE_ERROR(fmt, args...) { \
|
||||||
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_ERROR, "BT_L2CAP"), fmt, ## args); \
|
||||||
if (l2cb.l2cap_trace_level >= BT_TRACE_LEVEL_ERROR && BT_LOG_LEVEL_CHECK(L2CAP, ERROR)) BT_PRINT_E("BT_L2CAP", fmt, ## args); \
|
if (l2cb.l2cap_trace_level >= BT_TRACE_LEVEL_ERROR && BT_LOG_LEVEL_CHECK(L2CAP, ERROR)) BT_PRINT_E("BT_L2CAP", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define L2CAP_TRACE_WARNING(fmt, args...) { \
|
#define L2CAP_TRACE_WARNING(fmt, args...) { \
|
||||||
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_WARN, "BT_L2CAP"), fmt, ## args); \
|
||||||
if (l2cb.l2cap_trace_level >= BT_TRACE_LEVEL_WARNING && BT_LOG_LEVEL_CHECK(L2CAP, WARNING)) BT_PRINT_W("BT_L2CAP", fmt, ## args); \
|
if (l2cb.l2cap_trace_level >= BT_TRACE_LEVEL_WARNING && BT_LOG_LEVEL_CHECK(L2CAP, WARNING)) BT_PRINT_W("BT_L2CAP", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define L2CAP_TRACE_API(fmt, args...) { \
|
#define L2CAP_TRACE_API(fmt, args...) { \
|
||||||
ble_log_spi_out_printf_enh(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, BLE_LOG_SPI_OUT_LEVEL_INFO, "BT_L2CAP", fmt, ## args); \
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_INFO, "BT_L2CAP"), fmt, ## args); \
|
||||||
if (l2cb.l2cap_trace_level >= BT_TRACE_LEVEL_API && BT_LOG_LEVEL_CHECK(L2CAP, API)) BT_PRINT_I("BT_L2CAP", fmt, ## args); \
|
if (l2cb.l2cap_trace_level >= BT_TRACE_LEVEL_API && BT_LOG_LEVEL_CHECK(L2CAP, API)) BT_PRINT_I("BT_L2CAP", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define L2CAP_TRACE_EVENT(fmt, args...) { \
|
#define L2CAP_TRACE_EVENT(fmt, args...) { \
|
||||||
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_DEBUG, "BT_L2CAP"), fmt, ## args); \
|
||||||
if (l2cb.l2cap_trace_level >= BT_TRACE_LEVEL_EVENT && BT_LOG_LEVEL_CHECK(L2CAP, EVENT)) BT_PRINT_D("BT_L2CAP", fmt, ## args); \
|
if (l2cb.l2cap_trace_level >= BT_TRACE_LEVEL_EVENT && BT_LOG_LEVEL_CHECK(L2CAP, EVENT)) BT_PRINT_D("BT_L2CAP", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -310,19 +323,26 @@ static inline void trc_dump_buffer(const char *prefix, uint8_t *data, uint16_t l
|
|||||||
#if (BT_BLE_LOG_SPI_OUT_HOST_ENABLED && !CLASSIC_BT_INCLUDED)
|
#if (BT_BLE_LOG_SPI_OUT_HOST_ENABLED && !CLASSIC_BT_INCLUDED)
|
||||||
|
|
||||||
#define GAP_TRACE_ERROR(fmt, args...) { \
|
#define GAP_TRACE_ERROR(fmt, args...) { \
|
||||||
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_ERROR, "BT_GAP"), fmt, ## args); \
|
||||||
if (gap_cb.trace_level >= BT_TRACE_LEVEL_ERROR && BT_LOG_LEVEL_CHECK(GAP, ERROR)) BT_PRINT_E("BT_GAP", fmt, ## args); \
|
if (gap_cb.trace_level >= BT_TRACE_LEVEL_ERROR && BT_LOG_LEVEL_CHECK(GAP, ERROR)) BT_PRINT_E("BT_GAP", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define GAP_TRACE_WARNING(fmt, args...) { \
|
#define GAP_TRACE_WARNING(fmt, args...) { \
|
||||||
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_WARN, "BT_GAP"), fmt, ## args); \
|
||||||
if (gap_cb.trace_level >= BT_TRACE_LEVEL_WARNING && BT_LOG_LEVEL_CHECK(GAP, WARNING)) BT_PRINT_W("BT_GAP", fmt, ## args); \
|
if (gap_cb.trace_level >= BT_TRACE_LEVEL_WARNING && BT_LOG_LEVEL_CHECK(GAP, WARNING)) BT_PRINT_W("BT_GAP", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define GAP_TRACE_API(fmt, args...) { \
|
#define GAP_TRACE_API(fmt, args...) { \
|
||||||
ble_log_spi_out_printf_enh(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, BLE_LOG_SPI_OUT_LEVEL_INFO, "BT_GAP", fmt, ## args); \
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_INFO, "BT_GAP"), fmt, ## args); \
|
||||||
if (gap_cb.trace_level >= BT_TRACE_LEVEL_API && BT_LOG_LEVEL_CHECK(GAP, API)) BT_PRINT_I("BT_GAP", fmt, ## args); \
|
if (gap_cb.trace_level >= BT_TRACE_LEVEL_API && BT_LOG_LEVEL_CHECK(GAP, API)) BT_PRINT_I("BT_GAP", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define GAP_TRACE_EVENT(fmt, args...) { \
|
#define GAP_TRACE_EVENT(fmt, args...) { \
|
||||||
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_DEBUG, "BT_GAP"), fmt, ## args); \
|
||||||
if (gap_cb.trace_level >= BT_TRACE_LEVEL_EVENT && BT_LOG_LEVEL_CHECK(GAP, EVENT)) BT_PRINT_D("BT_GAP", fmt, ## args); \
|
if (gap_cb.trace_level >= BT_TRACE_LEVEL_EVENT && BT_LOG_LEVEL_CHECK(GAP, EVENT)) BT_PRINT_D("BT_GAP", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -440,19 +460,26 @@ static inline void trc_dump_buffer(const char *prefix, uint8_t *data, uint16_t l
|
|||||||
#if (BT_BLE_LOG_SPI_OUT_HOST_ENABLED && !CLASSIC_BT_INCLUDED)
|
#if (BT_BLE_LOG_SPI_OUT_HOST_ENABLED && !CLASSIC_BT_INCLUDED)
|
||||||
|
|
||||||
#define GATT_TRACE_ERROR(fmt, args...) { \
|
#define GATT_TRACE_ERROR(fmt, args...) { \
|
||||||
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_ERROR, "BT_GATT"), fmt, ## args); \
|
||||||
if (gatt_cb.trace_level >= BT_TRACE_LEVEL_ERROR && BT_LOG_LEVEL_CHECK(GATT, ERROR)) BT_PRINT_E("BT_GATT", fmt, ## args); \
|
if (gatt_cb.trace_level >= BT_TRACE_LEVEL_ERROR && BT_LOG_LEVEL_CHECK(GATT, ERROR)) BT_PRINT_E("BT_GATT", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define GATT_TRACE_WARNING(fmt, args...) { \
|
#define GATT_TRACE_WARNING(fmt, args...) { \
|
||||||
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_WARN, "BT_GATT"), fmt, ## args); \
|
||||||
if (gatt_cb.trace_level >= BT_TRACE_LEVEL_WARNING && BT_LOG_LEVEL_CHECK(GATT, WARNING)) BT_PRINT_W("BT_GATT", fmt, ## args); \
|
if (gatt_cb.trace_level >= BT_TRACE_LEVEL_WARNING && BT_LOG_LEVEL_CHECK(GATT, WARNING)) BT_PRINT_W("BT_GATT", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define GATT_TRACE_API(fmt, args...) { \
|
#define GATT_TRACE_API(fmt, args...) { \
|
||||||
ble_log_spi_out_printf_enh(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, BLE_LOG_SPI_OUT_LEVEL_INFO, "BT_GATT", fmt, ## args); \
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_INFO, "BT_GATT"), fmt, ## args); \
|
||||||
if (gatt_cb.trace_level >= BT_TRACE_LEVEL_API && BT_LOG_LEVEL_CHECK(GATT, API)) BT_PRINT_I("BT_GATT", fmt, ## args); \
|
if (gatt_cb.trace_level >= BT_TRACE_LEVEL_API && BT_LOG_LEVEL_CHECK(GATT, API)) BT_PRINT_I("BT_GATT", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define GATT_TRACE_EVENT(fmt, args...) { \
|
#define GATT_TRACE_EVENT(fmt, args...) { \
|
||||||
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_DEBUG, "BT_GATT"), fmt, ## args); \
|
||||||
if (gatt_cb.trace_level >= BT_TRACE_LEVEL_EVENT && BT_LOG_LEVEL_CHECK(GATT, EVENT)) BT_PRINT_D("BT_GATT", fmt, ## args); \
|
if (gatt_cb.trace_level >= BT_TRACE_LEVEL_EVENT && BT_LOG_LEVEL_CHECK(GATT, EVENT)) BT_PRINT_D("BT_GATT", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -475,19 +502,26 @@ static inline void trc_dump_buffer(const char *prefix, uint8_t *data, uint16_t l
|
|||||||
#if (BT_BLE_LOG_SPI_OUT_HOST_ENABLED && !CLASSIC_BT_INCLUDED)
|
#if (BT_BLE_LOG_SPI_OUT_HOST_ENABLED && !CLASSIC_BT_INCLUDED)
|
||||||
|
|
||||||
#define SMP_TRACE_ERROR(fmt, args...) { \
|
#define SMP_TRACE_ERROR(fmt, args...) { \
|
||||||
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_ERROR, "BT_SMP"), fmt, ## args); \
|
||||||
if (smp_cb.trace_level >= BT_TRACE_LEVEL_ERROR && BT_LOG_LEVEL_CHECK(SMP, ERROR)) BT_PRINT_E("BT_SMP", fmt, ## args); \
|
if (smp_cb.trace_level >= BT_TRACE_LEVEL_ERROR && BT_LOG_LEVEL_CHECK(SMP, ERROR)) BT_PRINT_E("BT_SMP", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SMP_TRACE_WARNING(fmt, args...) { \
|
#define SMP_TRACE_WARNING(fmt, args...) { \
|
||||||
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_WARN, "BT_SMP"), fmt, ## args); \
|
||||||
if (smp_cb.trace_level >= BT_TRACE_LEVEL_WARNING && BT_LOG_LEVEL_CHECK(SMP, WARNING)) BT_PRINT_W("BT_SMP", fmt, ## args); \
|
if (smp_cb.trace_level >= BT_TRACE_LEVEL_WARNING && BT_LOG_LEVEL_CHECK(SMP, WARNING)) BT_PRINT_W("BT_SMP", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SMP_TRACE_API(fmt, args...) { \
|
#define SMP_TRACE_API(fmt, args...) { \
|
||||||
ble_log_spi_out_printf_enh(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, BLE_LOG_SPI_OUT_LEVEL_INFO, "BT_SMP", fmt, ## args); \
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_INFO, "BT_SMP"), fmt, ## args); \
|
||||||
if (smp_cb.trace_level >= BT_TRACE_LEVEL_API && BT_LOG_LEVEL_CHECK(SMP, API)) BT_PRINT_I("BT_SMP", fmt, ## args); \
|
if (smp_cb.trace_level >= BT_TRACE_LEVEL_API && BT_LOG_LEVEL_CHECK(SMP, API)) BT_PRINT_I("BT_SMP", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SMP_TRACE_EVENT(fmt, args...) { \
|
#define SMP_TRACE_EVENT(fmt, args...) { \
|
||||||
|
ble_log_spi_out_host_write(BLE_LOG_SPI_OUT_SOURCE_BLUEDROID, \
|
||||||
|
BLE_LOG_SPI_OUT_BUILD_PREFIX(BLE_LOG_SPI_OUT_LEVEL_DEBUG, "BT_SMP"), fmt, ## args); \
|
||||||
if (smp_cb.trace_level >= BT_TRACE_LEVEL_EVENT && BT_LOG_LEVEL_CHECK(SMP, EVENT)) BT_PRINT_D("BT_SMP", fmt, ## args); \
|
if (smp_cb.trace_level >= BT_TRACE_LEVEL_EVENT && BT_LOG_LEVEL_CHECK(SMP, EVENT)) BT_PRINT_D("BT_SMP", fmt, ## args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -600,9 +600,9 @@ void bt_record_hci_data(uint8_t *data, uint16_t len)
|
|||||||
|
|
||||||
static int host_recv_pkt_cb(uint8_t *data, uint16_t len)
|
static int host_recv_pkt_cb(uint8_t *data, uint16_t len)
|
||||||
{
|
{
|
||||||
#if (BT_BLE_LOG_SPI_OUT_HCI_ENABLED && !SOC_ESP_NIMBLE_CONTROLLER)
|
#if CONFIG_BT_BLE_LOG_SPI_OUT_HCI_ENABLED
|
||||||
ble_log_spi_out_write_with_ts(BLE_LOG_SPI_OUT_SOURCE_HCI_UPSTREAM, data, len);
|
ble_log_spi_out_hci_write(BLE_LOG_SPI_OUT_SOURCE_HCI_UPSTREAM, data, len);
|
||||||
#endif // (BT_BLE_LOG_SPI_OUT_HCI_ENABLED && !SOC_ESP_NIMBLE_CONTROLLER)
|
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_HCI_ENABLED
|
||||||
//Target has packet to host, malloc new buffer for packet
|
//Target has packet to host, malloc new buffer for packet
|
||||||
BT_HDR *pkt = NULL;
|
BT_HDR *pkt = NULL;
|
||||||
#if (BLE_42_SCAN_EN == TRUE)
|
#if (BLE_42_SCAN_EN == TRUE)
|
||||||
|
@@ -72,9 +72,9 @@ void esp_vhci_host_send_packet_wrapper(uint8_t *data, uint16_t len)
|
|||||||
#if (BT_HCI_LOG_INCLUDED == TRUE)
|
#if (BT_HCI_LOG_INCLUDED == TRUE)
|
||||||
bt_hci_log_record_hci_data(data[0], &data[1], len - 1);
|
bt_hci_log_record_hci_data(data[0], &data[1], len - 1);
|
||||||
#endif
|
#endif
|
||||||
#if (CONFIG_BT_BLE_LOG_SPI_OUT_HCI_ENABLED && !SOC_ESP_NIMBLE_CONTROLLER)
|
#if CONFIG_BT_BLE_LOG_SPI_OUT_HCI_ENABLED
|
||||||
ble_log_spi_out_write_with_ts(BLE_LOG_SPI_OUT_SOURCE_HCI_DOWNSTREAM, data, len);
|
ble_log_spi_out_hci_write(BLE_LOG_SPI_OUT_SOURCE_HCI_DOWNSTREAM, data, len);
|
||||||
#endif // (CONFIG_BT_BLE_LOG_SPI_OUT_HCI_ENABLED && !SOC_ESP_NIMBLE_CONTROLLER)
|
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_HCI_ENABLED
|
||||||
esp_vhci_host_send_packet(data, len);
|
esp_vhci_host_send_packet(data, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -231,9 +231,9 @@ static int dummy_host_rcv_pkt(uint8_t *data, uint16_t len)
|
|||||||
*/
|
*/
|
||||||
static int host_rcv_pkt(uint8_t *data, uint16_t len)
|
static int host_rcv_pkt(uint8_t *data, uint16_t len)
|
||||||
{
|
{
|
||||||
#if (CONFIG_BT_BLE_LOG_SPI_OUT_HCI_ENABLED && !SOC_ESP_NIMBLE_CONTROLLER)
|
#if CONFIG_BT_BLE_LOG_SPI_OUT_HCI_ENABLED
|
||||||
ble_log_spi_out_write_with_ts(BLE_LOG_SPI_OUT_SOURCE_HCI_UPSTREAM, data, len);
|
ble_log_spi_out_hci_write(BLE_LOG_SPI_OUT_SOURCE_HCI_UPSTREAM, data, len);
|
||||||
#endif // (CONFIG_BT_BLE_LOG_SPI_OUT_HCI_ENABLED && !SOC_ESP_NIMBLE_CONTROLLER)
|
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_HCI_ENABLED
|
||||||
|
|
||||||
bt_record_hci_data(data, len);
|
bt_record_hci_data(data, len);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user