blob: 40512566921ab09afc2a9bad71fde22fb2f29f04 [file] [log] [blame]
/*
* Copyright (c) 2020 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/zephyr.h>
#include <zephyr/bluetooth/bluetooth.h>
#include <zephyr/bluetooth/hci.h>
#include <ztest.h>
#define DEVICE_NAME CONFIG_BT_DEVICE_NAME
#define DEVICE_NAME_LEN (sizeof(DEVICE_NAME) - 1)
#define TIMEOUT_MS 300000 /* 5 minutes */
static const struct bt_data ad[] = {
BT_DATA_BYTES(BT_DATA_FLAGS, BT_LE_AD_NO_BREDR),
};
/* Set Scan Response data */
static const struct bt_data sd[] = {
BT_DATA(BT_DATA_NAME_COMPLETE, DEVICE_NAME, DEVICE_NAME_LEN),
};
void test_adv_fast_ad_data_update(void)
{
int err;
printk("Starting Beacon Demo\n");
/* Initialize the Bluetooth Subsystem */
err = bt_enable(NULL);
zassert_equal(err, 0, "Bluetooth init failed (err %d)\n", err);
printk("Bluetooth initialized\n");
/* Start advertising */
err = bt_le_adv_start(BT_LE_ADV_NCONN, ad, ARRAY_SIZE(ad),
sd, ARRAY_SIZE(sd));
zassert_equal(err, 0, "Advertising failed to start (err %d)\n", err);
printk("Advertising started\n");
while (k_uptime_get() < TIMEOUT_MS) {
err = bt_le_adv_update_data(ad, ARRAY_SIZE(ad),
sd, ARRAY_SIZE(sd));
zassert_equal(err, 0, "Update adv data failed (err %d)\n", err);
}
}
void test_main(void)
{
ztest_test_suite(test_adv,
ztest_unit_test(test_adv_fast_ad_data_update));
ztest_run_test_suite(test_adv);
}