forked from espressif/esp-idf
Merge branch 'change/ble_update_lib_20250313_v5.0' into 'release/v5.0'
change(ble): [AUTO_MR] 20250313 - Update ESP BLE Controller Lib (v5.0) See merge request espressif/esp-idf!37818
This commit is contained in:
@@ -745,16 +745,20 @@ if(CONFIG_BT_ENABLED)
|
|||||||
endif()
|
endif()
|
||||||
elseif(CONFIG_IDF_TARGET_ESP32H2 AND CONFIG_BT_CONTROLLER_ENABLED)
|
elseif(CONFIG_IDF_TARGET_ESP32H2 AND CONFIG_BT_CONTROLLER_ENABLED)
|
||||||
if(CONFIG_IDF_TARGET_ESP32H2_BETA_VERSION_1)
|
if(CONFIG_IDF_TARGET_ESP32H2_BETA_VERSION_1)
|
||||||
add_prebuilt_library(nimblelib "controller/lib_esp32h2/esp32h2-bt-lib/beta1/libble_app.a")
|
add_prebuilt_library(nimblelib "controller/lib_esp32h2/esp32h2-bt-lib/beta1/libble_app.a"
|
||||||
|
REQUIRES esp_phy)
|
||||||
elseif(CONFIG_IDF_TARGET_ESP32H2_BETA_VERSION_2)
|
elseif(CONFIG_IDF_TARGET_ESP32H2_BETA_VERSION_2)
|
||||||
add_prebuilt_library(nimblelib "controller/lib_esp32h2/esp32h2-bt-lib/beta2/libble_app.a")
|
add_prebuilt_library(nimblelib "controller/lib_esp32h2/esp32h2-bt-lib/beta2/libble_app.a"
|
||||||
|
REQUIRES esp_phy)
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(${COMPONENT_LIB} PRIVATE nimblelib)
|
target_link_libraries(${COMPONENT_LIB} PRIVATE nimblelib)
|
||||||
elseif(CONFIG_IDF_TARGET_ESP32C2 AND CONFIG_BT_CONTROLLER_ENABLED)
|
elseif(CONFIG_IDF_TARGET_ESP32C2 AND CONFIG_BT_CONTROLLER_ENABLED)
|
||||||
if(CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY)
|
if(CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY)
|
||||||
add_prebuilt_library(nimblelib "controller/lib_esp32c2/esp32c2-bt-lib/libble_app_flash.a")
|
add_prebuilt_library(nimblelib "controller/lib_esp32c2/esp32c2-bt-lib/libble_app_flash.a"
|
||||||
|
REQUIRES esp_phy)
|
||||||
else()
|
else()
|
||||||
add_prebuilt_library(nimblelib "controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a")
|
add_prebuilt_library(nimblelib "controller/lib_esp32c2/esp32c2-bt-lib/libble_app.a"
|
||||||
|
REQUIRES esp_phy)
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(${COMPONENT_LIB} PRIVATE nimblelib)
|
target_link_libraries(${COMPONENT_LIB} PRIVATE nimblelib)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -8,9 +8,18 @@ config BT_ALARM_MAX_NUM
|
|||||||
config BT_BLE_LOG_SPI_OUT_ENABLED
|
config BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
bool "Output ble logs to SPI bus (Experimental)"
|
bool "Output ble logs to SPI bus (Experimental)"
|
||||||
default n
|
default n
|
||||||
|
select SPI_MASTER_IN_IRAM
|
||||||
help
|
help
|
||||||
Output ble logs to SPI bus
|
Output ble logs to SPI bus
|
||||||
|
|
||||||
|
config BT_BLE_LOG_SPI_OUT_UL_TASK_BUF_SIZE
|
||||||
|
int "SPI transaction buffer size for upper layer task logs"
|
||||||
|
depends on BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
default 512
|
||||||
|
help
|
||||||
|
SPI transaction buffer size for upper layer task logs.
|
||||||
|
There will be 2 SPI DMA buffers with the same size.
|
||||||
|
|
||||||
config BT_BLE_LOG_SPI_OUT_HCI_ENABLED
|
config BT_BLE_LOG_SPI_OUT_HCI_ENABLED
|
||||||
bool "Enable HCI log output to SPI"
|
bool "Enable HCI log output to SPI"
|
||||||
depends on BT_BLE_LOG_SPI_OUT_ENABLED
|
depends on BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
@@ -26,19 +35,29 @@ 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_QUEUE_SIZE
|
config BT_BLE_LOG_SPI_OUT_LL_ENABLED
|
||||||
int "Number of ble log async SPI output queues"
|
bool "Enable Controller log output to SPI"
|
||||||
depends on BT_BLE_LOG_SPI_OUT_ENABLED
|
depends on BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
default 4
|
depends on BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
default n
|
||||||
help
|
help
|
||||||
The number of ble log async SPI output queues
|
Enable controller log output to SPI bus.
|
||||||
|
|
||||||
config BT_BLE_LOG_SPI_OUT_TRANS_BUF_SIZE
|
config BT_BLE_LOG_SPI_OUT_LL_TASK_BUF_SIZE
|
||||||
int "Size of ble log async SPI output transaction buffer size"
|
int "SPI transaction buffer size for lower layer task logs"
|
||||||
depends on BT_BLE_LOG_SPI_OUT_ENABLED
|
depends on BT_BLE_LOG_SPI_OUT_LL_ENABLED
|
||||||
default 2048
|
default 1024
|
||||||
help
|
help
|
||||||
The size of ble log async SPI output transaction buffer size
|
SPI transaction buffer size for upper layer task logs.
|
||||||
|
There will be 2 SPI DMA buffers with the same size.
|
||||||
|
|
||||||
|
config BT_BLE_LOG_SPI_OUT_LL_ISR_BUF_SIZE
|
||||||
|
int "SPI transaction buffer size for lower layer ISR logs"
|
||||||
|
depends on BT_BLE_LOG_SPI_OUT_LL_ENABLED
|
||||||
|
default 512
|
||||||
|
help
|
||||||
|
SPI transaction buffer size for upper layer ISR logs.
|
||||||
|
There will be 2 SPI DMA buffers with the same size.
|
||||||
|
|
||||||
config BT_BLE_LOG_SPI_OUT_MOSI_IO_NUM
|
config BT_BLE_LOG_SPI_OUT_MOSI_IO_NUM
|
||||||
int "GPIO number of SPI MOSI"
|
int "GPIO number of SPI MOSI"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -11,6 +11,7 @@
|
|||||||
#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"
|
||||||
|
|
||||||
// Public typedefs
|
// Public typedefs
|
||||||
@@ -20,6 +21,8 @@
|
|||||||
#define BLE_LOG_SPI_OUT_SOURCE_NIMBLE 3
|
#define BLE_LOG_SPI_OUT_SOURCE_NIMBLE 3
|
||||||
#define BLE_LOG_SPI_OUT_SOURCE_HCI_UPSTREAM 4
|
#define BLE_LOG_SPI_OUT_SOURCE_HCI_UPSTREAM 4
|
||||||
#define BLE_LOG_SPI_OUT_SOURCE_HCI_DOWNSTREAM 5
|
#define BLE_LOG_SPI_OUT_SOURCE_HCI_DOWNSTREAM 5
|
||||||
|
#define BLE_LOG_SPI_OUT_SOURCE_ESP_ISR 6
|
||||||
|
#define BLE_LOG_SPI_OUT_SOURCE_ESP_LEGACY_ISR 7
|
||||||
#define BLE_LOG_SPI_OUT_SOURCE_USER 0x10
|
#define BLE_LOG_SPI_OUT_SOURCE_USER 0x10
|
||||||
#define BLE_LOG_SPI_OUT_SOURCE_SYNC 0xFE
|
#define BLE_LOG_SPI_OUT_SOURCE_SYNC 0xFE
|
||||||
#define BLE_LOG_SPI_OUT_SOURCE_LOSS 0xFF
|
#define BLE_LOG_SPI_OUT_SOURCE_LOSS 0xFF
|
||||||
@@ -34,14 +37,18 @@
|
|||||||
#define BLE_LOG_SPI_OUT_LEVEL_MAX 6 /*!< Number of SPI log levels supported */
|
#define BLE_LOG_SPI_OUT_LEVEL_MAX 6 /*!< Number of SPI log levels supported */
|
||||||
|
|
||||||
// Public functions
|
// Public functions
|
||||||
void ble_log_spi_out_init(void);
|
int ble_log_spi_out_init(void);
|
||||||
void ble_log_spi_out_deinit(void);
|
void ble_log_spi_out_deinit(void);
|
||||||
void ble_log_spi_out_write(uint8_t source, const uint8_t *addr, uint16_t len);
|
void ble_log_spi_out_timer_control(bool enable);
|
||||||
void ble_log_spi_out_write_esp(uint32_t len, const uint8_t *addr, bool end);
|
int ble_log_spi_out_write(uint8_t source, const uint8_t *addr, uint16_t len);
|
||||||
|
void ble_log_spi_out_ll_write(uint32_t len, const uint8_t *addr, uint32_t len_append,\
|
||||||
|
const uint8_t *addr_append, uint32_t flag);
|
||||||
|
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(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_printf_enh(uint8_t source, uint8_t level, const char *tag, const char *format, ...);
|
||||||
void ble_log_spi_out_write_with_ts(uint8_t source, const uint8_t *addr, uint16_t len);
|
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);
|
||||||
|
|
||||||
#endif // __BT_SPI_OUT_H__
|
#endif // __BT_SPI_OUT_H__
|
||||||
|
@@ -1743,7 +1743,10 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
#if CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
ble_log_spi_out_init();
|
if (ble_log_spi_out_init() != 0) {
|
||||||
|
ESP_LOGE(BTDM_LOG_TAG, "BLE Log SPI output init failed");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
|
||||||
btdm_cfg_mask = btdm_config_mask_load();
|
btdm_cfg_mask = btdm_config_mask_load();
|
||||||
@@ -1762,6 +1765,10 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
|
|||||||
|
|
||||||
error:
|
error:
|
||||||
|
|
||||||
|
#if CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
ble_log_spi_out_deinit();
|
||||||
|
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
|
||||||
bt_controller_deinit_internal();
|
bt_controller_deinit_internal();
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
@@ -688,3 +688,33 @@ config BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS
|
|||||||
Enabling this option will add stricter verification of the Access Address in the CONNECT_IND PDU.
|
Enabling this option will add stricter verification of the Access Address in the CONNECT_IND PDU.
|
||||||
This improves security by ensuring that only connection requests with valid Access Addresses are accepted.
|
This improves security by ensuring that only connection requests with valid Access Addresses are accepted.
|
||||||
If disabled, only basic checks are applied, improving compatibility.
|
If disabled, only basic checks are applied, improving compatibility.
|
||||||
|
|
||||||
|
menu "BLE disconnects when Instant Passed (0x28) occurs"
|
||||||
|
config BT_LE_CTRL_LLCP_CONN_UPDATE
|
||||||
|
bool "BLE ACL connection update procedure"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
If this option is enabled, Controller will terminate the connection
|
||||||
|
when Instant Passed (0x28) error occurs during connection update procedure.
|
||||||
|
|
||||||
|
config BT_LE_CTRL_LLCP_CHAN_MAP_UPDATE
|
||||||
|
bool "BLE ACL channel map update procedure"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
If this option is enabled, Controller will terminate the connection
|
||||||
|
when Instant Passed (0x28) error occurs in channel map update procedure.
|
||||||
|
|
||||||
|
config BT_LE_CTRL_LLCP_PHY_UPDATE
|
||||||
|
bool "BLE ACL PHY update procedure"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
If this option is enabled, Controller will terminate the connection
|
||||||
|
when Instant Passed (0x28) error occurs in PHY update procedure.
|
||||||
|
endmenu
|
||||||
|
|
||||||
|
config BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX
|
||||||
|
int "The value of upperlimitmax during scan backoff procedure"
|
||||||
|
range 1 256
|
||||||
|
default 32
|
||||||
|
help
|
||||||
|
The value of upperlimitmax needs to be a power of 2.
|
||||||
|
@@ -61,11 +61,9 @@
|
|||||||
#include "hal/efuse_ll.h"
|
#include "hal/efuse_ll.h"
|
||||||
#include "soc/rtc.h"
|
#include "soc/rtc.h"
|
||||||
|
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
#if CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
|
||||||
#include "ble_log/ble_log_spi_out.h"
|
#include "ble_log/ble_log_spi_out.h"
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
|
||||||
|
|
||||||
/* Macro definition
|
/* Macro definition
|
||||||
************************************************************************
|
************************************************************************
|
||||||
@@ -115,7 +113,7 @@ struct ext_funcs_t {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
||||||
typedef void (*interface_func_t) (uint32_t len, const uint8_t*addr, bool end);
|
typedef void (*interface_func_t) (uint32_t len, const uint8_t *addr, uint32_t len_append, const uint8_t *addr_append, uint32_t flag);
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
||||||
|
|
||||||
/* External functions or variables
|
/* External functions or variables
|
||||||
@@ -125,8 +123,10 @@ extern int ble_osi_coex_funcs_register(struct osi_coex_funcs_t *coex_funcs);
|
|||||||
extern int coex_core_ble_conn_dyn_prio_get(bool *low, bool *high);
|
extern int coex_core_ble_conn_dyn_prio_get(bool *low, bool *high);
|
||||||
extern int ble_controller_init(esp_bt_controller_config_t *cfg);
|
extern int ble_controller_init(esp_bt_controller_config_t *cfg);
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
||||||
extern int ble_log_init_async(interface_func_t bt_controller_log_interface, bool task_create, uint8_t buffers, uint32_t *bufs_size);
|
extern int ble_log_init_async(interface_func_t interface, bool task_create, uint8_t buffers, uint32_t *bufs_size);
|
||||||
extern int ble_log_deinit_async(void);
|
extern int ble_log_deinit_async(void);
|
||||||
|
extern int ble_log_init_simple(interface_func_t interface, void *handler);
|
||||||
|
extern void ble_log_deinit_simple(void);
|
||||||
extern void ble_log_async_output_dump_all(bool output);
|
extern void ble_log_async_output_dump_all(bool output);
|
||||||
extern void esp_panic_handler_feed_wdts(void);
|
extern void esp_panic_handler_feed_wdts(void);
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
||||||
@@ -195,10 +195,12 @@ static int esp_ecc_gen_key_pair(uint8_t *pub, uint8_t *priv);
|
|||||||
static int esp_ecc_gen_dh_key(const uint8_t *peer_pub_key_x, const uint8_t *peer_pub_key_y,
|
static int esp_ecc_gen_dh_key(const uint8_t *peer_pub_key_x, const uint8_t *peer_pub_key_y,
|
||||||
const uint8_t *our_priv_key, uint8_t *out_dhkey);
|
const uint8_t *our_priv_key, uint8_t *out_dhkey);
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
||||||
static void esp_bt_controller_log_interface(uint32_t len, const uint8_t *addr, bool end);
|
#if !CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
static void esp_bt_controller_log_interface(uint32_t len, const uint8_t *addr, uint32_t len_append, const uint8_t *addr_append, uint32_t flag);
|
||||||
|
#endif // !CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
#if CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
||||||
static void esp_bt_ctrl_log_partition_get_and_erase_first_block(void);
|
static void esp_bt_ctrl_log_partition_get_and_erase_first_block(void);
|
||||||
#endif // #if CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
||||||
/* Local variable definition
|
/* Local variable definition
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
@@ -208,50 +210,29 @@ void *g_ble_lll_rfmgmt_env_p;
|
|||||||
#endif
|
#endif
|
||||||
/* Static variable declare */
|
/* Static variable declare */
|
||||||
static DRAM_ATTR esp_bt_controller_status_t ble_controller_status = ESP_BT_CONTROLLER_STATUS_IDLE;
|
static DRAM_ATTR esp_bt_controller_status_t ble_controller_status = ESP_BT_CONTROLLER_STATUS_IDLE;
|
||||||
|
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
||||||
const static uint32_t log_bufs_size[] = {CONFIG_BT_LE_LOG_CTRL_BUF1_SIZE, CONFIG_BT_LE_LOG_HCI_BUF_SIZE, CONFIG_BT_LE_LOG_CTRL_BUF2_SIZE};
|
const static uint32_t log_bufs_size[] = {CONFIG_BT_LE_LOG_CTRL_BUF1_SIZE, CONFIG_BT_LE_LOG_HCI_BUF_SIZE, CONFIG_BT_LE_LOG_CTRL_BUF2_SIZE};
|
||||||
enum log_out_mode {
|
static bool log_is_inited = false;
|
||||||
LOG_DUMP_MEMORY,
|
|
||||||
LOG_ASYNC_OUT,
|
|
||||||
LOG_STORAGE_TO_FLASH,
|
|
||||||
LOG_SPI_OUT,
|
|
||||||
};
|
|
||||||
|
|
||||||
bool log_is_inited = false;
|
esp_err_t esp_bt_controller_log_init(void)
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_DUMP_ONLY
|
|
||||||
uint8_t log_output_mode = LOG_DUMP_MEMORY;
|
|
||||||
#else
|
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
|
||||||
uint8_t log_output_mode = LOG_STORAGE_TO_FLASH;
|
|
||||||
#elif CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
|
||||||
uint8_t log_output_mode = LOG_SPI_OUT;
|
|
||||||
#else
|
|
||||||
uint8_t log_output_mode = LOG_ASYNC_OUT;
|
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_DUMP_ONLY
|
|
||||||
|
|
||||||
void esp_bt_log_output_mode_set(uint8_t output_mode)
|
|
||||||
{
|
{
|
||||||
log_output_mode = output_mode;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t esp_bt_log_output_mode_get(void)
|
|
||||||
{
|
|
||||||
return log_output_mode;
|
|
||||||
}
|
|
||||||
|
|
||||||
esp_err_t esp_bt_controller_log_init(uint8_t log_output_mode)
|
|
||||||
{
|
|
||||||
esp_err_t ret = ESP_OK;
|
|
||||||
interface_func_t bt_controller_log_interface;
|
|
||||||
bt_controller_log_interface = esp_bt_controller_log_interface;
|
|
||||||
bool task_create;
|
|
||||||
uint8_t buffers = 0;
|
|
||||||
|
|
||||||
if (log_is_inited) {
|
if (log_is_inited) {
|
||||||
return ret;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
if (ble_log_spi_out_init() != 0) {
|
||||||
|
goto spi_out_init_failed;
|
||||||
|
}
|
||||||
|
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
|
||||||
|
#if CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
if (ble_log_init_simple(ble_log_spi_out_ll_write, ble_log_spi_out_ll_log_ev_proc) != 0) {
|
||||||
|
goto log_init_failed;
|
||||||
|
}
|
||||||
|
#else // !CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
uint8_t buffers = 0;
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_CTRL_ENABLED
|
#if CONFIG_BT_LE_CONTROLLER_LOG_CTRL_ENABLED
|
||||||
buffers |= ESP_BLE_LOG_BUF_CONTROLLER;
|
buffers |= ESP_BLE_LOG_BUF_CONTROLLER;
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_CTRL_ENABLED
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_CTRL_ENABLED
|
||||||
@@ -259,44 +240,41 @@ esp_err_t esp_bt_controller_log_init(uint8_t log_output_mode)
|
|||||||
buffers |= ESP_BLE_LOG_BUF_HCI;
|
buffers |= ESP_BLE_LOG_BUF_HCI;
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_HCI_ENABLED
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_HCI_ENABLED
|
||||||
|
|
||||||
switch (log_output_mode) {
|
bool task_create = true;
|
||||||
case LOG_DUMP_MEMORY:
|
#if CONFIG_BT_LE_CONTROLLER_LOG_DUMP_ONLY
|
||||||
task_create = false;
|
task_create = false;
|
||||||
break;
|
#elif CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
||||||
case LOG_ASYNC_OUT:
|
|
||||||
case LOG_STORAGE_TO_FLASH:
|
|
||||||
task_create = true;
|
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
|
||||||
if (log_output_mode == LOG_STORAGE_TO_FLASH) {
|
|
||||||
esp_bt_ctrl_log_partition_get_and_erase_first_block();
|
esp_bt_ctrl_log_partition_get_and_erase_first_block();
|
||||||
}
|
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
|
||||||
break;
|
|
||||||
case LOG_SPI_OUT:
|
|
||||||
task_create = true;
|
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
|
||||||
ble_log_spi_out_init();
|
|
||||||
bt_controller_log_interface = ble_log_spi_out_write_esp;
|
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
break;
|
|
||||||
default:
|
|
||||||
assert(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = ble_log_init_async(bt_controller_log_interface, task_create, buffers, (uint32_t *)log_bufs_size);
|
if (ble_log_init_async(esp_bt_controller_log_interface, task_create, buffers, (uint32_t *)log_bufs_size) != 0) {
|
||||||
if (ret == ESP_OK) {
|
goto log_init_failed;
|
||||||
|
}
|
||||||
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
|
||||||
log_is_inited = true;
|
log_is_inited = true;
|
||||||
}
|
return ESP_OK;
|
||||||
|
|
||||||
return ret;
|
log_init_failed:
|
||||||
}
|
#if CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
|
||||||
void esp_bt_ontroller_log_deinit(void)
|
|
||||||
{
|
|
||||||
ble_log_deinit_async();
|
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
|
||||||
ble_log_spi_out_deinit();
|
ble_log_spi_out_deinit();
|
||||||
#endif
|
spi_out_init_failed:
|
||||||
|
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
return ESP_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void esp_bt_controller_log_deinit(void)
|
||||||
|
{
|
||||||
|
#if CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
ble_log_spi_out_deinit();
|
||||||
|
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
|
||||||
|
#if CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
ble_log_deinit_simple();
|
||||||
|
#else // !CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
ble_log_deinit_async();
|
||||||
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
|
||||||
log_is_inited = false;
|
log_is_inited = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -391,7 +369,7 @@ void esp_bt_read_ctrl_log_from_flash(bool output)
|
|||||||
portENTER_CRITICAL_SAFE(&spinlock);
|
portENTER_CRITICAL_SAFE(&spinlock);
|
||||||
esp_panic_handler_feed_wdts();
|
esp_panic_handler_feed_wdts();
|
||||||
ble_log_async_output_dump_all(true);
|
ble_log_async_output_dump_all(true);
|
||||||
esp_bt_ontroller_log_deinit();
|
esp_bt_controller_log_deinit();
|
||||||
stop_write = true;
|
stop_write = true;
|
||||||
|
|
||||||
buffer = (const uint8_t *)mapped_ptr;
|
buffer = (const uint8_t *)mapped_ptr;
|
||||||
@@ -417,18 +395,19 @@ void esp_bt_read_ctrl_log_from_flash(bool output)
|
|||||||
esp_rom_printf(":DUMP_END]\r\n");
|
esp_rom_printf(":DUMP_END]\r\n");
|
||||||
portEXIT_CRITICAL_SAFE(&spinlock);
|
portEXIT_CRITICAL_SAFE(&spinlock);
|
||||||
esp_partition_munmap(mmap_handle);
|
esp_partition_munmap(mmap_handle);
|
||||||
err = esp_bt_controller_log_init(log_output_mode);
|
err = esp_bt_controller_log_init();
|
||||||
assert(err == ESP_OK);
|
assert(err == ESP_OK);
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
||||||
static void esp_bt_controller_log_interface(uint32_t len, const uint8_t *addr, bool end)
|
|
||||||
|
#if !CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
static void esp_bt_controller_log_interface(uint32_t len, const uint8_t *addr, uint32_t len_append, const uint8_t *addr_append, uint32_t flag)
|
||||||
{
|
{
|
||||||
if (log_output_mode == LOG_STORAGE_TO_FLASH) {
|
bool end = flag ? true : false;
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
#if CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
||||||
esp_bt_controller_log_storage(len, addr, end);
|
esp_bt_controller_log_storage(len, addr, end);
|
||||||
#endif //CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
#else // !CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
||||||
} else {
|
|
||||||
portMUX_TYPE spinlock = portMUX_INITIALIZER_UNLOCKED;
|
portMUX_TYPE spinlock = portMUX_INITIALIZER_UNLOCKED;
|
||||||
portENTER_CRITICAL_SAFE(&spinlock);
|
portENTER_CRITICAL_SAFE(&spinlock);
|
||||||
esp_panic_handler_feed_wdts();
|
esp_panic_handler_feed_wdts();
|
||||||
@@ -440,16 +419,19 @@ static void esp_bt_controller_log_interface(uint32_t len, const uint8_t *addr, b
|
|||||||
esp_rom_printf("\n");
|
esp_rom_printf("\n");
|
||||||
}
|
}
|
||||||
portEXIT_CRITICAL_SAFE(&spinlock);
|
portEXIT_CRITICAL_SAFE(&spinlock);
|
||||||
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
||||||
}
|
}
|
||||||
}
|
#endif // !CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
|
||||||
void esp_ble_controller_log_dump_all(bool output)
|
void esp_ble_controller_log_dump_all(bool output)
|
||||||
{
|
{
|
||||||
if (log_output_mode == LOG_STORAGE_TO_FLASH) {
|
#if CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
ble_log_spi_out_dump_all();
|
||||||
|
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
#if CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
||||||
esp_bt_read_ctrl_log_from_flash(output);
|
esp_bt_read_ctrl_log_from_flash(output);
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
#elif !CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
} else {
|
|
||||||
portMUX_TYPE spinlock = portMUX_INITIALIZER_UNLOCKED;
|
portMUX_TYPE spinlock = portMUX_INITIALIZER_UNLOCKED;
|
||||||
portENTER_CRITICAL_SAFE(&spinlock);
|
portENTER_CRITICAL_SAFE(&spinlock);
|
||||||
esp_panic_handler_feed_wdts();
|
esp_panic_handler_feed_wdts();
|
||||||
@@ -457,8 +439,9 @@ void esp_ble_controller_log_dump_all(bool output)
|
|||||||
ble_log_async_output_dump_all(output);
|
ble_log_async_output_dump_all(output);
|
||||||
BT_ASSERT_PRINT(":DUMP_END]\r\n");
|
BT_ASSERT_PRINT(":DUMP_END]\r\n");
|
||||||
portEXIT_CRITICAL_SAFE(&spinlock);
|
portEXIT_CRITICAL_SAFE(&spinlock);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_TASK_WDT_USER_HANDLER_ENABLE
|
#if CONFIG_BT_LE_CONTROLLER_LOG_TASK_WDT_USER_HANDLER_ENABLE
|
||||||
void esp_task_wdt_isr_user_handler(void)
|
void esp_task_wdt_isr_user_handler(void)
|
||||||
{
|
{
|
||||||
@@ -899,7 +882,7 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
|
|||||||
ESP_LOGI(NIMBLE_PORT_LOG_TAG, "ble rom commit:[%s]", r_ble_controller_get_rom_compile_version());
|
ESP_LOGI(NIMBLE_PORT_LOG_TAG, "ble rom commit:[%s]", r_ble_controller_get_rom_compile_version());
|
||||||
|
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
||||||
ret = esp_bt_controller_log_init(log_output_mode);
|
ret = esp_bt_controller_log_init();
|
||||||
if (ret != ESP_OK) {
|
if (ret != ESP_OK) {
|
||||||
ESP_LOGW(NIMBLE_PORT_LOG_TAG, "ble_controller_log_init failed %d", ret);
|
ESP_LOGW(NIMBLE_PORT_LOG_TAG, "ble_controller_log_init failed %d", ret);
|
||||||
goto controller_init_err;
|
goto controller_init_err;
|
||||||
@@ -948,7 +931,7 @@ free_controller:
|
|||||||
controller_sleep_deinit();
|
controller_sleep_deinit();
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
||||||
controller_init_err:
|
controller_init_err:
|
||||||
esp_bt_ontroller_log_deinit();
|
esp_bt_controller_log_deinit();
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
||||||
ble_controller_deinit();
|
ble_controller_deinit();
|
||||||
modem_deint:
|
modem_deint:
|
||||||
@@ -978,7 +961,7 @@ esp_err_t esp_bt_controller_deinit(void)
|
|||||||
controller_sleep_deinit();
|
controller_sleep_deinit();
|
||||||
|
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
||||||
esp_bt_ontroller_log_deinit();
|
esp_bt_controller_log_deinit();
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
||||||
ble_controller_deinit();
|
ble_controller_deinit();
|
||||||
|
|
||||||
|
@@ -226,6 +226,32 @@ extern "C" {
|
|||||||
#define DEFAULT_BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS (0)
|
#define DEFAULT_BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_BT_LE_CTRL_LLCP_CONN_UPDATE
|
||||||
|
#define BT_CTRL_BLE_LLCP_CONN_UPDATE (1<<0)
|
||||||
|
#else
|
||||||
|
#define BT_CTRL_BLE_LLCP_CONN_UPDATE (0<<0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_BT_LE_CTRL_LLCP_CHAN_MAP_UPDATE
|
||||||
|
#define BT_CTRL_BLE_LLCP_CHAN_MAP_UPDATE (1<<1)
|
||||||
|
#else
|
||||||
|
#define BT_CTRL_BLE_LLCP_CHAN_MAP_UPDATE (0<<1)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_BT_LE_CTRL_LLCP_PHY_UPDATE
|
||||||
|
#define BT_CTRL_BLE_LLCP_PHY_UPDATE (1<<2)
|
||||||
|
#else
|
||||||
|
#define BT_CTRL_BLE_LLCP_PHY_UPDATE (0<<2)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define BT_LE_CTRL_LLCP_DISC_FLAG (BT_CTRL_BLE_LLCP_CONN_UPDATE | BT_CTRL_BLE_LLCP_CHAN_MAP_UPDATE | BT_CTRL_BLE_LLCP_PHY_UPDATE)
|
||||||
|
|
||||||
|
#ifdef CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX
|
||||||
|
#define BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX (CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX)
|
||||||
|
#else
|
||||||
|
#define BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX (256)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_BT_LE_HCI_INTERFACE_USE_UART
|
#ifdef CONFIG_BT_LE_HCI_INTERFACE_USE_UART
|
||||||
#define HCI_UART_EN CONFIG_BT_LE_HCI_INTERFACE_USE_UART
|
#define HCI_UART_EN CONFIG_BT_LE_HCI_INTERFACE_USE_UART
|
||||||
#else
|
#else
|
||||||
|
@@ -533,7 +533,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)
|
||||||
{
|
{
|
||||||
return ble_log_spi_out_write(BLE_LOG_SPI_OUT_SOURCE_ESP_LEGACY, addr, len);
|
ble_log_spi_out_write(BLE_LOG_SPI_OUT_SOURCE_ESP_LEGACY, addr, len);
|
||||||
}
|
}
|
||||||
#endif // CONFIG_BT_CTRL_LE_LOG_SPI_OUT_EN
|
#endif // CONFIG_BT_CTRL_LE_LOG_SPI_OUT_EN
|
||||||
|
|
||||||
@@ -1776,7 +1776,10 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
#if CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
ble_log_spi_out_init();
|
if (ble_log_spi_out_init() != 0) {
|
||||||
|
ESP_LOGE(BT_LOG_TAG, "BLE Log SPI output init failed");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
|
||||||
periph_module_enable(PERIPH_BT_MODULE);
|
periph_module_enable(PERIPH_BT_MODULE);
|
||||||
@@ -1804,6 +1807,10 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
|
|||||||
|
|
||||||
error:
|
error:
|
||||||
|
|
||||||
|
#if CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
ble_log_spi_out_deinit();
|
||||||
|
#endif // CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED
|
||||||
|
|
||||||
bt_controller_deinit_internal();
|
bt_controller_deinit_internal();
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
Submodule components/bt/controller/lib_esp32c2/esp32c2-bt-lib updated: 5518d3409b...3ce1675e0e
@@ -234,6 +234,9 @@ typedef struct {
|
|||||||
uint8_t ignore_wl_for_direct_adv; /*!< Ignore the white list for directed advertising */
|
uint8_t ignore_wl_for_direct_adv; /*!< Ignore the white list for directed advertising */
|
||||||
uint8_t csa2_select; /*!< Select CSA#2 */
|
uint8_t csa2_select; /*!< Select CSA#2 */
|
||||||
uint8_t ble_aa_check; /*!< True if adds a verification step for the Access Address within the CONNECT_IND PDU; false otherwise. Configurable in menuconfig */
|
uint8_t ble_aa_check; /*!< True if adds a verification step for the Access Address within the CONNECT_IND PDU; false otherwise. Configurable in menuconfig */
|
||||||
|
uint8_t ble_llcp_disc_flag; /*!< Flag indicating whether the Controller disconnects after Instant Passed (0x28) error occurs. Configurable in menuconfig.
|
||||||
|
- The Controller does not disconnect after Instant Passed (0x28) by default. */
|
||||||
|
uint16_t scan_backoff_upperlimitmax; /*!< The value of upperlimitmax is 2^n, The maximum value is 256 */
|
||||||
uint8_t vhci_enabled; /*!< VHCI mode is enabled */
|
uint8_t vhci_enabled; /*!< VHCI mode is enabled */
|
||||||
uint32_t config_magic; /*!< Configuration magic value */
|
uint32_t config_magic; /*!< Configuration magic value */
|
||||||
} esp_bt_controller_config_t;
|
} esp_bt_controller_config_t;
|
||||||
@@ -282,6 +285,8 @@ typedef struct {
|
|||||||
.ignore_wl_for_direct_adv = 0, \
|
.ignore_wl_for_direct_adv = 0, \
|
||||||
.csa2_select = DEFAULT_BT_LE_50_FEATURE_SUPPORT, \
|
.csa2_select = DEFAULT_BT_LE_50_FEATURE_SUPPORT, \
|
||||||
.ble_aa_check = DEFAULT_BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS, \
|
.ble_aa_check = DEFAULT_BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS, \
|
||||||
|
.ble_llcp_disc_flag = BT_LE_CTRL_LLCP_DISC_FLAG, \
|
||||||
|
.scan_backoff_upperlimitmax = BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX, \
|
||||||
.vhci_enabled = DEFAULT_BT_LE_VHCI_ENABLED, \
|
.vhci_enabled = DEFAULT_BT_LE_VHCI_ENABLED, \
|
||||||
.config_magic = CONFIG_MAGIC, \
|
.config_magic = CONFIG_MAGIC, \
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -257,7 +257,7 @@ r_ble_ll_conn_tx_pkt_in = 0x40000e4c;
|
|||||||
r_ble_ll_conn_update_eff_data_len = 0x40000e50;
|
r_ble_ll_conn_update_eff_data_len = 0x40000e50;
|
||||||
r_ble_ll_ctrl_chanmap_req_make = 0x40000e54;
|
r_ble_ll_ctrl_chanmap_req_make = 0x40000e54;
|
||||||
r_ble_ll_ctrl_chk_proc_start = 0x40000e58;
|
r_ble_ll_ctrl_chk_proc_start = 0x40000e58;
|
||||||
r_ble_ll_ctrl_conn_param_pdu_make = 0x40000e5c;
|
//r_ble_ll_ctrl_conn_param_pdu_make = 0x40000e5c;
|
||||||
r_ble_ll_ctrl_conn_param_pdu_proc = 0x40000e60;
|
r_ble_ll_ctrl_conn_param_pdu_proc = 0x40000e60;
|
||||||
r_ble_ll_ctrl_conn_param_reply = 0x40000e64;
|
r_ble_ll_ctrl_conn_param_reply = 0x40000e64;
|
||||||
r_ble_ll_ctrl_conn_upd_make = 0x40000e68;
|
r_ble_ll_ctrl_conn_upd_make = 0x40000e68;
|
||||||
@@ -284,7 +284,7 @@ r_ble_ll_ctrl_proc_unk_rsp = 0x40000eb8;
|
|||||||
r_ble_ll_ctrl_proc_with_instant_initiated = 0x40000ebc;
|
r_ble_ll_ctrl_proc_with_instant_initiated = 0x40000ebc;
|
||||||
r_ble_ll_ctrl_rej_ext_ind_make = 0x40000ec0;
|
r_ble_ll_ctrl_rej_ext_ind_make = 0x40000ec0;
|
||||||
r_ble_ll_ctrl_reject_ind_send = 0x40000ec4;
|
r_ble_ll_ctrl_reject_ind_send = 0x40000ec4;
|
||||||
r_ble_ll_ctrl_rx_chanmap_req = 0x40000ec8;
|
//r_ble_ll_ctrl_rx_chanmap_req = 0x40000ec8;
|
||||||
r_ble_ll_ctrl_rx_conn_param_req = 0x40000ecc;
|
r_ble_ll_ctrl_rx_conn_param_req = 0x40000ecc;
|
||||||
//r_ble_ll_ctrl_rx_conn_param_rsp = 0x40000ed0;
|
//r_ble_ll_ctrl_rx_conn_param_rsp = 0x40000ed0;
|
||||||
//r_ble_ll_ctrl_rx_conn_update = 0x40000ed4;
|
//r_ble_ll_ctrl_rx_conn_update = 0x40000ed4;
|
||||||
@@ -298,7 +298,7 @@ r_ble_ll_ctrl_rx_pdu = 0x40000ef0;
|
|||||||
r_ble_ll_ctrl_rx_periodic_sync_ind = 0x40000ef4;
|
r_ble_ll_ctrl_rx_periodic_sync_ind = 0x40000ef4;
|
||||||
r_ble_ll_ctrl_rx_phy_req = 0x40000ef8;
|
r_ble_ll_ctrl_rx_phy_req = 0x40000ef8;
|
||||||
r_ble_ll_ctrl_rx_phy_rsp = 0x40000efc;
|
r_ble_ll_ctrl_rx_phy_rsp = 0x40000efc;
|
||||||
r_ble_ll_ctrl_rx_phy_update_ind = 0x40000f00;
|
//r_ble_ll_ctrl_rx_phy_update_ind = 0x40000f00;
|
||||||
r_ble_ll_ctrl_rx_ping_rsp = 0x40000f04;
|
r_ble_ll_ctrl_rx_ping_rsp = 0x40000f04;
|
||||||
r_ble_ll_ctrl_rx_reject_ind = 0x40000f08;
|
r_ble_ll_ctrl_rx_reject_ind = 0x40000f08;
|
||||||
r_ble_ll_ctrl_rx_sca_req = 0x40000f0c;
|
r_ble_ll_ctrl_rx_sca_req = 0x40000f0c;
|
||||||
@@ -346,7 +346,7 @@ r_ble_ll_hci_cmd_rx = 0x40000fb0;
|
|||||||
r_ble_ll_hci_ctlr_bb_cmd_proc = 0x40000fb4;
|
r_ble_ll_hci_ctlr_bb_cmd_proc = 0x40000fb4;
|
||||||
r_ble_ll_hci_deinit = 0x40000fb8;
|
r_ble_ll_hci_deinit = 0x40000fb8;
|
||||||
r_ble_ll_hci_disconnect = 0x40000fbc;
|
r_ble_ll_hci_disconnect = 0x40000fbc;
|
||||||
r_ble_ll_hci_env_init = 0x40000fc0;
|
//r_ble_ll_hci_env_init = 0x40000fc0;
|
||||||
r_ble_ll_hci_ev_conn_update = 0x40000fc4;
|
r_ble_ll_hci_ev_conn_update = 0x40000fc4;
|
||||||
r_ble_ll_hci_ev_databuf_overflow = 0x40000fc8;
|
r_ble_ll_hci_ev_databuf_overflow = 0x40000fc8;
|
||||||
r_ble_ll_hci_ev_datalen_chg = 0x40000fcc;
|
r_ble_ll_hci_ev_datalen_chg = 0x40000fcc;
|
||||||
@@ -805,7 +805,7 @@ r_ble_lll_scan_npl_store = 0x400016dc;
|
|||||||
r_ble_lll_scan_period_timer_cb = 0x400016e0;
|
r_ble_lll_scan_period_timer_cb = 0x400016e0;
|
||||||
r_ble_lll_scan_process_adv_in_isr = 0x400016e4;
|
r_ble_lll_scan_process_adv_in_isr = 0x400016e4;
|
||||||
r_ble_lll_scan_process_rsp_in_isr = 0x400016e8;
|
r_ble_lll_scan_process_rsp_in_isr = 0x400016e8;
|
||||||
r_ble_lll_scan_req_backoff = 0x400016ec;
|
//r_ble_lll_scan_req_backoff = 0x400016ec;
|
||||||
r_ble_lll_scan_restart = 0x400016f0;
|
r_ble_lll_scan_restart = 0x400016f0;
|
||||||
r_ble_lll_scan_rx_isr_on_aux = 0x400016f4;
|
r_ble_lll_scan_rx_isr_on_aux = 0x400016f4;
|
||||||
r_ble_lll_scan_rx_isr_on_legacy = 0x400016f8;
|
r_ble_lll_scan_rx_isr_on_legacy = 0x400016f8;
|
||||||
@@ -1216,7 +1216,7 @@ r_ble_lll_scan_filter_out_useless_adv = 0x40002ff4;
|
|||||||
r_ble_hw_whitelist_check_in_wl = 0x40002ff8;
|
r_ble_hw_whitelist_check_in_wl = 0x40002ff8;
|
||||||
r_ble_phy_stats_reset = 0x40002ffc;
|
r_ble_phy_stats_reset = 0x40002ffc;
|
||||||
r_ble_phy_ramup_time_set = 0x40003000;
|
r_ble_phy_ramup_time_set = 0x40003000;
|
||||||
r_ble_lll_rfmgmt_should_skip_light_sleep_check = 0x40003004;
|
//r_ble_lll_rfmgmt_should_skip_light_sleep_check = 0x40003004;
|
||||||
r_ble_phy_rx_err_record = 0x40003008;
|
r_ble_phy_rx_err_record = 0x40003008;
|
||||||
r_ble_lll_rfmgmt_wake_up_overhead_set = 0x4000300c;
|
r_ble_lll_rfmgmt_wake_up_overhead_set = 0x4000300c;
|
||||||
//r_ble_lll_conn_event_delete_and_reschedule = 0x40003010;
|
//r_ble_lll_conn_event_delete_and_reschedule = 0x40003010;
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -202,7 +202,7 @@ r_ble_ll_conn_sm_get = 0x40000e3c;
|
|||||||
r_ble_ll_conn_tx_pkt_in = 0x40000e4c;
|
r_ble_ll_conn_tx_pkt_in = 0x40000e4c;
|
||||||
r_ble_ll_conn_update_eff_data_len = 0x40000e50;
|
r_ble_ll_conn_update_eff_data_len = 0x40000e50;
|
||||||
r_ble_ll_ctrl_chanmap_req_make = 0x40000e54;
|
r_ble_ll_ctrl_chanmap_req_make = 0x40000e54;
|
||||||
r_ble_ll_ctrl_conn_param_pdu_make = 0x40000e5c;
|
//r_ble_ll_ctrl_conn_param_pdu_make = 0x40000e5c;
|
||||||
r_ble_ll_ctrl_conn_param_pdu_proc = 0x40000e60;
|
r_ble_ll_ctrl_conn_param_pdu_proc = 0x40000e60;
|
||||||
r_ble_ll_ctrl_conn_param_reply = 0x40000e64;
|
r_ble_ll_ctrl_conn_param_reply = 0x40000e64;
|
||||||
r_ble_ll_ctrl_datalen_upd_make = 0x40000e6c;
|
r_ble_ll_ctrl_datalen_upd_make = 0x40000e6c;
|
||||||
@@ -224,7 +224,7 @@ r_ble_ll_ctrl_proc_stop = 0x40000eb4;
|
|||||||
r_ble_ll_ctrl_proc_with_instant_initiated = 0x40000ebc;
|
r_ble_ll_ctrl_proc_with_instant_initiated = 0x40000ebc;
|
||||||
r_ble_ll_ctrl_rej_ext_ind_make = 0x40000ec0;
|
r_ble_ll_ctrl_rej_ext_ind_make = 0x40000ec0;
|
||||||
r_ble_ll_ctrl_reject_ind_send = 0x40000ec4;
|
r_ble_ll_ctrl_reject_ind_send = 0x40000ec4;
|
||||||
r_ble_ll_ctrl_rx_chanmap_req = 0x40000ec8;
|
//r_ble_ll_ctrl_rx_chanmap_req = 0x40000ec8;
|
||||||
r_ble_ll_ctrl_rx_conn_param_req = 0x40000ecc;
|
r_ble_ll_ctrl_rx_conn_param_req = 0x40000ecc;
|
||||||
r_ble_ll_ctrl_rx_enc_req = 0x40000ed8;
|
r_ble_ll_ctrl_rx_enc_req = 0x40000ed8;
|
||||||
r_ble_ll_ctrl_rx_enc_rsp = 0x40000edc;
|
r_ble_ll_ctrl_rx_enc_rsp = 0x40000edc;
|
||||||
@@ -234,7 +234,7 @@ r_ble_ll_ctrl_rx_pause_enc_rsp = 0x40000eec;
|
|||||||
r_ble_ll_ctrl_rx_periodic_sync_ind = 0x40000ef4;
|
r_ble_ll_ctrl_rx_periodic_sync_ind = 0x40000ef4;
|
||||||
r_ble_ll_ctrl_rx_phy_req = 0x40000ef8;
|
r_ble_ll_ctrl_rx_phy_req = 0x40000ef8;
|
||||||
r_ble_ll_ctrl_rx_phy_rsp = 0x40000efc;
|
r_ble_ll_ctrl_rx_phy_rsp = 0x40000efc;
|
||||||
r_ble_ll_ctrl_rx_phy_update_ind = 0x40000f00;
|
//r_ble_ll_ctrl_rx_phy_update_ind = 0x40000f00;
|
||||||
r_ble_ll_ctrl_rx_ping_rsp = 0x40000f04;
|
r_ble_ll_ctrl_rx_ping_rsp = 0x40000f04;
|
||||||
r_ble_ll_ctrl_rx_reject_ind = 0x40000f08;
|
r_ble_ll_ctrl_rx_reject_ind = 0x40000f08;
|
||||||
r_ble_ll_ctrl_rx_sca_req = 0x40000f0c;
|
r_ble_ll_ctrl_rx_sca_req = 0x40000f0c;
|
||||||
@@ -636,7 +636,7 @@ r_ble_lll_scan_npl_restore = 0x400016d8;
|
|||||||
r_ble_lll_scan_npl_store = 0x400016dc;
|
r_ble_lll_scan_npl_store = 0x400016dc;
|
||||||
r_ble_lll_scan_period_timer_cb = 0x400016e0;
|
r_ble_lll_scan_period_timer_cb = 0x400016e0;
|
||||||
r_ble_lll_scan_process_adv_in_isr = 0x400016e4;
|
r_ble_lll_scan_process_adv_in_isr = 0x400016e4;
|
||||||
r_ble_lll_scan_req_backoff = 0x400016ec;
|
//r_ble_lll_scan_req_backoff = 0x400016ec;
|
||||||
r_ble_lll_scan_sched_next_aux = 0x40001700;
|
r_ble_lll_scan_sched_next_aux = 0x40001700;
|
||||||
r_ble_lll_scan_sched_remove = 0x40001704;
|
r_ble_lll_scan_sched_remove = 0x40001704;
|
||||||
r_ble_lll_scan_start = 0x40001708;
|
r_ble_lll_scan_start = 0x40001708;
|
||||||
|
Reference in New Issue
Block a user