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

◆ sdc_hci_cmd_le_set_cig_params_test()

uint8_t sdc_hci_cmd_le_set_cig_params_test ( const sdc_hci_cmd_le_set_cig_params_test_t p_params,
sdc_hci_cmd_le_set_cig_params_test_return_t p_return 
)

#include <softdevice_controller/include/sdc_hci_cmd_le.h>

LE Set CIG Parameters Test.

The description below is extracted from Core_v5.4, Vol 4, Part E, Section 7.8.98

The HCI_LE_Set_CIG_Parameters_Test command should only be used for testing purposes.

The command is used by a Central's Host to create a CIG and to set the parameters of one or more CISes that are associated with a CIG in the Controller.

The CIG_ID parameter identifies a CIG. This parameter is allocated by the Central's Host and passed to the Peripheral's Host through the Link Layers during the process of creating a CIS. If the CIG_ID does not exist, then the Controller shall first create a new CIG. Once the CIG is created (whether through this command or previously), the Controller shall modify or add CIS configurations in the CIG that is identified by the CIG_ID and update all the parameters that apply to the CIG.

The SDU_Interval_C_To_P parameter specifies the time interval of periodic SDUs from the Central's Host. The SDU_Interval_P_To_C parameter specifies the time interval of periodic SDUs from the Peripheral's Host.

The FT_C_To_P parameter identifies the maximum time for a payload from the Central to Peripheral to be transmitted and re-transmitted, after which it is flushed (see [Vol 6] Part B, Section 4.5.13.5). This parameter is expressed in multiples of ISO_Interval.

The FT_P_To_C parameter identifies the maximum time for a payload from the Peripheral to Central to be transmitted and re-transmitted, after which it is flushed (see[Vol 6] Part B, Section 4.5.13.5). This parameter is expressed in multiples of ISO_Interval.

The ISO_Interval parameter specifies the time between two consecutive CIS anchor points.

The CIS_Count parameter contains the number of CIS configurations being added or modified by this command. The Controller shall set the CIS_Count return parameter equal to this.

The CIS_ID[i] parameter identifies the CIS and is set by the Central's Host and passed to the Peripheral's Host through the Link Layers during the process of establishing a CIS.

The Worst_Case_SCA parameter is the worst-case sleep clock accuracy of all the Peripherals that will participate in the CIG. The Host should get the sleep clock accuracy from all the Peripherals before issuing this command. In case the Host cannot get the sleep clock accuracy from all the Peripherals, it shall set the Worst_Case_SCA parameter to zero.

Note: The Worst_Case_SCA parameter can be used by the Link Layer to better allow for clock drift when scheduling the CISes in the CIG. For example, if a CIS has more than two subevents, the Link Layer of the Central can set the timing of the subevents such that the worst case drift in the Peripheral's clock will not exceed 2 × Sub_Interval. This prevents the Peripheral from synchronizing its timing to the wrong subevent (adjacent subevents cannot be on the same channel).

The Packing parameter is used to indicate the preferred method of arranging subevents of multiple CISes. The subevents can be arranged in Sequential or Interleaved arrangement. This is a recommendation to the Controller which it may ignore. This parameter shall be ignored when there is only one CIS in the CIG.

The Framing parameter indicates the format of the CIS Data PDUs of all the CISes. If the Framing parameter is set to 1 then the CIS Data PDUs of the specified CISes shall be framed, and when set to 0 they shall be unframed (see [Vol 6] Part G, Section 1).

The CIS_ID[i] parameter is used to identify a CIS. The NSE[i] parameter identifies the maximum number of subevents for each CIS in a CIG event.

The Max_SDU_C_To_P[i] parameter identifies the maximum size of SDU from the Central’s Host. If the CIS is unidirectional from Peripheral to Central, this parameter shall be set to 0. If a CIS configuration that is being modified has a data path set in the Central to Peripheral direction and the Host has specified that Max_SDU_C_To_P[i] shall be set to zero, the Controller shall return the error code Command Disallowed (0x0C). The minimum value of the Max_SDU_Size parameter in the ISO Transmit Test mode when the Payload_Type = 1 or 2 shall be 4 octets.

The Max_SDU_P_To_C[i] parameter identifies the maximum size of SDU from the Peripheral’s Host. If the CIS is unidirectional from Central to Peripheral, this parameter shall be set to 0. If a CIS configuration that is being modified has a data path set in the Peripheral to Central direction and the Host has specified that Max_SDU_P_To_C[i] shall be set to zero, the Controller shall return the error code Command Disallowed (0x0C).The minimum value of the Max_SDU parameter in the ISO Transmit Test mode when the Payload_Type = 1 or 2 shall be 4 octets.

The Max_PDU_C_To_P[i] parameter identifies the maximum size PDU from the Central to Peripheral.

The Max_PDU_P_To_C[i] parameter identifies the maximum size PDU from the Peripheral to Central.

The PHY_C_To_P[i] parameter identifies the PHY to be used for transmission of packets from the Central to the Peripheral. The Host shall set only one bit in this parameter and the Controller shall use the PHY set by the Host.

The PHY_P_To_C[i] parameter identifies the PHY to be used for transmission of packets from the Peripheral to the Central. The Host shall set only one bit in this parameter and the Controller shall use the PHY set by the Host.

The BN_C_To_P[i] parameter identifies the burst number for Central to Peripheral (see [Vol 6] Part B, Section 4.5.13). If the CIS is unidirectional from Peripheral to Central, this parameter shall be set to zero.

The BN_P_To_C[i] parameter identifies the burst number for Peripheral to Central (see [Vol 6] Part B, Section 4.5.13). If the CIS is unidirectional from Central to Peripheral, this parameter shall be set to zero.

If the Status return parameter is non-zero, then the state of the CIG and its CIS configurations shall not be changed by the command. If the CIG did not already exist, it shall not be created.

If the Status return parameter is zero, then the Controller shall set the Connection_Handle arrayed return parameter to the connection handle(s) corresponding to the CIS configurations specified in the CIS_IDs command parameter, in the same order. If the same CIS_ID is being reconfigured, the same connection handle shall be returned.

If the Host issues this command when the CIG is not in the configurable state, the Controller shall return the error code Command Disallowed (0x0C).

If the Host attempts to create a CIG or set parameters that exceed the maximum supported resources in the Controller, the Controller shall return the error code Memory Capacity Exceeded (0x07).

If the Host attempts to set CIS parameters that exceed the maximum supported connections in the Controller, the Controller shall return the error code Connection Limit Exceeded (0x09).

If the Host attempts to set an invalid combination of CIS parameters, the Controller shall return the error code Invalid HCI Command Parameters (0x12) or the error code Unsupported Feature or Parameter Value (0x11); it should return the error code Invalid HCI Command Parameters (0x12).

If the Host sets, in the PHY_C_To_P[i] or PHY_P_To_C[i] parameters, a bit for a PHY that the Controller does not support, including a bit that is reserved for future use, the Controller shall return the error code Unsupported Feature or Parameter Value (0x11).

If the Controller does not support asymmetric PHYs and the Host sets PHY_C_To_P[i] to a different value than PHY_P_To_C[i], the Controller shall return the error code Unsupported Feature or Parameter Value (0x11).

Event(s) generated (unless masked away): When the HCI_LE_Set_CIG_Parameters_Test command has completed, an HCI_Command_Complete event shall be generated.

Parameters
[in]p_paramsInput parameters.
[out]p_returnExtra return 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.