Bluetooth: samples: Switch to one-time adv
This patch removes all uses of the adv auto-resume feature in the Bluetooth samples. The auto-resume feature is planned for deprecation. Samples that are not intended to demonstrate a technique to do with re-connection simply do not restart the advertiser, in interest of simplicity. The user is expected to reboot the sample when needed. Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
This commit is contained in:
parent
b76683e4cb
commit
c6ad4a7927
24 changed files with 34 additions and 32 deletions
|
@ -128,7 +128,7 @@ static void bt_ready(void)
|
|||
adv_param.options |= BT_LE_ADV_OPT_DIR_ADDR_RPA;
|
||||
err = bt_le_adv_start(&adv_param, NULL, 0, NULL, 0);
|
||||
} else {
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
}
|
||||
|
||||
if (err) {
|
||||
|
|
|
@ -100,7 +100,7 @@ static void bt_ready(void)
|
|||
|
||||
printk("Bluetooth initialized\n");
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -431,8 +431,7 @@ static int eds_slot_restart(struct eds_slot *slot, uint8_t type)
|
|||
addr = oob.addr;
|
||||
}
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad),
|
||||
NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
} else {
|
||||
size_t count = 1;
|
||||
|
||||
|
@ -635,7 +634,7 @@ static void bt_ready(int err)
|
|||
printk("Bluetooth initialized\n");
|
||||
|
||||
/* Start advertising */
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -43,8 +43,7 @@ static K_THREAD_STACK_DEFINE(pwr_thread_stack, 512);
|
|||
static const int8_t txpower[DEVICE_BEACON_TXPOWER_NUM] = {4, 0, -3, -8,
|
||||
-15, -18, -23, -30};
|
||||
static const struct bt_le_adv_param *param =
|
||||
BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE,
|
||||
0x0020, 0x0020, NULL);
|
||||
BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE | BT_LE_ADV_OPT_ONE_TIME, 0x0020, 0x0020, NULL);
|
||||
|
||||
static void read_conn_rssi(uint16_t handle, int8_t *rssi)
|
||||
{
|
||||
|
|
|
@ -63,7 +63,7 @@ void run_peripheral_sample(uint8_t *notify_data, size_t notify_data_size, uint16
|
|||
struct bt_gatt_attr *notify_crch =
|
||||
bt_gatt_find_by_uuid(mtu_test.attrs, 0xffff, ¬ify_characteristic_uuid.uuid);
|
||||
|
||||
bt_le_adv_start(BT_LE_ADV_CONN, adv_ad_data, ARRAY_SIZE(adv_ad_data), NULL, 0);
|
||||
bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, adv_ad_data, ARRAY_SIZE(adv_ad_data), NULL, 0);
|
||||
|
||||
bool infinite = seconds == 0;
|
||||
|
||||
|
|
|
@ -291,7 +291,7 @@ static void bt_ready(void)
|
|||
settings_load();
|
||||
}
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -120,7 +120,7 @@ static void bt_ready(void)
|
|||
bond_count = 0;
|
||||
bt_foreach_bond(BT_ID_DEFAULT, add_bonded_addr_to_filter_list, NULL);
|
||||
|
||||
adv_param = *BT_LE_ADV_CONN;
|
||||
adv_param = *BT_LE_ADV_CONN_ONE_TIME;
|
||||
|
||||
/* If we have got at least one bond, activate the filter */
|
||||
if (bond_count) {
|
||||
|
|
|
@ -378,7 +378,7 @@ static void bt_ready(void)
|
|||
|
||||
printk("Bluetooth initialized\n");
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -100,7 +100,7 @@ int main(void)
|
|||
|
||||
printk("Bluetooth initialized\n");
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return 0;
|
||||
|
|
|
@ -421,7 +421,7 @@ static void bt_ready(void)
|
|||
|
||||
printk("Bluetooth initialized\n");
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -66,7 +66,7 @@ uint32_t peripheral_gatt_write(uint32_t count)
|
|||
(void)bt_conn_auth_cb_register(&auth_callbacks);
|
||||
#endif /* CONFIG_BT_SMP */
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return 0U;
|
||||
|
|
|
@ -98,7 +98,7 @@ static void bt_ready(int err)
|
|||
settings_load();
|
||||
}
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -204,7 +204,7 @@ int main(void)
|
|||
|
||||
#if !defined(CONFIG_BT_EXT_ADV)
|
||||
printk("Starting Legacy Advertising (connectable and scannable)\n");
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return 0;
|
||||
|
|
|
@ -62,7 +62,7 @@ static void bt_ready(void)
|
|||
|
||||
hts_init();
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -176,7 +176,7 @@ int main(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return 0;
|
||||
|
|
|
@ -61,7 +61,7 @@ int main(void)
|
|||
return err;
|
||||
}
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Failed to start advertising: %d\n", err);
|
||||
return err;
|
||||
|
|
|
@ -334,8 +334,7 @@ int main(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad),
|
||||
sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return 0;
|
||||
|
|
|
@ -146,7 +146,7 @@ int main(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, NULL, 0, sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, NULL, 0, sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return 0;
|
||||
|
|
|
@ -141,11 +141,10 @@ int main(void)
|
|||
|
||||
printk("Bluetooth initialized\n");
|
||||
|
||||
|
||||
bt_conn_auth_cb_register(&auth_cb_display);
|
||||
bt_conn_auth_info_cb_register(&auth_cb_info);
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return 0;
|
||||
|
|
|
@ -142,7 +142,7 @@ static void bt_ready(int err)
|
|||
}
|
||||
LOG_INF("Bluetooth initialized");
|
||||
/* Start advertising */
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err) {
|
||||
LOG_ERR("Advertising failed to start (err %d)", err);
|
||||
return;
|
||||
|
|
|
@ -471,8 +471,8 @@ static void ble_timeout(struct k_work *work)
|
|||
k_work_reschedule(&ble_work, K_NO_WAIT);
|
||||
break;
|
||||
case BLE_ADV_START:
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad),
|
||||
sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd,
|
||||
ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -180,7 +180,8 @@ static void bt_ready(int err)
|
|||
|
||||
if (!mesh_is_initialized()) {
|
||||
/* Start advertising */
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd,
|
||||
ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -25,7 +25,7 @@ static void start_adv(void)
|
|||
{
|
||||
int err;
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
LOG_ERR("Advertising failed to start (err %d)", err);
|
||||
return;
|
||||
|
|
|
@ -31,9 +31,7 @@ static void advertise(struct k_work *work)
|
|||
{
|
||||
int rc;
|
||||
|
||||
bt_le_adv_stop();
|
||||
|
||||
rc = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
rc = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (rc) {
|
||||
LOG_ERR("Advertising failed to start (rc %d)", rc);
|
||||
return;
|
||||
|
@ -49,17 +47,24 @@ static void connected(struct bt_conn *conn, uint8_t err)
|
|||
} else {
|
||||
LOG_INF("Connected");
|
||||
}
|
||||
|
||||
k_work_submit(&advertise_work);
|
||||
}
|
||||
|
||||
static void disconnected(struct bt_conn *conn, uint8_t reason)
|
||||
{
|
||||
LOG_INF("Disconnected (reason 0x%02x)", reason);
|
||||
}
|
||||
|
||||
static void on_conn_recycled(void)
|
||||
{
|
||||
k_work_submit(&advertise_work);
|
||||
}
|
||||
|
||||
BT_CONN_CB_DEFINE(conn_callbacks) = {
|
||||
.connected = connected,
|
||||
.disconnected = disconnected,
|
||||
.recycled = on_conn_recycled,
|
||||
};
|
||||
|
||||
static void bt_ready(int err)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue