Infineon Logo AIROC BTSDK v4.9 - Documentation
 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
SPP Library API

SPP library of the AIROC BTSDK provide a simple method for an application to integrate SPP functionality. More...

Data Structures

struct  wiced_bt_spp_reg_t
 Following structure is used to register application with wiced_bt_spp library. More...
 

Typedefs

typedef void(* wiced_bt_spp_connection_up_callback_t )(uint16_t handle, uint8_t *bd_addr)
 The application must implement connection up callback to be called by the library. More...
 
typedef void(* wiced_bt_spp_connection_failed_callback_t )(void)
 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_spp_connect call. More...
 
typedef void(* wiced_bt_spp_service_not_found_callback_t )(void)
 Service not found callback indicates wiced_bt_spp_connect call requested to establish connection to a device which is currently not present, or which is not running SPP service. More...
 
typedef void(* wiced_bt_spp_connection_down_callback_t )(uint16_t handle)
 Connection Down callback indicates that an active session has been terminated. More...
 
typedef wiced_bool_t(* wiced_bt_spp_rx_data_callback_t )(uint16_t handle, uint8_t *data, uint32_t data_len)
 Rx Data callback passed to the application data received over the SPP session. More...
 

Functions

wiced_result_t wiced_bt_spp_startup (wiced_bt_spp_reg_t *p_reg)
 Function wiced_bt_spp_startup. More...
 
wiced_result_t wiced_bt_spp_connect (BD_ADDR bd_addr)
 Function wiced_bt_spp_connect. More...
 
wiced_result_t wiced_bt_spp_disconnect (uint16_t handle)
 Function wiced_bt_spp_disconnect. More...
 
wiced_bool_t wiced_bt_spp_send_session_data (uint16_t handle, uint8_t *p_data, uint32_t len)
 Send data over the established External Accessory connection. More...
 
void wiced_bt_spp_rx_flow_enable (uint16_t handle, wiced_bool_t enable)
 SPP application may use this call to disable or reenable the RX data flow. More...
 
wiced_bool_t wiced_bt_spp_can_send_more_data (uint16_t handle)
 Function wiced_bt_spp_can_send_more_data. More...
 
uint8_t wiced_bt_spp_port_purge (uint16_t handle, uint8_t purge_flags)
 SPP 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_spp_rfcomm_get_peer_mtu (uint16_t handle)
 SPP application may use this function to read the peer_mtu size when rfcomm connection made. More...
 
uint8_t wiced_bt_spp_get_connection_state (BD_ADDR bd_addr)
 SPP application may use this function to get the connection state when rfcomm connection made. More...
 

Detailed Description

SPP library of the AIROC BTSDK provide a simple method for an application to integrate SPP functionality.

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 Documentation

typedef void(* wiced_bt_spp_connection_down_callback_t)(uint16_t handle)

Connection Down callback indicates that an active session has been terminated.

Parameters
[in]handle: Handle that identifies the external accessory session
Returns
none
typedef void(* wiced_bt_spp_connection_failed_callback_t)(void)

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_spp_connect call.

Returns
none
typedef void(* wiced_bt_spp_connection_up_callback_t)(uint16_t handle, uint8_t *bd_addr)

The application must implement connection up callback to be called by the library.

The callback indicates to the application that SPP over RFCOMM session with a specified device has been successfully established. This can be a result of the wiced_bt_spp_connect requested by the application, or due to a peer device establishing connection from its side.

Parameters
[in]handle: Handle that identifies newly established session.
[in]bd_addr: Bluetooth Device address of the connected device.
Returns
none
typedef wiced_bool_t(* wiced_bt_spp_rx_data_callback_t)(uint16_t handle, uint8_t *data, uint32_t data_len)

Rx Data callback passed to the application data received over the SPP session.

Parameters
[in]handle: Handle that identifies the external accessory session
[in]p_data: Pointer to buffer with data.
[in]data_len: Length of the data
Returns
none
typedef void(* wiced_bt_spp_service_not_found_callback_t)(void)

Service not found callback indicates wiced_bt_spp_connect call requested to establish connection to a device which is currently not present, or which is not running SPP service.

Returns
none

Function Documentation

wiced_bool_t wiced_bt_spp_can_send_more_data ( uint16_t  handle)

Function wiced_bt_spp_can_send_more_data.

Parameters
[in]handle: The handle returned by the application in the wiced_bt_spp_connection_up_callback. Returns TRUE if library can queue forward data, or FALSE if forward data queue is full.
wiced_result_t wiced_bt_spp_connect ( BD_ADDR  bd_addr)

Function wiced_bt_spp_connect.

Establish External Accessory connection to an iOS device. Library will perform Service Discovery. If SPP service is running on the specified device RFCOMM connection is established. When session is established, library executes spp_connection_up_callback.

Parameters
[in]bd_addr: Bluetooth Device address to connect to.
Returns
wiced_result_t : Result of operation
wiced_result_t wiced_bt_spp_disconnect ( uint16_t  handle)

Function wiced_bt_spp_disconnect.

Disconnect External Accessory Session with the iOS device. Bluetooth connection is brought down as well.

Parameters
[in]handle: The handle returned by the application in the wiced_bt_spp_connection_up_callback.
Returns
wiced_result_t : Result of operation
uint8_t wiced_bt_spp_get_connection_state ( BD_ADDR  bd_addr)

SPP application may use this function to get the connection state when rfcomm connection made.

Returns
connection state
uint8_t wiced_bt_spp_port_purge ( uint16_t  handle,
uint8_t  purge_flags 
)

SPP application may use this function to discard all the data from the output or input queues of the specified connection.

Parameters
[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.
Returns
rfcomm port return code
uint16_t wiced_bt_spp_rfcomm_get_peer_mtu ( uint16_t  handle)

SPP application may use this function to read the peer_mtu size when rfcomm connection made.

Returns
rfcomm port peer mtu size
void wiced_bt_spp_rx_flow_enable ( uint16_t  handle,
wiced_bool_t  enable 
)

SPP application may use this call to disable or reenable the RX data flow.

Parameters
[in]handle: Connection handle indicated in the connection up callback
[in]enable: If true, data flow is enabled
Returns
none
wiced_bool_t wiced_bt_spp_send_session_data ( uint16_t  handle,
uint8_t *  p_data,
uint32_t  len 
)

Send data over the established External Accessory connection.

The session must be SPP_EA_SESSION_ID. The first 2 octets of the p_data must be the handle passed to the application in the wiced_bt_spp_connection_up_callback in the big endian format.

Parameters
[in]handle: Connection handle indicated in the connection up callback
[in]p_data: Pointer to buffer with data to send.
[in]len: Length of the data + handle
Returns
WICED_TRUE: if data is scheduled for transmission, otherwise WICED_FALSE
wiced_result_t wiced_bt_spp_startup ( wiced_bt_spp_reg_t p_reg)

Function wiced_bt_spp_startup.

Initialize SPP library and starts the RFCOMM service.

Parameters
[in]p_reg: Registration control block that includes RFCOMM SCN and callbacks
Returns
wiced_result_t : Result of operation