nrfxlib API 2.7.99
Loading...
Searching...
No Matches

◆ sdc_hci_cmd_le_cs_test()

uint8_t sdc_hci_cmd_le_cs_test ( const sdc_hci_cmd_le_cs_test_t p_params)

#include <softdevice_controller/include/sdc_hci_cmd_le.h>

LE CS Test.

The description below is extracted from Core_v6.0, Vol 4, Part E, Section 7.8.142

This command is used to start a CS test where the Implementation Under Test (IUT) is placed in the role of either the initiator or reflector. The first mode-0 channel in the list is used as the starting channel for the test. At the beginning of any test, the IUT in the reflector role shall listen on the first mode-0 channel until it receives the first transmission from the initiator. Similarly, with the IUT in the initiator role, the tester will start by listening on the first mode-0 channel and the IUT shall transmit on that channel for the first half of the first CS step. Thereafter, the parameters of this command describe the required transmit and receive behavior for the CS test.

This command is used to schedule a single CS procedure that consists of one or more CS subevents. After the channels contained in the Channel map or the Channel array in case of an override have been used the number of times indicated by Channel_Map_- Repetition to schedule CS steps, or the maximum number of allowed steps in a CS procedure has been reached, or the maximum number of subevents indicated by the Max_Num_Subevents parameter has been reached, or the maximum number of allowed subevents in a CS procedure has been reached, the CS procedure will end.

The Main_Mode_Type and the Sub_Mode_Type parameters indicate the CS modes to be used during the CS procedure for the specified CS configuration.

The Main_Mode_Repetition parameter indicates the number of main mode CS steps repeated from the last CS subevent at the beginning of the current CS subevent.

The Mode_0_Steps parameter indicates the number of mode-0 CS steps to be included at the beginning of each CS subevent.

The Role parameter indicates the CS role for the local Controller.

The RTT_Type parameter indicates the RTT type and payload length to be used during the CS procedure.

The CS_SYNC_PHY parameter indicates the PHY to be used for CS_SYNC exchanges during the CS procedure.

The CS_SYNC_Antenna_Selection parameter indicates the antenna identifier to be used for transmitting and receiving CS_SYNC packets.

The Subevent_Len parameter indicates the maximum length of a CS subevent.

The Subevent_Interval parameter indicates the gap between the start of consecutive CS subevents. When Subevent_Interval is set to zero, the Subevent_Len parameter is ignored, and only one CS subevent is executed in the CS test.

The Max_Num_Subevents parameter indicates the maximum number of subevents that are in the procedure. If Max_Num_Subevents is set to 0x00, then the Max_Num_Subevents parameter is ignored.

The Transmit_Power_Level parameter indicates the transmit power level used for the CS procedure. The T_IP1_Time, T_IP2_Time, T_FCS_Time, T_PM_Time, and T_SW_Time parameters indicate the time durations used in CS steps as described in [Vol 6] Part H, Section 4.3.

The Tone_Antenna_Config_Selection parameter indicates the Antenna Configuration Index used during antenna switching during the tone phases of CS steps as described in [Vol 6] Part A, Section 5.3.

The SNR_Control_Initiator parameter indicates the SNR control adjustment for the CS_SYNC transmissions of the initiator.

The SNR_Control_Reflector parameter indicates the SNR control adjustment for of the CS_SYNC transmissions of the reflector.

The DRBG_Nonce parameter specifies octets 14 and 15 of the initial value of the DRBG nonce, VDRBG, used in calls to the random bit generation function described in [Vol 6] Part E, Section 3.1.6. The remaining octets of the initial nonce value VDRBG are set to 0x00. All octets of the initial temporal key KDRBG are set to 0x00. The most significant bit of this parameter is stored in the most significant bit of the octet 14 of the DRBG nonce. The least significant bit of this parameter is stored in the least significant bit of octet 15 of the DRBG nonce.

The Channel_Map_Repetition field shall indicate the number of times the Channel_Map is cycled through for non-mode-0 steps within a CS procedure. The Channel_Map_Repetition field shall be greater than or equal to 1. The Channel_Map content is selected based on the setting of the Override_Config bit 0 as described below.

The Override_Config parameter indicates which CS parameters are not derived from the DRBG but determined from the Override_Parameters_Data parameter in this command.

If the Override_Config bit 2 corresponding to CS submode insertion is not set, then the number of main mode CS steps to be executed before a submode CS step during the CS procedure is determined using DRBG with following default values:

• Min_Main_Mode_Steps: 6 • Max_Main_Mode_Steps: 10

If the Override_Config bit 10 corresponding to the Stable Phase test is set, then the procedure is replaced with the Stable Phase test as described in [Vol 6] Part F, Section 2.4. The Override_Parameters_Data is a variable sized object with a length indicated by Override_Parameters_Length parameter whose contents are determined by the bits set in the Override_Config parameter.

An ongoing CS test can be stopped using the HCI_LE_CS_Test_End command (see Section 7.8.143).

The CS test is considered complete when all the results of the CS procedure initiated by the CS test have been reported to the Host.

If the Host issues this command when a CS test is already enabled using the HCI_LE_CS_Test command and has not completed, then the Controller shall return the error code Command Disallowed (0x0C).

Event(s) generated (unless masked away): When the HCI_LE_CS_Test command has completed, an HCI_Command_Complete event shall be generated. The Controller shall either generate the LE_CS_Subevent_- Result event once or generate the LE_CS_Subevent_Result_Continue event multiple times to send results from the completed CS steps to the Host.

Parameters
[in]p_paramsInput parameters.
Return values
0if success.
Returns
Returns value between 0x01-0xFF in case of error. See Vol 2, Part D, Error for a list of error codes and descriptions.