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

update lib on release/v5.0

See merge request espressif/esp-idf!27998
This commit is contained in:
Island
2023-12-22 14:57:26 +08:00
6 changed files with 37 additions and 10 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_HCI_EVT_HI_BUF_COUNT)
#define DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT MYNEWT_VAL(BLE_HCI_EVT_LO_BUF_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

@@ -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

@@ -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;