bluedroid: add params in GATT connect event

pull/12224/head
chenjianhua 2023-02-01 12:08:05 +08:00 zatwierdzone przez BOT
rodzic 25394b6ac4
commit 8790931bab
9 zmienionych plików z 31 dodań i 3 usunięć

Wyświetl plik

@ -212,6 +212,8 @@ typedef union {
uint8_t link_role; /*!< Link role : master role = 0 ; slave role = 1*/
esp_bd_addr_t remote_bda; /*!< Remote bluetooth device address */
esp_gatt_conn_params_t conn_params; /*!< current connection parameters */
esp_ble_addr_type_t ble_addr_type; /*!< Remote BLE device address type */
uint16_t conn_handle; /*!< HCI connection handle */
} connect; /*!< Gatt client callback param of ESP_GATTC_CONNECT_EVT */
/**

Wyświetl plik

@ -199,6 +199,8 @@ typedef union {
uint8_t link_role; /*!< Link role : master role = 0 ; slave role = 1*/
esp_bd_addr_t remote_bda; /*!< Remote bluetooth device address */
esp_gatt_conn_params_t conn_params; /*!< current Connection parameters */
esp_ble_addr_type_t ble_addr_type; /*!< Remote BLE device address type */
uint16_t conn_handle; /*!< HCI connection handle */
} connect; /*!< Gatt server callback param of ESP_GATTS_CONNECT_EVT */
/**

Wyświetl plik

@ -738,7 +738,8 @@ void bta_gattc_conncback(tBTA_GATTC_RCB *p_rcb, tBTA_GATTC_DATA *p_data)
if (p_rcb) {
bta_gattc_send_connect_cback(p_rcb,
p_data->int_conn.remote_bda,
p_data->int_conn.hdr.layer_specific, p_data->int_conn.conn_params, p_data->int_conn.role);
p_data->int_conn.hdr.layer_specific, p_data->int_conn.conn_params, p_data->int_conn.role,
p_data->int_conn.ble_addr_type, p_data->int_conn.conn_handle);
}
}
@ -1684,6 +1685,11 @@ static void bta_gattc_conn_cback(tGATT_IF gattc_if, BD_ADDR bda, UINT16 conn_id,
p_buf->int_conn.conn_params.interval = p_lcb->current_used_conn_interval;
p_buf->int_conn.conn_params.latency = p_lcb->current_used_conn_latency;
p_buf->int_conn.conn_params.timeout = p_lcb->current_used_conn_timeout;
#if (BLE_INCLUDED == TRUE)
p_buf->int_conn.ble_addr_type = p_lcb->ble_addr_type;
#endif
p_buf->int_conn.conn_handle = p_lcb->handle;
} else {
APPL_TRACE_WARNING("gattc_conn_cb: conn params not found");
}

Wyświetl plik

@ -765,7 +765,8 @@ void bta_gattc_send_open_cback( tBTA_GATTC_RCB *p_clreg, tBTA_GATT_STATUS status
** Returns
**
*******************************************************************************/
void bta_gattc_send_connect_cback( tBTA_GATTC_RCB *p_clreg, BD_ADDR remote_bda, UINT16 conn_id, tBTA_GATT_CONN_PARAMS conn_params, UINT8 link_role)
void bta_gattc_send_connect_cback( tBTA_GATTC_RCB *p_clreg, BD_ADDR remote_bda, UINT16 conn_id,
tBTA_GATT_CONN_PARAMS conn_params, UINT8 link_role, UINT8 ble_addr_type, UINT16 conn_handle)
{
tBTA_GATTC cb_data;
@ -779,6 +780,8 @@ void bta_gattc_send_connect_cback( tBTA_GATTC_RCB *p_clreg, BD_ADDR remote_bda,
cb_data.connect.conn_params.latency = conn_params.latency;
cb_data.connect.conn_params.timeout = conn_params.timeout;
bdcpy(cb_data.connect.remote_bda, remote_bda);
cb_data.connect.ble_addr_type = ble_addr_type;
cb_data.connect.conn_handle = conn_handle;
(*p_clreg->p_cback)(BTA_GATTC_CONNECT_EVT, &cb_data);
}

Wyświetl plik

@ -1003,6 +1003,10 @@ static void bta_gatts_conn_cback (tGATT_IF gatt_if, BD_ADDR bda, UINT16 conn_id,
cb_data.conn.conn_params.latency = p_lcb->current_used_conn_latency;
cb_data.conn.conn_params.timeout = p_lcb->current_used_conn_timeout;
cb_data.conn.link_role = p_lcb->link_role;
#if (BLE_INCLUDED == TRUE)
cb_data.conn.ble_addr_type = p_lcb->ble_addr_type;
#endif
cb_data.conn.conn_handle = p_lcb->handle;
}else {
APPL_TRACE_WARNING("%s not found connection parameters of the device ", __func__);
}

Wyświetl plik

@ -223,6 +223,8 @@ typedef struct {
tGATT_DISCONN_REASON reason;
BOOLEAN already_connect;
tBTA_GATT_CONN_PARAMS conn_params;
UINT8 ble_addr_type;
UINT16 conn_handle;
} tBTA_GATTC_INT_CONN;
typedef struct {
@ -474,7 +476,8 @@ extern void bta_gattc_init_bk_conn(tBTA_GATTC_API_OPEN *p_data, tBTA_GATTC_RCB *
extern void bta_gattc_cancel_bk_conn(tBTA_GATTC_API_CANCEL_OPEN *p_data);
extern void bta_gattc_send_open_cback( tBTA_GATTC_RCB *p_clreg, tBTA_GATT_STATUS status,
BD_ADDR remote_bda, UINT16 conn_id, tBTA_TRANSPORT transport, UINT16 mtu);
extern void bta_gattc_send_connect_cback( tBTA_GATTC_RCB *p_clreg, BD_ADDR remote_bda, UINT16 conn_id, tBTA_GATT_CONN_PARAMS conn_params, UINT8 link_role);
extern void bta_gattc_send_connect_cback( tBTA_GATTC_RCB *p_clreg, BD_ADDR remote_bda, UINT16 conn_id,
tBTA_GATT_CONN_PARAMS conn_params, UINT8 link_role, UINT8 ble_addr_type, UINT16 conn_handle);
extern void bta_gattc_send_disconnect_cback( tBTA_GATTC_RCB *p_clreg, tGATT_DISCONN_REASON reason,
BD_ADDR remote_bda, UINT16 conn_id);
extern void bta_gattc_process_api_refresh(tBTA_GATTC_CB *p_cb, tBTA_GATTC_DATA *p_msg);

Wyświetl plik

@ -410,6 +410,8 @@ typedef struct {
tBTA_GATTC_IF client_if;
BD_ADDR remote_bda;
tBTA_GATT_CONN_PARAMS conn_params;
UINT8 ble_addr_type;
UINT16 conn_handle;
} tBTA_GATTC_CONNECT;
typedef struct {
@ -621,6 +623,8 @@ typedef struct {
tBTA_GATT_REASON reason; /* report disconnect reason */
tBTA_GATT_TRANSPORT transport;
tBTA_GATT_CONN_PARAMS conn_params;
UINT8 ble_addr_type;
UINT16 conn_handle;
} tBTA_GATTS_CONN;
typedef struct {

Wyświetl plik

@ -914,6 +914,8 @@ void btc_gattc_cb_handler(btc_msg_t *msg)
param.connect.conn_params.interval = connect->conn_params.interval;
param.connect.conn_params.latency = connect->conn_params.latency;
param.connect.conn_params.timeout = connect->conn_params.timeout;
param.connect.ble_addr_type = connect->ble_addr_type;
param.connect.conn_handle = connect->conn_handle;
btc_gattc_cb_to_app(ESP_GATTC_CONNECT_EVT, gattc_if, &param);
break;
}

Wyświetl plik

@ -898,6 +898,8 @@ void btc_gatts_cb_handler(btc_msg_t *msg)
param.connect.conn_params.interval = p_data->conn.conn_params.interval;
param.connect.conn_params.latency = p_data->conn.conn_params.latency;
param.connect.conn_params.timeout = p_data->conn.conn_params.timeout;
param.connect.ble_addr_type = p_data->conn.ble_addr_type;
param.connect.conn_handle = p_data->conn.conn_handle;
btc_gatts_cb_to_app(ESP_GATTS_CONNECT_EVT, gatts_if, &param);
break;
case BTA_GATTS_DISCONNECT_EVT: