nrfxlib API 2.8.99
Loading...
Searching...
No Matches

◆ sdc_hci_cmd_le_create_cis()

uint8_t sdc_hci_cmd_le_create_cis ( const sdc_hci_cmd_le_create_cis_t * p_params)

#include <softdevice_controller/include/sdc_hci_cmd_le.h>

LE Create CIS.

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

The HCI_LE_Create_CIS command is used by the Central’s Host to create one or more CISes using the connections identified by the ACL_Connection_Handle arrayed parameter.

The CIS_Count parameter is the total number of CISes created by this command.

The CIS_Connection_Handle[i] parameter specifies the connection handle corresponding to the configuration of the CIS to be created and whose configuration is already stored in a CIG.

The ACL_Connection_Handle[i] parameter specifies the connection handle of the ACL connection associated with each CIS to be created. The list of the ACL_Connection_Handles shall be in the same order as the list of the CIS_Connection_Handles e.g., CIS_Connection_Handle[1] will connect to the Peripheral associated with the ACL_Connection_Handle[1].

If this command is issued on the Central before the devices have performed the Feature Exchange procedure, then the Controller shall complete that procedure before initiating the Connected Isochronous Stream Creation procedure (see [Vol 6] Part B, Section 5.1.15).

If any ACL_Connection_Handle[i] is not the handle of an existing ACL connection or any CIS_Connection_Handle[i] is not the handle of a CIS or CIS configuration, the Controller shall return the error code Unknown Connection Identifier (0x02).

If the Host attempts to create a CIS that has already been created, the Controller shall return the error code Connection Already Exists (0x0B).

If two different elements of the CIS_Connection_Handle arrayed parameter identify the same CIS, the Controller shall return the error code Invalid HCI Command Parameters (0x12).

If the Host issues this command before all the HCI_LE_CIS_Established events from the previous use of the command have been generated, the Controller shall return the error code Command Disallowed (0x0C). If the Host issues this command on an ACL_Connection_Handle where the Controller is the Peripheral, the Controller shall return the error code Command Disallowed (0x0C).

Note: The order of the CIS connection handles in this command does not relate to the order of connection handles in the return parameters of the HCI_LE_Set_CIG_Parameters command or the HCI_LE_Set_CIG_Parameters_Test command.

If the Host issues this command when the Connected Isochronous Stream (Host Support) feature bit (see [Vol 6] Part B, Section 4.6.27) is not set, the Controller shall return the error code Command Disallowed (0x0C).

If the Host specified an invalid combination of parameters in the HCI_LE_Set_CIG_Parameters or HCI_LE_Set_CIG_Parameters_Test command that created the CIS configuration, but the Controller could not detect the problem without knowing the properties of the ACL connection associated with the CIS, then the Controller shall return an error which should use the error code Unsupported Feature or Parameter Value (0x11).

Note: If an error is reported in the HCI_Command_Status event, it means that no CIS is created and the Host cannot determine which CIS had the error. Therefore, in the case of an error that only affects one CIS of several, reporting the error in the HCI_LE_CIS_Established event for that CIS means that the remaining CISes are still created and the Host can determine which CIS had the error.

Event(s) generated (unless masked away): When the Controller receives the HCI_LE_Create_CIS command, the Controller sends the HCI_Command_Status event to the Host. An HCI_LE_CIS_Established event will be generated for each CIS when it is established or if it is disconnected or considered lost before being established; until all the events are generated, the command remains pending.

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.