SCO Definitions and Functions.
More...
|
#define | WICED_BT_SCO_CONNECTION_ACCEPT 0x00 |
|
#define | WICED_BT_SCO_CONNECTION_REJECT_RESOURCES 0x0D |
|
#define | WICED_BT_SCO_CONNECTION_REJECT_SECURITY 0x0E |
|
#define | WICED_BT_SCO_CONNECTION_REJECT_DEVICE 0x0F |
|
#define | WICED_INVALID_SCO_INDEX 0xFFFF |
|
#define | WICED_SCO_LINK_ALL_PKT_MASK 0x003F |
|
#define | WICED_SCO_LINK_ONLY_MASK 0x0007 |
|
#define | WICED_SCO_PKT_TYPES_MASK_HV3 0x0004 |
|
#define | WICED_SCO_PKT_TYPES_MASK_EV3 0x0008 |
|
#define | WICED_SCO_PKT_TYPES_MASK_EV4 0x0010 |
|
#define | WICED_SCO_PKT_TYPES_MASK_EV5 0x0020 |
|
#define | WICED_SCO_PKT_TYPES_MASK_NO_2_EV3 0x0040 |
|
#define | WICED_SCO_PKT_TYPES_MASK_NO_3_EV3 0x0080 |
|
#define | WICED_SCO_PKT_TYPES_MASK_NO_2_EV5 0x0100 |
|
#define | WICED_SCO_PKT_TYPES_MASK_NO_3_EV5 0x0200 |
|
#define | WICED_BT_SCO_DATA_CB_GET_LENGTH(ltch_len) ((ltch_len>>8)&0xff) |
| SCO data callback length.
|
|
#define | wiced_bt_sco_setup_voice_path wiced_bt_setup_voice_path |
|
|
typedef void( | wiced_bt_sco_data_cb_t )(uint32_t ltch_len, uint8_t *p_data) |
| Call back function for pcm data transfer, ltch_len = (length)<<8|(sco_channel)
|
|
SCO Definitions and Functions.
SCO logical transport, is a symmetric, point-to-point transport between the central and a specific peripheral. The SCO logical transport reserves slots and can therefore be considered as a circuit-switched connection between the central and the peripheral. The central may support up to three SCO links to the same peripheral or to different peripherals. A peripheral may support up to three SCO links from the same central, or two SCO links if the links originate from different centrals. SCO packets are never retransmitted.
SCO route path.
Enumerator |
---|
WICED_BT_SCO_OVER_PCM |
[DEFAULT] PCM data config for routing over I2S/PCM interface
|
WICED_BT_SCO_OVER_APP_CB |
PCM data config for routing over APP.
|
void wiced_bt_sco_accept_connection |
( |
uint16_t |
sco_index, |
|
|
uint8_t |
hci_status, |
|
|
wiced_bt_sco_params_t * |
p_params |
|
) |
| |
Function wiced_bt_sco_accept_connection.
Called to handle (e)SCO connection request event (wiced_bt_sco_connect_request_event).
- Parameters
-
[in] | sco_index | : SCO index |
[in] | HCI | status code : WICED_BT_SCO_CONNECTION_ACCEPT 0x00 WICED_BT_SCO_CONNECTION_REJECT_RESOURCES 0x0D WICED_BT_SCO_CONNECTION_REJECT_SECURITY 0x0E WICED_BT_SCO_CONNECTION_REJECT_DEVICE 0x0F |
[in] | p_params | : Pointer to the SCO parameter structure |
Function wiced_bt_sco_create_as_acceptor.
Creates a synchronous connection oriented connection as acceptor.
- Parameters
-
[out] | p_sco_index | : SCO index returned |
- Returns
- WICED_BT_UNKNOWN_ADDR : Create connection failed, ACL connection is not up or address is invalid WICED_BT_BUSY : Create connection failed, a SCO connection is already conncted to the same BD address WICED_BT_WRONG_MODE : Create connection failed, link in park mode or automatic un-park is not supported WICED_BT_NO_RESOURCES : Create connection failed, max SCO limit has been reached WICED_BT_PENDING : Create connection successfully, "p_sco_index" is returned
Function wiced_bt_sco_create_as_acceptor.
Creates a synchronous connection oriented connection as acceptor with specifi Audio Gateway.
- Parameters
-
[in] | ag_addr | : Target Audio Gateway's address |
[out] | p_sco_index | : SCO index returned |
- Returns
- WICED_BT_UNKNOWN_ADDR : Create connection failed, ACL connection is not up or address is invalid WICED_BT_BUSY : Create connection failed, a SCO connection is already conncted to the same BD address WICED_BT_WRONG_MODE : Create connection failed, link in park mode or automatic un-park is not supported WICED_BT_NO_RESOURCES : Create connection failed, max SCO limit has been reached BTM_CMD_STARTED : Create connection successfully, "p_sco_index" is returned
Function wiced_bt_sco_create_as_initiator.
Creates a synchronous connection oriented connection as initiator.
- Parameters
-
[in] | bd_addr | : Peer bd_addr |
[in] | p_params | : Pointer to the SCO parameter structure |
[out] | p_sco_index | : SCO index returned |
- Returns
- WICED_BT_UNKNOWN_ADDR : Create connection failed, ACL connection is not up WICED_BT_BUSY : Create connection failed, another SCO is being conncted to the same BD address WICED_BT_WRONG_MODE : Create connection failed, wrong mode WICED_BT_NO_RESOURCES : Create connection failed, max SCO limit has been reached WICED_BT_PENDING : Create connection successfully, "p_sco_index" is returned
uint16_t wiced_bt_sco_output_stream |
( |
uint16_t |
sco_index, |
|
|
uint8_t * |
p_pcmsrc, |
|
|
uint16_t |
len |
|
) |
| |
Function wiced_bt_sco_output_stream.
Send pcm data to internal audio pipe.
- Parameters
-
[in] | sco_index | : SCO index to send the stream |
[in] | p_pcmsrc | : Audio stream source. |
[in] | len | : Length of stream. |
- Returns
- : Return the length of non transmitted stream.
Function wiced_bt_sco_remove.
Removes a specific synchronous connection oriented connection.
- Parameters
-
[in] | sco_index | : SCO index to remove |
- Returns
- WICED_BT_UNKNOWN_ADDR : Remove connection failed, invalid SCO index WICED_BT_NO_RESOURCES : Remove connection failed, no resource WICED_BT_SUCCESS : Remove connection successfully, device is still listening for incoming connection WICED_BT_PENDING : Remove connection successfully
void wiced_bt_sco_turn_off_pcm_clock |
( |
void |
| ) |
|
Function wiced_bt_sco_turn_off_pcm_clock.
The wiced_voice_path.a was required to include before we link this function. To turn off the PCM/I2S hardware clock This function needs to be called after the application turns off (or mutes audio data in/out of) the codec
- Returns
- : None
Function wiced_bt_setup_voice_path.
Configure the SCO routing path.
- Parameters
-
[in] | pData | : To setup SCO routing path |
- Returns
- WICED_BT_SUCCESS : Config success. WICED_BT_PENDING : Command sent. Waiting for command complete event. WICED_BT_BUSY : Command not sent. Waiting for command complete event for prior command.