Skip to content

Commit 732df63

Browse files
committed
Merge branch 'feature/add_params_in_gatt_conn_evt' into 'master'
Bluedroid: add params for GATT connect event Closes BLEQABR23-1 See merge request espressif/esp-idf!22183
2 parents f6c1351 + 4b44305 commit 732df63

File tree

9 files changed

+31
-3
lines changed

9 files changed

+31
-3
lines changed

components/bt/host/bluedroid/api/include/api/esp_gattc_api.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ typedef union {
204204
uint8_t link_role; /*!< Link role : master role = 0 ; slave role = 1*/
205205
esp_bd_addr_t remote_bda; /*!< Remote bluetooth device address */
206206
esp_gatt_conn_params_t conn_params; /*!< current connection parameters */
207+
esp_ble_addr_type_t ble_addr_type; /*!< Remote BLE device address type */
208+
uint16_t conn_handle; /*!< HCI connection handle */
207209
} connect; /*!< Gatt client callback param of ESP_GATTC_CONNECT_EVT */
208210

209211
/**

components/bt/host/bluedroid/api/include/api/esp_gatts_api.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,8 @@ typedef union {
191191
uint8_t link_role; /*!< Link role : master role = 0 ; slave role = 1*/
192192
esp_bd_addr_t remote_bda; /*!< Remote bluetooth device address */
193193
esp_gatt_conn_params_t conn_params; /*!< current Connection parameters */
194+
esp_ble_addr_type_t ble_addr_type; /*!< Remote BLE device address type */
195+
uint16_t conn_handle; /*!< HCI connection handle */
194196
} connect; /*!< Gatt server callback param of ESP_GATTS_CONNECT_EVT */
195197

196198
/**

components/bt/host/bluedroid/bta/gatt/bta_gattc_act.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -745,7 +745,8 @@ void bta_gattc_conncback(tBTA_GATTC_RCB *p_rcb, tBTA_GATTC_DATA *p_data)
745745
if (p_rcb) {
746746
bta_gattc_send_connect_cback(p_rcb,
747747
p_data->int_conn.remote_bda,
748-
p_data->int_conn.hdr.layer_specific, p_data->int_conn.conn_params, p_data->int_conn.role);
748+
p_data->int_conn.hdr.layer_specific, p_data->int_conn.conn_params, p_data->int_conn.role,
749+
p_data->int_conn.ble_addr_type, p_data->int_conn.conn_handle);
749750

750751
}
751752
}
@@ -1691,6 +1692,11 @@ static void bta_gattc_conn_cback(tGATT_IF gattc_if, BD_ADDR bda, UINT16 conn_id,
16911692
p_buf->int_conn.conn_params.interval = p_lcb->current_used_conn_interval;
16921693
p_buf->int_conn.conn_params.latency = p_lcb->current_used_conn_latency;
16931694
p_buf->int_conn.conn_params.timeout = p_lcb->current_used_conn_timeout;
1695+
#if (BLE_INCLUDED == TRUE)
1696+
p_buf->int_conn.ble_addr_type = p_lcb->ble_addr_type;
1697+
#endif
1698+
p_buf->int_conn.conn_handle = p_lcb->handle;
1699+
16941700
} else {
16951701
APPL_TRACE_WARNING("gattc_conn_cb: conn params not found");
16961702
}

components/bt/host/bluedroid/bta/gatt/bta_gattc_utils.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -765,7 +765,8 @@ void bta_gattc_send_open_cback( tBTA_GATTC_RCB *p_clreg, tBTA_GATT_STATUS status
765765
** Returns
766766
**
767767
*******************************************************************************/
768-
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)
768+
void bta_gattc_send_connect_cback( tBTA_GATTC_RCB *p_clreg, BD_ADDR remote_bda, UINT16 conn_id,
769+
tBTA_GATT_CONN_PARAMS conn_params, UINT8 link_role, UINT8 ble_addr_type, UINT16 conn_handle)
769770
{
770771
tBTA_GATTC cb_data;
771772

@@ -779,6 +780,8 @@ void bta_gattc_send_connect_cback( tBTA_GATTC_RCB *p_clreg, BD_ADDR remote_bda,
779780
cb_data.connect.conn_params.latency = conn_params.latency;
780781
cb_data.connect.conn_params.timeout = conn_params.timeout;
781782
bdcpy(cb_data.connect.remote_bda, remote_bda);
783+
cb_data.connect.ble_addr_type = ble_addr_type;
784+
cb_data.connect.conn_handle = conn_handle;
782785

783786
(*p_clreg->p_cback)(BTA_GATTC_CONNECT_EVT, &cb_data);
784787
}

components/bt/host/bluedroid/bta/gatt/bta_gatts_act.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1003,6 +1003,10 @@ static void bta_gatts_conn_cback (tGATT_IF gatt_if, BD_ADDR bda, UINT16 conn_id,
10031003
cb_data.conn.conn_params.latency = p_lcb->current_used_conn_latency;
10041004
cb_data.conn.conn_params.timeout = p_lcb->current_used_conn_timeout;
10051005
cb_data.conn.link_role = p_lcb->link_role;
1006+
#if (BLE_INCLUDED == TRUE)
1007+
cb_data.conn.ble_addr_type = p_lcb->ble_addr_type;
1008+
#endif
1009+
cb_data.conn.conn_handle = p_lcb->handle;
10061010
}else {
10071011
APPL_TRACE_WARNING("%s not found connection parameters of the device ", __func__);
10081012
}

components/bt/host/bluedroid/bta/gatt/include/bta_gattc_int.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,8 @@ typedef struct {
223223
tGATT_DISCONN_REASON reason;
224224
BOOLEAN already_connect;
225225
tBTA_GATT_CONN_PARAMS conn_params;
226+
UINT8 ble_addr_type;
227+
UINT16 conn_handle;
226228
} tBTA_GATTC_INT_CONN;
227229

228230
typedef struct {
@@ -475,7 +477,8 @@ extern void bta_gattc_init_bk_conn(tBTA_GATTC_API_OPEN *p_data, tBTA_GATTC_RCB *
475477
extern void bta_gattc_cancel_bk_conn(tBTA_GATTC_API_CANCEL_OPEN *p_data);
476478
extern void bta_gattc_send_open_cback( tBTA_GATTC_RCB *p_clreg, tBTA_GATT_STATUS status,
477479
BD_ADDR remote_bda, UINT16 conn_id, tBTA_TRANSPORT transport, UINT16 mtu);
478-
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);
480+
extern void bta_gattc_send_connect_cback( tBTA_GATTC_RCB *p_clreg, BD_ADDR remote_bda, UINT16 conn_id,
481+
tBTA_GATT_CONN_PARAMS conn_params, UINT8 link_role, UINT8 ble_addr_type, UINT16 conn_handle);
479482
extern void bta_gattc_send_disconnect_cback( tBTA_GATTC_RCB *p_clreg, tGATT_DISCONN_REASON reason,
480483
BD_ADDR remote_bda, UINT16 conn_id);
481484
extern void bta_gattc_process_api_refresh(tBTA_GATTC_CB *p_cb, tBTA_GATTC_DATA *p_msg);

components/bt/host/bluedroid/bta/include/bta/bta_gatt_api.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,8 @@ typedef struct {
410410
tBTA_GATTC_IF client_if;
411411
BD_ADDR remote_bda;
412412
tBTA_GATT_CONN_PARAMS conn_params;
413+
UINT8 ble_addr_type;
414+
UINT16 conn_handle;
413415
} tBTA_GATTC_CONNECT;
414416

415417
typedef struct {
@@ -621,6 +623,8 @@ typedef struct {
621623
tBTA_GATT_REASON reason; /* report disconnect reason */
622624
tBTA_GATT_TRANSPORT transport;
623625
tBTA_GATT_CONN_PARAMS conn_params;
626+
UINT8 ble_addr_type;
627+
UINT16 conn_handle;
624628
} tBTA_GATTS_CONN;
625629

626630
typedef struct {

components/bt/host/bluedroid/btc/profile/std/gatt/btc_gattc.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,8 @@ void btc_gattc_cb_handler(btc_msg_t *msg)
914914
param.connect.conn_params.interval = connect->conn_params.interval;
915915
param.connect.conn_params.latency = connect->conn_params.latency;
916916
param.connect.conn_params.timeout = connect->conn_params.timeout;
917+
param.connect.ble_addr_type = connect->ble_addr_type;
918+
param.connect.conn_handle = connect->conn_handle;
917919
btc_gattc_cb_to_app(ESP_GATTC_CONNECT_EVT, gattc_if, &param);
918920
break;
919921
}

components/bt/host/bluedroid/btc/profile/std/gatt/btc_gatts.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -898,6 +898,8 @@ void btc_gatts_cb_handler(btc_msg_t *msg)
898898
param.connect.conn_params.interval = p_data->conn.conn_params.interval;
899899
param.connect.conn_params.latency = p_data->conn.conn_params.latency;
900900
param.connect.conn_params.timeout = p_data->conn.conn_params.timeout;
901+
param.connect.ble_addr_type = p_data->conn.ble_addr_type;
902+
param.connect.conn_handle = p_data->conn.conn_handle;
901903
btc_gatts_cb_to_app(ESP_GATTS_CONNECT_EVT, gatts_if, &param);
902904
break;
903905
case BTA_GATTS_DISCONNECT_EVT:

0 commit comments

Comments
 (0)