RAFW Flexible Software Package Documentation  Release v2.0.1

 

Functions

ble_status_t R_BLE_ISO_CreateBig (uint8_t 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_TerminateBig (uint8_t big_hdl, uint8_t reason)
 Terminate a BIG of the big_handle. More...
 
ble_status_t R_BLE_ISO_CreateBigSync (uint8_t 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 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_TerminateCis (uint16_t cis_conn_hdl)
 Terminate a CIS. More...
 
ble_status_t R_BLE_ISO_ReplyCisRequest (uint16_t cis_conn_hdl, 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_data_path_t *p_path)
 Create the ISO data path between the Host and the Controller for a CIS. More...
 
ble_status_t R_BLE_ISO_SendData (uint16_t conn_hdl, 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_CreateBigTest (uint8_t big_hdl, uint8_t adv_hdl, st_ble_iso_big_test_param_t *p_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 cig_id, st_ble_iso_cig_test_param_t *p_cig_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 path_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_iso_cis_param_t
 CIS channel parameter. 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_data_path_t
 ISO channel path param. More...
 
struct  st_ble_iso_sdu_t
 SDU data structure. More...
 
struct  st_ble_iso_big_test_param_t
 This is the parameters used in R_BLE_ISO_CreateBigTest(). More...
 
struct  st_ble_iso_big_comp_evt_t
 BIG info of a created BIG. More...
 
struct  st_ble_iso_big_sync_est_evt_t
 BIG info of a sync established BIG. More...
 
struct  st_ble_iso_biginfo_rept_evt_t
 BIG info report in a periodic adv. More...
 
struct  st_ble_iso_cig_set_comp_evt_t
 CIS. More...
 
struct  st_ble_iso_cis_req_evt_t
 CIS reqest from remote device. More...
 
struct  st_ble_iso_reply_cis_req_comp_evt_t
 Reply CIS reqest Complete event. More...
 
struct  st_ble_iso_cis_est_evt_t
 Information of CIS that was estabilished. More...
 
struct  st_ble_iso_cis_term_evt_t
 CIS terminate event. More...
 
struct  st_ble_iso_rx_data_ind_evt_t
 ISO SDU Rx data event structure. More...
 
struct  st_ble_iso_tx_comp_evt_t
 Information of ISO SDU that was sent. More...
 
struct  st_ble_iso_test_cnt_info_evt_t
 ISO test count. More...
 
struct  st_ble_iso_test_end_rept_evt_t
 ISO test report. More...
 
struct  st_ble_iso_tx_sync_info_evt_t
 iso TX sync information More...
 
struct  st_ble_iso_cig_id_evt_t
 CIG id. More...
 
struct  st_ble_iso_big_hdl_evt_t
 Big handle. More...
 
struct  st_ble_iso_big_terminate_comp_evt_t
 Big handle and big terminate reason.

. More...

 
struct  st_ble_iso_big_sync_lost_evt_t
 Big handle and big terminate reason. More...
 
struct  st_ble_iso_conn_hdl_evt_t
 ISO Connection handle. More...
 
struct  st_ble_cig_param_test_t
 This is the member variables used in st_ble_iso_cig_test_param_t. More...
 
struct  st_ble_iso_set_cig_param_test_param_t
 This is the parameters used in R_BLE_ISO_SetCigParamTest(). 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 microseconds.

Value range 0x0000FF - 0x0FFFFF.

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.
macro value description
BLE_ISO_HOST_PREF_PHY_1M 0x01 Advertiser PHY is 1M PHY.
BLE_ISO_HOST_PREF_PHY_2M 0x02 Advertiser PHY is 2M PHY.
BLE_ISO_HOST_PREF_PHY_CD 0x04 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.
macro value description
BLE_ISO_BIG_UNENCRYPTED 0x00 Unencrypted.
BLE_ISO_BIG_ENCRYPTED 0x01 Encrypted.
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. value range: BLE_ISO_SYNC_MSE_AUTO or 0x01 to 0x1F
uint16_t sync_timeout Synchronization timeout for the BIG Range: 0x000A to 0x4000 Time = Value*10 ms.
uint8_t encryption Whether or not to encrypt the streams.
macro value description
BLE_ISO_BIG_UNENCRYPTED 0x00 Unencrypted.
BLE_ISO_BIG_ENCRYPTED 0x01 Encrypted.
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_cis_param_t

struct st_ble_iso_cis_param_t

CIS channel parameter.

Data Fields
uint8_t cis_id cis identifer
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_ISO_HOST_PREF_PHY_1M(0x01) Use 1M PHY for Transmitter PHY.
BLE_ISO_HOST_PREF_PHY_2M(0x02) Use 2M PHY for Transmitter PHY.
BLE_ISO_HOST_PREF_PHY_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 Channel interval in us.

Value range 0x0000FF - 0x0FFFFF.

uint32_t sdu_intv_p2c
uint16_t max_latency_c2p Channel Latency in ms.

Value range 0x0005 - 0x0FA0.

uint16_t max_latency_p2c
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_iso_cis_param_t cis_param[BLE_ISO_MAX_GROUP_ISO_COUNT] cis 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_conn_hdl[BLE_ISO_MAX_GROUP_ISO_COUNT] connection handles for every CIS.

CIS handles are got from event BLE_ISO_EVENT_CIG_PARAM_SET_COMP.

uint16_t acl_conn_hdl[BLE_ISO_MAX_GROUP_ISO_COUNT] connection handles of ACL for every CIS.

◆ st_ble_iso_data_path_t

struct st_ble_iso_data_path_t

ISO channel path param.

Data Fields
uint8_t path_dir path direction.

Select value from BLE_ISO_DATA_PATH_DIR_INPUT or BLE_ISO_DATA_PATH_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.
uint8_t * p_codec_conf Pointer to an array containing the Codec Configuration.

◆ st_ble_iso_sdu_t

struct st_ble_iso_sdu_t

SDU data structure.

param of R_BLE_ISO_SendData.

ISO SDU structure

Data Fields
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_big_test_param_t

struct st_ble_iso_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.
uint32_t sdu_intv The interval, in microseconds, of periodic SDUs.
uint16_t iso_intv 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 Advertising PHY.
macro value description
BLE_ISO_HOST_PREF_PHY_1M 0x01 Advertiser PHY is 1M PHY.
BLE_ISO_HOST_PREF_PHY_2M 0x02 Advertiser PHY is 2M PHY.
BLE_ISO_HOST_PREF_PHY_CD 0x04 Advertiser PHY is Coded PHY.
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 Whether or not to encrypt the streams.
macro value description
BLE_ISO_BIG_UNENCRYPTED 0x00 Unencrypted.
BLE_ISO_BIG_ENCRYPTED 0x01 Encrypted.
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_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

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 BIG PHY.
value description
0x01 Broadcast isochronous stream PHY is 1M PHY.
0x02 Broadcast isochronous stream PHY is 2M PHY.
0x03 Broadcast isochronous stream PHY is Coded PHY.
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_intv The interval, in microseconds, of periodic SDUs.
uint8_t num_bis number of streams in the group
uint16_t bis_conn_hdl[BLE_ISO_MAX_GROUP_ISO_COUNT] handles of all streams

◆ st_ble_iso_big_sync_est_evt_t

struct st_ble_iso_big_sync_est_evt_t

BIG info of a sync established BIG.

Event Code : BLE_ISO_EVENT_BIG_SYNC_EST

Data Fields
uint8_t status status of BIG creation
uint8_t big_hdl BIG handle.
uint32_t latency Actual latency returned by controller.
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_intv The interval, in microseconds, of periodic SDUs.
uint8_t num_bis number of streams in the group
uint16_t bis_conn_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
uint16_t sync_hdl Periodic Sync that has been established for BIG.
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_intv 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_intv The interval, in microseconds, of periodic SDUs.
uint16_t max_sdu Maximum size of an SDU, in octets.
uint8_t phy BIG PHY.
value description
0x01 Broadcast isochronous stream PHY is 1M PHY.
0x02 Broadcast isochronous stream PHY is 2M PHY.
0x03 Broadcast isochronous stream PHY is Coded PHY.
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.
macro value description
BLE_ISO_BIG_UNENCRYPTED 0x00 Unencrypted.
BLE_ISO_BIG_ENCRYPTED 0x01 Encrypted.

◆ st_ble_iso_cig_set_comp_evt_t

struct st_ble_iso_cig_set_comp_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 Ids.
uint16_t cis_conn_hdl[BLE_ISO_MAX_GROUP_ISO_COUNT] CIS connection 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_conn_hdl The ACL connection handle over which this cis is created.
uint16_t cis_conn_hdl The CIS connection handle over which this cis is created.

◆ st_ble_iso_reply_cis_req_comp_evt_t

struct st_ble_iso_reply_cis_req_comp_evt_t

Reply CIS reqest Complete event.

Data Fields
uint16_t cis_conn_hdl The CIS handle over which this cis is created.
uint8_t response Whether the local device rejected or accepted.
macro description
BLE_ISO_CIS_ACCEPT(0x00) Accept the CIS request.
BLE_ISO_CIS_REJECT(0x01) Reject the CIS request.

◆ st_ble_iso_cis_est_evt_t

struct st_ble_iso_cis_est_evt_t

Information of CIS that was estabilished.

Data Fields
uint8_t status status of CIS established
uint16_t cis_conn_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
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_intv The time between two consecutive CIS anchor points.

◆ st_ble_iso_cis_term_evt_t

struct st_ble_iso_cis_term_evt_t

CIS terminate event.

Data Fields
uint16_t cis_conn_hdl The CIS Connection handle that cis is terminated.
uint8_t reason cis terminated reason.

◆ st_ble_iso_rx_data_ind_evt_t

struct st_ble_iso_rx_data_ind_evt_t

ISO SDU Rx data event 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_status SDU packet status.

The sdu_status indicates the status of the packet that the Controller receives over the ISO channel.

macro description
BLE_ISO_RX_SDU_DATA_VALID(0x00) The complete SDU was received correctly.
BLE_ISO_RX_SDU_DATA_POSSIBLLY_INVALID(0x01) SDU data with possible errors.
BLE_ISO_RX_SDU_DATA_LOST(0x02) Parts of the SDU were not received correctly.
uint16_t sdu_len Length of SDU.
uint8_t * p_sdu_data SDU data.

◆ 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_evt_t

struct st_ble_iso_test_cnt_info_evt_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_evt_t

struct st_ble_iso_test_end_rept_evt_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_evt_t

struct st_ble_iso_link_quality_info_evt_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_evt_t

struct st_ble_iso_tx_sync_info_evt_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_cig_id_evt_t

struct st_ble_iso_cig_id_evt_t

CIG id.

Data Fields
uint8_t cig_id CIG id.

◆ st_ble_iso_big_hdl_evt_t

struct st_ble_iso_big_hdl_evt_t

Big handle.

Data Fields
uint8_t big_hdl BIG handle.

◆ st_ble_iso_big_terminate_comp_evt_t

struct st_ble_iso_big_terminate_comp_evt_t

Big handle and big terminate reason.

.

Data Fields
uint8_t big_hdl BIG handle.
uint8_t reason Terminate BIG reason.

◆ st_ble_iso_big_sync_lost_evt_t

struct st_ble_iso_big_sync_lost_evt_t

Big handle and big terminate reason.

Data Fields
uint8_t big_hdl BIG handle.
uint8_t reason Sync Lost reason.

◆ st_ble_iso_conn_hdl_evt_t

struct st_ble_iso_conn_hdl_evt_t

ISO Connection handle.

Data Fields
uint16_t conn_hdl Indicate an BIS or CIS.

◆ st_ble_cig_param_test_t

struct st_ble_cig_param_test_t

This is the member variables used in st_ble_iso_cig_test_param_t.

◆ st_ble_iso_set_cig_param_test_param_t

struct st_ble_iso_set_cig_param_test_param_t

This is the parameters used in R_BLE_ISO_SetCigParamTest().

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_hdl_evt_t

BLE_ISO_EVENT_ISO_RX_DATA_IND 

An ISO SDU is received.

Event Data:

st_ble_iso_rx_data_ind_evt_t

BLE_ISO_EVENT_ISO_TX_COMP 

An ISO SDU is sent.

Event Data:

st_ble_iso_tx_comp_evt_t

BLE_ISO_EVENT_BIG_SYNC_EST 

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

st_ble_iso_big_sync_est_evt_t

BLE_ISO_EVENT_BIG_SYNC_LOST 

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

Event Data:

st_ble_iso_big_sync_lost_evt_t

BLE_ISO_EVENT_BIG_SYNC_TERM 

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

Event Data:

st_ble_iso_big_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_comp_evt_t

BLE_ISO_EVENT_CREATE_CIS_COMP 

CrateCIS Complete.

Event Data:

None

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_CIS_TERM 

An CIS connection is terminated.

Event Data:

st_ble_iso_cis_term_evt_t

BLE_ISO_EVENT_SETUP_DATA_PATH_COMP 

Event Data:

st_ble_iso_conn_hdl_evt_t

BLE_ISO_EVENT_CIG_REMOVE_COMP 

Event Data:

st_ble_iso_cig_id_evt_t

BLE_ISO_EVENT_TERMINATE_BIG_COMP 

Event Data:

st_ble_iso_big_terminate_comp_evt_t

BLE_ISO_EVENT_REPLY_CIS_REQ_COMP 

Event Data:

st_ble_iso_reply_cis_req_comp_evt_t

BLE_ISO_EVENT_GET_TX_SYNC_COMP 

Event Data:

st_ble_iso_tx_sync_info_evt_t

BLE_ISO_EVENT_READ_ANT_INFO_COMP 

Event Data:

st_ble_gap_cte_antenna_info_t

BLE_ISO_EVENT_TX_TEST_COMP 

Event Data:

st_ble_iso_conn_hdl_evt_t

BLE_ISO_EVENT_RX_TEST_COMP 

Event Data:

st_ble_iso_conn_hdl_evt_t

BLE_ISO_EVENT_READ_TEST_CNT_COMP 

Event Data:

st_ble_iso_test_cnt_info_evt_t

BLE_ISO_EVENT_TEST_ENDED 

Event Data:

st_ble_iso_test_end_rept_evt_t

BLE_ISO_EVENT_READ_LINK_QUALITY_COMP 

Event Data:

st_ble_iso_link_quality_info_evt_t

BLE_ISO_EVENT_REMOVE_DATA_PATH_COMP 

Event Data:

st_ble_iso_conn_hdl_evt_t

Function Documentation

◆ R_BLE_ISO_CreateBig()

ble_status_t R_BLE_ISO_CreateBig ( uint8_t  big_hdl,
uint8_t  adv_hdl,
st_ble_iso_big_param_t p_big_param 
)

Create a BIG.

Parameters
[in]big_hdlBIG handle is assigned by application and identify created big.
[in]adv_hdlPeriodic adv handle which carries the biginfo.
[in]p_big_paramBIG param
Return values
BLE_SUCCESS(0x0000)Success

◆ R_BLE_ISO_TerminateBig()

ble_status_t R_BLE_ISO_TerminateBig ( uint8_t  big_hdl,
uint8_t  reason 
)

Terminate a BIG of the big_handle.

Parameters
[in]big_hdlhandle of the BIG to be terminated.
[in]reasonThe reason for disconnection. Usually, set 0x13 which indicates that a user disconnects the link. If setting other than 0x13, refer the error code described in Core Specification Vol.2 Part D ,"2 Error Code Descriptions".
Return values
BLE_SUCCESS(0x0000)Success

◆ R_BLE_ISO_CreateBigSync()

ble_status_t R_BLE_ISO_CreateBigSync ( uint8_t  big_hdl,
uint16_t  sync_hdl,
st_ble_iso_big_sync_param_t p_big_sync_param 
)

Create a BIG sync.

Parameters
[in]big_hdlBIG handle is assigned by application, 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  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
[in]cig_idCIG is assigned by application, 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.

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

◆ R_BLE_ISO_RemoveCig()

R_BLE_ISO_RemoveCig ( uint8_t  cig_id)

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

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

◆ R_BLE_ISO_TerminateCis()

ble_status_t R_BLE_ISO_TerminateCis ( uint16_t  cis_conn_hdl)

Terminate a CIS.

Parameters
[in]cis_conn_hdlconnection handle of the CIS to be terminated.
Return values
BLE_SUCCESS(0x0000)Success

◆ R_BLE_ISO_ReplyCisRequest()

ble_status_t R_BLE_ISO_ReplyCisRequest ( uint16_t  cis_conn_hdl,
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. After this API is executed, BLE_ISO_EVENT_REPLY_CIS_REQ_COMP is notified. BLE_ISO_EVENT_CIS_EST is notified when CIS is established.

Parameters
[in]cis_conn_hdlConnection Handle for CIS.
[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_data_path_t 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 ( uint16_t  conn_hdl,
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. The maximum size of SDU payload defined by BLE_ISO_DATA_MAX_SDU.

Parameters
[in]conn_hdlCIS or BIS handle
[in]p_sdu_infoSDU info and data
Return values
BLE_SUCCESS(0x0000)Success
BLE_ERR_INVALID_PTR(0x0001)The reason for this error is as follows.
  • p_sdu_info is specified as NULL.
  • p_sdu_data in p_sdu_info is specified as NULL.
BLE_ERR_INVALID_ARG(0x0003)The reason for this error is as follows.
  • ts_valid in p_sdu_info is out of range.
  • sdu_len in p_sdu_info is out of range.
BLE_ERR_MEM_ALLOC_FAILED(0x000C)Insufficient memory is needed to generate this function.
BLE_ERR_INVALID_HDL(0x000E)The reason for this error is as follows.
  • Specified unmanaged conn_hdl.
  • Specified conn_hdl that is not assigned to the ISO channel (BIS/CIS).

◆ R_BLE_ISO_CreateBigTest()

ble_status_t R_BLE_ISO_CreateBigTest ( uint8_t  big_hdl,
uint8_t  adv_hdl,
st_ble_iso_big_test_param_t p_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
[in]big_hdlUsed to identify a BIG.
[in]adv_hdlUsed to identify an advertising set.
[in]p_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  cig_id,
st_ble_iso_cig_test_param_t *  p_cig_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]cig_idcig ID is assigned by host stack, and value is passed out.
[in]p_cig_test_paramspecified parameter of CIG param_test
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()

R_BLE_ISO_RemoveDataPath ( uint16_t  conn_hdl,
uint8_t  path_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]path_dirData path direction.This parameter set by bitfield.
bit_numer description
0 Remove Input DataPath
1 Remove Output DataPath.
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.