RA Flexible Software Package Documentation  Release v5.3.0

 

Functions

ble_status_t R_BLE_ISO_CreateBig (uint8_t *p_big_hdl, uint8_t adv_hdl, st_ble_iso_big_param_t *p_big_param)
 Create a BIG. More...
 
ble_status_t R_BLE_ISO_StopBig (uint8_t big_hdl, uint8_t reason)
 Stop a BIG of the big_handle. More...
 
ble_status_t R_BLE_ISO_CreateBigSync (uint8_t *p_big_hdl, uint16_t sync_hdl, st_ble_iso_big_sync_param_t *p_big_sync_param)
 Create a BIG sync. More...
 
ble_status_t R_BLE_ISO_TerminateBigSync (uint8_t big_hdl)
 Terminate a BIG sync. More...
 
ble_status_t R_BLE_ISO_SetCigParam (uint8_t *p_cig_id, st_ble_iso_cig_param_t *p_cig_param)
 Create a CIG with param. More...
 
ble_status_t R_BLE_ISO_CreateCis (st_ble_iso_cis_conn_t *p_cis_conn)
 Create one or more CISes using the CIS param. More...
 
ble_status_t R_BLE_ISO_RemoveCig (uint8_t cig_id)
 remove a CIG of id and all of CIS streams in this CIG. More...
 
ble_status_t R_BLE_ISO_ReplyCisRequest (uint8_t cig_id, uint8_t cis_id, uint8_t response, uint8_t reason)
 Reply the CIS request from a remote device. More...
 
ble_status_t R_BLE_ISO_SetupDataPath (uint16_t conn_hdl, st_ble_iso_chan_path *p_path)
 Create the ISO data path between the Host and the Controller for a CIS. More...
 
ble_status_t R_BLE_ISO_SendData (st_ble_iso_sdu_t *p_sdu_info)
 Send a SDU payload to a ISO channel of conn_hdl. More...
 
ble_status_t R_BLE_ISO_SendDataNoCopy (st_ble_iso_sdu_t *p_sdu_info)
 Send SDU payload to a ISO channel of conn_hdl without copying data. More...
 
ble_status_t R_BLE_ISO_CreateBigTest (uint8_t *p_big_hdl, uint8_t adv_hdl, st_ble_iso_create_big_test_param_t *p_create_big_test_param)
 Create one or more BISes of a BIG (see [Vol 6] Part B, Section 4.4.6). All BISes in the BIG have the same values for all parameters. More...
 
ble_status_t R_BLE_ISO_SetCigParamTest (uint8_t *p_cig_id, st_ble_iso_set_cig_param_test_param_t *p_set_cig_param_test_param)
 Create a CIG and set the parameters of one or more CISes that are associated with a CIG in the Controller. More...
 
ble_status_t R_BLE_ISO_TransmitTest (uint16_t conn_hdl, uint8_t payload_type)
 Configure an established CIS or BIS and transmit test payloads which are generated by the Controller. More...
 
ble_status_t R_BLE_ISO_ReceiveTest (uint16_t conn_hdl, uint8_t payload_type)
 Configure an established CIS or a synchronized BIG to receive payloads. More...
 
ble_status_t R_BLE_ISO_ReadTestCounters (uint16_t conn_hdl)
 Read the test counters (see [Vol 6] Part B, Section 7) in the Controller which is configured in ISO Receive Test mode for a CIS or BIS specified by the Connection_Handle. Reading the test counters does not reset the test counters. More...
 
ble_status_t R_BLE_ISO_TestEnd (uint16_t conn_hdl)
 Terminate the ISO Transmit and/or Receive Test mode for a CIS or BIS specified by the Connection_Handle parameter but does not terminate the CIS or BIS. More...
 
ble_status_t R_BLE_ISO_ReadLinkQuality (uint16_t conn_hdl)
 Returns the values of various counters related to link quality that are associated with the isochronous stream specified by the Connection_Handle parameter. More...
 
ble_status_t R_BLE_ISO_RemoveDataPath (uint16_t conn_hdl, uint8_t dir)
 Remove the input and/or output data path(s) associated with a CIS, CIS configuration, or BIS identified by the Connection_Handle parameter. More...
 

Detailed Description

Data Structures

struct  st_ble_iso_big_param_t
 big param More...
 
struct  st_ble_iso_big_sync_param_t
 big sync param More...
 
struct  st_ble_cis_qos
 CIS channel QoS. More...
 
struct  st_ble_iso_cig_param_t
 CIG group param. More...
 
struct  st_ble_iso_cis_conn_t
 CIS stream param. More...
 
struct  st_ble_iso_chan_path
 ISO channel path param. More...
 
struct  st_ble_iso_sdu_t
 SDU data structure in SDU input/output flow. More...
 
struct  st_ble_iso_bis_qos_t
 BIS channel QoS data. More...
 
struct  st_ble_iso_create_big_test_param_t
 This is the parameters used in R_BLE_ISO_CreateBigTest(). More...
 
struct  st_ble_cis_qos_test_t
 CIS channel QoS. This is the member variables of st_ble_iso_set_cig_param_test_param_t. More...
 
struct  st_ble_iso_set_cig_param_test_param_t
 Parameters used in R_BLE_ISO_SetCigParamTest(). More...
 
struct  st_ble_iso_big_comp_evt_t
 BIG info of a created BIG. More...
 
struct  st_ble_iso_biginfo_rept_evt_t
 BIG info report in a periodic adv. More...
 
struct  st_ble_iso_cig_set_evt_t
 CIS. More...
 
struct  st_ble_iso_cis_req_evt_t
 CIS reqest from remote device. More...
 
struct  st_ble_iso_cis_qos_t
 CIS channel QoS data. More...
 
struct  st_ble_iso_cis_est_evt_t
 Information of CIS that was estabilished. More...
 
struct  st_ble_iso_tx_comp_evt_t
 Information of ISO SDU that was sent. More...
 
struct  st_ble_iso_test_cnt_info_t
 ISO test count. More...
 
struct  st_ble_iso_test_end_rept_t
 ISO test report. More...
 
struct  st_ble_iso_tx_sync_info_t
 iso TX sync information More...
 
struct  st_ble_iso_group_hdl_evt_t
 ISO gourp handle. More...
 

Macros

#define BLE_ISO_PACKING_SEQUENTIAL
 sequential method of arranging subevents of multiple ISO stream
 
#define BLE_ISO_PACKING_INTERLEAVED
 interleaved method of arranging subevents of multiple ISO stream
 
#define BLE_ISO_FRAMING_UNFRAMED
 Unframed format for sending ISO PDUs.
 
#define BLE_ISO_FRAMING_FRAMED
 Framed format for sending ISO PDUs.
 
#define BLE_ISO_BROADCAST_CODE_SIZE
 Broadcast code size in BIG.
 
#define BLE_ISO_TIMESTAMP_NONE
 timestamp value when ts_valid is 0
 
#define BLE_ISO_SYNC_MSE_AUTO
 Let controller choose the max subevent.
 
#define BLE_ISO_CIS_ACCEPT
 Accept a CIS request.
 
#define BLE_ISO_CIS_REJECT
 Reject a CIS request.
 
#define BLE_ISO_DATA_PATH_HCI
 Value to set the ISO data path over HCI.
 
#define BLE_ISO_DATA_PATH_DIR_INPUT
 audio datapath directions: App to BLE
 
#define BLE_ISO_DATA_PATH_DIR_OUTPUT
 audio datapath directions: BLE to App
 
#define BLE_ISO_DATA_MAX_PDU
 maximum number of data octets of ISO Data PDU
 
#define BLE_ISO_DATA_MAX_SDU
 maximum number of data octets of ISO Data SDU
 

Enumerations

enum  e_ble_iso_evt_t
 ISO Event Identifier. More...
 

Data Structure Documentation

◆ st_ble_iso_big_param_t

struct st_ble_iso_big_param_t

big param

Data Fields
uint8_t num_bis Number channels.

Maximum number of channels in a single group is BLE_ISO_MAX_GROUP_ISO_COUNT

uint32_t sdu_intv Channel interval in us.

Value range BT_ISO_SDU_INTERVAL_MIN - BT_ISO_SDU_INTERVAL_MAX.

uint16_t max_sdu Maximum size of an SDU.

Value range 0x0001 to 0x0FFF

uint16_t max_latency Channel Latency in ms.

Value range 0x0005 to 0x0FA0

uint8_t rtn The number of times that every BIS Data PDU should be retransmitted.

Value range 0x00 to 0x1E

uint8_t phy Advertising PHY.
value description
0x01 Advertiser PHY is 1M PHY.
0x02 Advertiser PHY is 2M PHY.
0x03 Advertiser PHY is Coded PHY.
uint8_t packing Channel packing mode.

the preferred method of arranging subevents of multiple BISes. BLE_ISO_PACKING_SEQUENTIAL for Sequential or BLE_ISO_PACKING_INTERLEAVED for Interleaved

uint8_t framing Channel framing mode.

the format of the BIS Data PDUs. BLE_ISO_FRAMING_UNFRAMED for unframed or BLE_ISO_FRAMING_FRAMED for framed.

uint8_t encryption

Whether or not to encrypt the streams.

uint8_t bcode[BLE_ISO_BROADCAST_CODE_SIZE] Broadcast code.

The code used to derive the session key that is used to encrypt and decrypt BIS payloads.

◆ st_ble_iso_big_sync_param_t

struct st_ble_iso_big_sync_param_t

big sync param

Data Fields
uint8_t num_bis Number channels in bis_bitfield.

Maximum number of channels in a single group is BLE_ISO_MAX_GROUP_ISO_COUNT

uint32_t bis_bitfield

Bitfield of the BISes to sync to

The BIS indexes start from 0x01, so the lowest allowed bit is bit0 that represents index 0x01. To synchronize to e.g. BIS indexes bit1 and bit2, the bitfield value should be bit0 | bit1.

uint8_t max_subevents

maximum number of subevents that a Controller should use to receive data payloads in each interval for a BIS. BLE_ISO_SYNC_MSE_AUTO to let controller choose.

uint16_t sync_timeout
uint8_t encryption

Whether or not to encrypt the streams.

uint8_t bcode[BLE_ISO_BROADCAST_CODE_SIZE] Broadcast code.

The code used to derive the session key that is used to encrypt and decrypt BIS payloads.

◆ st_ble_cis_qos

struct st_ble_cis_qos

CIS channel QoS.

Data Fields
uint16_t max_sdu_c2p max sdu size of input and output
uint16_t max_sdu_p2c
uint8_t rtn_c2p number of times that a CIS Data PDU should be retransmitted.
uint8_t rtn_p2c
uint8_t phy_c2p Transmitter PHY preference.

The phy_c2p and phy_p2c field is set to a bitwise OR of the following values. All other values are ignored.

macro description
BLE_GAP_SET_PHYS_HOST_PREF_1M(0x01) Use 1M PHY for Transmitter PHY.
BLE_GAP_SET_PHYS_HOST_PREF_2M(0x02) Use 2M PHY for Transmitter PHY.
BLE_GAP_SET_PHYS_HOST_PREF_CD(0x04) Use Coded PHY for Transmitter PHY.
uint8_t phy_p2c

◆ st_ble_iso_cig_param_t

struct st_ble_iso_cig_param_t

CIG group param.

Data Fields
uint8_t num_cis Number channels of CIG.

Maximum number of channels in a single group is BLE_ISO_MAX_GROUP_ISO_COUNT

uint32_t sdu_intv_c2p Center to Peripheral Channel interval in us.
uint32_t sdu_intv_p2c Peripheral to Center Channel interval in us.
uint16_t max_latency_c2p Center to Peripheral Channel Latency in ms.

Value range 0x0005 - 0x0FA0

uint16_t max_latency_p2c Peripheral to CenterCenter to Peripheral Channel Latency in ms.

Value range 0x0005 - 0x0FA0

uint8_t packing Channel packing mode.

The preferred method of arranging subevents of multiple CISes. BLE_ISO_PACKING_SEQUENTIAL for Sequential or BLE_ISO_PACKING_INTERLEAVED for Interleaved

uint8_t framing Channel framing mode.

The format of the CIS Data PDUs. BLE_ISO_FRAMING_UNFRAMED for unframed or BLE_ISO_FRAMING_FRAMED for framed.

st_ble_cis_qos cis_qos[BLE_ISO_MAX_GROUP_ISO_COUNT] qos param.

◆ st_ble_iso_cis_conn_t

struct st_ble_iso_cis_conn_t

CIS stream param.

Data Fields
uint8_t cig_id CIG id of this group.
uint8_t num_cis Number channels of CIG.

Maximum number of channels in a single group is BLE_ISO_MAX_GROUP_ISO_COUNT

uint16_t cis_hdl[BLE_ISO_MAX_GROUP_ISO_COUNT] handles for every CIS.

CIS handles are got from event BLE_ISO_EVENT_CIG_PARAM_SET_COMP.

uint16_t acl_hdl[BLE_ISO_MAX_GROUP_ISO_COUNT] handles of ACL for every CIS.

◆ st_ble_iso_chan_path

struct st_ble_iso_chan_path

ISO channel path param.

Data Fields
uint8_t path_dir path direction.

Select value from BLE_ISO_DATAPATH_DIR_INPUT or BLE_ISO_DATAPATH_DIR_OUTPUT

uint8_t path_id path ID

Only BLE_ISO_DATA_PATH_HCI is accepted.

uint8_t coding_format Coding Format.

Refer Bluetooth SIG Assigned Number(https://www.bluetooth.com/specifications/assigned-numbers).

uint16_t company_id Company ID.
uint16_t vcodec_id Vendor-defined Codec ID.

Shall be ignored if coding_format is not 0xFF

uint32_t delay Controller Delay.
uint8_t codec_conf_len Codec Configuration length. Reserved for future use.
uint8_t * p_codec_conf Pointer to an array containing the Codec Configuration. Reserved for future use.

◆ st_ble_iso_sdu_t

struct st_ble_iso_sdu_t

SDU data structure in SDU input/output flow.

Event Code : BLE_ISO_EVENT_ISO_RX_DATA_IND. Also the param of R_BLE_ISO_SendData and R_BLE_ISO_SendDataNoCopy.

ISO SDU structure

Data Fields
uint16_t conn_hdl Identifier of the logical channel. Should use BIS or CIS handle for this field.
uint16_t ts_valid if 0 then timestamp value is invalid.
uint32_t timestamp timestamp of SDU. Valid when ts_valid is not 0.
uint16_t seq_num sequence number
uint16_t sdu_len Length of SDU.
uint8_t * p_sdu_data SDU data.

◆ st_ble_iso_bis_qos_t

struct st_ble_iso_bis_qos_t

BIS channel QoS data.

Data Fields
uint8_t nse Maximum number of subevents in each isochronous event.
uint8_t bn The number of new payloads in each BIS event.
uint8_t pto Offset used for pre-transmissions.
uint8_t irc The number of times a payload is transmitted in a BIS event.
uint16_t max_pdu Maximum size, in octets, of the payload.
uint16_t iso_interval The interval, in microseconds, of periodic SDUs.

◆ st_ble_iso_create_big_test_param_t

struct st_ble_iso_create_big_test_param_t

This is the parameters used in R_BLE_ISO_CreateBigTest().

Data Fields
uint8_t num_bis Total number of BISes in the BIG.
uint8_t sdu_interval[3] The interval, in microseconds, of periodic SDUs.
uint16_t iso_interval The time between consecutive BIG anchor points.
uint8_t nse The total number of subevents in each interval of each BIS in the BIG.
uint16_t max_sdu Maximum size, in octets, of an SDU.
uint16_t max_pdu Maximum size, in octets, of payload.
uint8_t phy The transmitter PHY of packets.
uint8_t packing The preferred method of arranging subevents of multiple BISes.
uint8_t framing The format for sending BIS Data PDUs.
uint8_t bn Number of new payloads for each BIS in a BIS event.
uint8_t irc Number of times the scheduled data packet is transmitted.
uint8_t pto Offset in number of ISO_Intervals for pre transmissions of data packets.
uint8_t encryption Encryption mode of the BISes in the BIG.
uint8_t bcode[BLE_ISO_BROADCAST_CODE_SIZE] Used to generate the session key to encrypt payloads of all BISes in the BIG.

◆ st_ble_cis_qos_test_t

struct st_ble_cis_qos_test_t

CIS channel QoS. This is the member variables of st_ble_iso_set_cig_param_test_param_t.

Data Fields
uint8_t cis_id Used to identify the CIS.
uint8_t nse Maximum number of subevents for each CIS in a CIG event.
uint16_t c_sdu Maximum size, in octets, of the payload from the Central Host.
uint16_t p_sdu Maximum size, in octets, of the payload from the Peripheral Host.
uint16_t c_pdu Maximum size, in octets, of the payload from the Central Link Layer to the Peripheral Link Layer.
uint16_t p_pdu Maximum size, in octets, of the payload from the Peripheral Link Layer to the Central Link Layer.
uint8_t c_phy The transmitter PHY of packets from the Central.
uint8_t p_phy The transmitter PHY of packets from the Peripheral.
uint8_t c_bn Burst number for Central to Peripheral.
uint8_t p_bn Burst number for Peripheral to Central.

◆ st_ble_iso_set_cig_param_test_param_t

struct st_ble_iso_set_cig_param_test_param_t

Parameters used in R_BLE_ISO_SetCigParamTest().

Data Fields
uint8_t c_interval[3] Time interval of periodic SDUs from the Central Host.
uint8_t p_interval[3] Time interval of periodic SDUs from the Peripheral Host.
uint8_t c_ft Maximum time for a payload from the Central to Peripheral to be transmitted and re-transmitted, after which it is flushed.
uint8_t p_ft Maximum time for a payload from the Peripheral to Central to be transmitted and re-transmitted, after which it is flushed.
uint16_t iso_interval Time between two consecutive CIS anchor points.
uint8_t sca Worst-case sleep clock accuracy of all the Peripherals that will participate in the CIG.
uint8_t packing Preferred method of arranging subevents of multiple CISes.
uint8_t framing Format of the CIS Data PDUs of all the CISes.
uint8_t num_cis Total number of CIS configurations in the CIG being added or modified.
st_ble_cis_qos_test_t cis[BLE_ISO_MAX_GROUP_ISO_COUNT] CIS QoS configurations.

◆ st_ble_iso_big_comp_evt_t

struct st_ble_iso_big_comp_evt_t

BIG info of a created BIG.

Event Code : BLE_ISO_EVENT_CREATE_BIG_COMP BLE_ISO_EVENT_CREATE_BIG_SYNC_COMP: st_ble_iso_big_comp_evt_t

Data Fields
uint8_t status status of BIG creation
uint8_t big_hdl BIG handle.
uint32_t sync_delay BIG sync delay.
uint32_t latency Actual latency returned by controller.
uint8_t phy PHY.
st_ble_iso_bis_qos_t bis_qos qos parameters
uint8_t num_bis number of streams in the group
uint16_t bis_hdl[BLE_ISO_MAX_GROUP_ISO_COUNT] handles of all streams

◆ st_ble_iso_biginfo_rept_evt_t

struct st_ble_iso_biginfo_rept_evt_t

BIG info report in a periodic adv.

Data Fields
uint8_t sid Advertiser SID.
uint8_t num_bis Number of BISes in the BIG.
uint8_t sub_evt_count Maximum number of subevents in each isochronous event.
uint16_t iso_interval Interval between two BIG anchor point (N * 1.25 ms)
uint8_t burst_number The number of new payloads in each BIS event.
uint8_t pto Offset used for pre-transmissions.
uint8_t rep_count The number of times a payload is transmitted in a BIS event.
uint16_t max_pdu Maximum size, in octets, of the payload.
uint32_t sdu_interval The interval, in microseconds, of periodic SDUs.
uint16_t max_sdu Maximum size of an SDU, in octets.
uint8_t phy Channel PHY.
uint8_t framing Channel framing mode.
uint8_t encryption Whether or not the BIG is encrypted.

◆ st_ble_iso_cig_set_evt_t

struct st_ble_iso_cig_set_evt_t

CIS.

Data Fields
uint8_t cig_id number of CIG streams
uint8_t num_cis number of CIS streams
uint8_t cis_id[BLE_ISO_MAX_GROUP_ISO_COUNT] cis_id over peers. Application should store cis_id for profile's usage
uint16_t cis_hdl[BLE_ISO_MAX_GROUP_ISO_COUNT] CIS conn handle.

◆ st_ble_iso_cis_req_evt_t

struct st_ble_iso_cis_req_evt_t

CIS reqest from remote device.

Data Fields
uint8_t cig_id cig_id over peers. Application should check the request by cig_id and cis_id
uint8_t cis_id cis_id over peers. Application should check the request by cig_id and cis_id
uint16_t acl_hdl The ACL handle over which this cis is created.

◆ st_ble_iso_cis_qos_t

struct st_ble_iso_cis_qos_t

CIS channel QoS data.

Data Fields
uint8_t nse Maximum number of subevents in each isochronous event.
uint8_t bn_c2p The number of new payloads in each CIS event.
uint8_t bn_p2c
uint8_t flush_to_c2p The flush timeout, in multiples of the ISO_Interval for the CIS.
uint8_t flush_to_p2c
uint16_t max_pdu_c2p Maximum size, in octets, of the payload.
uint16_t max_pdu_p2c
uint16_t iso_interval The time between two consecutive CIS anchor points.

◆ st_ble_iso_cis_est_evt_t

struct st_ble_iso_cis_est_evt_t

Information of CIS that was estabilished.

Data Fields
uint16_t cis_hdl CIS handler.
uint32_t cig_sync_delay CIG sync delay.
uint32_t cis_sync_delay CIS sync delay.
uint32_t latency_c2p latency of each direction
uint32_t latency_p2c
uint8_t phy_c2p PHY of each direction.
uint8_t phy_p2c
st_ble_iso_cis_qos_t cis_qos qos parameters

◆ st_ble_iso_tx_comp_evt_t

struct st_ble_iso_tx_comp_evt_t

Information of ISO SDU that was sent.

Data Fields
uint16_t conn_hdl

connection handle of the ISO packet that was sent

uint32_t seq_num

sequence number of ISO packet that was sent

◆ st_ble_iso_test_cnt_info_t

struct st_ble_iso_test_cnt_info_t

ISO test count.

Data Fields
uint16_t conn_hdl Indicate an BIS or CIS.
uint32_t received_cnt Number in the Received_SDU_Count.
uint32_t missed_cnt Number in the Missed_SDU_Count.
uint32_t failed_cnt Number in the Failed_SDU_Count.

◆ st_ble_iso_test_end_rept_t

struct st_ble_iso_test_end_rept_t

ISO test report.

Data Fields
uint16_t conn_hdl Indicate an BIS or CIS.
uint32_t received_cnt Number in the Received_SDU_Count.
uint32_t missed_cnt Number in the Missed_SDU_Count.
uint32_t failed_cnt Number in the Failed_SDU_Count.

◆ st_ble_iso_link_quality_info_t

struct st_ble_iso_link_quality_info_t

ISO link qulity information.

Data Fields
uint16_t conn_hdl Indicate an BIS or CIS.
uint32_t tx_unacked_packets Value of the Tx_UnACKed_Packets counter.
uint32_t tx_flushed_packets Value of the Tx_Flushed_Packets counter.
uint32_t tx_last_subevent_packets Value of the Tx_Last_Subevent_Packets counter.
uint32_t retransmitted_packets Value of the Retransmitted_Packets counter.
uint32_t crc_error_packets Value of the CRC_Error_Packets counter.
uint32_t rx_unreceived_packets Value of the Rx_Unreceived_Packets counter.
uint32_t duplicate_packets Value of the Duplicate_Packets counter.

◆ st_ble_iso_tx_sync_info_t

struct st_ble_iso_tx_sync_info_t

iso TX sync information

Data Fields
uint16_t conn_hdl

Indicate an BIS or CIS.

uint32_t ts

CIG reference point or BIG anchor point of a transmitted SDU, in microseconds.

uint32_t offset

Time offset, in microseconds

uint16_t seq_num

Packet sequence number

◆ st_ble_iso_group_hdl_evt_t

struct st_ble_iso_group_hdl_evt_t

ISO gourp handle.

Data Fields
uint8_t group_hdl BIG handle or CIG id.

Enumeration Type Documentation

◆ e_ble_iso_evt_t

ISO Event Identifier.

Enumerator
BLE_ISO_EVENT_CREATE_BIG_COMP 

R_BLE_ISO_CreateBig() created a big successfully.

Event Data:

st_ble_iso_big_comp_evt_t

BLE_ISO_EVENT_BIGINFO_REPT 

Big Info is detected in a periodic adv data.

Event Data:

st_ble_iso_biginfo_rept_evt_t

BLE_ISO_EVENT_CREATE_BIG_SYNC_COMP 

The sync-id specified by R_BLE_ISO_CreateBigSync() has already established a big sync.

st_ble_iso_big_comp_evt_t

BLE_ISO_EVENT_ISO_RX_DATA_IND 

An ISO SDU is received.

Event Data:

st_ble_iso_sdu_t

BLE_ISO_EVENT_ISO_TX_COMP 

An ISO SDU is sent.

Event Data:

st_ble_iso_tx_comp_evt_t

BLE_ISO_EVENT_SYNC_LOST 

This event notifies the application layer that the ISO sync has failed.

Event Data:

st_ble_iso_group_hdl_evt_t

BLE_ISO_EVENT_SYNC_TERM 

This event notifies the application layer that the BIG sync has been terminated.

Event Data:

st_ble_iso_group_hdl_evt_t

BLE_ISO_EVENT_CIG_PARAM_SET_COMP 

The request for CIG setting parameter has been sent to Controller.

Event Data:

st_ble_iso_cig_set_evt_t

BLE_ISO_EVENT_CIS_REQ 

The CIS request has been received from to remote device.

Event Data:

st_ble_iso_cis_req_evt_t

BLE_ISO_EVENT_CIS_EST 

An CIS connection is estabilished.

Event Data:

st_ble_iso_cis_est_evt_t

BLE_ISO_EVENT_SETUP_DATA_PATH_COMP 

Event Data:

st_ble_gap_conn_hdl_evt_t

BLE_ISO_EVENT_CIG_REMOVE_COMP 

Event Data:

st_ble_iso_group_hdl_evt_t

BLE_ISO_EVENT_BIG_REMOVE_COMP 

Event Data:

st_ble_iso_group_hdl_evt_t

BLE_ISO_EVENT_REPLY_CIS_REQ_COMP 

Event Data:

st_ble_gap_conn_hdl_evt_t

BLE_ISO_EVENT_GET_TX_SYNC_COMP 

Event Data:

st_ble_iso_tx_sync_info_t

BLE_GAP_EVENT_READ_ANT_INFO_COMP 

Event Data:

st_ble_gap_cte_antenna_info_t

BLE_ISO_EVENT_TX_TEST_COMP 

Event Data:

st_ble_gap_conn_hdl_evt_t

BLE_ISO_EVENT_RX_TEST_COMP 

Event Data:

st_ble_gap_conn_hdl_evt_t

BLE_ISO_EVENT_READ_TEST_CNT_COMP 

Event Data:

st_ble_iso_test_cnt_info_t

BLE_ISO_EVENT_TEST_ENDED 

Event Data:

st_ble_iso_test_end_rept_t

BLE_ISO_EVENT_READ_LINK_QUALITY_COMP 

Event Data:

st_ble_iso_link_quality_info_t

BLE_ISO_EVENT_REMOVE_DATAPATH_COMP 

Event Data:

st_ble_gap_conn_hdl_evt_t

BLE_GAP_EVENT_PER_ADV_RECV_ON 

Event Data:

None

BLE_GAP_EVENT_PER_ADV_RECV_OFF 

Event Data:

None

Function Documentation

◆ R_BLE_ISO_CreateBig()

ble_status_t R_BLE_ISO_CreateBig ( uint8_t *  p_big_hdl,
uint8_t  adv_hdl,
st_ble_iso_big_param_t p_big_param 
)

Create a BIG.

Parameters
[out]p_big_hdlBIG handle is assigned by host stack, and value is passed out.
[in]adv_hdlPeriodic adv handle which carries the biginfo.
[in]p_big_paramBIG param
Return values
BLE_SUCCESS(0x0000)Success

◆ R_BLE_ISO_StopBig()

ble_status_t R_BLE_ISO_StopBig ( uint8_t  big_hdl,
uint8_t  reason 
)

Stop a BIG of the big_handle.

Parameters
[in]big_hdlhandle of the BIG to be stopped.
[in]reasonreason of termination.
Return values
BLE_SUCCESS(0x0000)Success

◆ R_BLE_ISO_CreateBigSync()

ble_status_t R_BLE_ISO_CreateBigSync ( uint8_t *  p_big_hdl,
uint16_t  sync_hdl,
st_ble_iso_big_sync_param_t p_big_sync_param 
)

Create a BIG sync.

Parameters
[out]p_big_hdlBIG handle is assigned by host stack, and value is passed out.
[in]sync_hdlPeriodic adv sid which carries the biginfo.
[in]p_big_sync_paramBIG param which is got from biginfo.
Return values
BLE_SUCCESS(0x0000)Success

◆ R_BLE_ISO_TerminateBigSync()

ble_status_t R_BLE_ISO_TerminateBigSync ( uint8_t  big_hdl)

Terminate a BIG sync.

Parameters
[in]big_hdlhandle of the BIG sync to be terminated.
Return values
BLE_SUCCESS(0x0000)Success

◆ R_BLE_ISO_SetCigParam()

ble_status_t R_BLE_ISO_SetCigParam ( uint8_t *  p_cig_id,
st_ble_iso_cig_param_t p_cig_param 
)

Create a CIG with param.

This function requests BLE system to create a CIG. The result of this API call is notified in BLE_ISO_EVENT_CIG_PARAM_SET_COMP event.

Parameters
[out]p_cig_idCIG is assigned by host stack, and value is passed out.
[in]p_cig_paramCIG param
Return values
BLE_SUCCESS(0x0000)Success

◆ R_BLE_ISO_CreateCis()

ble_status_t R_BLE_ISO_CreateCis ( st_ble_iso_cis_conn_t p_cis_conn)

Create one or more CISes using the CIS param.

This function send the CIS requests to the remote devices. The result of this API call is returned by a return value. Remote device receives BLE_ISO_EVENT_CIS_REQ event. The response from remote device is notified in BLE_ISO_EVENT_CIS_EST event. Once CIS connectionis estabilished successfully, they can be disconnected by R_BLE_GAP_Disconnect.

Parameters
[in]p_cis_connCIS param
Return values
BLE_SUCCESS(0x0000)Success

◆ R_BLE_ISO_RemoveCig()

ble_status_t R_BLE_ISO_RemoveCig ( uint8_t  cig_id)

remove a CIG of id and all of CIS streams in this CIG.

Parameters
[out]cig_idCIG id to be removed.
Return values
BLE_SUCCESS(0x0000)Success

◆ R_BLE_ISO_ReplyCisRequest()

ble_status_t R_BLE_ISO_ReplyCisRequest ( uint8_t  cig_id,
uint8_t  cis_id,
uint8_t  response,
uint8_t  reason 
)

Reply the CIS request from a remote device.

This function replies to the CIS request from the remote device. The CIS request from the remote device is notified in BLE_ISO_EVENT_CIS_REQ event. The result of this API call is returned by a return value. The result is notified in BLE_ISO_EVENT_CIS_EST event.

Parameters
[in]cig_idCIG ID
[in]cis_idCIS ID
[in]responseAccept or reject the pairing request from the remote device.
macro description
BLE_ISO_CIS_ACCEPT(0x00) Accept the CIS request.
BLE_ISO_CIS_REJECT(0x01) Reject the CIS request.
[in]reasonThe reason for rejecting CIS request. This parameter is ignored when response is BLE_ISO_CIS_ACCEPT. Refer the error code described in Core Specification Vol.2 Part D ,"2 Error Code Descriptions".

◆ R_BLE_ISO_SetupDataPath()

ble_status_t R_BLE_ISO_SetupDataPath ( uint16_t  conn_hdl,
st_ble_iso_chan_path p_path 
)

Create the ISO data path between the Host and the Controller for a CIS.

This function behaviors depending on the platform. For SoC without Bluetooth Audio support, only the following value are valid in param path:

field value
path_id BLE_ISO_DATA_PATH_HCI
coding_format 0xFF (Vendor specific coding format)
Parameters
[in]conn_hdlCIS handle
[in]p_pathdata path configuration
Return values
BLE_SUCCESS(0x0000)Success

◆ R_BLE_ISO_SendData()

ble_status_t R_BLE_ISO_SendData ( st_ble_iso_sdu_t p_sdu_info)

Send a SDU payload to a ISO channel of conn_hdl.

This function copies SDU payload into host's buffer and push the buffer into host's TX queue. Once the payload is accepted by controller scheduler, BLE_ISO_EVENT_ISO_TX_COMP event is sent back to application. Due to limitation of host buffer capacity, the maximum size of SDU payload is 251 bytes (BLE_ISO_DATA_MAX_PDU).

Parameters
[in]p_sdu_infoSDU info and data
Return values
BLE_SUCCESS(0x0000)Success

◆ R_BLE_ISO_SendDataNoCopy()

ble_status_t R_BLE_ISO_SendDataNoCopy ( st_ble_iso_sdu_t p_sdu_info)

Send SDU payload to a ISO channel of conn_hdl without copying data.

This function behaviors similar to R_BLE_ISO_SendData, but without copying SDU payload to the buffer in host. For this reason application should hold the buffer until a BLE_ISO_EVENT_ISO_TX_COMP event with the same conn_hdl and seq_number of p_sdu_info is received. The maximum size of SDU payload defined by BLE_ISO_DATA_MAX_SDU.

Parameters
[in]p_sdu_infoSDU info and data
Return values
BLE_SUCCESS(0x0000)Success

◆ R_BLE_ISO_CreateBigTest()

ble_status_t R_BLE_ISO_CreateBigTest ( uint8_t *  p_big_hdl,
uint8_t  adv_hdl,
st_ble_iso_create_big_test_param_t p_create_big_test_param 
)

Create one or more BISes of a BIG (see [Vol 6] Part B, Section 4.4.6). All BISes in the BIG have the same values for all parameters.

Parameters
[out]p_big_hdlUsed to identify a BIG.
[in]adv_hdlUsed to identify an advertising set.
[in]p_create_big_test_paramspecified parameter of BIG param test
Return values
BLE_SUCCESS(0x0000)Success, otherwise "HCI Spec Error" in enum RBLE_STATUS_enum.

◆ R_BLE_ISO_SetCigParamTest()

ble_status_t R_BLE_ISO_SetCigParamTest ( uint8_t *  p_cig_id,
st_ble_iso_set_cig_param_test_param_t p_set_cig_param_test_param 
)

Create a CIG and set the parameters of one or more CISes that are associated with a CIG in the Controller.

Parameters
[in]p_set_cig_param_test_paramspecified parameter of CIG param_test
[out]p_cig_idcig ID is assigned by host stack, and value is passed out.
Return values
BLE_SUCCESS(0x0000)Success, otherwise "HCI Spec Error" in enum RBLE_STATUS_enum.

◆ R_BLE_ISO_TransmitTest()

ble_status_t R_BLE_ISO_TransmitTest ( uint16_t  conn_hdl,
uint8_t  payload_type 
)

Configure an established CIS or BIS and transmit test payloads which are generated by the Controller.

Parameters
[in]conn_hdlConnection handle of the CIS or BIS.
[in]payload_typeConfiguration of SDUs in the payload.
Return values
BLE_SUCCESS(0x0000)Success, otherwise "HCI Spec Error" in enum RBLE_STATUS_enum.

◆ R_BLE_ISO_ReceiveTest()

ble_status_t R_BLE_ISO_ReceiveTest ( uint16_t  conn_hdl,
uint8_t  payload_type 
)

Configure an established CIS or a synchronized BIG to receive payloads.

Parameters
[in]conn_hdlConnection handle of the CIS or BIS.
[in]payload_typeConfiguration of SDUs in the payload.
Return values
BLE_SUCCESS(0x0000)Success, otherwise "HCI Spec Error" in enum RBLE_STATUS_enum.

◆ R_BLE_ISO_ReadTestCounters()

ble_status_t R_BLE_ISO_ReadTestCounters ( uint16_t  conn_hdl)

Read the test counters (see [Vol 6] Part B, Section 7) in the Controller which is configured in ISO Receive Test mode for a CIS or BIS specified by the Connection_Handle. Reading the test counters does not reset the test counters.

Parameters
[in]conn_hdlConnection handle of the CIS or BIS.
Return values
BLE_SUCCESS(0x0000)Success, otherwise "HCI Spec Error" in enum RBLE_STATUS_enum.

◆ R_BLE_ISO_TestEnd()

ble_status_t R_BLE_ISO_TestEnd ( uint16_t  conn_hdl)

Terminate the ISO Transmit and/or Receive Test mode for a CIS or BIS specified by the Connection_Handle parameter but does not terminate the CIS or BIS.

Parameters
[in]conn_hdlConnection handle of the CIS or BIS.
Return values
BLE_SUCCESS(0x0000)Success, otherwise "HCI Spec Error" in enum RBLE_STATUS_enum.

◆ R_BLE_ISO_ReadLinkQuality()

ble_status_t R_BLE_ISO_ReadLinkQuality ( uint16_t  conn_hdl)

Returns the values of various counters related to link quality that are associated with the isochronous stream specified by the Connection_Handle parameter.

Parameters
[in]conn_hdlConnection handle of the CIS or BIS.
Return values
BLE_SUCCESS(0x0000)Success, otherwise "HCI Spec Error" in enum RBLE_STATUS_enum.

◆ R_BLE_ISO_RemoveDataPath()

ble_status_t R_BLE_ISO_RemoveDataPath ( uint16_t  conn_hdl,
uint8_t  dir 
)

Remove the input and/or output data path(s) associated with a CIS, CIS configuration, or BIS identified by the Connection_Handle parameter.

Parameters
[in]conn_hdlConnection handle of the CIS or BIS
[in]dirData path direction.
Return values
BLE_SUCCESS(0x0000)Success
BLE_ERR_INVALID_CHAN(0x0005)The handle does not indicate a CIS or BIS channel.
BLE_ERR_UNSPECIFIED(0x0013)Unspecified error.