Merge branch 'bugfix/ble_update_lib_20231219_v5.1' into 'release/v5.1'

update lib on release/v5.1

See merge request espressif/esp-idf!27999
This commit is contained in:
Island 2023-12-22 14:57:32 +08:00
commit 6deb0ae743
14 changed files with 104 additions and 12 deletions

View File

@ -463,3 +463,23 @@ config BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD
config BT_LE_RELEASE_IRAM_SUPPORTED
bool
default y
config BT_LE_TX_CCA_ENABLED
bool "BLE enable TX CCA feature"
default n
help
Enable the BLE (Bluetooth Low Energy) LBT (Listen Before Talk) function. Before transmitting a packet,
monitor the in-band CCA (Clear Channel Assessment). If the airborne carrier energy is too high, abandon
the packet transmission. Enabling this feature may potentially decrease BLE performance. In certain
countries and regions, when the maximum transmission power exceeds a certain limit, support for LBT
interference avoidance mechanisms is required. If the maximum transmission power does not reach the limit,
it may not be necessary to enable this function.
Please refer to the relevant certification regulations for details.
config BT_LE_CCA_RSSI_THRESH
int "Power threshold to refrain packet transmission in unit of -1 dBm"
depends on BT_LE_TX_CCA_ENABLED
range 1 100
default 75
help
If a carrier signal above the threshold is detected in the air, refrain from packet transmission.

View File

@ -40,6 +40,11 @@ extern "C" {
#define DEFAULT_BT_NIMBLE_WHITELIST_SIZE MYNEWT_VAL(BLE_LL_WHITELIST_SIZE)
#define DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT MYNEWT_VAL(BLE_TRANSPORT_EVT_COUNT)
#define DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT MYNEWT_VAL(BLE_TRANSPORT_EVT_DISCARDABLE_COUNT)
#if defined(CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT)
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (1)
#else
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (0)
#endif
#else
@ -114,6 +119,11 @@ extern "C" {
#else
#define DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT (8)
#endif
#if defined(CONFIG_BT_LE_50_FEATURE_SUPPORT)
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (1)
#else
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (0)
#endif
#endif

View File

@ -571,3 +571,23 @@ config BT_LE_SCAN_DUPL_CACHE_REFRESH_PERIOD
config BT_LE_MSYS_INIT_IN_CONTROLLER
bool "Msys Mbuf Init in Controller"
default y
config BT_LE_TX_CCA_ENABLED
bool "BLE enable TX CCA feature"
default n
help
Enable the BLE (Bluetooth Low Energy) LBT (Listen Before Talk) function. Before transmitting a packet,
monitor the in-band CCA (Clear Channel Assessment). If the airborne carrier energy is too high, abandon
the packet transmission. Enabling this feature may potentially decrease BLE performance. In certain
countries and regions, when the maximum transmission power exceeds a certain limit, support for LBT
interference avoidance mechanisms is required. If the maximum transmission power does not reach the limit,
it may not be necessary to enable this function.
Please refer to the relevant certification regulations for details.
config BT_LE_CCA_RSSI_THRESH
int "Power threshold to refrain packet transmission in unit of -1 dBm"
depends on BT_LE_TX_CCA_ENABLED
range 1 100
default 75
help
If a carrier signal above the threshold is detected in the air, refrain from packet transmission.

View File

@ -40,6 +40,11 @@ extern "C" {
#define DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT MYNEWT_VAL(BLE_TRANSPORT_EVT_COUNT)
#define DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT MYNEWT_VAL(BLE_TRANSPORT_EVT_DISCARDABLE_COUNT)
#define DEFAULT_BT_LE_POWER_CONTROL_ENABLED MYNEWT_VAL(BLE_POWER_CONTROL)
#if defined(CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT)
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (1)
#else
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (0)
#endif
#else
#if CONFIG_BT_LE_LL_CFG_FEAT_LE_CODED_PHY
@ -119,6 +124,11 @@ extern "C" {
#else
#define DEFAULT_BT_LE_POWER_CONTROL_ENABLED (0)
#endif
#if defined(CONFIG_BT_LE_50_FEATURE_SUPPORT)
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (1)
#else
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (0)
#endif
#endif
#define DEFAULT_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF

View File

@ -564,3 +564,23 @@ config BT_LE_SCAN_DUPL_CACHE_REFRESH_PERIOD
config BT_LE_MSYS_INIT_IN_CONTROLLER
bool
default y
config BT_LE_TX_CCA_ENABLED
bool "BLE enable TX CCA feature"
default n
help
Enable the BLE (Bluetooth Low Energy) LBT (Listen Before Talk) function. Before transmitting a packet,
monitor the in-band CCA (Clear Channel Assessment). If the airborne carrier energy is too high, abandon
the packet transmission. Enabling this feature may potentially decrease BLE performance. In certain
countries and regions, when the maximum transmission power exceeds a certain limit, support for LBT
interference avoidance mechanisms is required. If the maximum transmission power does not reach the limit,
it may not be necessary to enable this function.
Please refer to the relevant certification regulations for details.
config BT_LE_CCA_RSSI_THRESH
int "Power threshold to refrain packet transmission in unit of -1 dBm"
depends on BT_LE_TX_CCA_ENABLED
range 1 100
default 75
help
If a carrier signal above the threshold is detected in the air, refrain from packet transmission.

View File

@ -40,6 +40,11 @@ extern "C" {
#define DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT MYNEWT_VAL(BLE_TRANSPORT_EVT_COUNT)
#define DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT MYNEWT_VAL(BLE_TRANSPORT_EVT_DISCARDABLE_COUNT)
#define DEFAULT_BT_LE_POWER_CONTROL_ENABLED MYNEWT_VAL(BLE_POWER_CONTROL)
#if defined(CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT)
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (1)
#else
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (0)
#endif
#else
#if CONFIG_BT_LE_LL_CFG_FEAT_LE_CODED_PHY
@ -119,6 +124,12 @@ extern "C" {
#else
#define DEFAULT_BT_LE_POWER_CONTROL_ENABLED (0)
#endif
#if defined(CONFIG_BT_LE_50_FEATURE_SUPPORT)
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (1)
#else
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (0)
#endif
#endif
#define DEFAULT_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF

@ -1 +1 @@
Subproject commit d238d53d4aef846142e937b0bf344b36e4704080
Subproject commit 909c8bca55acdcbba1c32620482a7d1a10c28a07

@ -1 +1 @@
Subproject commit 0f0f3ff7e54d9f5499781bc4f3afa2ac40892598
Subproject commit 8ad84d799a194566be26e487ecfe5e634b8f4248

@ -1 +1 @@
Subproject commit ef7a15381de3b90b58fc2053f654edf4bd8c82e0
Subproject commit f9b322ffdfe7cb6896ac24f59986d601766dd126

View File

@ -596,7 +596,8 @@ int
ble_hs_hci_rx_evt(uint8_t *hci_ev, void *arg)
{
if(esp_bluedroid_get_status() == ESP_BLUEDROID_STATUS_UNINITIALIZED) {
return 0;
ble_hci_trans_buf_free(hci_ev);
return 0;
}
uint16_t len = hci_ev[1] + 3;
uint8_t *data = (uint8_t *)malloc(len);

View File

@ -224,8 +224,9 @@ typedef struct {
int8_t cca_low_tx_pwr; /*!< Low TX power setting for CCA */
uint8_t main_xtal_freq; /*!< Main crystal frequency */
uint8_t version_num; /*!< Version number */
uint8_t ignore_wl_for_direct_adv; /*!< Ignore the white list for directed advertising */
uint32_t config_magic; /*!< Configuration magic value */
uint8_t ignore_wl_for_direct_adv; /*!< Ignore the white list for directed advertising */
uint8_t csa2_select; /*!< Select CSA#2 */
uint32_t config_magic; /*!< Configuration magic value */
} esp_bt_controller_config_t;
#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() { \
@ -277,6 +278,7 @@ typedef struct {
.main_xtal_freq = CONFIG_XTAL_FREQ, \
.version_num = esp_ble_get_chip_rev_version(), \
.ignore_wl_for_direct_adv = 0, \
.csa2_select = DEFAULT_BT_LE_50_FEATURE_SUPPORT, \
.config_magic = CONFIG_MAGIC, \
}

View File

@ -216,6 +216,7 @@ typedef struct {
uint8_t cpu_freq_mhz; /*!< CPU frequency in megahertz (MHz) */
uint8_t ignore_wl_for_direct_adv; /*!< Ignore the whitelist for direct advertising */
uint8_t enable_pcl; /*!< Enable power control */
uint8_t csa2_select; /*!< Select CSA#2*/
uint32_t config_magic; /*!< Magic number for configuration validation */
} esp_bt_controller_config_t;
@ -270,6 +271,7 @@ typedef struct {
.cpu_freq_mhz = CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ, \
.ignore_wl_for_direct_adv = 0, \
.enable_pcl = DEFAULT_BT_LE_POWER_CONTROL_ENABLED, \
.csa2_select = DEFAULT_BT_LE_50_FEATURE_SUPPORT, \
.config_magic = CONFIG_MAGIC, \
}

View File

@ -220,6 +220,7 @@ typedef struct {
uint8_t cpu_freq_mhz; /*!< CPU frequency in megahertz */
uint8_t ignore_wl_for_direct_adv; /*!< Ignore the white list for directed advertising */
uint8_t enable_pcl; /*!< Enable power control */
uint8_t csa2_select; /*!< Select CSA#2*/
uint32_t config_magic; /*!< Configuration magic value */
} esp_bt_controller_config_t;
@ -274,6 +275,7 @@ typedef struct {
.cpu_freq_mhz = CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ, \
.ignore_wl_for_direct_adv = 0, \
.enable_pcl = 0, \
.csa2_select = DEFAULT_BT_LE_50_FEATURE_SUPPORT, \
.config_magic = CONFIG_MAGIC, \
}

View File

@ -638,7 +638,6 @@ r_ble_ll_adv_get_local_rpa = 0x40000c30;
r_ble_ll_adv_get_peer_rpa = 0x40000c34;
r_ble_ll_adv_hci_set_random_addr = 0x40000c38;
r_ble_ll_adv_init = 0x40000c3c;
r_ble_ll_adv_legacy_pdu_make = 0x40000c40;
r_ble_ll_adv_next_chan = 0x40000c44;
r_ble_ll_adv_pdu_make = 0x40000c48;
r_ble_ll_adv_periodic_check_data_itvl = 0x40000c4c;
@ -659,7 +658,6 @@ r_ble_ll_adv_scan_req_rxd = 0x40000c98;
r_ble_ll_adv_scan_rsp_legacy_pdu_make = 0x40000c9c;
r_ble_ll_adv_scan_rsp_pdu_make = 0x40000ca0;
r_ble_ll_adv_scheduled = 0x40000ca4;
r_ble_ll_adv_send_conn_comp_ev = 0x40000ca8;
r_ble_ll_adv_set_adv_params = 0x40000cb0;
r_ble_ll_adv_set_enable = 0x40000cb4;
r_ble_ll_adv_set_random_addr = 0x40000cb8;
@ -695,7 +693,6 @@ r_ble_ll_conn_calc_itvl_ticks = 0x40000d44;
r_ble_ll_conn_chk_csm_flags = 0x40000d48;
r_ble_ll_conn_chk_phy_upd_start = 0x40000d4c;
r_ble_ll_conn_comp_event_send = 0x40000d50;
r_ble_ll_conn_connect_ind_pdu_make = 0x40000d54;
r_ble_ll_conn_create_cancel = 0x40000d5c;
r_ble_ll_conn_cth_flow_enable = 0x40000d64;
r_ble_ll_conn_cth_flow_error_fn = 0x40000d68;
@ -1104,7 +1101,6 @@ r_ble_lll_conn_free_rx_mbuf = 0x40001518;
r_ble_lll_conn_get_addr_info_from_rx_buf = 0x4000151c;
r_ble_lll_conn_get_ce_end_time = 0x40001520;
r_ble_lll_conn_get_next_sched_time = 0x40001524;
r_ble_lll_conn_halt = 0x4000152c;
r_ble_lll_conn_master_common_init = 0x40001530;
r_ble_lll_conn_master_new = 0x40001534;
r_ble_lll_conn_module_reset = 0x40001540;
@ -1202,7 +1198,6 @@ r_ble_lll_sched_aux_scan = 0x40001728;
r_ble_lll_sched_conn_overlap = 0x4000172c;
r_ble_lll_sched_dtm = 0x40001738;
r_ble_lll_sched_execute_item = 0x40001744;
r_ble_lll_sched_init = 0x40001748;
r_ble_lll_sched_insert_if_empty = 0x4000174c;
r_ble_lll_sched_is_overlap = 0x40001750;
r_ble_lll_sched_master_new = 0x40001754;
@ -1324,7 +1319,6 @@ r_hal_timer_read = 0x4000197c;
r_hal_timer_read_tick = 0x40001980;
r_hal_timer_set_cb = 0x40001984;
r_hal_timer_start = 0x4000198c;
r_hal_timer_stop = 0x40001994;
r_hal_timer_task_start = 0x40001998;
r_ll_assert = 0x4000199c;
r_mem_init_mbuf_pool = 0x400019a0;