The RFCOMM protocol provides emulation of serial ports over the L2CAP protocol.
More...
|
enum | wiced_bt_rfcomm_port_event_e {
PORT_EV_NONE = 0x00000000,
PORT_EV_RXCHAR = 0x00000001,
PORT_EV_RXFLAG = 0x00000002,
PORT_EV_TXEMPTY = 0x00000004,
PORT_EV_CTS = 0x00000008,
PORT_EV_DSR = 0x00000010,
PORT_EV_RLSD = 0x00000020,
PORT_EV_BREAK = 0x00000040,
PORT_EV_ERR = 0x00000080,
PORT_EV_RING = 0x00000100,
PORT_EV_CTSS = 0x00000400,
PORT_EV_DSRS = 0x00000800,
PORT_EV_RLSDS = 0x00001000,
PORT_EV_OVERRUN = 0x00002000,
PORT_EV_CONNECTED = 0x00000200,
PORT_EV_CONNECT_ERR = 0x00008000,
PORT_EV_FC = 0x00010000,
PORT_EV_FCS = 0x00020000
} |
| RFCOMM Port Event Masks. More...
|
|
enum | wiced_bt_rfcomm_result_e {
WICED_BT_RFCOMM_SUCCESS,
WICED_BT_RFCOMM_ERROR,
WICED_BT_RFCOMM_ALREADY_OPENED,
WICED_BT_RFCOMM_CMD_PENDING,
WICED_BT_RFCOMM_APP_NOT_REGISTERED,
WICED_BT_RFCOMM_NO_MEM,
WICED_BT_RFCOMM_NO_RESOURCES,
WICED_BT_RFCOMM_BAD_BD_ADDR,
WICED_BT_RFCOMM_INVALID_MTU,
WICED_BT_RFCOMM_BAD_HANDLE,
WICED_BT_RFCOMM_NOT_OPENED,
WICED_BT_RFCOMM_LINE_ERR,
WICED_BT_RFCOMM_START_FAILED,
WICED_BT_RFCOMM_PAR_NEG_FAILED,
WICED_BT_RFCOMM_RFCOMM_NEG_FAILED,
WICED_BT_RFCOMM_PEER_CONNECTION_FAILED,
WICED_BT_RFCOMM_PEER_FAILED,
WICED_BT_RFCOMM_PEER_TIMEOUT,
WICED_BT_RFCOMM_CLOSED,
WICED_BT_RFCOMM_TX_FULL,
WICED_BT_RFCOMM_LOCAL_CLOSED,
WICED_BT_RFCOMM_LOCAL_TIMEOUT,
WICED_BT_RFCOMM_TX_QUEUE_DISABLED,
WICED_BT_RFCOMM_PAGE_TIMEOUT,
WICED_BT_RFCOMM_INVALID_SCN
} |
| RFCOMM Result Codes. More...
|
|
enum | wiced_bt_rfcomm_signal_e {
PORT_SET_DTRDSR =0x01,
PORT_CLR_DTRDSR,
PORT_SET_CTSRTS,
PORT_CLR_CTSRTS,
PORT_SET_RI,
PORT_CLR_RI,
PORT_SET_DCD,
PORT_CLR_DCD,
PORT_BREAK
} |
| RFCOMM Signals. More...
|
|
|
wiced_bt_rfcomm_result_t | wiced_bt_rfcomm_create_connection (uint16_t uuid, uint8_t scn, wiced_bool_t is_server, uint16_t mtu, wiced_bt_device_address_t bd_addr, uint16_t *p_handle, wiced_bt_port_mgmt_cback_t *p_mgmt_cb) |
| Establish serial port connection to the peer device, or allow RFCOMM to accept a connection from peer devices. More...
|
|
wiced_bt_rfcomm_result_t | wiced_bt_rfcomm_remove_connection (uint16_t handle, wiced_bool_t remove_server) |
| Close the specified connection. More...
|
|
wiced_bt_rfcomm_result_t | wiced_bt_rfcomm_set_event_callback (uint16_t port_handle, wiced_bt_port_event_cback_t *p_port_cb, wiced_bt_port_tx_cback_t *p_tx_cmpl_cb) |
| Set event callback the specified connection(neither of the callback can be NULL). More...
|
|
wiced_bt_rfcomm_result_t | wiced_bt_rfcomm_set_event_mask (uint16_t port_handle, wiced_bt_rfcomm_port_event_t mask) |
| Set events for which to be notified. More...
|
|
wiced_bt_rfcomm_result_t | wiced_bt_rfcomm_control (uint16_t handle, uint8_t signal) |
| Send control signal to the peer device. More...
|
|
wiced_bt_rfcomm_result_t | wiced_bt_rfcomm_flow_control (uint16_t handle, wiced_bool_t enable) |
| This function directs a specified connection to pass flow control message to the peer device. More...
|
|
wiced_bt_rfcomm_result_t | wiced_bt_rfcomm_set_rx_fifo (uint16_t handle, char *p_mem, uint16_t size) |
| This function provides RFCOMM with a data area to receive peer's data. More...
|
|
wiced_bt_rfcomm_result_t | wiced_bt_rfcomm_read_data (uint16_t handle, char *p_data, uint16_t max_len, uint16_t *p_len) |
| This function reads the received application data from the peer device. More...
|
|
wiced_bt_rfcomm_result_t | wiced_bt_rfcomm_write_data (uint16_t handle, char *p_data, uint16_t max_len) |
| This function sends the given application data to the peer device. More...
|
|
wiced_bt_rfcomm_result_t | wiced_bt_rfcomm_check_connection (uint16_t handle, wiced_bt_device_address_t bd_addr, uint16_t *p_lcid) |
| This function checks connection referenced by handle is up and running. More...
|
|
The RFCOMM protocol provides emulation of serial ports over the L2CAP protocol.
The protocol is based on the ETSI standard GSM 7.1.0. RFCOMM is a simple transport protocol, with additional provisions for emulating the nine circuits of RS-232 (ITU-T V.24) serial ports. The RFCOMM protocol supports up to 60 simultaneous connections between two Bluetooth devices. The number of connections that may be used simultaneously in a Bluetooth device is implementation-specific.
Value:
Received certain character.
Definition: wiced_bt_rfcomm.h:64
CTS state.
Definition: wiced_bt_rfcomm.h:72
data flow enabled flag changed by remote
Definition: wiced_bt_rfcomm.h:78
data flow enable status true = enabled
Definition: wiced_bt_rfcomm.h:79
DSR state.
Definition: wiced_bt_rfcomm.h:73
Any Character received.
Definition: wiced_bt_rfcomm.h:63
receiver buffer overrun
Definition: wiced_bt_rfcomm.h:75
Was not able to establish connection or disconnected.
Definition: wiced_bt_rfcomm.h:77
RFCOMM connection established.
Definition: wiced_bt_rfcomm.h:76
Transmitt Queue Empty.
Definition: wiced_bt_rfcomm.h:65
RLSD state.
Definition: wiced_bt_rfcomm.h:74
DSR changed state.
Definition: wiced_bt_rfcomm.h:67
CTS changed state.
Definition: wiced_bt_rfcomm.h:66
BREAK received.
Definition: wiced_bt_rfcomm.h:69
RLSD changed state.
Definition: wiced_bt_rfcomm.h:68
Line status error occurred.
Definition: wiced_bt_rfcomm.h:70
Ring signal detected.
Definition: wiced_bt_rfcomm.h:71
RFCOMM Port Mask to enable all.
Port event callback.
- Parameters
-
Port management callback.
- Parameters
-
typedef void( wiced_bt_port_tx_cback_t)(uint16_t port_handle, void *p_data) |
Port TX Complete callback.
- Parameters
-
RFCOMM Port Event Masks.
Enumerator |
---|
PORT_EV_NONE |
No event.
|
PORT_EV_RXCHAR |
Any Character received.
|
PORT_EV_RXFLAG |
Received certain character.
|
PORT_EV_TXEMPTY |
Transmitt Queue Empty.
|
PORT_EV_CTS |
CTS changed state.
|
PORT_EV_DSR |
DSR changed state.
|
PORT_EV_RLSD |
RLSD changed state.
|
PORT_EV_BREAK |
BREAK received.
|
PORT_EV_ERR |
Line status error occurred.
|
PORT_EV_RING |
Ring signal detected.
|
PORT_EV_CTSS |
CTS state.
|
PORT_EV_DSRS |
DSR state.
|
PORT_EV_RLSDS |
RLSD state.
|
PORT_EV_OVERRUN |
receiver buffer overrun
|
PORT_EV_CONNECTED |
RFCOMM connection established.
|
PORT_EV_CONNECT_ERR |
Was not able to establish connection or disconnected.
|
PORT_EV_FC |
data flow enabled flag changed by remote
|
PORT_EV_FCS |
data flow enable status true = enabled
|
RFCOMM Result Codes.
Enumerator |
---|
WICED_BT_RFCOMM_SUCCESS |
Success.
|
WICED_BT_RFCOMM_ERROR |
Error.
|
WICED_BT_RFCOMM_ALREADY_OPENED |
Already Opened.
|
WICED_BT_RFCOMM_CMD_PENDING |
Command Pending.
|
WICED_BT_RFCOMM_APP_NOT_REGISTERED |
App Not Registered.
|
WICED_BT_RFCOMM_NO_MEM |
No Memory.
|
WICED_BT_RFCOMM_NO_RESOURCES |
No Resources.
|
WICED_BT_RFCOMM_BAD_BD_ADDR |
Bad BD Address.
|
WICED_BT_RFCOMM_INVALID_MTU |
Invalid MTU.
|
WICED_BT_RFCOMM_BAD_HANDLE |
Bad Handle.
|
WICED_BT_RFCOMM_NOT_OPENED |
Not Opened.
|
WICED_BT_RFCOMM_LINE_ERR |
Line Error.
|
WICED_BT_RFCOMM_START_FAILED |
Start Failed.
|
WICED_BT_RFCOMM_PAR_NEG_FAILED |
DLC parameter negotiation failed.
|
WICED_BT_RFCOMM_RFCOMM_NEG_FAILED |
Remote port negotiation failed.
|
WICED_BT_RFCOMM_PEER_CONNECTION_FAILED |
Peer Connection Failed.
|
WICED_BT_RFCOMM_PEER_FAILED |
Peer Failed.
|
WICED_BT_RFCOMM_PEER_TIMEOUT |
Peer Timeout.
|
WICED_BT_RFCOMM_CLOSED |
Closed.
|
WICED_BT_RFCOMM_TX_FULL |
No space to transmit the packet.
|
WICED_BT_RFCOMM_LOCAL_CLOSED |
Local Closed.
|
WICED_BT_RFCOMM_LOCAL_TIMEOUT |
Local Timeout.
|
WICED_BT_RFCOMM_TX_QUEUE_DISABLED |
Transmit queue disabled.
|
WICED_BT_RFCOMM_PAGE_TIMEOUT |
Page Timeout.
|
WICED_BT_RFCOMM_INVALID_SCN |
Invalid SCN.
|
RFCOMM Signals.
Enumerator |
---|
PORT_CLR_DTRDSR |
DTRDSR set.
|
PORT_SET_CTSRTS |
DTRDSR clear.
|
PORT_CLR_CTSRTS |
CTSRTS set.
|
PORT_SET_RI |
CTSRTS clear.
|
PORT_CLR_RI |
RI set (DCE only)
|
PORT_SET_DCD |
RI clear (DCE only)
|
PORT_CLR_DCD |
DCD set (DCE only)
|
PORT_BREAK |
DCD clear (DCE only)
|
This function checks connection referenced by handle is up and running.
- Parameters
-
- Returns
- WICED_BT_RFCOMM_SUCCESS : If successful
WICED_BT_RFCOMM_LINE_ERR : If connection is not up and running
Send control signal to the peer device.
- Parameters
-
- Returns
- WICED_BT_RFCOMM_SUCCESS : If successful
WICED_BT_RFCOMM_BAD_HANDLE : If the handle is out of range
WICED_BT_RFCOMM_NOT_OPENED : If the connection is not opened
Establish serial port connection to the peer device, or allow RFCOMM to accept a connection from peer devices.
- Note
- Server can call this function with the same scn parameter multiple times if it is ready to accept multiple simulteneous connections.
DLCI for the connection is (scn * 2 + 1) if client originates connection on existing none initiator multiplexer channel. Otherwise it is (scn * 2). For the server DLCI can be changed later if client will be calling it using (scn * 2 + 1) dlci.
- Parameters
-
[in] | uuid | : The Universal Unique Identifier (UUID) of the Class ID of the service being opened |
[in] | scn | : The Service Channel Number(SCN) as registered with the SDP (server) or obtained using SDP from the peer device (client) |
[in] | is_server | : TRUE if requesting application is a server |
[in] | mtu | : The maximum number of bytes transferred per frame If 0, a default size of L2CAP_MAX_BR_RX_MTU minus 5 bytes is used |
[in] | bd_addr | : BD_ADDR of the peer (if client), NULL if server (see wiced_bt_device_address_t) |
[in] | p_mgmt_cb | : Pointer to callback function to receive connection up/down events (see wiced_bt_port_mgmt_cback_t) |
[out] | p_handle | : A pointer to the handle set by RFCOMM to be used in consecutive calls for this connection |
- Returns
- WICED_BT_RFCOMM_SUCCESS : If successful
WICED_BT_RFCOMM_ALREADY_OPENED : If the client tries to establish a connection to the same BD_ADDR
WICED_BT_RFCOMM_NO_RESOURCES : If there is not enough memory to allocate a control block structure
This function directs a specified connection to pass flow control message to the peer device.
Enable flag passed shows if port can accept more data.
- Parameters
-
- Returns
- WICED_BT_RFCOMM_SUCCESS : If successful
WICED_BT_RFCOMM_BAD_HANDLE : If the handle is out of range
WICED_BT_RFCOMM_NOT_OPENED : If the connection is not opened
wiced_bt_rfcomm_result_t wiced_bt_rfcomm_read_data |
( |
uint16_t |
handle, |
|
|
char * |
p_data, |
|
|
uint16_t |
max_len, |
|
|
uint16_t * |
p_len |
|
) |
| |
This function reads the received application data from the peer device.
- Parameters
-
[in] | handle | : The connection handle returned by wiced_bt_rfcomm_create_connection |
[in] | p_data | : Where to read the data into |
[in] | max_len | : Maximum Byte count to read |
[out] | p_len | : Bytes actually read |
- Returns
- WICED_BT_RFCOMM_SUCCESS : If successful
WICED_BT_RFCOMM_BAD_HANDLE : If the handle is out of range
WICED_BT_RFCOMM_NOT_OPENED : If the connection is not opened
Close the specified connection.
- Parameters
-
[in] | handle | : The connection handle returned by wiced_bt_rfcomm_create_connection. |
[in] | remove_server | : (for server only) If TRUE, then also remove server; otherwise server remains enabled after connection is closed. |
- Returns
- WICED_BT_RFCOMM_SUCCESS : If successful
WICED_BT_RFCOMM_BAD_HANDLE : If the handle is out of range
WICED_BT_RFCOMM_NOT_OPENED : If the connection is not opened
Set event callback the specified connection(neither of the callback can be NULL).
- Parameters
-
- Returns
- WICED_BT_RFCOMM_SUCCESS : If successful
WICED_BT_RFCOMM_BAD_HANDLE : If the handle is out of range
WICED_BT_RFCOMM_NOT_OPENED : If the connection is not opened
Set events for which to be notified.
- Parameters
-
- Returns
- WICED_BT_RFCOMM_SUCCESS : If successful
WICED_BT_RFCOMM_BAD_HANDLE : If the handle is out of range
WICED_BT_RFCOMM_NOT_OPENED : If the connection is not opened
This function provides RFCOMM with a data area to receive peer's data.
- Parameters
-
- Returns
- WICED_BT_RFCOMM_SUCCESS : If successful
WICED_BT_RFCOMM_BAD_HANDLE : If the handle is out of range
WICED_BT_RFCOMM_NOT_OPENED : If the connection is not opened
This function sends the given application data to the peer device.
- Note
- the application shall pass a valid
p_data
buffer allocated on the heap or a global to this call. The buffer contents cannot be altered till a TX complete callback wiced_bt_port_tx_cback_t is received
- Parameters
-
- Returns
- WICED_BT_RFCOMM_SUCCESS : If successful
WICED_BT_RFCOMM_BAD_HANDLE : If the handle is out of range
WICED_BT_RFCOMM_NOT_OPENED : If the connection is not opened