Infineon Logo AIROC BTSDK v4.2 - Documentation
 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
wiced_bt_isoc.h File Reference

AIROC Bluetooth Low Energy (LE) Isochronous function. More...

Data Structures

struct  wiced_bt_isoc_cis_request_data_t
 ISOC CIS Request Event Data. More...
 
struct  wiced_bt_isoc_cis_disconnect_data_t
 ISOC CIS Disconnect Event Data. More...
 
struct  wiced_bt_isoc_cis_established_data_t
 ISOC CIS Established Event Data. More...
 
struct  wiced_bt_isoc_cig_status_data_t
 ISOC CIG Command Status data. More...
 
struct  wiced_bt_isoc_sca_t
 ISOC Peer Slave Clock Accuracy data. More...
 
struct  wiced_bt_isoc_data_path_status_t
 
struct  wiced_bt_isoc_terminated_data_t
 ISOC BIG Terminate/Sync_Lost Event Data. More...
 
struct  wiced_bt_isoc_big_sync_established_t
 ISOC BIG Sync Establishment data. More...
 
struct  wiced_bt_isoc_create_big_complete_t
 ISOC BIG Command Status data. More...
 
union  wiced_bt_isoc_event_data_t
 ISOC Event Data. More...
 
struct  wiced_bt_ble_cis_config_t
 ISOC CIS Configuration. More...
 
struct  wiced_bt_ble_cig_param_t
 ISOC CIG Configuration. More...
 
struct  wiced_bt_ble_cis_config_test_t
 
struct  wiced_bt_ble_cig_param_test_t
 
struct  wiced_bt_isoc_create_cis_param_t
 
struct  wiced_bt_isoc_create_big_param_t
 
struct  wiced_bt_isoc_big_create_sync_t
 

Macros

#define WICED_BLE_ISOC_MIN_TRANSPORT_LATENCY   0x0005
 ISOC Minimum Latency
 
#define WICED_BLE_ISOC_MAX_TRANSPORT_LATENCY   0x0FA0
 ISOC Maximum Latency
 
#define ISOC_SET_DATA_PATH_DIR(var, dir)   (var |= (1 << dir))
 
#define ISOC_GET_DATA_PATH_DIR(var, dir)   (var & (1 << dir))
 
#define ISOC_CLEAR_DATA_PATH_DIR(var, dir)   (var &= ~(1 << dir))
 

Typedefs

typedef uint8_t wiced_bt_isoc_packing_t
 ISOC packing methods (see wiced_bt_isoc_packing_e)
 
typedef uint8_t wiced_bt_isoc_framing_t
 ISOC Framing types (see wiced_bt_isoc_framing_e)
 
typedef uint8_t wiced_bt_isoc_phy_t
 ISOC LE PHY (see wiced_bt_isoc_phy_e)
 
typedef uint8_t wiced_bt_isoc_encryption_t
 ISOC Encryption (see wiced_bt_isoc_encryption_e)
 
typedef uint8_t wiced_bt_isoc_event_t
 ISOC Events (see wiced_bt_isoc_event_e)
 
typedef void(* wiced_bt_iso_rx_cb_t )(uint8_t *p_data, uint32_t length)
 
typedef void(* wiced_bt_iso_num_complete_cb_t )(uint8_t *p_buf)
 
typedef void wiced_bt_isoc_cback_t (wiced_bt_isoc_event_t event, wiced_bt_isoc_event_data_t *p_event_data)
 ISOC event callback. More...
 

Enumerations

enum  wiced_bt_isoc_data_path_direction_t { WICED_BLE_ISOC_DPD_INPUT, WICED_BLE_ISOC_DPD_OUTPUT, WICED_BLE_ISOC_DPD_MAX_DIRECTIONS }
 
enum  wiced_bt_isoc_data_path_bit_t { WICED_BLE_ISOC_DPD_INPUT_BIT = 1, WICED_BLE_ISOC_DPD_OUTPUT_BIT = 2, WICED_BLE_ISOC_DPD_INPUT_OUTPUT_BIT, WICED_BLE_ISOC_DPD_RESERVED }
 
enum  wiced_bt_isoc_data_path_id_t { WICED_BLE_ISOC_DPID_HCI = 0, WICED_BLE_ISOC_DPID_DIABLED = 0xFF }
 
enum  wiced_bt_isoc_packing_e { WICED_BLE_ISOC_SEQUENTIAL_PACKING = 0, WICED_BLE_ISOC_INTERLEAVED_PACKING = 1 }
 ISOC packing methods.
 
enum  wiced_bt_isoc_framing_e { WICED_BLE_ISOC_UNFRAMED = 0, WICED_BLE_ISOC_FRAMED = 1 }
 ISOC Framing types.
 
enum  wiced_bt_isoc_phy_e { WICED_BLE_ISOC_LE_1M_PHY = 1, WICED_BLE_ISOC_LE_2M_PHY = 2, WICED_BLE_ISOC_LE_CODED = 4 }
 ISOC LE PHY.
 
enum  wiced_bt_isoc_encryption_e { WICED_BLE_ISOC_UNENCRYPTED = 0, WICED_BLE_ISOC_ENCRYPTED = 1 }
 Broadcast ISOC Encryption.
 
enum  wiced_bt_isoc_event_e {
  WICED_BLE_ISOC_SET_CIG_CMD_COMPLETE, WICED_BLE_ISOC_CIS_REQUEST, WICED_BLE_ISOC_CIS_ESTABLISHED, WICED_BLE_ISOC_SLAVE_CLOCK_ACCURACY,
  WICED_BLE_ISOC_CIS_DISCONNECTED, WICED_BLE_ISOC_DATA_PATH_SETUP, WICED_BLE_ISOC_DATA_PATH_REMOVED, WICED_BLE_ISOC_BIG_CREATED,
  WICED_BLE_ISOC_BIG_SYNC_ESTABLISHED, WICED_BLE_ISOC_BIG_TERMINATED, WICED_BLE_ISOC_BIG_SYNC_LOST
}
 ISOC Events. More...
 

Functions

void wiced_bt_isoc_register_cb (wiced_bt_isoc_cback_t isoc_cb)
 Function wiced_bt_isoc_register_cb. More...
 
void wiced_bt_isoc_register_data_cb (wiced_bt_iso_rx_cb_t rx_data_cb, wiced_bt_iso_num_complete_cb_t num_complete_cb)
 Register ISO data event callbacks. More...
 
wiced_result_t wiced_bt_isoc_central_set_cig_param (wiced_bt_ble_cig_param_t *cig_params, void *ctx)
 Function wiced_bt_isoc_central_set_cig_param. More...
 
wiced_result_t wiced_bt_isoc_central_set_cig_param_test (wiced_bt_ble_cig_param_test_t *cig_params, void *ctx)
 Function wiced_bt_isoc_central_set_cig_param_test. More...
 
wiced_result_t wiced_bt_isoc_central_create_cis (wiced_bt_isoc_create_cis_param_t *create_cis_param)
 Function wiced_bt_isoc_central_create_cis. More...
 
wiced_result_t wiced_bt_isoc_create_cis_by_bda (uint8_t cis_count, uint8_t *peer_bda_list, uint16_t *cis_handle_list)
 Function wiced_bt_isoc_create_cis_by_bda. More...
 
wiced_result_t wiced_bt_isoc_peripheral_accept_cis (uint8_t cig_id, uint8_t cis_id, uint16_t cis_conn_handle, uint8_t src_ase_id, uint8_t sink_ase_id)
 Function wiced_bt_isoc_peripheral_accept_cis. More...
 
wiced_result_t wiced_bt_isoc_peripheral_reject_cis (uint16_t cis_handle, uint8_t reason)
 Function wiced_bt_isoc_peripheral_reject_cis. More...
 
wiced_result_t wiced_bt_isoc_peripheral_remove_cig (uint8_t cig_id)
 Function wiced_bt_isoc_peripheral_remove_cig. More...
 
wiced_result_t wiced_bt_isoc_disconnect_cis (uint16_t cis_handle)
 Function wiced_bt_isoc_disconnect_cis. More...
 
wiced_bool_t wiced_bt_isoc_is_cis_connected (uint8_t cig_id, uint8_t cis_id)
 Get CIS connection status. More...
 
wiced_bool_t wiced_bt_isoc_is_cis_connected_by_conn_id (uint16_t cis_conn_id)
 Get CIS connection status by CIS conn id. More...
 
wiced_result_t wiced_bt_isoc_central_request_peer_sca (wiced_bt_device_address_t peer_bda)
 Function wiced_bt_isoc_central_request_peer_sca. More...
 
wiced_result_t wiced_bt_isoc_central_remove_cig (uint8_t cig_id)
 Function wiced_bt_isoc_central_remove_cig. More...
 
uint16_t wiced_bt_isoc_central_get_psn_by_cis_handle (uint16_t handle)
 wiced_bt_isoc_central_get_psn_by_cis_handle More...
 
uint16_t wiced_bt_isoc_get_psn_by_bis_handle (uint16_t handle)
 wiced_bt_isoc_get_psn_by_bis_handle More...
 
wiced_bool_t wiced_bt_isoc_is_bis_created (uint16_t bis_conn_handle)
 wiced_bt_isoc_is_bis_created More...
 
wiced_result_t wiced_bt_isoc_central_create_big (wiced_bt_isoc_create_big_param_t *p_big_param)
 Create BIG with provided parameters. More...
 
wiced_result_t wiced_bt_isoc_central_terminate_big (uint8_t big_handle, uint8_t reason)
 terminate a BIG identified by the BIG_Handle More...
 
wiced_bool_t wiced_bt_isoc_peripheral_big_create_sync (wiced_bt_isoc_big_create_sync_t *p_create_sync)
 Sync to the BIS stream described by wiced_bt_isoc_big_create_sync_t. More...
 
wiced_result_t wiced_bt_isoc_peripheral_big_terminate_sync (uint8_t big_handle)
 Stop synchronizing or cancel the process of synchronizing to the BIG identified by the BIG_Handle. More...
 
wiced_bool_t wiced_bt_isoc_remove_data_path (uint16_t conn_hdl, wiced_bool_t is_cis, wiced_bt_isoc_data_path_bit_t data_path_dir_bitfield)
 Remove data path setup for a CIS/BIS. More...
 
wiced_bool_t wiced_bt_isoc_is_data_path_active (uint8_t cig_id, uint8_t cis_id, wiced_bt_isoc_data_path_direction_t data_path_dir)
 Get status of the ISO CIS/BIS data path. More...
 
void wiced_bt_isoc_update_cis_conn_handle (uint8_t cig_id, uint8_t cis_id, uint16_t cis_conn_handle)
 
uint16_t wiced_bt_isoc_get_cis_conn_handle (uint8_t cig_id, uint8_t cis_id)
 
wiced_bool_t wiced_bt_isoc_setup_data_path (uint16_t conn_hdl, wiced_bool_t is_cis, wiced_bt_isoc_data_path_direction_t data_path_dir, wiced_bt_isoc_data_path_id_t data_path_id, uint32_t controller_delay, uint8_t csc_length, uint8_t *csc)
 Can be invoked twice per connection handle (once per direction) Supports only HCI for datapath and Does not support configuring codec in the controller. More...
 
wiced_bool_t wiced_bt_isoc_configure_data_path (wiced_bt_isoc_data_path_direction_t data_path_dir, wiced_bt_isoc_data_path_id_t data_path_id)
 

Variables

wiced_bt_iso_rx_cb_t g_iso_rx_data_cb
 
wiced_bt_iso_num_complete_cb_t g_iso_num_complete_cb
 

Detailed Description

AIROC Bluetooth Low Energy (LE) Isochronous function.

Some Acronyms and Abbreviations : CIS - Connected Isochronous Stream CIG - Connected Isochronous Group BIS - Broadcast Isochronous Stream BIG - Broadcast Isochronous Group ISO - Isochronous ISOAL - Isochronous Adaption Layer