mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-29 18:27:20 +02:00
Merge branch 'bugfix/fix_some_ble_bugs_240926_esp32c3_v5.0' into 'release/v5.0'
Fixed some BLE bugs 240926 on ESP32C3 (v5.0) See merge request espressif/esp-idf!34554
This commit is contained in:
@ -489,3 +489,26 @@ config BT_CTRL_LE_PING_EN
|
||||
help
|
||||
If this option is disabled, The Controller will not start the LE authenticated payload timer.
|
||||
This option is used for some compatibility problems related to LE ping procedure.
|
||||
|
||||
menu "BLE disconnect when instant passed"
|
||||
config BT_CTRL_BLE_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 during connection update procedure.
|
||||
|
||||
config BT_CTRL_BLE_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 in channel map update procedure.
|
||||
|
||||
config BT_CTRL_BLE_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 in PHY update procedure.
|
||||
endmenu
|
||||
|
Submodule components/bt/controller/lib_esp32c3_family updated: 73ae8322b2...eeb2782618
@ -19,7 +19,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#define ESP_BT_CTRL_CONFIG_MAGIC_VAL 0x5A5AA5A5
|
||||
#define ESP_BT_CTRL_CONFIG_VERSION 0x02404010
|
||||
#define ESP_BT_CTRL_CONFIG_VERSION 0x02409260
|
||||
|
||||
#define ESP_BT_HCI_TL_MAGIC_VALUE 0xfadebead
|
||||
#define ESP_BT_HCI_TL_VERSION 0x00010000
|
||||
@ -217,6 +217,26 @@ typedef void (* esp_bt_hci_tl_callback_t) (void *arg, uint8_t status);
|
||||
#define BLE_HW_TARGET_CODE_CHIP_ECO0 (0x02010000)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BT_CTRL_BLE_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_CTRL_BLE_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_CTRL_BLE_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_CTRL_BLE_LLCP_DISC_FLAG (BT_CTRL_BLE_LLCP_CONN_UPDATE | BT_CTRL_BLE_LLCP_CHAN_MAP_UPDATE | BT_CTRL_BLE_LLCP_PHY_UPDATE)
|
||||
|
||||
#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() { \
|
||||
.magic = ESP_BT_CTRL_CONFIG_MAGIC_VAL, \
|
||||
.version = ESP_BT_CTRL_CONFIG_VERSION, \
|
||||
@ -255,6 +275,7 @@ typedef void (* esp_bt_hci_tl_callback_t) (void *arg, uint8_t status);
|
||||
.ble_data_lenth_zero_aux = BT_BLE_ADV_DATA_LENGTH_ZERO_AUX, \
|
||||
.ble_chan_ass_en = BT_CTRL_CHAN_ASS_EN, \
|
||||
.ble_ping_en = BT_CTRL_LE_PING_EN, \
|
||||
.ble_llcp_disc_flag = BT_CTRL_BLE_LLCP_DISC_FLAG, \
|
||||
}
|
||||
|
||||
#else
|
||||
@ -329,6 +350,7 @@ typedef struct {
|
||||
uint8_t ble_data_lenth_zero_aux; /*!< Config ext adv aux option */
|
||||
uint8_t ble_chan_ass_en; /*!< BLE channel assessment enable */
|
||||
uint8_t ble_ping_en; /*!< BLE ping procedure enable */
|
||||
uint8_t ble_llcp_disc_flag; /*!< BLE disconnect flag when instant passed */
|
||||
} esp_bt_controller_config_t;
|
||||
|
||||
/**
|
||||
|
@ -54,7 +54,7 @@ r_lld_legacy_adv_dynamic_pti_process = 0x40001b3c;
|
||||
r_lld_ext_adv_dynamic_pti_get = 0x40001b40;
|
||||
r_lld_ext_adv_dynamic_aux_pti_process = 0x40001b44;
|
||||
r_lld_ext_adv_dynamic_pti_process = 0x40001b48;
|
||||
r_lld_adv_ext_pkt_prepare_set = 0x40001b4c;
|
||||
/* r_lld_adv_ext_pkt_prepare_set = 0x40001b4c; */
|
||||
r_lld_adv_ext_chain_connectable_construct = 0x40001b54;
|
||||
r_lld_adv_pkt_rx_connect_post = 0x40001b5c;
|
||||
r_lld_adv_start_init_evt_param = 0x40001b60;
|
||||
|
@ -128,7 +128,6 @@ r_llm_update_duplicate_scan_count = 0x40001d4c;
|
||||
r_llc_hci_command_handler_pre = 0x40001d50;
|
||||
r_llc_hci_command_handler_get = 0x40001d54;
|
||||
r_llc_hci_command_handler_search = 0x40001d58;
|
||||
r_llc_llcp_pdu_handler_get_overwrite = 0x40001d5c;
|
||||
r_llc_llcp_pdu_handler_pre = 0x40001d60;
|
||||
r_llc_llcp_pdu_handler_end = 0x40001d64;
|
||||
r_llc_con_conflict_check = 0x40001d6c;
|
||||
@ -216,6 +215,7 @@ r_ke_task_handler_get_overwrite = 0x40001da8;
|
||||
r_hci_register_vendor_desc_tab = 0x40000d9c;
|
||||
r_lld_scan_process_pkt_rx_adv_rep = 0x40001284;
|
||||
r_register_esp_vendor_cmd_handler = 0x40001400;
|
||||
r_llc_llcp_pdu_handler_get_overwrite = 0x40001d5c;
|
||||
*/
|
||||
|
||||
|
||||
|
@ -1598,7 +1598,7 @@ r_lld_legacy_adv_dynamic_pti_process = 0x40005100;
|
||||
r_lld_ext_adv_dynamic_pti_get = 0x4000510c;
|
||||
r_lld_ext_adv_dynamic_aux_pti_process = 0x40005118;
|
||||
r_lld_ext_adv_dynamic_pti_process = 0x40005124;
|
||||
r_lld_adv_ext_pkt_prepare_set = 0x40005130;
|
||||
/* r_lld_adv_ext_pkt_prepare_set = 0x40005130; */
|
||||
r_lld_adv_ext_chain_connectable_construct = 0x40005148;
|
||||
r_lld_adv_pkt_rx_connect_post = 0x40005160;
|
||||
r_lld_adv_start_init_evt_param = 0x4000516c;
|
||||
|
Reference in New Issue
Block a user