blob: 3c6bae7f4a79df4cb21d7f1915d102c834b71e82 [file] [log] [blame]
/*
* Copyright (c) 2022 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "bs_bt_utils.h"
#include "zephyr/bluetooth/addr.h"
#include "zephyr/bluetooth/conn.h"
#include <stdint.h>
#include <zephyr/bluetooth/bluetooth.h>
#define TESTER_CENTRAL_ID 1
#define TESTER_PERIPHERAL_ID 2
void tester_central_procedure(void)
{
bs_bt_utils_setup();
backchannel_init(TESTER_PERIPHERAL_ID);
printk("central tester start\n");
/* connect to DUT as central */
scan_connect_to_first_result();
wait_connected();
backchannel_sync_send();
/* DUT is peripheral */
/* wait until DUT connects to peripheral, and that it has disconnected
* from it afterwards.
*/
backchannel_sync_wait();
printk("disconnect central\n");
disconnect();
/* DUT starts advertising again (with scanner's NRPA)
* should give wrong address
*/
scan_expect_same_address();
/* PASS/FAIL is called in the `device_found` callback. */
}
void tester_peripheral_procedure(void)
{
bs_bt_utils_setup();
backchannel_init(TESTER_CENTRAL_ID);
printk("peripheral tester start\n");
/* wait for central to connect to DUT */
backchannel_sync_wait();
/* connect to DUT as peripheral */
advertise_connectable(0, 0);
wait_connected();
/* DUT is central & peripheral */
printk("disconnect peripheral\n");
disconnect();
/* DUT starts scanning again (using NRPA) */
backchannel_sync_send();
PASS("PASS\n");
}
void tester_procedure_2(void)
{
bs_bt_utils_setup();
printk("Tester start\n");
scan_connect_to_first_result();
wait_connected();
/* Verify DUT advertiser was able to resume after the connection was
* established.
*/
scan_expect_same_address();
WAIT_FOR_FLAG(flag_test_end);
}