Hi,Team,
I am developing Pawr using nrf54l15-dk.
For the Pawr example I refer to E:\NCS\v2.8.0\zephyr\samples\bluetooth\periodic_adv_rsp and periodic_sync_rsp.
I need to establish a BLE connection with the scanner that PAwR advertisers have synchronized, in order to conduct GATT communication. To establish the connection, I called bt_conn_le_create_synced() in the periodic_adv_rsp project, but received error -11: connecting to CB:D1:D8:CC:D7:7B (random) in subevent 0. Failed to initiate connection (err -11).
Here is my code.If there are any issues, please let me know.
static void response_cb(struct bt_le_ext_adv *adv, struct bt_le_per_adv_response_info *info,
struct net_buf_simple *buf)
{
int err;
bt_addr_le_t peer;
char addr_str[BT_ADDR_LE_STR_LEN];
struct bt_conn_le_create_synced_param synced_param;
struct bt_le_conn_param conn_param;
if (!buf) {
return;
}
if (default_conn) {
/* Do not initiate new connections while already connected */
return;
}
bt_addr_le_copy(&peer, &bt_addr_le_none);
bt_data_parse(buf, get_address, &peer);
if (bt_addr_le_eq(&peer, &bt_addr_le_none)) {
/* No address found */
return;
}
bt_addr_le_to_str(&peer, addr_str, sizeof(addr_str));
printk("Connecting to %s in subevent %d\n", addr_str, info->subevent);
synced_param.peer = &peer;
synced_param.subevent = info->subevent;
/* Choose same interval as PAwR advertiser to avoid scheduling conflicts */
conn_param.interval_min = SUBEVENT_INTERVAL;
conn_param.interval_max = SUBEVENT_INTERVAL;
/* Default values */
conn_param.latency = 0;
conn_param.timeout = 400;
err = bt_conn_le_create_synced(adv, &synced_param, &conn_param, &default_conn);
if (err) {
printk("Failed to initiate connection (err %d)", err);
}
}
Thanks.