mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-29 18:27:20 +02:00
Merge branch 'bugfix/fix_ble_disconnect_due_to_channel_map_instant_passed_v4.4' into 'release/v4.4'
Fixed BLE disconnection issue when channel map update failed due to bad channels(backport v4.4) See merge request espressif/esp-idf!20376
This commit is contained in:
Submodule components/bt/controller/lib_esp32c3_family updated: 2a91d90e33...420ae1726d
@ -768,6 +768,9 @@ typedef uint8_t esp_ble_gap_sync_t;
|
||||
|
||||
typedef uint8_t esp_ble_gap_adv_type_t;
|
||||
|
||||
/// Extend advertising tx power, range: [-127, +126] dBm
|
||||
#define EXT_ADV_TX_PWR_NO_PREFERENCE (127) /*!< host has no preference for tx power */
|
||||
|
||||
/**
|
||||
* @brief ext adv parameters
|
||||
*/
|
||||
|
@ -1469,7 +1469,7 @@ typedef struct {
|
||||
tBLE_ADDR_TYPE peer_addr_type;
|
||||
BD_ADDR peer_addr;
|
||||
tBTA_BLE_AFP filter_policy;
|
||||
UINT8 tx_power;
|
||||
INT8 tx_power;
|
||||
tBTA_DM_BLE_GAP_PHY primary_phy;
|
||||
UINT8 max_skip;
|
||||
tBTA_DM_BLE_GAP_PHY secondary_phy;
|
||||
|
@ -1990,7 +1990,7 @@ void btm_ble_conn_complete(UINT8 *p, UINT16 evt_len, BOOLEAN enhanced)
|
||||
}
|
||||
#if (BLE_PRIVACY_SPT == TRUE )
|
||||
peer_addr_type = bda_type;
|
||||
match = btm_identity_addr_to_random_pseudo (bda, &bda_type, TRUE);
|
||||
match = btm_identity_addr_to_random_pseudo (bda, &bda_type, FALSE);
|
||||
|
||||
/* possiblly receive connection complete with resolvable random on
|
||||
slave role while the device has been paired */
|
||||
|
@ -4250,10 +4250,11 @@ void btm_ble_read_remote_features_complete(UINT8 *p)
|
||||
btsnd_hcic_rmt_ver_req (p_acl_cb->hci_handle);
|
||||
}
|
||||
else{
|
||||
uint16_t data_length = controller_get_interface()->get_ble_default_data_packet_length();
|
||||
uint16_t data_txtime = controller_get_interface()->get_ble_default_data_packet_txtime();
|
||||
if (p_acl_cb->transport == BT_TRANSPORT_LE) {
|
||||
if (HCI_LE_DATA_LEN_EXT_SUPPORTED(p_acl_cb->peer_le_features)) {
|
||||
uint16_t data_length = controller_get_interface()->get_ble_default_data_packet_length();
|
||||
uint16_t data_txtime = controller_get_interface()->get_ble_default_data_packet_txtime();
|
||||
if (HCI_LE_DATA_LEN_EXT_SUPPORTED(p_acl_cb->peer_le_features) &&
|
||||
(p_acl_cb->data_length_params.tx_len != data_length)) {
|
||||
p_acl_cb->data_len_updating = true;
|
||||
btsnd_hcic_ble_set_data_length(p_acl_cb->hci_handle, data_length, data_txtime);
|
||||
}
|
||||
|
@ -1214,7 +1214,7 @@ UINT8 btsnd_hcic_ble_set_extend_rand_address(UINT8 adv_handle, BD_ADDR rand_addr
|
||||
UINT8 btsnd_hcic_ble_set_ext_adv_params(UINT8 adv_handle, UINT16 properties, UINT32 interval_min,
|
||||
UINT32 interval_max, UINT8 channel_map, UINT8 own_addr_type,
|
||||
UINT8 peer_addr_type, BD_ADDR peer_addr,
|
||||
UINT8 adv_filter_policy, UINT8 adv_tx_power,
|
||||
UINT8 adv_filter_policy, INT8 adv_tx_power,
|
||||
UINT8 primary_adv_phy, UINT8 secondary_adv_max_skip,
|
||||
UINT8 secondary_adv_phy,
|
||||
UINT8 adv_sid, UINT8 scan_req_ntf_enable)
|
||||
@ -1244,7 +1244,7 @@ UINT8 btsnd_hcic_ble_set_ext_adv_params(UINT8 adv_handle, UINT16 properties, UIN
|
||||
UINT8_TO_STREAM(pp, peer_addr_type);
|
||||
BDADDR_TO_STREAM (pp, peer_addr);
|
||||
UINT8_TO_STREAM(pp, adv_filter_policy);
|
||||
UINT8_TO_STREAM(pp, adv_tx_power);
|
||||
INT8_TO_STREAM(pp, adv_tx_power);
|
||||
UINT8_TO_STREAM(pp, primary_adv_phy);
|
||||
UINT8_TO_STREAM(pp, secondary_adv_max_skip);
|
||||
UINT8_TO_STREAM(pp, secondary_adv_phy);
|
||||
|
@ -767,7 +767,7 @@ typedef struct {
|
||||
tBLE_ADDR_TYPE peer_addr_type;
|
||||
BD_ADDR peer_addr;
|
||||
tBTM_BLE_AFP filter_policy;
|
||||
UINT8 tx_power;
|
||||
INT8 tx_power;
|
||||
tBTM_BLE_GAP_PHY primary_phy;
|
||||
UINT8 max_skip;
|
||||
tBTM_BLE_GAP_PHY secondary_phy;
|
||||
|
@ -962,7 +962,7 @@ UINT8 btsnd_hcic_ble_set_extend_rand_address(UINT8 adv_handle, BD_ADDR rand_addr
|
||||
UINT8 btsnd_hcic_ble_set_ext_adv_params(UINT8 adv_handle, UINT16 properties, UINT32 interval_min,
|
||||
UINT32 interval_max, UINT8 channel_map, UINT8 own_addr_type,
|
||||
UINT8 peer_addr_type, BD_ADDR peer_addr,
|
||||
UINT8 adv_filter_policy, UINT8 adv_tx_power,
|
||||
UINT8 adv_filter_policy, INT8 adv_tx_power,
|
||||
UINT8 primary_adv_phy, UINT8 secondary_adv_max_skip,
|
||||
UINT8 secondary_adv_phy,
|
||||
UINT8 adv_sid, UINT8 scan_req_ntf_enable);
|
||||
|
@ -57,6 +57,7 @@ esp_ble_gap_ext_adv_params_t ext_adv_params_2M = {
|
||||
.sid = 0,
|
||||
.scan_req_notif = false,
|
||||
.own_addr_type = BLE_ADDR_TYPE_PUBLIC,
|
||||
.tx_power = EXT_ADV_TX_PWR_NO_PREFERENCE,
|
||||
};
|
||||
|
||||
struct gatts_profile_inst {
|
||||
|
@ -6,6 +6,7 @@
|
||||
CONDITIONS OF ANY KIND, either express or implied.
|
||||
*/
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* This demo showcases BLE GATT server. It can send adv data, be connected by client.
|
||||
@ -66,6 +67,7 @@ esp_ble_gap_ext_adv_params_t ext_adv_params_1M = {
|
||||
.sid = 0,
|
||||
.scan_req_notif = false,
|
||||
.own_addr_type = BLE_ADDR_TYPE_RANDOM,
|
||||
.tx_power = EXT_ADV_TX_PWR_NO_PREFERENCE,
|
||||
};
|
||||
|
||||
esp_ble_gap_ext_adv_params_t ext_adv_params_2M = {
|
||||
@ -80,6 +82,7 @@ esp_ble_gap_ext_adv_params_t ext_adv_params_2M = {
|
||||
.sid = 1,
|
||||
.scan_req_notif = false,
|
||||
.own_addr_type = BLE_ADDR_TYPE_RANDOM,
|
||||
.tx_power = EXT_ADV_TX_PWR_NO_PREFERENCE,
|
||||
};
|
||||
|
||||
esp_ble_gap_ext_adv_params_t legacy_adv_params = {
|
||||
@ -94,6 +97,7 @@ esp_ble_gap_ext_adv_params_t legacy_adv_params = {
|
||||
.sid = 2,
|
||||
.scan_req_notif = false,
|
||||
.own_addr_type = BLE_ADDR_TYPE_RANDOM,
|
||||
.tx_power = EXT_ADV_TX_PWR_NO_PREFERENCE,
|
||||
};
|
||||
|
||||
esp_ble_gap_ext_adv_params_t ext_adv_params_coded = {
|
||||
@ -108,6 +112,7 @@ esp_ble_gap_ext_adv_params_t ext_adv_params_coded = {
|
||||
.sid = 3,
|
||||
.scan_req_notif = false,
|
||||
.own_addr_type = BLE_ADDR_TYPE_RANDOM,
|
||||
.tx_power = EXT_ADV_TX_PWR_NO_PREFERENCE,
|
||||
};
|
||||
|
||||
static uint8_t raw_adv_data_1m[] = {
|
||||
|
@ -67,6 +67,7 @@ esp_ble_gap_ext_adv_params_t ext_adv_params_2M = {
|
||||
.sid = 0,
|
||||
.scan_req_notif = false,
|
||||
.own_addr_type = BLE_ADDR_TYPE_RANDOM,
|
||||
.tx_power = EXT_ADV_TX_PWR_NO_PREFERENCE,
|
||||
};
|
||||
|
||||
static esp_ble_gap_periodic_adv_params_t periodic_adv_params = {
|
||||
|
Reference in New Issue
Block a user