Bluetooth: Deprecate adv auto-resume
The host-based adv auto-resume function has both a problematic implementation and disagreement in the community around how it should behave. See the issue linked resolved below for details. This patch makes the deprecation visible to the user. The user will be better served by a auto-resume tailored their applications use case, based on more primitive host API like `conn_cb.recycled`, which has obvious behavior that is unlikely to change. Resolves: https://github.com/zephyrproject-rtos/zephyr/issues/72567 Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
This commit is contained in:
parent
d7ab4f25e1
commit
8cfad44852
96 changed files with 396 additions and 275 deletions
|
@ -693,7 +693,7 @@ static int common_init(void)
|
|||
|
||||
bt_le_per_adv_sync_cb_register(&pa_sync_cb);
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, AD_SIZE, NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, AD_SIZE, NULL, 0);
|
||||
if (err) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return err;
|
||||
|
|
|
@ -602,8 +602,8 @@ static void test_main_acl_disconnect(void)
|
|||
*/
|
||||
for (size_t i = 0U; i < ARRAY_SIZE(dummy_ext_adv); i++) {
|
||||
const struct bt_le_adv_param param = BT_LE_ADV_PARAM_INIT(
|
||||
(BT_LE_ADV_OPT_EXT_ADV | BT_LE_ADV_OPT_CONNECTABLE),
|
||||
BT_GAP_ADV_SLOW_INT_MAX, BT_GAP_ADV_SLOW_INT_MAX, NULL);
|
||||
(BT_LE_ADV_OPT_EXT_ADV | BT_LE_ADV_OPT_CONN), BT_GAP_ADV_SLOW_INT_MAX,
|
||||
BT_GAP_ADV_SLOW_INT_MAX, NULL);
|
||||
int err;
|
||||
|
||||
err = bt_le_ext_adv_create(¶m, NULL, &dummy_ext_adv[i]);
|
||||
|
|
|
@ -638,7 +638,7 @@ void test_start_adv(void)
|
|||
struct bt_le_ext_adv *ext_adv;
|
||||
|
||||
/* Create a connectable non-scannable advertising set */
|
||||
err = bt_le_ext_adv_create(BT_LE_ADV_CONN_ONE_TIME, NULL, &ext_adv);
|
||||
err = bt_le_ext_adv_create(BT_LE_ADV_CONN_FAST_1, NULL, &ext_adv);
|
||||
if (err != 0) {
|
||||
FAIL("Failed to create advertising set (err %d)\n", err);
|
||||
|
||||
|
@ -752,7 +752,7 @@ static void init(void)
|
|||
bt_cap_stream_ops_register(&unicast_streams[i], &unicast_stream_ops);
|
||||
}
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, cap_acceptor_ad,
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, cap_acceptor_ad,
|
||||
ARRAY_SIZE(cap_acceptor_ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
|
|
|
@ -78,7 +78,7 @@ static void test_main(void)
|
|||
}
|
||||
|
||||
printk("Start Advertising\n");
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
@ -119,7 +119,7 @@ static void test_main(void)
|
|||
}
|
||||
|
||||
printk("Start Advertising\n");
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -80,7 +80,7 @@ static void bt_ready(int err)
|
|||
return;
|
||||
}
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
}
|
||||
|
|
|
@ -445,8 +445,8 @@ static void test_main(void)
|
|||
return;
|
||||
}
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, gmap_acceptor_ad,
|
||||
ARRAY_SIZE(gmap_acceptor_ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, gmap_acceptor_ad, ARRAY_SIZE(gmap_acceptor_ad),
|
||||
NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -43,7 +43,7 @@ static void start_adv(void)
|
|||
{
|
||||
int err;
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, AD_SIZE, NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, AD_SIZE, NULL, 0);
|
||||
if (err) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -58,7 +58,7 @@ static void test_main(void)
|
|||
return;
|
||||
}
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, AD_SIZE, NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, AD_SIZE, NULL, 0);
|
||||
if (err) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -20,7 +20,7 @@ static void start_adv(void)
|
|||
{
|
||||
int err;
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, AD_SIZE, NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, AD_SIZE, NULL, 0);
|
||||
if (err) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -1655,7 +1655,7 @@ void test_media_controller_remote_player(void)
|
|||
initialize_bluetooth();
|
||||
initialize_media();
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, AD_SIZE, NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, AD_SIZE, NULL, 0);
|
||||
if (err) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
}
|
||||
|
|
|
@ -432,7 +432,7 @@ static void test_main(void)
|
|||
|
||||
printk("MICP initialized\n");
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, AD_SIZE, NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, AD_SIZE, NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -191,7 +191,7 @@ static void test_main(void)
|
|||
}
|
||||
|
||||
LOG_DBG("Start Advertising");
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)", err);
|
||||
return;
|
||||
|
@ -225,7 +225,7 @@ static void test_main(void)
|
|||
trigger_notifications();
|
||||
|
||||
LOG_DBG("Start Advertising");
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)", err);
|
||||
return;
|
||||
|
@ -242,7 +242,7 @@ static void test_main(void)
|
|||
}
|
||||
|
||||
LOG_DBG("Start Advertising");
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)", err);
|
||||
return;
|
||||
|
@ -276,7 +276,7 @@ static void test_main(void)
|
|||
}
|
||||
|
||||
LOG_DBG("Start Advertising");
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)", err);
|
||||
return;
|
||||
|
|
|
@ -503,7 +503,7 @@ static void test_main(void)
|
|||
|
||||
printk("Audio Server: Bluetooth discovered\n");
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, AD_SIZE, NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, AD_SIZE, NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -1044,7 +1044,7 @@ static void test_main(void)
|
|||
|
||||
printk("VCP initialized\n");
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, AD_SIZE, NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, AD_SIZE, NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -15,7 +15,7 @@ static void create_adv(struct bt_le_ext_adv **adv)
|
|||
|
||||
memset(¶ms, 0, sizeof(struct bt_le_adv_param));
|
||||
|
||||
params.options |= BT_LE_ADV_OPT_CONNECTABLE;
|
||||
params.options |= BT_LE_ADV_OPT_CONN;
|
||||
params.options |= BT_LE_ADV_OPT_EXT_ADV;
|
||||
|
||||
params.id = BT_ID_DEFAULT;
|
||||
|
|
|
@ -140,7 +140,7 @@ void peripheral_setup_and_connect(void)
|
|||
FAIL("Can't enable Bluetooth (err %d)\n", err);
|
||||
}
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
}
|
||||
|
|
|
@ -189,7 +189,7 @@ static void test_main(void)
|
|||
|
||||
printk("Bluetooth initialized\n");
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -121,11 +121,6 @@ static void device_found(const bt_addr_le_t *addr, int8_t rssi, uint8_t type,
|
|||
}
|
||||
}
|
||||
|
||||
/* In your area */
|
||||
#define ADV_PARAM_SINGLE BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE | BT_LE_ADV_OPT_ONE_TIME, \
|
||||
BT_GAP_ADV_FAST_INT_MIN_2, \
|
||||
BT_GAP_ADV_FAST_INT_MAX_2, NULL)
|
||||
|
||||
static strucc bt_conn *connecc(void)
|
||||
{
|
||||
int err;
|
||||
|
@ -133,7 +128,7 @@ static strucc bt_conn *connecc(void)
|
|||
|
||||
UNSET_FLAG(is_connected);
|
||||
|
||||
err = bt_le_adv_start(ADV_PARAM_SINGLE, NULL, 0, NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, NULL, 0, NULL, 0);
|
||||
ASSERT(!err, "Adving failed to start (err %d)\n", err);
|
||||
|
||||
LOG_DBG(" wait connecc...");
|
||||
|
|
|
@ -41,7 +41,7 @@ static void test_peripheral_dummy(void)
|
|||
err = bt_enable(NULL);
|
||||
TEST_ASSERT(err == 0, "Can't enable Bluetooth (err %d)", err);
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
TEST_ASSERT(err == 0, "Advertising failed to start (err %d)", err);
|
||||
|
||||
err = k_sem_take(&sem_connected, K_FOREVER);
|
||||
|
|
|
@ -341,7 +341,7 @@ static void test_main(void)
|
|||
|
||||
printk("Bluetooth initialized\n");
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -101,7 +101,7 @@ static void test_main_common(bool connect_eatt)
|
|||
|
||||
printk("Bluetooth initialized\n");
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
|
||||
|
|
|
@ -58,18 +58,8 @@ BT_GATT_SERVICE_DEFINE(dummy_svc, BT_GATT_PRIMARY_SERVICE(&dummy_service),
|
|||
static void create_adv(struct bt_le_ext_adv **adv)
|
||||
{
|
||||
int err;
|
||||
struct bt_le_adv_param params;
|
||||
|
||||
memset(¶ms, 0, sizeof(struct bt_le_adv_param));
|
||||
|
||||
params.options |= BT_LE_ADV_OPT_CONNECTABLE;
|
||||
|
||||
params.id = BT_ID_DEFAULT;
|
||||
params.sid = 0;
|
||||
params.interval_min = BT_GAP_ADV_FAST_INT_MIN_2;
|
||||
params.interval_max = BT_GAP_ADV_FAST_INT_MAX_2;
|
||||
|
||||
err = bt_le_ext_adv_create(¶ms, NULL, adv);
|
||||
err = bt_le_ext_adv_create(BT_LE_ADV_CONN_FAST_1, NULL, adv);
|
||||
if (err) {
|
||||
FAIL("Failed to create advertiser (%d)\n", err);
|
||||
}
|
||||
|
|
|
@ -161,7 +161,7 @@ static void test_main(void)
|
|||
|
||||
printk("Bluetooth initialized\n");
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -183,7 +183,7 @@ static void setup(void)
|
|||
|
||||
printk("Bluetooth initialized\n");
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -145,7 +145,7 @@ static void test_main(void)
|
|||
|
||||
printk("Bluetooth initialized\n");
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -129,7 +129,7 @@ void create_adv(struct bt_le_ext_adv **adv)
|
|||
int err;
|
||||
struct bt_le_adv_param params = {};
|
||||
|
||||
params.options |= BT_LE_ADV_OPT_CONNECTABLE;
|
||||
params.options |= BT_LE_ADV_OPT_CONN;
|
||||
params.options |= BT_LE_ADV_OPT_EXT_ADV;
|
||||
|
||||
params.id = BT_ID_DEFAULT;
|
||||
|
|
|
@ -121,8 +121,7 @@ void advertise_connectable(void)
|
|||
|
||||
param.interval_min = 0x0020;
|
||||
param.interval_max = 0x4000;
|
||||
param.options |= BT_LE_ADV_OPT_ONE_TIME;
|
||||
param.options |= BT_LE_ADV_OPT_CONNECTABLE;
|
||||
param.options |= BT_LE_ADV_OPT_CONN;
|
||||
|
||||
err = bt_le_adv_start(¶m, NULL, 0, NULL, 0);
|
||||
__ASSERT(err == 0, "Advertising failed to start (err %d)\n", err);
|
||||
|
|
|
@ -143,7 +143,7 @@ static void adv_connect(void)
|
|||
{
|
||||
int err;
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
|
||||
|
|
|
@ -210,11 +210,6 @@ static void disconnect_device(struct bt_conn *conn, void *data)
|
|||
WAIT_FOR_FLAG_UNSET(is_connected);
|
||||
}
|
||||
|
||||
#define BT_LE_ADV_CONN_OT BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE | \
|
||||
BT_LE_ADV_OPT_ONE_TIME, \
|
||||
BT_GAP_ADV_FAST_INT_MIN_2, \
|
||||
BT_GAP_ADV_FAST_INT_MAX_2, NULL)
|
||||
|
||||
static void test_peripheral_main(void)
|
||||
{
|
||||
LOG_DBG("*L2CAP CREDITS Peripheral started*");
|
||||
|
@ -233,7 +228,7 @@ static void test_peripheral_main(void)
|
|||
|
||||
LOG_DBG("Peripheral Bluetooth initialized.");
|
||||
LOG_DBG("Connectable advertising...");
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_OT, NULL, 0, NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, NULL, 0, NULL, 0);
|
||||
if (err) {
|
||||
FAIL("Advertising failed to start (err %d)", err);
|
||||
return;
|
||||
|
|
|
@ -227,10 +227,6 @@ static void disconnect_device(struct bt_conn *conn, void *data)
|
|||
WAIT_FOR_FLAG_UNSET(is_connected);
|
||||
}
|
||||
|
||||
#define BT_LE_ADV_CONN_OT \
|
||||
BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE | BT_LE_ADV_OPT_ONE_TIME, \
|
||||
BT_GAP_ADV_FAST_INT_MIN_2, BT_GAP_ADV_FAST_INT_MAX_2, NULL)
|
||||
|
||||
static void test_peripheral_main(void)
|
||||
{
|
||||
int err;
|
||||
|
@ -251,7 +247,7 @@ static void test_peripheral_main(void)
|
|||
|
||||
LOG_DBG("Peripheral Bluetooth initialized.");
|
||||
LOG_DBG("Connectable advertising...");
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_OT, NULL, 0, NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, NULL, 0, NULL, 0);
|
||||
if (err) {
|
||||
FAIL("Advertising failed to start (err %d)", err);
|
||||
return;
|
||||
|
|
|
@ -449,7 +449,7 @@ static void test_peripheral_main(void)
|
|||
|
||||
LOG_DBG("Peripheral Bluetooth initialized.");
|
||||
LOG_DBG("Connectable advertising...");
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err) {
|
||||
FAIL("Advertising failed to start (err %d)", err);
|
||||
return;
|
||||
|
|
|
@ -235,11 +235,6 @@ static void disconnect_device(struct bt_conn *conn, void *data)
|
|||
WAIT_FOR_FLAG_UNSET(is_connected);
|
||||
}
|
||||
|
||||
#define BT_LE_ADV_CONN_OT BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE | \
|
||||
BT_LE_ADV_OPT_ONE_TIME, \
|
||||
BT_GAP_ADV_FAST_INT_MIN_2, \
|
||||
BT_GAP_ADV_FAST_INT_MAX_2, NULL)
|
||||
|
||||
static void test_peripheral_main(void)
|
||||
{
|
||||
LOG_DBG("L2CAP CONN LATENCY Peripheral started*");
|
||||
|
@ -255,7 +250,7 @@ static void test_peripheral_main(void)
|
|||
|
||||
LOG_DBG("Peripheral Bluetooth initialized.");
|
||||
LOG_DBG("Connectable advertising...");
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_OT, NULL, 0, NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, NULL, 0, NULL, 0);
|
||||
ASSERT(!err, "Advertising failed to start (err %d)", err);
|
||||
|
||||
LOG_DBG("Advertising started.");
|
||||
|
|
|
@ -251,7 +251,7 @@ static void start_advertising(void)
|
|||
|
||||
LOG_DBG("starting advertiser");
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
TEST_ASSERT(!err, "Advertising failed to start (err %d)", err);
|
||||
}
|
||||
|
||||
|
|
|
@ -187,7 +187,7 @@ static void test_peripheral_main(void)
|
|||
|
||||
register_l2cap_server();
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -293,11 +293,6 @@ static void disconnect_device(struct bt_conn *conn, void *data)
|
|||
WAIT_FOR_FLAG_UNSET(is_connected);
|
||||
}
|
||||
|
||||
#define BT_LE_ADV_CONN_OT BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE | \
|
||||
BT_LE_ADV_OPT_ONE_TIME, \
|
||||
BT_GAP_ADV_FAST_INT_MIN_2, \
|
||||
BT_GAP_ADV_FAST_INT_MAX_2, NULL)
|
||||
|
||||
static void test_peripheral_main(void)
|
||||
{
|
||||
LOG_DBG("*L2CAP STRESS Peripheral started*");
|
||||
|
@ -316,7 +311,7 @@ static void test_peripheral_main(void)
|
|||
|
||||
LOG_DBG("Peripheral Bluetooth initialized.");
|
||||
LOG_DBG("Connectable advertising...");
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_OT, NULL, 0, NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, NULL, 0, NULL, 0);
|
||||
if (err) {
|
||||
FAIL("Advertising failed to start (err %d)", err);
|
||||
return;
|
||||
|
|
|
@ -175,7 +175,7 @@ static void test_peripheral_main(void)
|
|||
return;
|
||||
}
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -400,7 +400,7 @@ void test_peripheral_main(void)
|
|||
sprintf(name, "per-%d", get_device_nbr());
|
||||
bt_set_name(name);
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, NULL, 0, NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, NULL, 0, NULL, 0);
|
||||
if (err) {
|
||||
LOG_ERR("Advertising failed to start (err %d)", err);
|
||||
__ASSERT_NO_MSG(err);
|
||||
|
|
|
@ -144,7 +144,7 @@ static void test_main(void)
|
|||
|
||||
printk("Bluetooth initialized\n");
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -106,10 +106,6 @@ static void device_found(const bt_addr_le_t *addr, int8_t rssi, uint8_t type,
|
|||
}
|
||||
}
|
||||
|
||||
#define ADV_PARAM_SINGLE BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE | BT_LE_ADV_OPT_ONE_TIME, \
|
||||
BT_GAP_ADV_FAST_INT_MIN_2, \
|
||||
BT_GAP_ADV_FAST_INT_MAX_2, NULL)
|
||||
|
||||
static struct bt_conn *connect_as_peripheral(void)
|
||||
{
|
||||
int err;
|
||||
|
@ -117,7 +113,7 @@ static struct bt_conn *connect_as_peripheral(void)
|
|||
|
||||
UNSET_FLAG(is_connected);
|
||||
|
||||
err = bt_le_adv_start(ADV_PARAM_SINGLE, NULL, 0, NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, NULL, 0, NULL, 0);
|
||||
ASSERT(!err, "Adving failed to start (err %d)\n", err);
|
||||
|
||||
LOG_DBG("advertising");
|
||||
|
|
|
@ -123,7 +123,7 @@ static void start_adv(void)
|
|||
const struct bt_data ad[] = {
|
||||
BT_DATA_BYTES(BT_DATA_FLAGS, (BT_LE_AD_GENERAL | BT_LE_AD_NO_BREDR))};
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_ONE_TIME, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err != 0) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
|
@ -141,9 +141,8 @@ void tester_procedure_periph_delayed_start_of_conn_adv(void)
|
|||
|
||||
int err;
|
||||
struct bt_le_adv_param params =
|
||||
BT_LE_ADV_PARAM_INIT(BT_LE_ADV_OPT_CONNECTABLE | BT_LE_ADV_OPT_USE_IDENTITY,
|
||||
BT_GAP_ADV_FAST_INT_MIN_2,
|
||||
BT_GAP_ADV_FAST_INT_MAX_2, NULL);
|
||||
BT_LE_ADV_PARAM_INIT(BT_LE_ADV_OPT_CONN | BT_LE_ADV_OPT_USE_IDENTITY,
|
||||
BT_GAP_ADV_FAST_INT_MIN_2, BT_GAP_ADV_FAST_INT_MAX_2, NULL);
|
||||
struct bt_data ad;
|
||||
struct bt_le_ext_adv *adv;
|
||||
|
||||
|
|
|
@ -166,7 +166,7 @@ static void create_adv(struct bt_le_ext_adv **adv)
|
|||
|
||||
memset(¶ms, 0, sizeof(struct bt_le_adv_param));
|
||||
|
||||
params.options |= BT_LE_ADV_OPT_CONNECTABLE;
|
||||
params.options |= BT_LE_ADV_OPT_CONN;
|
||||
|
||||
params.id = BT_ID_DEFAULT;
|
||||
params.sid = 0;
|
||||
|
@ -191,11 +191,11 @@ static void update_adv_params(struct bt_le_ext_adv *adv, enum adv_param_t adv_pa
|
|||
memset(¶ms, 0, sizeof(struct bt_le_adv_param));
|
||||
|
||||
if (adv_params == CONN_SCAN) {
|
||||
params.options |= BT_LE_ADV_OPT_CONNECTABLE;
|
||||
params.options |= BT_LE_ADV_OPT_CONN;
|
||||
params.options |= BT_LE_ADV_OPT_SCANNABLE;
|
||||
LOG_DBG("Advertiser params: CONN_SCAN");
|
||||
} else if (adv_params == CONN_NSCAN) {
|
||||
params.options |= BT_LE_ADV_OPT_CONNECTABLE;
|
||||
params.options |= BT_LE_ADV_OPT_CONN;
|
||||
LOG_DBG("Advertiser params: CONN_NSCAN");
|
||||
} else if (adv_params == NCONN_SCAN) {
|
||||
params.options |= BT_LE_ADV_OPT_SCANNABLE;
|
||||
|
|
|
@ -42,10 +42,8 @@ void start_advertising(uint32_t options)
|
|||
{
|
||||
int err;
|
||||
|
||||
struct bt_le_adv_param param = BT_LE_ADV_PARAM_INIT(BT_LE_ADV_OPT_ONE_TIME,
|
||||
BT_GAP_ADV_FAST_INT_MIN_2,
|
||||
BT_GAP_ADV_FAST_INT_MAX_2,
|
||||
NULL);
|
||||
struct bt_le_adv_param param =
|
||||
BT_LE_ADV_PARAM_INIT(0, BT_GAP_ADV_FAST_INT_MIN_2, BT_GAP_ADV_FAST_INT_MAX_2, NULL);
|
||||
param.options |= options;
|
||||
|
||||
err = bt_le_adv_start(¶m, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
|
@ -82,7 +80,7 @@ void dut_procedure(void)
|
|||
generate_new_rpa();
|
||||
|
||||
LOG_DBG("start adv with identity");
|
||||
start_advertising(BT_LE_ADV_OPT_CONNECTABLE | BT_LE_ADV_OPT_USE_IDENTITY);
|
||||
start_advertising(BT_LE_ADV_OPT_CONN | BT_LE_ADV_OPT_USE_IDENTITY);
|
||||
|
||||
/* wait for the tester to validate we're using our identity address */
|
||||
LOG_DBG("wait for validation by tester");
|
||||
|
@ -94,7 +92,7 @@ void dut_procedure(void)
|
|||
}
|
||||
|
||||
LOG_DBG("start adv with RPA");
|
||||
start_advertising(BT_LE_ADV_OPT_CONNECTABLE);
|
||||
start_advertising(BT_LE_ADV_OPT_CONN);
|
||||
|
||||
/* Test pass verdict is decided by the tester */
|
||||
PASS("DUT done\n");
|
||||
|
|
|
@ -163,8 +163,7 @@ void advertise_connectable(int id, bt_addr_le_t *directed_dst)
|
|||
param.id = id;
|
||||
param.interval_min = 0x0020;
|
||||
param.interval_max = 0x4000;
|
||||
param.options |= BT_LE_ADV_OPT_ONE_TIME;
|
||||
param.options |= BT_LE_ADV_OPT_CONNECTABLE;
|
||||
param.options |= BT_LE_ADV_OPT_CONN;
|
||||
|
||||
if (directed_dst) {
|
||||
param.options |= BT_LE_ADV_OPT_DIR_ADDR_RPA;
|
||||
|
|
|
@ -163,8 +163,7 @@ void advertise_connectable(int id, bt_addr_le_t *directed_dst)
|
|||
param.id = id;
|
||||
param.interval_min = 0x0020;
|
||||
param.interval_max = 0x4000;
|
||||
param.options |= BT_LE_ADV_OPT_ONE_TIME;
|
||||
param.options |= BT_LE_ADV_OPT_CONNECTABLE;
|
||||
param.options |= BT_LE_ADV_OPT_CONN;
|
||||
|
||||
if (directed_dst) {
|
||||
param.options |= BT_LE_ADV_OPT_DIR_ADDR_RPA;
|
||||
|
|
|
@ -184,8 +184,7 @@ void advertise_connectable(int id, bt_addr_le_t *directed_dst)
|
|||
param.id = id;
|
||||
param.interval_min = 0x0020;
|
||||
param.interval_max = 0x4000;
|
||||
param.options |= BT_LE_ADV_OPT_ONE_TIME;
|
||||
param.options |= BT_LE_ADV_OPT_CONNECTABLE;
|
||||
param.options |= BT_LE_ADV_OPT_CONN;
|
||||
|
||||
if (directed_dst) {
|
||||
param.options |= BT_LE_ADV_OPT_DIR_ADDR_RPA;
|
||||
|
|
|
@ -63,7 +63,7 @@ static void create_adv(struct bt_le_ext_adv **adv)
|
|||
|
||||
memset(¶ms, 0, sizeof(struct bt_le_adv_param));
|
||||
|
||||
params.options |= BT_LE_ADV_OPT_CONNECTABLE;
|
||||
params.options |= BT_LE_ADV_OPT_CONN;
|
||||
|
||||
params.id = BT_ID_DEFAULT;
|
||||
params.sid = 0;
|
||||
|
|
|
@ -153,8 +153,7 @@ void advertise_connectable(int id)
|
|||
param.id = id;
|
||||
param.interval_min = 0x0020;
|
||||
param.interval_max = 0x4000;
|
||||
param.options |= BT_LE_ADV_OPT_ONE_TIME;
|
||||
param.options |= BT_LE_ADV_OPT_CONNECTABLE;
|
||||
param.options |= BT_LE_ADV_OPT_CONN;
|
||||
|
||||
err = bt_le_adv_start(¶m, NULL, 0, NULL, 0);
|
||||
ASSERT(!err, "Advertising failed to start (err %d)\n", err);
|
||||
|
|
|
@ -175,8 +175,7 @@ void advertise_connectable(int id, bt_addr_le_t *directed_dst)
|
|||
param.id = id;
|
||||
param.interval_min = 0x0020;
|
||||
param.interval_max = 0x4000;
|
||||
param.options |= BT_LE_ADV_OPT_ONE_TIME;
|
||||
param.options |= BT_LE_ADV_OPT_CONNECTABLE;
|
||||
param.options |= BT_LE_ADV_OPT_CONN;
|
||||
|
||||
if (directed_dst) {
|
||||
param.options |= BT_LE_ADV_OPT_DIR_ADDR_RPA;
|
||||
|
|
|
@ -185,7 +185,7 @@ static void test_advx_main(void)
|
|||
printk("success.\n");
|
||||
|
||||
printk("Connectable 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_FAST_2, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
@ -401,7 +401,7 @@ static void test_advx_main(void)
|
|||
k_sleep(K_MSEC(1000));
|
||||
|
||||
printk("Create connectable advertising set...");
|
||||
err = bt_le_ext_adv_create(BT_LE_ADV_CONN, &adv_callbacks, &adv);
|
||||
err = bt_le_ext_adv_create(BT_LE_ADV_CONN_FAST_2, &adv_callbacks, &adv);
|
||||
if (err) {
|
||||
goto exit;
|
||||
}
|
||||
|
@ -654,7 +654,7 @@ static void test_advx_main(void)
|
|||
}
|
||||
};
|
||||
const struct bt_le_adv_param adv_param = {
|
||||
.options = BT_LE_ADV_OPT_CONNECTABLE,
|
||||
.options = BT_LE_ADV_OPT_CONN,
|
||||
.peer = &direct_addr,
|
||||
};
|
||||
err = bt_le_adv_start(&adv_param, NULL, 0, NULL, 0);
|
||||
|
|
|
@ -75,18 +75,12 @@ static bt_addr_le_t peer_addr;
|
|||
BT_LE_CONN_PARAM(CONN_INTERVAL_MIN, CONN_INTERVAL_MAX, 0U, CONN_TIMEOUT)
|
||||
|
||||
#if defined(CONFIG_TEST_USE_LEGACY_ADVERTISING)
|
||||
#define BT_LE_ADV_CONN_CUSTOM BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE | \
|
||||
BT_LE_ADV_OPT_ONE_TIME, \
|
||||
ADV_INTERVAL_MIN, \
|
||||
ADV_INTERVAL_MAX, \
|
||||
NULL)
|
||||
#define BT_LE_ADV_CONN_CUSTOM \
|
||||
BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONN, ADV_INTERVAL_MIN, ADV_INTERVAL_MAX, NULL)
|
||||
#else /* !CONFIG_TEST_USE_LEGACY_ADVERTISING */
|
||||
#define BT_LE_ADV_CONN_CUSTOM BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE | \
|
||||
BT_LE_ADV_OPT_EXT_ADV | \
|
||||
BT_LE_ADV_OPT_ONE_TIME, \
|
||||
ADV_INTERVAL_MIN, \
|
||||
ADV_INTERVAL_MAX, \
|
||||
NULL)
|
||||
#define BT_LE_ADV_CONN_CUSTOM \
|
||||
BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONN | BT_LE_ADV_OPT_EXT_ADV, ADV_INTERVAL_MIN, \
|
||||
ADV_INTERVAL_MAX, NULL)
|
||||
#endif /* !CONFIG_TEST_USE_LEGACY_ADVERTISING */
|
||||
|
||||
#define SEQ_NUM_MAX 1000U
|
||||
|
|
|
@ -122,9 +122,27 @@ static void disconnected(struct bt_conn *conn, uint8_t reason)
|
|||
}
|
||||
}
|
||||
|
||||
static int start_advertising(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_CONN_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static void recycled(void)
|
||||
{
|
||||
start_advertising();
|
||||
}
|
||||
|
||||
static struct bt_conn_cb conn_callbacks = {
|
||||
.connected = connected,
|
||||
.disconnected = disconnected,
|
||||
.recycled = recycled,
|
||||
};
|
||||
|
||||
static void bt_ready(void)
|
||||
|
@ -133,13 +151,17 @@ static void bt_ready(void)
|
|||
|
||||
printk("Peripheral 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_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err) {
|
||||
FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
}
|
||||
|
||||
printk("Advertising successfully started\n");
|
||||
err = start_advertising();
|
||||
|
||||
if (!err) {
|
||||
printk("Advertising successfully started\n");
|
||||
}
|
||||
}
|
||||
|
||||
static void bas_notify(void)
|
||||
|
|
|
@ -46,6 +46,21 @@ static const struct bt_data sd[] = {
|
|||
|
||||
static int service_set;
|
||||
|
||||
static int start_advertising(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = bt_le_adv_start(BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONN | BT_LE_ADV_OPT_USE_IDENTITY,
|
||||
BT_GAP_ADV_FAST_INT_MIN_1, BT_GAP_ADV_FAST_INT_MAX_1,
|
||||
NULL),
|
||||
ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static void connected(struct bt_conn *conn, uint8_t err)
|
||||
{
|
||||
if (err) {
|
||||
|
@ -60,6 +75,11 @@ static void disconnected(struct bt_conn *conn, uint8_t reason)
|
|||
printk("Disconnected (reason 0x%02x)\n", reason);
|
||||
}
|
||||
|
||||
static void recycled(void)
|
||||
{
|
||||
start_advertising();
|
||||
}
|
||||
|
||||
static void security_changed(struct bt_conn *conn, bt_security_t level,
|
||||
enum bt_security_err err)
|
||||
{
|
||||
|
@ -73,6 +93,7 @@ static void security_changed(struct bt_conn *conn, bt_security_t level,
|
|||
BT_CONN_CB_DEFINE(conn_callbacks) = {
|
||||
.connected = connected,
|
||||
.disconnected = disconnected,
|
||||
.recycled = recycled,
|
||||
.security_changed = security_changed,
|
||||
};
|
||||
|
||||
|
@ -226,14 +247,11 @@ 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));
|
||||
if (err) {
|
||||
printk("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
}
|
||||
err = start_advertising();
|
||||
|
||||
printk("Advertising successfully started\n");
|
||||
if (!err) {
|
||||
printk("Advertising successfully started\n");
|
||||
}
|
||||
}
|
||||
|
||||
static void auth_passkey_display(struct bt_conn *conn, unsigned int passkey)
|
||||
|
|
|
@ -101,7 +101,7 @@ static void bt_ready(void)
|
|||
|
||||
LOG_DBG("Peripheral 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_FAST_1, ad, ARRAY_SIZE(ad), NULL, 0);
|
||||
if (err) {
|
||||
TEST_FAIL("Advertising failed to start (err %d)\n", err);
|
||||
return;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue