Bluetooth Host Stack Library
Bluetooth Stack Initialize & Configuration

General Description

This section describes API and Data structures required to initialize and configure the Bluetooth-Stack.

Macros

#define BTM_BLE_SCAN_MODE_ACTIVE   1U
 Active scan mode.
 
#define BTM_BLE_SCAN_MODE_NONE   0xffU
 None.
 
#define BTM_BLE_ADVERT_CHNL_37   0x01U
 advertising channel map More...
 
#define BTM_BLE_ADVERT_CHNL_38   0x02U
 ADV channel.
 
#define BTM_BLE_ADVERT_CHNL_39   0x04U
 ADV channel.
 

Typedefs

typedef uint8_t wiced_bt_ble_scan_mode_t
 scan mode (see #wiced_bt_ble_scan_mode_e)
 
typedef uint8_t wiced_bt_sec_level_t
 Required security level.
 
typedef uint8_t wiced_bt_ble_advert_chnl_map_t
 LE advertisement channel map (see #wiced_bt_ble_advert_chnl_map_e)
 
typedef uint16_t wiced_bt_gatt_appearance_t
 GATT appearance (see gatt_appearance_e in gattdefs.h)
 

Enumerations

enum  wiced_bt_sec_level_e {
  BTM_SEC_BEST_EFFORT = 1U,
  BTM_SEC_SC_REQUIRED = 2U,
  BTM_SEC_AUTH_REQUIRED = 4U,
  BTM_SEC_SC_AUTH_REQUIRED = (uint8_t)(BTM_SEC_SC_REQUIRED | 4)
}
 Security Service Levels (bit fields) More...
 

Functions

int32_t wiced_bt_stack_get_dynamic_memory_size_for_config (const wiced_bt_cfg_settings_t *p_bt_cfg_settings)
 Returns the expected dynamic memory size required for the stack based on the p_bt_cfg_settings. More...
 

Bluetooth Configuration Default Values

Bluetooth Configuration Default Values

Note
These are typical values for config parameters used for some common LE, BR/EDR use cases.
#define WICED_BT_CFG_DEFAULT_INQUIRY_SCAN_INTERVAL   0x0800U
 Inquiry scan interval (in slots (1 slot = 0.625 ms))
 
#define WICED_BT_CFG_DEFAULT_INQUIRY_SCAN_WINDOW   0x0012U
 Inquiry scan window (in slots (1 slot = 0.625 ms))
 
#define WICED_BT_CFG_DEFAULT_PAGE_SCAN_INTERVAL   0x0800U
 Page scan interval (in slots (1 slot = 0.625 ms))
 
#define WICED_BT_CFG_DEFAULT_PAGE_SCAN_WINDOW   0x0012U
 Page scan window (in slots (1 slot = 0.625 ms))
 
#define WICED_BT_CFG_DEFAULT_HIGH_DUTY_SCAN_INTERVAL   96U
 High duty scan interval (in slots (1 slot = 0.625 ms))
 
#define WICED_BT_CFG_DEFAULT_HIGH_DUTY_SCAN_WINDOW   48U
 High duty scan window (in slots (1 slot = 0.625 ms))
 
#define WICED_BT_CFG_DEFAULT_LOW_DUTY_SCAN_INTERVAL   2048U
 Low duty scan interval (in slots (1 slot = 0.625 ms))
 
#define WICED_BT_CFG_DEFAULT_LOW_DUTY_SCAN_WINDOW   18U
 Low duty scan window (in slots (1 slot = 0.625 ms))
 
#define WICED_BT_CFG_DEFAULT_HIGH_DUTY_CONN_SCAN_INTERVAL   96U
 High duty cycle connection scan interval (in slots (1 slot = 0.625 ms))
 
#define WICED_BT_CFG_DEFAULT_HIGH_DUTY_CONN_SCAN_WINDOW   48U
 High duty cycle connection scan window (in slots (1 slot = 0.625 ms))
 
#define WICED_BT_CFG_DEFAULT_LOW_DUTY_CONN_SCAN_INTERVAL   2048U
 Low duty cycle connection scan interval (in slots (1 slot = 0.625 ms))
 
#define WICED_BT_CFG_DEFAULT_LOW_DUTY_CONN_SCAN_WINDOW   18U
 Low duty cycle connection scan window (in slots (1 slot = 0.625 ms))
 
#define WICED_BT_CFG_DEFAULT_CONN_MIN_INTERVAL   80U
 Minimum connection event interval ( in 1.25 msec)
 
#define WICED_BT_CFG_DEFAULT_CONN_MAX_INTERVAL   80U
 Maximum connection event interval ( in 1.25 msec)
 
#define WICED_BT_CFG_DEFAULT_CONN_LATENCY   0U
 Connection latency (in number of LL connection events)
 
#define WICED_BT_CFG_DEFAULT_CONN_SUPERVISION_TIMEOUT   700U
 Connection link supervision timeout (in 10 msec)
 
#define WICED_BT_CFG_DEFAULT_HIGH_DUTY_ADV_MIN_INTERVAL   48U
 Tgap(adv_fast_interval1) = 48 *0.625 = 30ms.
 
#define WICED_BT_CFG_DEFAULT_HIGH_DUTY_ADV_MAX_INTERVAL   48U
 Tgap(adv_fast_interval1) = 48 *0.625 = 30ms.
 
#define WICED_BT_CFG_DEFAULT_LOW_DUTY_ADV_MIN_INTERVAL   2048U
 Tgap(adv_slow_interval) = 2048 * 0.625 = 1.28s.
 
#define WICED_BT_CFG_DEFAULT_LOW_DUTY_ADV_MAX_INTERVAL   2048U
 Tgap(adv_slow_interval) = 2048 * 0.625 = 1.28s.
 
#define WICED_BT_CFG_DEFAULT_HIGH_DUTY_NONCONN_ADV_MIN_INTERVAL   160U
 Tgap(adv_fast_interval2) = 160 * 0.625 = 100 ms.
 
#define WICED_BT_CFG_DEFAULT_HIGH_DUTY_NONCONN_ADV_MAX_INTERVAL   160U
 Tgap(adv_fast_interval2) = 160 * 0.625 = 100 ms.
 
#define WICED_BT_CFG_DEFAULT_LOW_DUTY_NONCONN_ADV_MIN_INTERVAL   2048U
 Tgap(adv_slow_interval) = 2048 * 0.625 = 1.28s.
 
#define WICED_BT_CFG_DEFAULT_LOW_DUTY_NONCONN_ADV_MAX_INTERVAL   2048U
 Tgap(adv_slow_interval) = 2048 * 0.625 = 1.28s.
 
#define WICED_BT_CFG_DEFAULT_HIGH_DUTY_DIRECTED_ADV_MIN_INTERVAL   400
 Tgap(dir_conn_adv_int_max) = 400 * 0.625 = 250 ms.
 
#define WICED_BT_CFG_DEFAULT_HIGH_DUTY_DIRECTED_ADV_MAX_INTERVAL   800
 Tgap(dir_conn_adv_int_min) = 800 * 0.625 = 500 ms.
 
#define WICED_BT_CFG_DEFAULT_LOW_DUTY_DIRECTED_ADV_MIN_INTERVAL   48
 Tgap(adv_fast_interval1) = 48 * 0.625 = 30 ms.
 
#define WICED_BT_CFG_DEFAULT_LOW_DUTY_DIRECTED_ADV_MAX_INTERVAL   48
 Tgap(adv_fast_interval1) = 48 * 0.625 = 30 ms.
 
#define WICED_BT_CFG_DEFAULT_RANDOM_ADDRESS_CHANGE_TIMEOUT   900
 default refreshment timing interval 900secs
 
#define WICED_BT_CFG_DEFAULT_RANDOM_ADDRESS_NEVER_CHANGE   0
 value for disabling random address refresh
 
#define WICED_BT_CFG_MAX_RANDOM_ADDRESS_CHANGE_TIMEOUT   3600
 max refreshment timing interval 3600secs
 

Macro Definition Documentation

◆ BTM_BLE_ADVERT_CHNL_37

#define BTM_BLE_ADVERT_CHNL_37   0x01U

advertising channel map

ADV channel

Enumeration Type Documentation

◆ wiced_bt_sec_level_e

Security Service Levels (bit fields)

Enumerator
BTM_SEC_BEST_EFFORT 

BTM_SEC_BEST_EFFORT : Recommended choice for most applications, to connect to the widest range of devices.

Allows stack to choose the highest level of security possible between the two devices

BTM_SEC_SC_REQUIRED 

BTM_SEC_SC_REQUIRED : Can be set by applications which need to enforce secure connections.

Note: If this bit is set, the stack will only allow connections to devices paired using Secure Connections

BTM_SEC_AUTH_REQUIRED 

BTM_SEC_AUTH_REQUIRED - Can be set by applications which need to enforce Authentication Note: If this bit is set, the stack will only allow connections to devices paired using authentication.

BTM_SEC_SC_AUTH_REQUIRED 

BTM_SEC_SC_AUTH_REQUIRED : Can be set by applications which need to enforce secure connections with MITM protection.

Note: If this bit is set, the stack will only allow connections to devices paired using Secure Connections with Man In The Middle (MITM) protection

Function Documentation

◆ wiced_bt_stack_get_dynamic_memory_size_for_config()

int32_t wiced_bt_stack_get_dynamic_memory_size_for_config ( const wiced_bt_cfg_settings_t *  p_bt_cfg_settings)

Returns the expected dynamic memory size required for the stack based on the p_bt_cfg_settings.

Parameters
[in]p_bt_cfg_settings: Bluetooth stack configuration
Returns
dynamic memory size requirements of the stack