Go to the documentation of this file.
60 #define ISO_ADDR_LEN 6
61 #define ENC_CODE_LEN 16
63 #define ISO_SYNC0_PULSE (0x1 << 0)
64 #define ISO_SYNC1_PULSE (0x1 << 1)
644 void (*iso_rm_cig_cmpl_evt_cb)(uint8_t status, uint8_t cig_id);
646 void (*iso_reject_cis_req_cmpl_evt_cb)(uint8_t status, uint16_t cis_hdl);
648 void (*iso_set_data_path_cmpl_evt_cb)(uint8_t status, uint16_t con_hdl);
650 void (*iso_rm_data_path_cmpl_evt_cb)(uint8_t status, uint16_t con_hdl);
652 void (*iso_temi_big_sync_cmpl_evt_cb)(uint8_t status);
654 void (*iso_set_data_path_trigger_cmpl_evt_cb)(uint8_t status);
656 void (*iso_cmd_status_evt_cb)(uint16_t op_code, uint8_t status);
uint8_t nse
Value of the NSE (Range 0x01-0x1F).
uint8_t irc
The number of times a payload is transmitted in a BIS event, range 0x01-0x0F.
uint32_t time_stamp
The Bluetooth_TimeStamp (BTS).
uint16_t seq_num
Packet sequence number.
uint8_t sca
See iso_sca_type_t.
uint8_t bn
Value of the BN (Range 0x00-0x07).
uint8_t adv_sid
Value of the Advertising SID used to advertise the periodic advertising.
uint16_t cis_hdl
List of connection handles of CISes (Range 0x0000-0x0EFF).
uint16_t data_len
General audio announcement data length.
@ ISO_ADV_UNDIRECT
undirect adv.
uint32_t big_sync_delay
Transmission delay time in microseconds of all BISs in the BIG,(Range: 0x0000EA to 0x7FFFFF).
uint32_t sdu_int_m2s
The interval, in microseconds, of periodic SDUs.
@ ISO_SET_DEFAULT_PER_ADV_SYNC_TRAN_PARAM
Sync established indication.
uint8_t phy_m2s
indicates the PHY selected for packets from the master to slave.
uint8_t data_path_type
Type for data path, see iso_data_path_type_t.
uint8_t cis_id
Used to identify a CIS (0x00 to 0xEF).
uint16_t ble_iso_discover_ann(iso_disc_ann_t *param)
Discovery the audio announcement by using extended scan.
uint8_t phy
Value of the PHY (0x01: 1M, 0x02: 2M, 0x03: Coded, All other values: RFU).
uint16_t ble_iso_set_iso_sync_pulse(uint8_t iso_sync_p_sel, uint8_t sync0_gpio_sel, uint8_t sync1_gpio_sel)
Set iso sync pulse GPIO trigger.
@ SCA1
151 ppm to 250 ppm.
void ble_iso_register_ascp_gap_callback(ascp_gap_cb_fun_t *cb)
Register the gap evetn callback for ascp.
@ ISO_PHY_2M
The transmitter PHY of packets is LE 2M.
uint32_t ctrl_delay
Controller delay in microseconds (Range: 0x000000 to 0x3D0900).
@ WITH_EVT_WITH_REPORT
An HCI_LE_Periodic_Advertising_Sync_Transfer_Received event is sent to the Host.
@ SCA2
101 ppm to 150 ppm.
uint16_t service_data
The Service_Data parameter is a value provided by the Host to identify the periodic advertisement to ...
The parameter for terminating big complete event.
uint16_t cis_hdl
Connection handle of CIS (Range 0x0000-0x0EFF).
uint32_t sdu_interval
Time duration between SDUs in microseconds(0x000100 to 0x0FFFFF).
uint16_t ble_iso_rm_cig(uint8_t cig_id)
Remove the cig indicated by the cig_id.
uint16_t max_sdu
Value of the Max_SDU (Range 0x0000-0x0FFF).
uint16_t skip
The number of periodic advertising packets that can be skipped after a successful receive,...
uint8_t big_hdl
Used to identify the BIG (0x00 to 0xEF).
uint8_t cig_id
Identifier of the CIG (Range 0x00-0xEF).
The parameter for creating big.
uint16_t * cis_hdl
List of connection handles of CISs in the CIG, (Range: 0x0000 to 0x0EFF).
uint16_t trans_latency_s2m
Maximum time, in milliseconds, for an SDU to be transported from the slave Controller to master Contr...
uint16_t ble_iso_start_target_ann(iso_start_target_ann_t *param)
Start target audio announcement by using extended adv.
uint16_t max_pdu_m2s
Maximum size, in octets, of the payload from master to slave (Range: 0x0000 to 0x00FB).
The parameter for big lost event.
uint16_t timeout
Scan timeout should be a value between 0x0001 and 0xFFFF(unit: 10 ms).
uint16_t sync_timeout
Synchronization timeout for the periodic advertising(in unit of 10ms between 100ms and 163....
uint8_t framing
Unframed or Framed, see iso_framing_type_t.
The parameter for set cig parameter complete event.
uint8_t * sdu
Sdu data buffer.
uint16_t ble_iso_start_bd_ann(iso_start_bd_ann_t *param, uint8_t *ext_adv_data, uint16_t ext_adv_data_len)
Start broadcast audio announcement by using periodic adv.
uint8_t reason
Reason for disconnect CIS.
uint16_t ble_iso_stop_sync_bd_ann(uint8_t index)
Stop sync the broadcast audio announcement.
uint16_t data_len
Broadcast audio announcement data length.
uint8_t big_hdl
Used to identify the BIG (0x00 to 0xEF).
uint16_t max_pdu_s2m
Maximum size, in octets, of the payload from slave to master (Range: 0x0000 to 0x00FB).
uint8_t cig_id
Used to identify a CIG (0x00 to 0xEF).
uint8_t phy
Indicates the PHY used for transmission of PDUs of BISs in the BIG.see iso_phy_type_t.
uint16_t cis_hdl
Connection handle of CIS (Range 0x0000-0x0EFF).
uint16_t per_sync_idx
Used to identify the periodic advertising set (0 to 4).
uint8_t mse
Maximum number of subevents that are used to receive data payloads in each isochronous interval (0x01...
uint8_t nse
The number of subevents in each BIS event in the BIG, range 0x01-0x1E.
uint16_t conn_hdl
Used to identify a cis or bis.
uint8_t encryption
Value of the Encryption (0x00: Unencrypted, 0x01: Encrypted, All other values: RFU)).
uint16_t sync_timeout
Synchronization timeout for the periodic advertising,(Range: 0x000A to 0x4000).
@ DATA_PATH_GEN
Data path for gen.
uint8_t num_bis
Total number of BISs in the BIG,(Range: 0x01 to 0x1F).
uint8_t adv_idx
Adv index, (Range: 0 to 4).
uint8_t rtn
Number of times every BIS Data PDU should be retransmitted(0x00 to 0x0F).
@ NOT_SYNC_WITHOUT_CTE
Do not sync to packets without a Constant Tone Extension.
uint8_t * data
Broadcast audio announcement data.
uint16_t ble_iso_stop_ann(uint8_t adv_idx)
Stop the audio announcement by using stop adv.
uint16_t ble_iso_set_cig_param(iso_set_cig_param_t *param)
Set CIG paramter.
uint8_t enable_flag
0x00: disable, 0x01: enable.
uint8_t * bis
List of BISs in the BIG (0x01 to 0x1F).
@ NOT_SYNC_WITH_AOD_1US
Do not sync to packets with an AoD Constant Tone Extension with 1 us slots.
uint8_t num_bis
Total number of BISs to synchronize (0x01 to 0x1F).
uint16_t conn_idx
Connection index of ACL Link.
uint16_t sdu_size_s2m
Maximum size of a SDU in octets from the slave Host (0x000 to 0xFFF).
The parameter for setting adv sync transport parameter.
uint16_t big_sync_timeout
Synchronization timeout for the BIS, Range: 0x000A to 0x4000.
uint16_t sync_timeout
Synchronization timeout for the periodic advertising,(Range: 0x000A to 0x4000).
uint8_t reason
indicate the reason why the synchronization was terminated.
uint32_t big_trans_latency
The maximum delay time, in microseconds, for transmission of SDUs of all BISes(Range 0x0000EA to 0x7F...
uint8_t encryption
Unencrypted or Encrypted, see iso_encryption_type_t.
uint16_t max_pdu
Maximum size of the payload in octets, range 0x00-0xFB.
The parameter for starting genneral announcement.
iso_packing_type_t
Packing type.
@ DATA_PATH_GDX
Data path for gdx.
uint16_t data_len
Target audio announcement data length.
uint8_t direction
Specifies the input data transport path, see iso_data_path_direction_t.
iso_cis_param_t * cis_param
CIS parameter, see iso_cis_param_t.
uint16_t acl_hdl
Connection handle of the ACL, (Range: 0x0000 to 0x0EFF).
@ NOT_SYNC_WITH_AOD_2US
Do not sync to packets with an AoD Constant Tone Extension with 2 us slots.
@ TERMINATE_BY_REMOTE
Remote user terminate.
uint8_t ft_s2m
The flush timeout, in multiples of the ISO_Interval for the CIS, for each payload sent from the slave...
uint8_t nse
The number of subevents in each BIS event in the BIG, range 0x01-0x1E.
@ ISO_SET_PER_ADV_SYNC_TRAN_PARAM
The parameter for big info report event.
uint8_t cis_id
Identifier of the CIS (Range 0x00-0xEF).
uint16_t sync_hdl
identifying the periodic advertising, (Range: 0x0000 to 0x0EFF).
uint8_t ft_m2s
The flush timeout, in multiples of the ISO_Interval for the CIS, for each payload sent from the maste...
uint8_t phy_m2s
Master to slave PHY, see iso_phy_type_t.
uint8_t bn
TThe number of new payloads in each BIS event, range 0x01-0x07.
uint32_t sdu_interval
Value of the SDU_Interval (Range Range 0x0000FF-0x0FFFFF).
uint8_t bn_m2s
The burst number for master to slave transmission (Range 0x00 to 0x0F).
@ DATA_PATH_HCI
Data path for hci.
uint8_t adv_idx
Adv index.
uint8_t status
0x00: The SCA parameter received successfully.0x01-0xFF: The reception of SCA parameter failed
uint32_t interval
Adv interval, (Range: 0x000020 to 0xFFFFFF), Time = N * 0.625.
uint8_t cis_cnt
Total number of CISs (0x00 to 0x1F).
iso_framing_type_t
Framing type.
uint16_t conn_hdl
Connection handle of a CIS or BIS.
uint32_t tran_latency_m2s
The maximum time, in microseconds, for transmission of SDUs of all CISes from master to slave(Range 0...
The parameter for set cig parameter complete event.
@ HOST_TO_CONTROLLER
Host to controller.
uint16_t window
Scan window between 0x0004 and 0x4000 in 0.625 ms units(range: 2.5 ms to 10.24 s).
The parameter for removing data path.
uint16_t pkt_seq_num
The packet sequence number of the ISO_SDU.
uint8_t mode
the action to be taken when periodic advertising synchronization information is received,...
uint16_t ble_iso_create_cis(iso_create_cis_t *param)
Create CIS.
uint16_t ble_iso_stop_discover_ann(void)
Stop discovery the audio announcement by stop extended scan.
The parameter for creating big complete event.
uint16_t sync_hdl
identifying the periodic advertising, (Range: 0x0000 to 0x0EFF).
uint16_t big_hdl
Used as the identifier the big, (Range: 0x0000 to 0x0EFF).
uint16_t ble_iso_rm_data_path(iso_rm_data_path_t *param)
Remove the ISO data path.
uint8_t adv_idx
Adv index.
uint8_t cte_type
specifies whether to only synchronize to periodic advertising with certain types of Constant Tone Ext...
uint16_t conn_hdl
Connection_Handle, (Range: 0x0000 to 0x0EFF).
uint16_t conn_hdl
Connection_Handle, (Range: 0x0000 to 0x0EFF)
iso_encryption_type_t
Encryption type.
uint16_t ble_iso_set_data_path(iso_set_data_path_t *param)
Set the ISO data path.
uint8_t status
0x00: Establishment of the BIG has been completed.
uint8_t status
0x00: Synchronization to BIG has been completed.0x01 to 0xFF: Synchronization to BIG failed to be com...
uint8_t nse
Maximum number of subevents in each isochronous event (Range 0x01 to 0x1E).
The parameter for discovery announcement.
@ DATA_PATH_DISABLE
Data path for disabled.
uint8_t status
0x00: The CIS has been established, 0x01 to 0xFF: The CIS failed to be established.
uint8_t pto
Value of the PTO (Range 0x00-0x0F).
APP receives the extended advertising report indication info struct.
uint16_t max_sdu_size
Maximum size of a SDU (0x001 to 0xFFF).
uint8_t direction
Specifies the data transport path, see iso_data_path_direction_t.
uint8_t num_bis
Total number of BISs in the BIG(0x01 to 0x1F).
uint16_t ble_iso_sync_bd_ann(uint8_t index, iso_sync_ann_t *param)
Sync the broadcast audio announcement by sync the period adv.
The parameter for starting broadcast announcement.
uint16_t sync_hdl
Sync_Handle identifying the periodic advertising, (Range: 0x0000 to 0x0EFF).
uint32_t interval
Adv interval, (Range: 0x000020 to 0xFFFFFF), Time = N * 0.625.
File that contains error codes.
uint16_t ble_iso_set_data_path_trigger(iso_set_data_path_trigger_t *param)
Set iso data path trigger.
uint8_t codec_cfg_len
Codec configuration length.
uint32_t cis_sync_delay
The CIS synchronization delay time in microseconds(Range 0x0000EA to 0x7FFFFF).
uint16_t service_data
The Service_Data parameter is a value provided by the Host to identify the periodic advertisement to ...
uint16_t max_pdu
Value of the Max_PDU (Range 0x0000-0x00FB).
uint8_t * codec_cfg
Codec configuration.
uint8_t per_adv_idx
Used to identify the periodic advertising set (0 to 4).
uint8_t encryption
Unencrypted or Encrypted, see iso_encryption_type_t.
uint8_t mode
the action to be taken when periodic advertising synchronization information is received,...
uint8_t pto
Offset used for pre-transmissions, range 0x00-0x0F.
The parameter for setting default periodic advertising synchronization transport.
uint16_t iso_interval
ISO interval (1.25ms unit, range: 5ms to 4s).
uint16_t ble_iso_accept_cis_req(uint16_t cis_hdl)
Slave Host to inform the Controller to accept the request for the CIS that is identified by the cis_h...
The parameter for creating multi cis.
@ ISO_ADV_DIRECT
direct adv (Low duty).
uint16_t service_data
A value provided by the peer device.
uint8_t irc
Value of the IRC (Range 0x01-0x0F).
The parameter for starting target announcement.
uint16_t iso_interval
Value of the ISO interval.
The parameter for setting periodic advertising reciving enable.
The callback for gap event which need to be handled by ascp.
iso_create_cis_param_t * params
Create cis param, see iso_create_cis_param_t.
uint8_t packing
Sequential or Interleaved, see iso_packing_type_t.
uint16_t ble_iso_create_big_sync(iso_create_big_sync_t *param)
Create the BIG sync.
The parameter for cis establish event.
int32_t trigger_offset
Trigger offset in microseconds.
uint16_t conn_hdl
Connection handle of the ACL, (Range: 0x0000 to 0x0EFF).
The parameter for request peer sca complete event.
uint8_t big_hdl
Used as the identifier of the BIG (Range 0x00 to 0xEF).
uint8_t framing
Value of the Framing (0x00: Unframed, 0x01: Framed, All other values: RFU).
uint32_t tran_latency_s2m
The maximum time, in microseconds, for transmission of SDUs of all CISes from slave to master(Range 0...
@ SCA0
251 ppm to 500 ppm.
iso_adv_type_t
Adv type for announcement.
The parameter for setting data path.
uint16_t ble_iso_terminate_big(uint8_t big_hdl, uint8_t reason)
Terminate the BIG.
#define ISO_ADDR_LEN
Length for address.
#define ENC_CODE_LEN
Length for encryption code.
uint8_t sid
Adv set ID, (Range: 0x00 to 0xFF).
@ ISO_SET_PER_ADV_SET_INFO_TRAN
uint32_t cig_sync_delay
The CIG synchronization delay time in microseconds(Range 0x0000EA to 0x7FFFFF).
The parameter for cis request event.
uint16_t sdu_size_m2s
Maximum size of a SDU in octets from the master Host (0x000 to 0xFFF).
@ TERMINATE_BY_LOCAL
Local user terminate.
uint16_t ble_iso_create_big(iso_create_big_t *param)
Create the BIG.
uint8_t bn_s2m
The burst number for slave to master transmission (Range 0x00 to 0x0F).
uint16_t interval
Adv interval, (Range: 0x0006 to 0xFFFF), Time = N * 1.25 ms,Time Range: 7.5ms to 81....
@ CONTROLLER_TO_HOST
Controller to host.
uint8_t * data
Target audio announcement data.
uint8_t num_cis
Total number of CISs to be established (0x01 to 0x1F).
uint8_t irc
The number of times a payload is transmitted in a BIS event, range 0x01-0x0F.
iso_add_type_t
Address type.
@ WITH_EVT_NO_REPORT
An HCI_LE_Periodic_Advertising_Sync_Transfer_Received event is sent to the Host.
uint16_t ble_iso_gpio_enable(uint8_t gpio_sel)
Un-mask the ISO GPIO.
uint8_t rtn_s2m
Number of times every CIS Data PDU should be retransmitted from the slave to master (0x00 to 0x0F).
uint8_t pto
Offset used for pre-transmissions, range 0x00-0x0F.
uint32_t sdu_int_s2m
The interval, in microseconds, of periodic SDUs.
uint8_t framing
Unframed or Framed, see iso_framing_type_t.
uint16_t skip
The number of periodic advertising packets that can be skipped after a successful receive,...
uint16_t ble_iso_start_gen_ann(iso_start_gen_ann_t *param)
Start general audio announcement by using extended adv.
uint8_t adv_type
Adv type, see iso_adv_type_t , the peer addr_type and addr is invalid for undirect type,...
The parameter for receiving periodic advertising Synchronization transport event.
uint8_t enable
0x00: Reporting disabled, 0x01: Reporting enabled.
@ NO_EVT_NO_REPORT
No attempt is made to synchronize to the periodic advertising and no HCI_LE_Periodic_Advertising_Sync...
uint8_t num_bis
Number of BIS (Range 0x01-0x1F).
uint16_t * bis_hdl
The connection handles of the BISs, (Range: 0x0000 to 0x0EFF).
uint16_t ble_iso_disc_cis(uint16_t cis_hdl)
disconnect the CIS that is identified by the cis_hdl.
@ NOT_SYNC_WITH_AOA
Do not sync to packets with an AoA Constant Tone Extension.
uint8_t rtn_m2s
Number of times every CIS Data PDU should be retransmitted from the master to slave (0x00 to 0x0F).
uint16_t * bis_hdl
The connection handles of the BISs, (Range: 0x0000 to 0x0EFF).
uint8_t phy_s2m
Slave to master PHY, see iso_phy_type_t.
uint8_t big_hdl
Used as the identifier of the BIG, (Range: 0x00 to 0xEF)
uint8_t big_hdl
Used as the identifier of the BIG (Range 0x00 to 0xEF).
uint8_t phy_s2m
indicates the PHY selected for packets from the slave to master.
uint16_t sdu_len
Sdu length.
iso_data_path_type_t
Data path type.
iso_sync_mode_t
Sync mode type.
The parameter for read iso tx sync complete event.
uint16_t iso_interval
ISO interval (1.25ms unit, range: 5ms to 4s).
uint16_t ble_iso_register_callback(iso_cb_fun_t *cb)
Register callback for iso.
The parameter for setting cis.
iso_data_path_direction_t
Data path direction type.
uint8_t * data
General audio announcement data.
The parameter for creating big sync complete event.
uint16_t conn_hdl
Connection handle of a CIS or BIS.
uint8_t peer_addr_type
Peer address type, see iso_add_type_t.
The parameter for creating big sync.
uint32_t big_trans_latency
The maximum delay time, in microseconds, for transmission of SDUs of all BISes,(Range: 0x0000EA to 0x...
uint16_t adv_hdl
Used to identify an advertising set,(Range: 0x00-0xEF).
iso_termi_big_reason_t
Terminate big/big sync reason.
uint16_t ble_iso_terminate_big_sync(uint8_t big_hdl)
Terminate the BIG sync.
uint8_t per_sync_idx
Per sync index, (Range: 0x00 to 0x05).
uint16_t interval
Scan interval between 0x0004 and 0x4000 in 0.625 ms units(range: 2.5 ms to 10.24 s).
The parameter for set iso data path trigger.
uint32_t time_stap
The timestamp of an SDU identified by the seq_num, (Range: 0x00000000 to 0xFFFFFFFF)
uint16_t conn_hdl
Connection handle of CIS/BIS.
uint16_t ble_iso_req_peer_sca(uint16_t conn_idx)
Read the Sleep Clock Accuracy of the peer device.
uint8_t direction
Direction for data path, see iso_data_path_direction_t.
The structure for iso hci data.
uint8_t cig_id
Used to identify a CIG, (Range: 0x00 to 0xEF).
uint8_t packing
Sequential or Interleaved, see iso_packing_type_t.
uint8_t reason
indicate the reason why the BIG was terminated.
uint16_t ble_iso_reject_cis_req(uint16_t cis_hdl, uint8_t reason)
slave Host to reject the request for the CIS that is identified by the cis_hdl.
uint8_t sca
The worst-case sleep clock accuracy of all the slaves, see iso_sca_type_t.
uint8_t peer_add_type
Peer address type, see iso_add_type_t.
uint8_t cis_count
Total number of CISs, (Range: 0x00 to 0x10).
uint16_t conn_hdl
Connection_Handle, (Range: 0x0000 to 0x0EFF)
uint8_t status
0x00: succeeded.
uint16_t cis_hdl
Connection handle of CIS (Range 0x0000-0x0EFF).
uint16_t tran_latency
Maximum time (in milliseconds) between transmission and reception of a BIS Data PDU (0x0000 to 0x0FA0...
uint8_t num_bis
Total number of BISs in the BIG.
uint8_t phy
PHY used, bit 0: 1Mbps, bit 1: 2Mbps, bit 2: LE-Coded.
uint8_t status
0x00: succeeded.
uint16_t con_hdl
Connection handle of the bis or cis, (Range: 0x0000 to 0x0EFF).
@ ISO_PHY_CODED
The transmitter PHY of packets is LE Coded.
uint8_t bn
The number of new payloads in each BIS event, range 0x01-0x07.
uint16_t conn_idx
Connection index of the ACL.
The parameter for cis disconnect event.
uint16_t ble_iso_read_tx_sync(uint16_t conn_hdl)
read the Bluetooth_TimeStamp (BTS) of a packet identified by the Packet_Sequence_Number on a CIS or B...
uint8_t status
0x00: Synchronization to the periodic advertising succeeded, 0x01 to 0xFF: Synchronization to the per...
The parameter for creating per cis.
The parameter for sync announcement.
The parameter for setting periodic advertising set information.
@ DIRECTION_BOTH
Host to controller and controller to host, just use for remove data path.
uint16_t iso_interval
The time between two consecutive CIS anchor points (unit:1.25ms, Range:0x0004 to 0x0C80,...
The parameter for periodic advertising synchronization transport.
uint8_t cte_type
specifies whether to only synchronize to periodic advertising with certain types of Constant Tone Ext...
uint32_t time_offset
The time offset associated with the ISO_SDU identified by the seq_num, (Range: 0x000000 to 0xFFFFFF)
uint16_t trans_latency_m2s
Maximum time, in milliseconds, for an SDU to be transported from the master Controller to slave Contr...
The parameter for setting cig.
@ UNENCRYPTED
Unencrypted.
@ ISO_PHY_1M
The transmitter PHY of packets is LE 1M.
uint16_t max_pdu
Maximum size of the payload in octets, range 0x00-0xFB.