kopia lustrzana https://github.com/espressif/esp-idf
Merge branch 'feature/btdm_add_ble_link_timeout_config' into 'master'
Component/bt: add ble link timeout config in menuconfig See merge request idf/esp-idf!4786pull/3310/head
commit
9c7fb51d7d
|
@ -1263,6 +1263,16 @@ menu Bluetooth
|
||||||
Bluedroid will report adv data or scan response to application layer immediately.
|
Bluedroid will report adv data or scan response to application layer immediately.
|
||||||
|
|
||||||
# Memory reserved at start of DRAM for Bluetooth stack
|
# Memory reserved at start of DRAM for Bluetooth stack
|
||||||
|
|
||||||
|
config BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT
|
||||||
|
int "Timeout of BLE connection establishment"
|
||||||
|
depends on BLUEDROID_ENABLED
|
||||||
|
range 1 60
|
||||||
|
default 30
|
||||||
|
help
|
||||||
|
Bluetooth Connection establishment maximum time, if connection time exceeds this value, the connection
|
||||||
|
establishment fails, ESP_GATTC_OPEN_EVT or ESP_GATTS_OPEN_EVT is triggered.
|
||||||
|
|
||||||
config BT_RESERVE_DRAM
|
config BT_RESERVE_DRAM
|
||||||
hex
|
hex
|
||||||
default 0xdb5c if BT_ENABLED
|
default 0xdb5c if BT_ENABLED
|
||||||
|
|
|
@ -715,10 +715,13 @@ void btc_gatts_call_handler(btc_msg_t *msg)
|
||||||
#else
|
#else
|
||||||
//BTA_DmAddBleDevice(p_cb->bd_addr.address, addr_type, device_type);
|
//BTA_DmAddBleDevice(p_cb->bd_addr.address, addr_type, device_type);
|
||||||
#endif
|
#endif
|
||||||
|
/*
|
||||||
|
not support background connection
|
||||||
// Mark background connections
|
// Mark background connections
|
||||||
if (!arg->open.is_direct) {
|
if (!arg->open.is_direct) {
|
||||||
BTA_DmBleSetBgConnType(BTM_BLE_CONN_AUTO, NULL);
|
BTA_DmBleSetBgConnType(BTM_BLE_CONN_AUTO, NULL);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
transport = BTA_GATT_TRANSPORT_LE;
|
transport = BTA_GATT_TRANSPORT_LE;
|
||||||
|
|
||||||
|
|
|
@ -166,6 +166,12 @@
|
||||||
#define GATT_MAX_PHY_CHANNEL CONFIG_BT_ACL_CONNECTIONS
|
#define GATT_MAX_PHY_CHANNEL CONFIG_BT_ACL_CONNECTIONS
|
||||||
#endif /* CONFIG_BT_ACL_CONNECTIONS */
|
#endif /* CONFIG_BT_ACL_CONNECTIONS */
|
||||||
|
|
||||||
|
#if(CONFIG_BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT)
|
||||||
|
#define BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT CONFIG_BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT
|
||||||
|
#else
|
||||||
|
#define BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT 30
|
||||||
|
#endif
|
||||||
|
|
||||||
//------------------Added from bdroid_buildcfg.h---------------------
|
//------------------Added from bdroid_buildcfg.h---------------------
|
||||||
#ifndef L2CAP_EXTFEA_SUPPORTED_MASK
|
#ifndef L2CAP_EXTFEA_SUPPORTED_MASK
|
||||||
#define L2CAP_EXTFEA_SUPPORTED_MASK (L2CAP_EXTFEA_ENH_RETRANS | L2CAP_EXTFEA_STREAM_MODE | L2CAP_EXTFEA_NO_CRC | L2CAP_EXTFEA_FIXED_CHNLS)
|
#define L2CAP_EXTFEA_SUPPORTED_MASK (L2CAP_EXTFEA_ENH_RETRANS | L2CAP_EXTFEA_STREAM_MODE | L2CAP_EXTFEA_NO_CRC | L2CAP_EXTFEA_FIXED_CHNLS)
|
||||||
|
|
|
@ -2006,9 +2006,18 @@ void btm_ble_conn_complete(UINT8 *p, UINT16 evt_len, BOOLEAN enhanced)
|
||||||
btm_ble_disable_resolving_list(BTM_BLE_RL_ADV, TRUE);
|
btm_ble_disable_resolving_list(BTM_BLE_RL_ADV, TRUE);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
btm_ble_update_mode_operation(role, bda, status);
|
BOOLEAN bg_con = btm_ble_update_mode_operation(role, bda, status);
|
||||||
|
if (status != HCI_SUCCESS && !bg_con) {
|
||||||
|
// notify connection failed
|
||||||
|
l2c_link_hci_disc_comp (handle, status);
|
||||||
|
#if (SMP_INCLUDED == TRUE)
|
||||||
|
/* Notify security manager */
|
||||||
|
btm_sec_disconnected (handle, status);
|
||||||
|
#endif ///SMP_INCLUDED == TRUE
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4229,8 +4229,9 @@ void btm_ble_update_link_topology_mask(UINT8 link_role, BOOLEAN increase)
|
||||||
** Returns void
|
** Returns void
|
||||||
**
|
**
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
void btm_ble_update_mode_operation(UINT8 link_role, BD_ADDR bd_addr, UINT8 status)
|
BOOLEAN btm_ble_update_mode_operation(UINT8 link_role, BD_ADDR bd_addr, UINT8 status)
|
||||||
{
|
{
|
||||||
|
BOOLEAN bg_con = FALSE;
|
||||||
if (status == HCI_ERR_DIRECTED_ADVERTISING_TIMEOUT) {
|
if (status == HCI_ERR_DIRECTED_ADVERTISING_TIMEOUT) {
|
||||||
btm_cb.ble_ctr_cb.inq_var.adv_mode = BTM_BLE_ADV_DISABLE;
|
btm_cb.ble_ctr_cb.inq_var.adv_mode = BTM_BLE_ADV_DISABLE;
|
||||||
/* make device fall back into undirected adv mode by default */
|
/* make device fall back into undirected adv mode by default */
|
||||||
|
@ -4249,8 +4250,10 @@ void btm_ble_update_mode_operation(UINT8 link_role, BD_ADDR bd_addr, UINT8 statu
|
||||||
now in order */
|
now in order */
|
||||||
if (btm_ble_get_conn_st() == BLE_CONN_IDLE && status != HCI_ERR_HOST_REJECT_RESOURCES &&
|
if (btm_ble_get_conn_st() == BLE_CONN_IDLE && status != HCI_ERR_HOST_REJECT_RESOURCES &&
|
||||||
!btm_send_pending_direct_conn()) {
|
!btm_send_pending_direct_conn()) {
|
||||||
btm_ble_resume_bg_conn();
|
bg_con = btm_ble_resume_bg_conn();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return bg_con;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
|
|
|
@ -449,7 +449,7 @@ BOOLEAN btm_ble_start_auto_conn(BOOLEAN start);
|
||||||
BOOLEAN btm_ble_start_select_conn(BOOLEAN start, tBTM_BLE_SEL_CBACK *p_select_cback);
|
BOOLEAN btm_ble_start_select_conn(BOOLEAN start, tBTM_BLE_SEL_CBACK *p_select_cback);
|
||||||
BOOLEAN btm_ble_renew_bg_conn_params(BOOLEAN add, BD_ADDR bd_addr);
|
BOOLEAN btm_ble_renew_bg_conn_params(BOOLEAN add, BD_ADDR bd_addr);
|
||||||
void btm_write_dir_conn_wl(BD_ADDR target_addr);
|
void btm_write_dir_conn_wl(BD_ADDR target_addr);
|
||||||
void btm_ble_update_mode_operation(UINT8 link_role, BD_ADDR bda, UINT8 status);
|
BOOLEAN btm_ble_update_mode_operation(UINT8 link_role, BD_ADDR bda, UINT8 status);
|
||||||
BOOLEAN btm_execute_wl_dev_operation(void);
|
BOOLEAN btm_execute_wl_dev_operation(void);
|
||||||
void btm_ble_update_link_topology_mask(UINT8 role, BOOLEAN increase);
|
void btm_ble_update_link_topology_mask(UINT8 role, BOOLEAN increase);
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
#define L2CAP_WAIT_UNPARK_TOUT 2 /* 2 seconds */
|
#define L2CAP_WAIT_UNPARK_TOUT 2 /* 2 seconds */
|
||||||
#define L2CAP_LINK_INFO_RESP_TOUT 2 /* 2 seconds */
|
#define L2CAP_LINK_INFO_RESP_TOUT 2 /* 2 seconds */
|
||||||
#define L2CAP_UPDATE_CONN_PARAM_TOUT 6 /* 6 seconds */
|
#define L2CAP_UPDATE_CONN_PARAM_TOUT 6 /* 6 seconds */
|
||||||
#define L2CAP_BLE_LINK_CONNECT_TOUT 30 /* 30 seconds */
|
#define L2CAP_BLE_LINK_CONNECT_TOUT BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT // configed in menuconfig
|
||||||
#define L2CAP_BLE_CONN_PARAM_UPD_TOUT 30 /* 30 seconds */
|
#define L2CAP_BLE_CONN_PARAM_UPD_TOUT 30 /* 30 seconds */
|
||||||
|
|
||||||
/* quick timer uses millisecond unit */
|
/* quick timer uses millisecond unit */
|
||||||
|
|
Ładowanie…
Reference in New Issue