I want to use public-addr and non-resolvable-addr for advertising on nrf connect SDK.
I was able to advertise using a random static addr.
But,
1. can not set public addr.
2. can not create non-resolvable-addr 's bt_id.
Following test code.
static bt_addr_le_t random_bdaddr = {
.type = BT_ADDR_LE_RANDOM,
.a = {
.val = {0xC1, 0x11, 0x11, 0x11, 0x11, 0xC1},
}
};
static struct bt_le_adv_param adv_param = {
.id = 0,
.options = BT_LE_ADV_OPT_USE_IDENTITY | BT_LE_ADV_OPT_EXT_ADV,
.interval_min = 0x20,
.interval_max = 0x20,
};
bt_ctlr_set_public_addr(public_addr);
(or sdc_hci_cmd_vs_zephyr_write_bd_addr(&public_addr);)
bt_enable(NULL);
int id0 = bt_id_create(&random_bdaddr, NULL);
bt_addr_le_t nrpa_bdaddr;
bt_addr_le_create_nrpa(&nrpa_bdaddr);
int id1 = bt_id_create(&nrpa_bdaddr, NULL); /* this is ERROR!! */
adv_param.id = 0; /* bt_id */
bt_le_ext_adv_create(&adv_param, &adv_cb, &adv);
bt_le_ext_adv_set_data(adv, bdata, 1, NULL, 0);
bt_le_ext_adv_start(adv, &adv_start_param);