Skip to content

Commit eda1519

Browse files
committed
Merge branch 'feature/btdm_add_link_role_param_for_gatt_connection_event' into 'master'
component/bt: add link role param for gatt connection event See merge request espressif/esp-idf!10164
2 parents b75b5a6 + 5979111 commit eda1519

File tree

9 files changed

+11
-3
lines changed

9 files changed

+11
-3
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ typedef union {
209209
*/
210210
struct gattc_connect_evt_param {
211211
uint16_t conn_id; /*!< Connection id */
212+
uint8_t link_role; /*!< Link role : master role = 0 ; slave role = 1*/
212213
esp_bd_addr_t remote_bda; /*!< Remote bluetooth device address */
213214
esp_gatt_conn_params_t conn_params; /*!< current connection parameters */
214215
} connect; /*!< Gatt client callback param of ESP_GATTC_CONNECT_EVT */

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ typedef union {
196196
*/
197197
struct gatts_connect_evt_param {
198198
uint16_t conn_id; /*!< Connection id */
199+
uint8_t link_role; /*!< Link role : master role = 0 ; slave role = 1*/
199200
esp_bd_addr_t remote_bda; /*!< Remote bluetooth device address */
200201
esp_gatt_conn_params_t conn_params; /*!< current Connection parameters */
201202
} connect; /*!< Gatt server callback param of ESP_GATTS_CONNECT_EVT */

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -729,7 +729,7 @@ void bta_gattc_conncback(tBTA_GATTC_RCB *p_rcb, tBTA_GATTC_DATA *p_data)
729729
if (p_rcb) {
730730
bta_gattc_send_connect_cback(p_rcb,
731731
p_data->int_conn.remote_bda,
732-
p_data->int_conn.hdr.layer_specific, p_data->int_conn.conn_params);
732+
p_data->int_conn.hdr.layer_specific, p_data->int_conn.conn_params, p_data->int_conn.role);
733733

734734
}
735735
}

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -762,7 +762,7 @@ void bta_gattc_send_open_cback( tBTA_GATTC_RCB *p_clreg, tBTA_GATT_STATUS status
762762
** Returns
763763
**
764764
*******************************************************************************/
765-
void bta_gattc_send_connect_cback( tBTA_GATTC_RCB *p_clreg, BD_ADDR remote_bda, UINT16 conn_id, tBTA_GATT_CONN_PARAMS conn_params)
765+
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)
766766
{
767767
tBTA_GATTC cb_data;
768768

@@ -771,6 +771,7 @@ void bta_gattc_send_connect_cback( tBTA_GATTC_RCB *p_clreg, BD_ADDR remote_bda,
771771

772772
cb_data.connect.client_if = p_clreg->client_if;
773773
cb_data.connect.conn_id = conn_id;
774+
cb_data.connect.link_role = link_role;
774775
cb_data.connect.conn_params.interval = conn_params.interval;
775776
cb_data.connect.conn_params.latency = conn_params.latency;
776777
cb_data.connect.conn_params.timeout = conn_params.timeout;

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1002,6 +1002,7 @@ static void bta_gatts_conn_cback (tGATT_IF gatt_if, BD_ADDR bda, UINT16 conn_id,
10021002
cb_data.conn.conn_params.interval = p_lcb->current_used_conn_interval;
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;
1005+
cb_data.conn.link_role = p_lcb->link_role;
10051006
}else {
10061007
APPL_TRACE_WARNING("%s not found connection parameters of the device ", __func__);
10071008
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,7 @@ extern void bta_gattc_init_bk_conn(tBTA_GATTC_API_OPEN *p_data, tBTA_GATTC_RCB *
468468
extern void bta_gattc_cancel_bk_conn(tBTA_GATTC_API_CANCEL_OPEN *p_data);
469469
extern void bta_gattc_send_open_cback( tBTA_GATTC_RCB *p_clreg, tBTA_GATT_STATUS status,
470470
BD_ADDR remote_bda, UINT16 conn_id, tBTA_TRANSPORT transport, UINT16 mtu);
471-
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);
471+
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);
472472
extern void bta_gattc_send_disconnect_cback( tBTA_GATTC_RCB *p_clreg, tGATT_DISCONN_REASON reason,
473473
BD_ADDR remote_bda, UINT16 conn_id);
474474
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: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,7 @@ typedef struct {
406406

407407
typedef struct {
408408
UINT16 conn_id;
409+
UINT8 link_role;
409410
tBTA_GATTC_IF client_if;
410411
BD_ADDR remote_bda;
411412
tBTA_GATT_CONN_PARAMS conn_params;
@@ -614,6 +615,7 @@ typedef struct {
614615
tBTA_GATTS_IF server_if;
615616
BD_ADDR remote_bda;
616617
UINT16 conn_id;
618+
UINT8 link_role;
617619
tBTA_GATT_REASON reason; /* report disconnect reason */
618620
tBTA_GATT_TRANSPORT transport;
619621
tBTA_GATT_CONN_PARAMS conn_params;

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -900,6 +900,7 @@ void btc_gattc_cb_handler(btc_msg_t *msg)
900900

901901
gattc_if = connect->client_if;
902902
param.connect.conn_id = BTC_GATT_GET_CONN_ID(connect->conn_id);
903+
param.connect.link_role = connect->link_role;
903904
memcpy(param.connect.remote_bda, connect->remote_bda, sizeof(esp_bd_addr_t));
904905
param.connect.conn_params.interval = connect->conn_params.interval;
905906
param.connect.conn_params.latency = connect->conn_params.latency;

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -900,6 +900,7 @@ void btc_gatts_cb_handler(btc_msg_t *msg)
900900
case BTA_GATTS_CONNECT_EVT:
901901
gatts_if = p_data->conn.server_if;
902902
param.connect.conn_id = BTC_GATT_GET_CONN_ID(p_data->conn.conn_id);
903+
param.connect.link_role = p_data->conn.link_role;
903904
memcpy(param.connect.remote_bda, p_data->conn.remote_bda, ESP_BD_ADDR_LEN);
904905
param.connect.conn_params.interval = p_data->conn.conn_params.interval;
905906
param.connect.conn_params.latency = p_data->conn.conn_params.latency;

0 commit comments

Comments
 (0)