Bluetooth Host Stack Library
wiced_bt_stack_platform_t Struct Reference

Description

AIROC Bluetooth Stack Platform Structure.


This structure contains a set of function pointers and platform settings for tracing, which are to be set by the platform poring layer.
Interfaces like memory, timer and locking mechanism for multi-threaded apps are supplied by the porting layer.

Data Fields

pf_wiced_exception pf_exception
 Exception callback. More...
 
void *(* pf_os_malloc )(uint32_t size)
 Platform function to allocate memory. More...
 
void(* pf_os_free )(void *p_mem)
 Platform memory free. More...
 
uint64_t(* pf_get_tick_count_64 )(void)
 Platform function to get tick count. More...
 
void(* pf_set_next_timeout )(uint64_t abs_tick_count)
 Platform function to set the next timeout. More...
 
wiced_bt_lock_t stack_lock
 Stack lock. More...
 
uint8_t *(* pf_get_acl_to_lower_buffer )(wiced_bt_transport_t transport, uint32_t size)
 Platform function to get ACL buffer to send to lower. More...
 
wiced_result_t(* pf_write_acl_to_lower )(wiced_bt_transport_t transport, uint8_t *p_data, uint16_t len)
 Platform function to write ACL buffer to lower. More...
 
wiced_result_t(* pf_write_iso_to_lower )(uint8_t *p_data, uint16_t len)
 Platform function to write ISO buffer to lower. More...
 
wiced_result_t(* pf_write_cmd_to_lower )(uint8_t *p_cmd, uint16_t cmd_len)
 Platform function to write CMD buffer to lower. More...
 
uint8_t *(* pf_get_sco_to_lower_buffer )(uint32_t size)
 Platform function to get SCO buffer to send to lower. More...
 
wiced_result_t(* pf_write_sco_to_lower )(uint8_t *p_sco_data, uint8_t len)
 Platform function to write SCO buffer to lower. More...
 
void(* pf_hci_trace_cback_t )(wiced_bt_hci_trace_type_t type, uint16_t len, uint8_t *p_data)
 Callback function to trace HCI messages. More...
 
void(* pf_debug_trace )(char *p_trace_buf, int trace_buf_len, wiced_bt_trace_type_t trace_type)
 Callback function to dump out trace messages This interface function can be NULL if no debug tracing is supported. More...
 
int trace_buffer_len
 trace_buffer_len : Trace buffer len More...
 
char * trace_buffer
 trace_buffer : Pointer to the trace buffer Applications can set this to NULL to disable traces More...
 
void(* pf_patch_download )(void)
 Used for additional controller initialization by the porting layer to be performed after the HCI reset. More...
 
uint32_t is_legacy_bless_controller: 1
 set is_legacy_bless_controller to 1 for only BLESS controllers. More...
 

Field Documentation

◆ is_legacy_bless_controller

uint32_t wiced_bt_stack_platform_t::is_legacy_bless_controller

set is_legacy_bless_controller to 1 for only BLESS controllers.

This is used while sending BLESS vendor specific commands.

◆ pf_debug_trace

void(* wiced_bt_stack_platform_t::pf_debug_trace) (char *p_trace_buf, int trace_buf_len, wiced_bt_trace_type_t trace_type)

Callback function to dump out trace messages This interface function can be NULL if no debug tracing is supported.

Called by stack to allow application to write debug trace messages

Parameters
[in]p_trace_buf: Pointer to the trace buffer
[in]trace_buf_len: Length of the trace buffer
[in]trace_type: Type of trace message
Returns
: void

◆ pf_exception

pf_wiced_exception wiced_bt_stack_platform_t::pf_exception

Exception callback.

◆ pf_get_acl_to_lower_buffer

uint8_t*(* wiced_bt_stack_platform_t::pf_get_acl_to_lower_buffer) (wiced_bt_transport_t transport, uint32_t size)

Platform function to get ACL buffer to send to lower.

Called by stack to get a buffer to fill in the data to be sent to 'transport' (LE or BR/EDR) of 'size'

Parameters
[in]transport: Transport on which the buffer is to be sent
[in]size: Size of the buffer
Returns
: Pointer to buffer which will be filled with data

◆ pf_get_sco_to_lower_buffer

uint8_t*(* wiced_bt_stack_platform_t::pf_get_sco_to_lower_buffer) (uint32_t size)

Platform function to get SCO buffer to send to lower.

Called by stack to get a SCO buffer to fill in the data to be sent to HCI of 'size'

Parameters
[in]size: Size of the buffer
Returns
: Pointer to buffer which will be filled with data

◆ pf_get_tick_count_64

uint64_t(* wiced_bt_stack_platform_t::pf_get_tick_count_64) (void)

Platform function to get tick count.

Called by stack timer code to get the free running 64 bit tick count

Parameters
[in]None
Returns
: 64 bit current tick count

◆ pf_hci_trace_cback_t

void(* wiced_bt_stack_platform_t::pf_hci_trace_cback_t) (wiced_bt_hci_trace_type_t type, uint16_t len, uint8_t *p_data)

Callback function to trace HCI messages.

Called by stack to allow application to trace the HCI messages. Application/Porting code is expected to treat received data as read only, and make a copy of the data to reference it outside of the callback

Parameters
[in]type: HCI event data type
[in]len: Length of data at p_data
[in]p_data: Pointer to data
Returns
: void

◆ pf_os_free

void(* wiced_bt_stack_platform_t::pf_os_free) (void *p_mem)

Platform memory free.

Called by stack code to free memory back to the OS/Platform. Implementing function is expected to free the memory allocated using pf_os_malloc (refer pf_os_malloc ) call from the OS/Platform

Parameters
[in]p_mem: Ptr to memory to be freed
Returns
: None

◆ pf_os_malloc

void*(* wiced_bt_stack_platform_t::pf_os_malloc) (uint32_t size)

Platform function to allocate memory.

Called by stack code to allocate memory from the OS/Platform. Implementing function is expected to return memory allocated from the OS/Platform

Parameters
[in]size: Size of memory to be allocated
Returns
: Pointer to allocated memory

◆ pf_patch_download

void(* wiced_bt_stack_platform_t::pf_patch_download) (void)

Used for additional controller initialization by the porting layer to be performed after the HCI reset.

Can be set to NULL if no additional initialization required

◆ pf_set_next_timeout

void(* wiced_bt_stack_platform_t::pf_set_next_timeout) (uint64_t abs_tick_count)

Platform function to set the next timeout.

Called by stack timer code set the next timeout

Parameters
[in]abs_tick_count: 64 bit tick count instant at which the timeout has to occur
Returns
: void

◆ pf_write_acl_to_lower

wiced_result_t(* wiced_bt_stack_platform_t::pf_write_acl_to_lower) (wiced_bt_transport_t transport, uint8_t *p_data, uint16_t len)

Platform function to write ACL buffer to lower.

Called by stack to send the buffer allocated using pf_get_acl_to_lower_buffer after filling it with the data to send.

Parameters
[in]transport: Transport on which the buffer is to be sent
[in]p_data: Pointer received using pf_get_acl_to_lower_buffer
[in]len: Length of data at p_data
Returns
: wiced_result_t

◆ pf_write_cmd_to_lower

wiced_result_t(* wiced_bt_stack_platform_t::pf_write_cmd_to_lower) (uint8_t *p_cmd, uint16_t cmd_len)

Platform function to write CMD buffer to lower.

Called by stack to send HCI CMD buffer to lower

Parameters
[in]p_cmd: Pointer to HCI CMD data
[in]cmd_len: Length of data at p_cmd
Returns
: wiced_result_t

◆ pf_write_iso_to_lower

wiced_result_t(* wiced_bt_stack_platform_t::pf_write_iso_to_lower) (uint8_t *p_data, uint16_t len)

Platform function to write ISO buffer to lower.

Called by stack to send the buffer allocated using pf_get_acl_to_lower_buffer after filling it with the data to send.

Parameters
[in]p_data: Pointer received using pf_get_acl_to_lower_buffer
[in]len: Length of data at p_data
Returns
: wiced_result_t

◆ pf_write_sco_to_lower

wiced_result_t(* wiced_bt_stack_platform_t::pf_write_sco_to_lower) (uint8_t *p_sco_data, uint8_t len)

Platform function to write SCO buffer to lower.

Called to send SCO CMD buffer to lower

Parameters
[in]p_sco_data: Pointer to SCO data
[in]len: Length of data at p_data
Returns
: wiced_result_t

◆ stack_lock

wiced_bt_lock_t wiced_bt_stack_platform_t::stack_lock

Stack lock.

◆ trace_buffer

char* wiced_bt_stack_platform_t::trace_buffer

trace_buffer : Pointer to the trace buffer Applications can set this to NULL to disable traces

◆ trace_buffer_len

int wiced_bt_stack_platform_t::trace_buffer_len

trace_buffer_len : Trace buffer len