1 /* 2 * Copyright (c) 2024 Nordic Semiconductor ASA 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #include <zephyr/bluetooth/cs.h> 8 9 #define INITIATOR_ACCESS_ADDRESS 0x4D7B8A2F 10 #define REFLECTOR_ACCESS_ADDRESS 0x96F93DB1 11 #define NUM_MODE_0_STEPS 3 12 test_params_get(enum bt_conn_le_cs_role role)13static struct bt_le_cs_test_param test_params_get(enum bt_conn_le_cs_role role) 14 { 15 struct bt_le_cs_test_param params; 16 17 params.role = role; 18 params.mode = BT_CONN_LE_CS_MAIN_MODE_2_SUB_MODE_1; 19 params.main_mode_repetition = 1; 20 params.mode_0_steps = NUM_MODE_0_STEPS; 21 params.rtt_type = BT_CONN_LE_CS_RTT_TYPE_AA_ONLY; 22 params.cs_sync_phy = BT_CONN_LE_CS_SYNC_1M_PHY; 23 params.cs_sync_antenna_selection = BT_LE_CS_TEST_CS_SYNC_ANTENNA_SELECTION_ONE; 24 params.subevent_len = 5000; 25 params.subevent_interval = 0; 26 params.max_num_subevents = 1; 27 params.transmit_power_level = BT_HCI_OP_LE_CS_TEST_MAXIMIZE_TX_POWER; 28 params.t_ip1_time = 145; 29 params.t_ip2_time = 145; 30 params.t_fcs_time = 150; 31 params.t_pm_time = 40; 32 params.t_sw_time = 0; 33 params.tone_antenna_config_selection = BT_LE_CS_TONE_ANTENNA_CONFIGURATION_A1_B1; 34 35 params.initiator_snr_control = BT_LE_CS_SNR_CONTROL_NOT_USED; 36 params.reflector_snr_control = BT_LE_CS_SNR_CONTROL_NOT_USED; 37 38 params.drbg_nonce = 0x1234; 39 40 params.override_config = BIT(2) | BIT(5); 41 params.override_config_0.channel_map_repetition = 1; 42 43 memset(params.override_config_0.not_set.channel_map, 0, 10); 44 45 for (uint8_t i = 40; i < 75; i++) { 46 BT_LE_CS_CHANNEL_BIT_SET_VAL(params.override_config_0.not_set.channel_map, i, 1); 47 } 48 49 params.override_config_0.not_set.channel_selection_type = BT_CONN_LE_CS_CHSEL_TYPE_3B; 50 params.override_config_0.not_set.ch3c_shape = BT_CONN_LE_CS_CH3C_SHAPE_HAT; 51 params.override_config_0.not_set.ch3c_jump = 2; 52 params.override_config_2.main_mode_steps = 8; 53 params.override_config_5.cs_sync_aa_initiator = INITIATOR_ACCESS_ADDRESS; 54 params.override_config_5.cs_sync_aa_reflector = REFLECTOR_ACCESS_ADDRESS; 55 56 return params; 57 } 58