Interface between Stack and platform.
Data Structures | |
struct | wiced_bt_stack_platform_t |
AIROC Bluetooth Stack Platform. More... | |
struct | wiced_bt_smp_adapter_t |
SMP encryption. More... | |
struct | wiced_bt_hci_version_info_t |
Version information for the local Controller. More... | |
struct | wiced_bt_ble_init_data_t |
LE configuration parameters. More... | |
struct | wiced_bt_dev_init_data_t |
device configuration parameters More... | |
struct | wiced_bt_stack_init_cmd_data_t |
BTSTACK initialization configuration parameters. More... | |
Macros | |
#define | CYBT_STACK_BASE_EXCEPTION 0xF000 |
< Stack Exception definitions More... | |
#define | CYBT_STACK_BUF_CORRUPTED CYBT_STACK_BASE_EXCEPTION + 1 |
Indicates a buffer/memory corruption issue. | |
#define | CYBT_STACK_NOT_BUF_OWNER CYBT_STACK_BASE_EXCEPTION + 2 |
Signifies a lack of buffer ownership by the current process. | |
#define | CYBT_STACK_FREEBUF_BAD_QID CYBT_STACK_BASE_EXCEPTION + 3 |
Occurs when attempting to free a buffer with an invalid queue ID. | |
#define | CYBT_STACK_FREEBUF_BUF_LINKED CYBT_STACK_BASE_EXCEPTION + 4 |
Denotes an error with a linked buffer during the free operation. | |
#define | CYBT_STACK_SEND_MSG_BAD_DEST CYBT_STACK_BASE_EXCEPTION + 5 |
Indicates a bad destination for a message send operation. | |
#define | CYBT_STACK_SEND_MSG_BUF_LINKED CYBT_STACK_BASE_EXCEPTION + 6 |
Represents an issue with a linked buffer during the message send operation. | |
#define | CYBT_STACK_ENQUEUE_BUF_LINKED CYBT_STACK_BASE_EXCEPTION + 7 |
Indicates a linked buffer error during the enqueue operation. | |
#define | CYBT_STACK_DELETE_POOL_BAD_QID CYBT_STACK_BASE_EXCEPTION + 8 |
Occurs when attempting to delete a pool with an invalid queue ID. | |
#define | CYBT_STACK_BUF_SIZE_TOOBIG CYBT_STACK_BASE_EXCEPTION + 9 |
Signifies that the buffer size exceeds the maximum allowed size. | |
#define | CYBT_STACK_BUF_SIZE_ZERO CYBT_STACK_BASE_EXCEPTION + 10 |
Indicates an attempt to create a buffer with zero size. | |
#define | CYBT_STACK_ADDR_NOT_IN_BUF CYBT_STACK_BASE_EXCEPTION + 11 |
Denotes an address that is not within the buffer range. | |
#define | CYBT_STACK_OUT_OF_BUFFERS CYBT_STACK_BASE_EXCEPTION + 12 |
Occurs when there are no available buffers. | |
#define | CYBT_STACK_GETPOOLBUF_BAD_QID CYBT_STACK_BASE_EXCEPTION + 13 |
Signifies an invalid queue ID during the get pool buffer operation. | |
#define | CYBT_STACK_POOLBUF_BAD_SIZE CYBT_STACK_BASE_EXCEPTION + 14 |
Indicates an error with the size of the pool buffer. | |
#define | CYBT_STACK_NO_INTERFACE CYBT_STACK_BASE_EXCEPTION + 15 |
Signifies the absence of a required interface. | |
#define | CYBT_STACK_BAD_TRANSPORT CYBT_STACK_BASE_EXCEPTION + 16 |
Denotes a problem with the transport assignement (BLE / BREDR) | |
#define | CYBT_STACK_NO_MEMORY CYBT_STACK_BASE_EXCEPTION + 17 |
Indicates a memory allocation failure. | |
#define | CYBT_STACK_NO_BUF CYBT_STACK_BASE_EXCEPTION + 18 |
Represents the absence of available buffers. | |
#define | CYBT_STACK_MAX_EXCEPTION CYBT_STACK_NO_BUF + 1 |
Stack MAX exception. | |
Typedefs | |
typedef struct _aes_context_t | aes_context |
Forward definition. | |
typedef void(* | wiced_bt_internal_post_stack_init_cb) (void) |
Function prototype for the post Stack Init Callback. | |
typedef wiced_bool_t(* | wiced_bt_internal_stack_evt_handler_cb) (uint8_t *p_event) |
Function prototype for the HCI event monitor function that the application may suppply. More... | |
Functions | |
wiced_result_t | wiced_bt_stack_platform_initialize (wiced_bt_stack_platform_t *platform_interfaces) |
Initialize the platform interfaces, by providing porting functions specific to the underlying platform. More... | |
void | wiced_bt_process_acl_data (uint8_t *pData, uint32_t length) |
Called by the porting layer to process the incoming ACL data received from the remote bluetooth device. More... | |
void | wiced_bt_process_hci_events (uint8_t *pData, uint32_t length) |
Called by the porting layer to process the incoming HCI events from the local bluetooth controller. More... | |
void | wiced_bt_process_sco_data (uint8_t *pData, uint32_t length) |
Called by the porting layer to process the incoming SCO data received from the remote bluetooth device. More... | |
void | wiced_bt_process_isoc_data (uint8_t *pData, uint32_t length) |
Called by the porting layer to process the incoming ISOC data received from the remote bluetooth device. More... | |
void | wiced_bt_process_timer (void) |
Called by the porting layer on expiry of the timer to process pending timers. More... | |
void | wiced_bt_stack_indicate_lower_tx_complete (void) |
Called by the lower layer transport driver to restart sending ACL data to the controller Note: Porting layer API. More... | |
void | wiced_bt_continue_reset (void) |
Called by the porting layer to complete/continue the reset process Typically called after downloading firmware patches to the controller. More... | |
uint32_t | wiced_bt_set_stack_config (const wiced_bt_cfg_settings_t *p_bt_new_cfg_settings) |
Set the stack config. More... | |
void | wiced_bt_stack_init_internal (wiced_bt_management_cback_t mgmt_cback, wiced_bt_internal_post_stack_init_cb post_stack_cb, wiced_bt_internal_stack_evt_handler_cb evt_handler_cb) |
Internal stack init. More... | |
void | wiced_bt_stack_shutdown (void) |
This function blocks until all de-initialisation procedures are complete. More... | |
wiced_result_t | wiced_bt_set_stack_initial_setup_data (wiced_bt_stack_init_cmd_data_t *p_init_setup_data) |
Set the initial setup data to configure the stack. More... | |
void | wiced_bt_enable_stack_default_flow (void) |
Called by the porting layer to enable the stack to send the initial setup commands(refer Version 5.4 | Vol 6, Part D 2.1 INITIAL SETUP) to the controller. More... | |
wiced_result_t | wiced_bt_platform_set_smp_adapter (const wiced_bt_smp_adapter_t *p_smp_adapter) |
Called by the porting layer to set platform specific or custom SMP encryption. More... | |
wiced_result_t | wiced_bt_set_default_smp_adapter (void) |
Called by the porting layer to set default SMP encryption. More... | |
#define CYBT_STACK_BASE_EXCEPTION 0xF000 |
< Stack Exception definitions
Stack BASE exception
typedef wiced_bool_t(* wiced_bt_internal_stack_evt_handler_cb) (uint8_t *p_event) |
Function prototype for the HCI event monitor function that the application may suppply.
The application MUST return TRUE if the it handled the event and does not want the stack to process the event. If the application returns FALSE, the stack will process the event.
wiced_result_t wiced_bt_stack_platform_initialize | ( | wiced_bt_stack_platform_t * | platform_interfaces | ) |
Initialize the platform interfaces, by providing porting functions specific to the underlying platform.
void wiced_bt_process_acl_data | ( | uint8_t * | pData, |
uint32_t | length | ||
) |
Called by the porting layer to process the incoming ACL data received from the remote bluetooth device.
[in] | pData | : Pointer to the ACL data to be processed |
[in] | length | : Length of the ACL data buffer |
void wiced_bt_process_hci_events | ( | uint8_t * | pData, |
uint32_t | length | ||
) |
Called by the porting layer to process the incoming HCI events from the local bluetooth controller.
[in] | pData | : Pointer to the HCI Events to be processed |
[in] | length | : Length of the event buffer |
void wiced_bt_process_sco_data | ( | uint8_t * | pData, |
uint32_t | length | ||
) |
Called by the porting layer to process the incoming SCO data received from the remote bluetooth device.
[in] | pData | : Pointer to the SCO data to be processed |
[in] | length | : Length of the SCO data buffer |
void wiced_bt_process_isoc_data | ( | uint8_t * | pData, |
uint32_t | length | ||
) |
Called by the porting layer to process the incoming ISOC data received from the remote bluetooth device.
[in] | pData | : Pointer to the ISOC data to be processed |
[in] | length | : Length of the ISOC data buffer |
void wiced_bt_process_timer | ( | void | ) |
Called by the porting layer on expiry of the timer to process pending timers.
void wiced_bt_stack_indicate_lower_tx_complete | ( | void | ) |
Called by the lower layer transport driver to restart sending ACL data to the controller Note: Porting layer API.
This API is expected to be invoked by the lower layer transport driver, to restart transfers from the stack to the controller. The lower tx layer is expected to have space for atleast one complete ACL buffer Typically used in cases where the lower Tx has lesser number of buffers than allowed by controller
void wiced_bt_continue_reset | ( | void | ) |
Called by the porting layer to complete/continue the reset process Typically called after downloading firmware patches to the controller.
uint32_t wiced_bt_set_stack_config | ( | const wiced_bt_cfg_settings_t * | p_bt_new_cfg_settings | ) |
Set the stack config.
Invoked by the porting layer
[in] | p_bt_new_cfg_settings | : Stack configuration settings |
void wiced_bt_stack_init_internal | ( | wiced_bt_management_cback_t | mgmt_cback, |
wiced_bt_internal_post_stack_init_cb | post_stack_cb, | ||
wiced_bt_internal_stack_evt_handler_cb | evt_handler_cb | ||
) |
Internal stack init.
[in] | mgmt_cback | : Application Bluetooth Management callback |
[in] | post_stack_cb | : Internal post stack init callback |
[in] | evt_handler_cb | : Internal stack event handler |
void wiced_bt_stack_shutdown | ( | void | ) |
This function blocks until all de-initialisation procedures are complete.
It is recommended that the application disconnect any outstanding connections prior to invoking this function.
wiced_result_t wiced_bt_set_stack_initial_setup_data | ( | wiced_bt_stack_init_cmd_data_t * | p_init_setup_data | ) |
Set the initial setup data to configure the stack.
Invoked by the porting layer
[in] | p_init_setup_data | : intial setup data |
void wiced_bt_enable_stack_default_flow | ( | void | ) |
Called by the porting layer to enable the stack to send the initial setup commands(refer Version 5.4 | Vol 6, Part D 2.1 INITIAL SETUP) to the controller.
wiced_result_t wiced_bt_platform_set_smp_adapter | ( | const wiced_bt_smp_adapter_t * | p_smp_adapter | ) |
Called by the porting layer to set platform specific or custom SMP encryption.
[in] | p_smp_adapter | : SMP Adaptor configurations and callbacks |
wiced_result_t wiced_bt_set_default_smp_adapter | ( | void | ) |
Called by the porting layer to set default SMP encryption.