AIROC™ BTSDK v4.9 - Documentation | ||||
iAP2 library of the AIROC BTSDK provides a simple method for an application to integrate iAP2 functionality. More...
Data Structures | |
struct | wiced_bt_iap2_event_data_rfcomm_connected_t |
struct | wiced_bt_iap2_event_data_rfcomm_disconnected_t |
union | wiced_bt_iap2_event_data_t |
struct | wiced_bt_iap2_reg_t |
Following structure is used to register application with wiced_bt_iap2 library. More... | |
Macros | |
#define | IAP2_ACCESSORY_UUID 0x00, 0x00, 0x00, 0x00, 0xde, 0xCA, 0xfA, 0xDE, 0xde, 0xca, 0xde, 0xaf, 0xDE, 0xca, 0xCA, 0xff |
iAP2 Accessory Service | |
#define | IAP2_DEVICE_UUID 0x00, 0x00, 0x00, 0x00, 0xde, 0xCA, 0xfA, 0xDE, 0xde, 0xca, 0xde, 0xaf, 0xDE, 0xca, 0xCA, 0xfe |
iAP2 Device Service | |
#define | IAP2_MAX_PACKET_SIZE 1003 |
#define | PORT_PURGE_TXCLEAR 0x01 |
#define | PORT_PURGE_RXCLEAR 0x02 |
#define | IAP2_CONN_RFCOMM_FAILED 0x01 |
failed to create RFCOMM connection | |
#define | IAP2_CONN_RFCOMM_CLOSED 0x02 |
RFCOMM connection closed. | |
#define | IAP2_CONN_SVC_DISC_FAILED 0x03 |
service discovery failed | |
#define | IAP2_CONN_AUTH_FAILED 0x04 |
authentication failed | |
#define | IAP2_CONN_ID_REJECTED 0x05 |
identification rejected | |
#define | IAP2_CONN_EAP_FAILED 0x06 |
external accessory protocol session failed | |
#define | IAP2_CONN_PEER_RESET 0x07 |
peer reset the iAP2 link | |
#define | IAP2_CONN_NO_RESP 0x08 |
no response from iAP2 peer | |
#define | IAP2_MATCH_ACTION_NO_PROMPT 0 |
#define | IAP2_MATCH_ACTION_DEVICE_MAY_PROMPT_AND_FIND_APP_BUTTON 1 |
#define | IAP2_MATCH_ACTION_DEVICE_NO_PROMPT_AND_FIND_APP_BUTTON 2 |
#define | AUTH_CHIP_INFO_DATA_SIZE 8 |
Typedefs | |
typedef void(* | wiced_bt_iap2_connection_up_callback_t )(uint16_t handle, uint8_t *bd_addr) |
Function wiced_bt_iap2_connection_up_callback. More... | |
typedef void(* | wiced_bt_iap2_connection_failed_callback_t )(uint8_t err_code) |
Function wiced_bt_iap2_connection_failed_callback. More... | |
typedef void(* | wiced_bt_iap2_service_not_found_callback_t )(void) |
Function wiced_bt_iap2_service_not_found_callback. More... | |
typedef void(* | wiced_bt_iap2_connection_down_callback_t )(uint16_t handle) |
Function wiced_bt_iap2_connection_down_callback. More... | |
typedef void(* | wiced_bt_iap2_tx_complete_callback_t )(uint16_t handle, wiced_result_t result) |
Function wiced_bt_iap2_tx_complete_callback. More... | |
typedef wiced_bool_t(* | wiced_bt_iap2_rx_data_callback_t )(uint16_t handle, uint8_t *data, uint32_t dataLen) |
Function wiced_bt_iap2_rx_data_callback. More... | |
typedef void( | wiced_bt_iap2_callback_t )(wiced_bt_iap2_event_t event, wiced_bt_iap2_event_data_t *p_data) |
Function wiced_bt_iap2_callback_t. | |
Enumerations | |
enum | wiced_bt_iap2_event_t { WICED_BT_IAP2_EVENT_RFCOMM_CONNECTED, WICED_BT_IAP2_EVENT_RFCOMM_DISCONNECTED } |
Functions | |
wiced_result_t | wiced_bt_iap2_get_auth_chip_info (uint8_t *buffer, uint32_t buffer_size) |
Function wiced_bt_iap2_get_auth_chip_info. More... | |
void | wiced_bt_iap2_startup (wiced_bt_iap2_reg_t *p_reg) |
Function wiced_bt_iap2_startup. More... | |
void | wiced_bt_iap2_connect (uint8_t *bd_addr) |
Function wiced_bt_iap2_connect. More... | |
void | wiced_bt_iap2_disconnect (uint16_t handle) |
Function wiced_bt_iap2_disconnect. More... | |
wiced_bool_t | wiced_bt_iap2_send_session_data (uint16_t session, uint8_t *p_data, uint32_t len) |
Function wiced_bt_iap2_send_session_data. More... | |
void | wiced_bt_iap2_rx_flow_enable (uint16_t session, wiced_bool_t enable) |
Function wiced_bt_iap2_rx_flow_enable. More... | |
wiced_bool_t | wiced_bt_iap2_can_send_more_data (void) |
Function wiced_bt_iap2_can_send_more_data. More... | |
void | wiced_bt_iap2_port_purge (uint16_t handle, uint8_t purge_flags) |
iAP2 application may use this function to discard all the data from the output or input queues of the specified connection. More... | |
uint16_t | wiced_bt_iap2_rfcomm_get_peer_mtu (uint16_t handle) |
iAP2 application use this function to read the peer_mtu size when rfcomm connection made More... | |
uint8_t | wiced_bt_iap2_get_connection_state (uint8_t *bd_addr) |
iAP2 application use this function to get the connection state with the peer specified by btaddr More... | |
Variables | |
uint8_t | LocalName [] |
Data provided by the application and utilized by the library. More... | |
uint8_t | ModelIdentifier [] |
zero terminating string with Model Identifier | |
uint8_t | Manufacturer [] |
zero terminating string with Manufacturer Name | |
uint8_t | SerialNumber [] |
zero terminating string with device serial number | |
uint8_t | FirmwareVersion [] |
zero terminating string with firmware version number | |
uint8_t | HardwareVersion [] |
zero terminating string with firmware version number | |
uint8_t | ExternalAccessoryProtocolName [] |
zero terminating string with the external accessory protocol name | |
uint8_t | MatchAction |
uint8_t | AppMatchTeamId [] |
zero terminating string with the match team ID | |
uint8_t | CurrentLanguage [] |
zero terminating string with the current language | |
uint8_t | SupportedLanguage [] |
list of zero terminating strings with supported languages for example en\0fr\0\0 | |
uint8_t | ProductPlanUID [] |
zero terminating string with sample ProductPlanUID value More... | |
iAP2 library of the AIROC BTSDK provides a simple method for an application to integrate iAP2 functionality.
A single External Accessory session is supported in the current version. Application just needs to call API to connect/disconnect and send data. Library in turn indicates status of the connection and passes to the application received data.
typedef void(* wiced_bt_iap2_connection_down_callback_t)(uint16_t handle) |
Function wiced_bt_iap2_connection_down_callback.
Connection Down callback indicates that an active External Accessory session has been terminated.
[in] | handle | : Handle that identifies the external accessory session |
typedef void(* wiced_bt_iap2_connection_failed_callback_t)(uint8_t err_code) |
Function wiced_bt_iap2_connection_failed_callback.
Connection failed callback indicates to the application that the library failed to establish RFCOMM connection with the peer device after connection was requested by the wiced_bt_iap2_connect call.
typedef void(* wiced_bt_iap2_connection_up_callback_t)(uint16_t handle, uint8_t *bd_addr) |
Function wiced_bt_iap2_connection_up_callback.
Application must implement connection up callback to be called by the library. The callback indicates to the application that External Accessory session with a specified device has been successfully established. This can be a result of the wiced_bt_iap2_connect requested by the application, or due to an iOS device establishing connection from its side.
[in] | handle | : Handle that identifies the external accessory session |
[in] | bd_addr | : Bluetooth Device address of the connected iOS device. |
typedef wiced_bool_t(* wiced_bt_iap2_rx_data_callback_t)(uint16_t handle, uint8_t *data, uint32_t dataLen) |
Function wiced_bt_iap2_rx_data_callback.
Rx Data callback passed to the application data received over the External Accessory session. The first 2 octets of the data have the handle of the session in the big endian format.
[in] | handle | : Handle that identifies the external accessory session |
[in] | p_data | : Pointer to buffer with data to send. The first 2 octets of the p_data contain the handle passed to the application in the wiced_bt_iap2_connection_up_callback in the big endian format. |
[in] | len | : Length of the data + handle |
typedef void(* wiced_bt_iap2_service_not_found_callback_t)(void) |
Function wiced_bt_iap2_service_not_found_callback.
Service not found callback indicates wiced_bt_iap2_connect call requested to establish connection to a device which is currently not present, or which is not running IAP2 service.
typedef void(* wiced_bt_iap2_tx_complete_callback_t)(uint16_t handle, wiced_result_t result) |
Function wiced_bt_iap2_tx_complete_callback.
Transmission Complete callback indicates that application can send more data.
[in] | handle | : Handle that identifies the external accessory session |
[in] | result | : Result of tx operaion. 0 if success. |
wiced_bool_t wiced_bt_iap2_can_send_more_data | ( | void | ) |
Function wiced_bt_iap2_can_send_more_data.
Returns TRUE if library can queue forward data, or FALSE if forward data queue is full.
void wiced_bt_iap2_connect | ( | uint8_t * | bd_addr | ) |
Function wiced_bt_iap2_connect.
Establish External Accessory connection to an iOS device. Library will perform Service Discovery. If iAP2 service is running on the specified device RFCOMM connection is established. If connection is established, accessory initiates iAP negotiations which includes accessory authentication and identification. Application on the device is responsible to start External Accessory Session. When session is established, library executes iap2_connection_up_callback.
[out] | bd_addr | : Bluetooth Device address to connect to. |
void wiced_bt_iap2_disconnect | ( | uint16_t | handle | ) |
Function wiced_bt_iap2_disconnect.
Disconnect External Accessory Session with the iOS device. Bluetooth connection is brought down as well.
[out] | handle | : The handle returned by the application in the wiced_bt_iap2_connection_up_callback. |
wiced_result_t wiced_bt_iap2_get_auth_chip_info | ( | uint8_t * | buffer, |
uint32_t | buffer_size | ||
) |
Function wiced_bt_iap2_get_auth_chip_info.
Read the auth chip info
[out] | buffer | :Pointer to buffer to get the auth chip info |
[out] | buffer_size | :buffer size |
uint8_t wiced_bt_iap2_get_connection_state | ( | uint8_t * | bd_addr | ) |
iAP2 application use this function to get the connection state with the peer specified by btaddr
void wiced_bt_iap2_port_purge | ( | uint16_t | handle, |
uint8_t | purge_flags | ||
) |
iAP2 application may use this function to discard all the data from the output or input queues of the specified connection.
[in] | handle | : Connection handle indicated in the connection up callback |
[in] | purge_flags | - specify the action to take with PORT_PURGE_TXCLEAR and/or PORT_PURGE_RXCLEAR. |
uint16_t wiced_bt_iap2_rfcomm_get_peer_mtu | ( | uint16_t | handle | ) |
iAP2 application use this function to read the peer_mtu size when rfcomm connection made
void wiced_bt_iap2_rx_flow_enable | ( | uint16_t | session, |
wiced_bool_t | enable | ||
) |
Function wiced_bt_iap2_rx_flow_enable.
IAP2 application may use this call to disable or reenable the RX data flow
[out] | session | : Must always be IAP2_EA_SESSION_ID |
[out] | enable | : If true, data flow is enabled |
wiced_bool_t wiced_bt_iap2_send_session_data | ( | uint16_t | session, |
uint8_t * | p_data, | ||
uint32_t | len | ||
) |
Function wiced_bt_iap2_send_session_data.
Send data over the established External Accessory connection. The session must be IAP2_EA_SESSION_ID. The first 2 octets of the p_data must be the handle passed to the application in the wiced_bt_iap2_connection_up_callback in the big endian format.
[out] | session | : Must always be IAP2_EA_SESSION_ID |
[out] | p_data | : Pointer to buffer with data to send. The first 2 octets of the p_data must be the handle passed to the application in the wiced_bt_iap2_connection_up_callback in the big endian format. |
[out] | len | : Length of the data + handle |
void wiced_bt_iap2_startup | ( | wiced_bt_iap2_reg_t * | p_reg | ) |
Function wiced_bt_iap2_startup.
Initialize IAP2 library and starts the RFCOMM service.
[out] | p_reg | : Registration control block that includes RFCOMM SCN and callbacks |
uint8_t LocalName[] |
Data provided by the application and utilized by the library.
zero terminating string with BT Local Name
uint8_t ProductPlanUID[] |
zero terminating string with sample ProductPlanUID value
Size of the buffer required to read chip information from the MFi chip