/* * Copyright (c) 2022 Nordic Semiconductor ASA * * SPDX-License-Identifier: Apache-2.0 */ #include "bs_bt_utils.h" #include #include #include #include #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); }