nrfxlib API 3.3.99
Loading...
Searching...
No Matches

◆ sdc_hci_cmd_le_big_create_sync()

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.3, Vol 4, Part E, Section 7.8.106

This 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.

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 BISes specified in the BIS arrayed parameter. The number of BISes requested may be less than the number of BISes in the BIG.

The BIS arrayed parameter is a list of BIS_Numbers corresponding to BIS(es) in the synchronized BIG. The list of BIS_Numbers shall be in ascending order and shall not contain any duplicates.

Errors:

See Section 4.5.2 for a list of error types and descriptions.

Type   Condition                                                         Error code
MC     Encryption is set to 0x00 for an encrypted BIG or is set to       Encryption Mode Not
       0x01 for an unencrypted BIG.                                      Acceptable (0x25)
MC     Sync_Handle does not exist.                                       Unknown Advertising
                                                                         Identifier (0x42)
MC     BIG_Handle identifies a BIG.                                      Command Disallowed
                                                                         (0x0C)
MC     The information describing the BIG does not specify a PHY         Unsupported Feature or
       supported by the Controller or does not specify exactly one       Parameter Value (0x11)
       PHY.
MC     Num_BIS is greater than the total number of BISes in the BIG.     Unsupported Feature or
                                                                         Parameter Value (0x11)
RC     MSE is less than the BN value for the BIS.                        Invalid HCI Command
                                                                         Parameters (0x12)
MC     The Controller is in the process of synchronizing to any BIG      Command Disallowed
       and the HCI_LE_BIG_Sync_Established event has not been            (0x0C)
       generated.
MC     The Controller is unable to receive PDUs from the specified       Rejected Due To
       number of BISes in the synchronized BIG.                          Limited Resources
                                                                         (0x0D).
M      The Controller is already synchronized to the BIG specified by    Command Disallowed
       Sync_Handle.                                                      (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).

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.