nrfxlib API 2.8.99
|
uint8_t sdc_hci_cmd_le_big_create_sync | ( | const sdc_hci_cmd_le_big_create_sync_t * | p_params | ) |
#include <softdevice_controller/include/sdc_hci_cmd_le.h>
LE BIG Create Sync.
The description below is extracted from Core_v6.0, Vol 4, Part E, Section 7.8.106
The HCI_LE_BIG_Create_Sync command is used to synchronize to a BIG described in the periodic advertising train specified by the Sync_Handle parameter.
The BIG_Handle parameter is assigned by the Host to identify the synchronized BIG.
The Encryption parameter indicates whether the Broadcast_Code parameter is valid.
The Broadcast_Code parameter is a 16-octet field that is used to generate the session key to encrypt or decrypt payloads of an encrypted BIS. Broadcast_Code shall be ignored by the Controller if Encryption is set to 0x00.
If Encryption is set to 0x00 for an encrypted BIG or is set to 0x01 for an unencrypted BIG, then the Controller shall return the error Encryption Mode Not Acceptable (0x25).
The MSE (Maximum Subevents) parameter is the maximum number of subevents that a Controller should listen to for data payloads in each interval for a BIS. The Controller may select any of the subevents to listen to.
The BIG_Sync_Timeout parameter specifies the maximum permitted time between successful receptions of BIS PDUs. If this time is exceeded, synchronization is lost. When the Controller establishes synchronization and if the BIG_Sync_Timeout set by the Host is less than 6 × ISO_Interval, the Controller shall set the timeout to 6 × ISO_Interval.
The Num_BIS parameter contains the number of BIS indices specified in the BIS arrayed parameter. The number of BISes requested may be a subset of the BISes available in the BIG.
The BIS arrayed parameter is a list of indices corresponding to BIS(es) in the synchronized BIG. The list of BIS indices shall be in ascending order and shall not contain any duplicates. This list of specified BIS(es) may be all or a subset of BISes available in the BIG.
If the Sync_Handle does not exist, the Controller shall return the error code Unknown Advertising Identifier (0x42).
If the Host sends this command with a BIG_Handle that is already allocated, the Controller shall return the error code Command Disallowed (0x0C).
If the information describing the BIG does not specify a PHY supported by the Controller or does not specify exactly one PHY, the Controller shall return the error code Unsupported Feature or Parameter Value (0x11).
If the Num_BIS parameter is greater than the total number of BISes in the BIG, the Controller shall return the error code Unsupported Feature or Parameter Value (0x11).
If MSE is less than the BN value for the BIS, then the Controller should return the error code Invalid HCI Command Parameters (0x12).
If the Host sends this command when the Controller is in the process of synchronizing to any BIG, i.e. the HCI_LE_BIG_Sync_Established event has not been generated, the Controller shall return the error code Command Disallowed (0x0C).
If the Controller is unable to receive PDUs from the specified number of BISes in the synchronized BIG, it shall return the error code Connection Rejected Due To Limited Resources (0x0D).
If the Controller is already synchronized to the BIG specified by Sync_Handle, it shall return an error which should use the error code Command Disallowed (0x0C).
Event(s) generated (unless masked away): When the Controller receives the HCI_LE_BIG_Create_Sync command, the Controller sends the HCI_Command_Status event to the Host. When the HCI_LE_BIG_Create_Sync command has completed, the HCI_LE_BIG_Sync_Established event will be generated.
If the Controller does not receive a BIS PDU within 6 BIS events of first listening, then it shall generate an HCI_LE_BIG_Sync_Established event that should have Status set to Connection Failed to be Established / Synchronization Timeout (0x3E).
[in] | p_params | Input parameters. |
0 | if success. |