Infineon Logo AIROC BTSDK v4.2 - Documentation
 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
wiced_bt_ble.h File Reference

AIROC Bluetooth Low Energy (LE) Functions. More...

Data Structures

struct  wiced_bt_ble_advert_elem_t
 Advertisement element. More...
 
struct  wiced_bt_ble_scan_results_t
 LE inquiry result type. More...
 
struct  wiced_bt_ble_phy_preferences_t
 Host PHY preferences. More...
 
struct  wiced_bt_ble_conn_params_t
 LE connection parameteres. More...
 
struct  wiced_bt_ble_pref_conn_params_t
 LE preferred connection parameters. More...
 
struct  wiced_bt_ble_multi_adv_params_t
 LE Multi advertising parameter. More...
 
struct  wiced_bt_ble_ext_adv_duration_config_t
 Advertisement duration configuration for specified adv handle. More...
 
struct  wiced_bt_ble_ext_conn_cfg_t
 Extended ADV connection configuration structure. More...
 
struct  wiced_bt_ble_ext_adv_report_t
 Extended advertisement report data format. More...
 
struct  wiced_bt_ble_periodic_adv_sync_established_event_data_t
 Sync extablished to periodic advertiser event data format. More...
 
struct  wiced_bt_ble_periodic_adv_report_event_data_t
 Periodic advertising report data format. More...
 
struct  wiced_bt_ble_ext_adv_set_terminated_event_data_t
 extended adv set terminated event data format. More...
 
struct  wiced_bt_ble_scan_req_received_event_data_t
 scan request received event data format More...
 
struct  wiced_bt_ble_channel_sel_algo_event_data_t
 Channel selection algorithm event data format. More...
 
union  wiced_bt_ble_adv_ext_event_data_t
 union of events data More...
 
struct  wiced_bt_ble_ext_scan_config_t
 Configuration for extended scanning. More...
 

Macros

#define BTM_AFH_CHNL_MAP_SIZE   HCI_AFH_CHANNEL_MAP_LEN
 AFH channel map size.
 
#define BLE_CHANNEL_MAP_LEN   5
 AFH Channel Map len.
 
#define BTM_BLE_DEFAULT_ADVERT_CHNL_MAP   (BTM_BLE_ADVERT_CHNL_37| BTM_BLE_ADVERT_CHNL_38| BTM_BLE_ADVERT_CHNL_39)
 default advertising channel map
 
#define BTM_BLE_ADV_POLICY_ACCEPT_CONN_AND_SCAN   BTM_BLE_ADV_POLICY_ACCEPT_CONN_AND_SCAN
 
#define BTM_BLE_ADV_POLICY_ACCEPT_CONN_FILTER_SCAN   BTM_BLE_ADV_POLICY_ACCEPT_CONN_FILTER_SCAN
 
#define BTM_BLE_ADV_POLICY_FILTER_CONN_ACCEPT_SCAN   BTM_BLE_ADV_POLICY_FILTER_CONN_ACCEPT_SCAN
 
#define BTM_BLE_ADV_POLICY_FILTER_CONN_FILTER_SCAN   BTM_BLE_ADV_POLICY_FILTER_CONN_FILTER_SCAN
 
#define BTM_BLE_ADV_POLICY_MAX   BTM_BLE_ADV_POLICY_MAX
 
#define BTM_BLE_ADVERT_FILTER_DEFAULT   BTM_BLE_ADV_POLICY_ACCEPT_CONN_AND_SCAN
 default advertising filter policy
 
#define BTM_BLE_ADVERT_INTERVAL_MIN   0x0020
 adv parameter Min value
 
#define BTM_BLE_ADVERT_INTERVAL_MAX   0x4000
 adv parameter Max value
 
#define BTM_BLE_SCAN_INTERVAL_MIN   0x0004
 Scan interval minimum value.
 
#define BTM_BLE_SCAN_INTERVAL_MAX   0x4000
 Scan interval miximum value.
 
#define BTM_BLE_SCAN_WINDOW_MIN   0x0004
 Scan window minimum value.
 
#define BTM_BLE_SCAN_WINDOW_MAX   0x4000
 Scan window maximum value.
 
#define BTM_BLE_CONN_INTERVAL_MIN   0x0006
 Connection interval minimum value.
 
#define BTM_BLE_CONN_INTERVAL_MAX   0x0C80
 Connection interval maximum value.
 
#define BTM_BLE_CONN_LATENCY_MAX   500
 Maximum Connection Latency.
 
#define BTM_BLE_CONN_SUP_TOUT_MIN   0x000A
 Minimum Supervision Timeout.
 
#define BTM_BLE_CONN_SUP_TOUT_MAX   0x0C80
 Maximum Supervision Timeout.
 
#define BTM_BLE_CONN_PARAM_UNDEF   0xffff
 use this value when a specific value not to be overwritten
 
#define BTM_BLE_CONN_SUP_TOUT_DEF   700
 Default Supervision Timeout.
 
#define BTM_BLE_SCAN_FAST_INTERVAL   96
 default scan interval 30 ~ 60 ms (use 60) = 96 *0.625
 
#define BTM_BLE_SCAN_FAST_WINDOW   48
 default scan window for background connection, applicable for auto connection or selective conenction 30 ms = 48 *0.625
 
#define BTM_BLE_SCAN_SLOW_INTERVAL_1   2048
 default scan interval used in reduced power cycle (background scanning) 1.28 s = 2048 *0.625
 
#define BTM_BLE_SCAN_SLOW_WINDOW_1   18
 default scan window used in reduced power cycle (background scanning) 11.25 ms = 18 *0.625
 
#define BTM_BLE_SCAN_SLOW_INTERVAL_2   4096
 default scan interval used in reduced power cycle (background scanning) 2.56 s = 4096 *0.625
 
#define BTM_BLE_SCAN_SLOW_WINDOW_2   36
 default scan window used in reduced power cycle (background scanning) 22.5 ms = 36 *0.625
 
#define BTM_BLE_CONN_INTERVAL_MIN_DEF   24
 default connection interval min recommended min: 30ms = 24 * 1.25
 
#define BTM_BLE_CONN_INTERVAL_MAX_DEF   40
 default connection interval max recommended max: 50 ms = 56 * 1.25
 
#define BTM_BLE_CONN_PERIPHERAL_LATENCY_DEF   0
 default Peripheral latency
 
#define BTM_BLE_CONN_TIMEOUT_DEF   2000
 default supervision timeout
 
#define BTM_BLE_AUTH_SIGNATURE_SIZE   12
 LE Signature LE data signature length 8 Bytes + 4 bytes counter.
 
#define BTM_BLE_POLICY_REJECT_ALL   0x00
 relevant to both
 
#define BTM_BLE_POLICY_ALLOW_SCAN   0x01
 relevant to advertiser
 
#define BTM_BLE_POLICY_ALLOW_CONN   0x02
 relevant to advertiser
 
#define BTM_BLE_POLICY_ALLOW_ALL   0x03
 relevant to both
 
#define BTM_BLE_LIMITED_DISCOVERABLE_FLAG   (0x01 << 0)
 Limited Discoverable.
 
#define BTM_BLE_GENERAL_DISCOVERABLE_FLAG   (0x01 << 1)
 General Discoverable.
 
#define BTM_BLE_BREDR_NOT_SUPPORTED   (0x01 << 2)
 BR/EDR Not Supported.
 
#define BTM_BLE_SIMULTANEOUS_DUAL_MODE_TO_SAME_DEVICE_CONTROLLER_SUPPORTED   (0x01 << 3)
 Simultaneous LE and BR/EDR to Same Device Capable (Controller). More...
 
#define BTM_BLE_SIMULTANEOUS_DUAL_MODE_TO_SAME_DEVICE_HOST_SUPPORTED   (0x01 << 4)
 Simultaneous LE and BR/EDR to Same Device Capable (Host). More...
 
#define BTM_BLE_NON_LIMITED_DISCOVERABLE_FLAG   (0x00 )
 Non Discoverable.
 
#define BTM_BLE_ADVERT_FLAG_MASK   (BTM_BLE_LIMITED_DISCOVERABLE_FLAG | BTM_BLE_BREDR_NOT_SUPPORTED | BTM_BLE_GENERAL_DISCOVERABLE_FLAG)
 LE adverisement mask.
 
#define BTM_BLE_LIMITED_DISCOVERABLE_MASK   (BTM_BLE_LIMITED_DISCOVERABLE_FLAG )
 LE Limited discovery mask.
 
#define BTM_BLE_PREFER_1M_PHY   0x01
 LE 1M PHY preference.
 
#define BTM_BLE_PREFER_2M_PHY   0x02
 LE 2M PHY preference.
 
#define BTM_BLE_PREFER_LELR_PHY   0x04
 LE LELR PHY preference.
 
#define BTM_BLE_PREFER_NO_LELR   0x0000
 No preferred coding.
 
#define BTM_BLE_PREFER_LELR_125K   0x0001
 Preferred coding is S=2.
 
#define BTM_BLE_PREFER_LELR_512K   0x0002
 Preferred coding is S=8.
 
#define MULTI_ADV_TX_POWER_MIN_INDEX   0
 Multi adv tx min power index.
 
#define MULTI_ADV_TX_POWER_MAX_INDEX   4
 Multi adv tx max power index.
 
#define WICED_BT_BLE_MAX_EXT_ADV_DATA_LEN   251
 ADV extension structures.
 
#define IS_CONNECTABLE_ADV_REPORT(x)   (x & (1 << 0))
 adv is connectable
 
#define IS_SCANNABLE_ADV_REPORT(x)   (x & (1 << 1))
 adv is scannable
 
#define IS_DIRECTED_ADV_REPORT(x)   (x & (1 << 2))
 directed adv
 
#define IS_SCAN_RSP_ADV_REPORT(x)   (x & (1 << 3))
 scan response
 
#define IS_LEGACY_ADV_REPORT(x)   (x & (1 << 4))
 legacy adv
 
#define IS_ADV_REPORT_DATA_STATUS_INCOMPLETE(x)   (x & (1 << 5))
 adv data incomplete, more data to come
 
#define IS_ADV_REPORT_DATA_STATUS_TRUNCATED(x)   (x & (2 << 5))
 Incomplete, data truncated, no more to come.
 

Typedefs

typedef uint8_t wiced_bt_ble_chnl_map_t [BLE_CHANNEL_MAP_LEN]
 LE Channel Map.
 
typedef uint8_t wiced_bt_ble_scanner_filter_policy_t
 LE Scanner filter policy. More...
 
typedef uint8_t wiced_bt_ble_advert_filter_policy_t
 Advertising filter policy (see wiced_bt_ble_advert_filter_policy_e)
 
typedef uint8_t wiced_dev_ble_signature_t [BTM_BLE_AUTH_SIGNATURE_SIZE]
 Device address (see BTM_BLE_AUTH_SIGNATURE_SIZE)
 
typedef uint8_t wiced_bt_ble_advert_type_t
 LE advertisement data type (see wiced_bt_ble_advert_type_e)
 
typedef uint8_t wiced_bt_dev_ble_evt_type_t
 Scan result event value (see wiced_bt_dev_ble_evt_type_e)
 
typedef uint8_t wiced_bt_ble_conn_type_t
 Connection type (see wiced_bt_ble_conn_type_e)
 
typedef uint8_t wiced_bt_ble_sec_action_type_t
 LE security type. More...
 
typedef uint8_t wiced_bt_ble_host_phy_preferences_t
 Host preferences on PHY. More...
 
typedef uint16_t wiced_bt_ble_lelr_phy_preferences_t
 The PHY_options parameter is a bit field that allows the Host to specify options for LE long range PHY. More...
 
typedef int8_t wiced_bt_ble_adv_tx_power_t
 Transmit Power in dBm ( MULTI_ADV_TX_POWER_MIN_INDEX to MULTI_ADV_TX_POWER_MAX_INDEX )
 
typedef uint8_t wiced_bt_ble_multi_advert_type_t
 LE advertisement type (see wiced_bt_ble_multi_advert_type_e)
 
typedef uint8_t wiced_bt_ble_privacy_mode_t
 LE Privacy mode. More...
 
typedef uint8_t wiced_bt_ble_multi_advert_filtering_policy_t
 LE advertisement filtering policy (see wiced_bt_ble_multi_advert_filtering_policy_e)
 
typedef wiced_bool_twiced_bt_ble_selective_conn_cback_t )(wiced_bt_device_address_t remote_bda, uint8_t *p_remote_name)
 Callback wiced_bt_ble_selective_conn_cback_t. More...
 
typedef void( wiced_bt_ble_scan_result_cback_t )(wiced_bt_ble_scan_results_t *p_scan_result, uint8_t *p_adv_data)
 Callback wiced_bt_ble_scan_result_cback_t. More...
 
typedef void( wiced_bt_ble_read_phy_complete_callback_t )(wiced_bt_ble_phy_update_t *p_phy_result)
 Callback wiced_bt_ble_read_phy_complete_callback_t. More...
 
typedef uint8_t wiced_bt_ble_ext_adv_phy_t
 LE phy to be used for extended advertisement.
 
typedef uint8_t wiced_bt_ble_ext_adv_phy_mask_t
 LE phy mask to be used for extended advertisement.
 
typedef uint16_t wiced_bt_ble_ext_adv_event_property_t
 LE extended advertisement event property.
 
typedef uint8_t wiced_bt_ble_ext_adv_handle_t
 advertisement set handle value
 
typedef uint8_t wiced_bt_ble_ext_adv_sid_t
 SID value.
 
typedef uint8_t wiced_bt_ble_ext_adv_scan_req_notification_setting_t
 Enable or disable notification value (see wiced_bt_ble_ext_adv_scan_req_notification_setting_e)
 
typedef uint16_t wiced_bt_ble_periodic_adv_prop_t
 Periodic adv property (see wiced_bt_ble_periodic_adv_prop_e)
 
typedef uint8_t wiced_bt_ble_ext_scan_filter_duplicate_t
 Extended scan duplicate filter policy (see wiced_bt_ble_ext_scan_filter_duplicate_e)
 
typedef uint8_t wiced_bt_ble_ext_filter_policy_t
 Filter policy used. More...
 
typedef uint8_t wiced_bt_ble_adv_sync_options_t
 Options used in create periodic sync to periodic adv command (see wiced_bt_ble_adv_sync_options_e)
 
typedef uint16_t wiced_bt_ble_periodic_adv_sync_handle_t
 Sync_Handle to be used to identify the periodic advertiser. More...
 
typedef uint16_t wiced_bt_ble_adv_report_event_mask_t
 Bit mask to identify the type of the adv received in extended adv report. More...
 
typedef uint8_t wiced_bt_ble_ext_adv_report_count_t
 Min and Max reports (see wiced_bt_ble_ext_adv_report_count_e)
 
typedef uint8_t wiced_bt_ble_advertiser_clock_accuracy_t
 Advertiser clock accuracy (see wiced_bt_ble_advertiser_clock_accuracy_e)
 
typedef
wiced_bt_ble_periodic_adv_sync_handle_t 
wiced_bt_ble_connection_handle_t
 sync handle and connection handle are same range
 
typedef uint8_t wiced_bt_ble_channel_sel_algo_t
 LE channel algorithm selection (see wiced_bt_ble_channel_sel_algo_e)
 
typedef void(* wiced_bt_ble_adv_ext_event_cb_fp_t )(wiced_bt_ble_adv_ext_event_t event, wiced_bt_ble_adv_ext_event_data_t *p_data)
 Callback wiced_bt_ble_adv_ext_event_cb_fp_t. More...
 

Enumerations

enum  wiced_bt_ble_scanner_filter_policy_e {
  BTM_BLE_SCAN_POLICY_ACCEPT_ADV_RSP, BTM_BLE_SCAN_POLICY_FILTER_ADV_RSP, BTM_BLE_SCAN_POLICY_ACCEPT_RPA_DIR_ADV_RSP, BTM_BLE_SCAN_POLICY_FILTER_RPA_DIR_ADV_RSP,
  BTM_BLE_SCAN_POLICY_MAX
}
 Scanner filter policy. More...
 
enum  wiced_bt_ble_advert_filter_policy_e {
  BTM_BLE_ADV_POLICY_ACCEPT_CONN_AND_SCAN = 0x00, BTM_BLE_ADV_POLICY_ACCEPT_CONN_FILTER_SCAN = 0x01, BTM_BLE_ADV_POLICY_FILTER_CONN_ACCEPT_SCAN = 0x02, BTM_BLE_ADV_POLICY_FILTER_CONN_FILTER_SCAN = 0x03,
  BTM_BLE_ADV_POLICY_MAX
}
 Advertising filter policy. More...
 
enum  wiced_bt_ble_advert_type_e {
  BTM_BLE_ADVERT_TYPE_FLAG = 0x01, BTM_BLE_ADVERT_TYPE_16SRV_PARTIAL = 0x02, BTM_BLE_ADVERT_TYPE_16SRV_COMPLETE = 0x03, BTM_BLE_ADVERT_TYPE_32SRV_PARTIAL = 0x04,
  BTM_BLE_ADVERT_TYPE_32SRV_COMPLETE = 0x05, BTM_BLE_ADVERT_TYPE_128SRV_PARTIAL = 0x06, BTM_BLE_ADVERT_TYPE_128SRV_COMPLETE = 0x07, BTM_BLE_ADVERT_TYPE_NAME_SHORT = 0x08,
  BTM_BLE_ADVERT_TYPE_NAME_COMPLETE = 0x09, BTM_BLE_ADVERT_TYPE_TX_POWER = 0x0A, BTM_BLE_ADVERT_TYPE_DEV_CLASS = 0x0D, BTM_BLE_ADVERT_TYPE_SIMPLE_PAIRING_HASH_C = 0x0E,
  BTM_BLE_ADVERT_TYPE_SIMPLE_PAIRING_RAND_C = 0x0F, BTM_BLE_ADVERT_TYPE_SM_TK = 0x10, BTM_BLE_ADVERT_TYPE_SM_OOB_FLAG = 0x11, BTM_BLE_ADVERT_TYPE_INTERVAL_RANGE = 0x12,
  BTM_BLE_ADVERT_TYPE_SOLICITATION_SRV_UUID = 0x14, BTM_BLE_ADVERT_TYPE_128SOLICITATION_SRV_UUID = 0x15, BTM_BLE_ADVERT_TYPE_SERVICE_DATA = 0x16, BTM_BLE_ADVERT_TYPE_PUBLIC_TARGET = 0x17,
  BTM_BLE_ADVERT_TYPE_RANDOM_TARGET = 0x18, BTM_BLE_ADVERT_TYPE_APPEARANCE = 0x19, BTM_BLE_ADVERT_TYPE_ADVERT_INTERVAL = 0x1a, BTM_BLE_ADVERT_TYPE_LE_BD_ADDR = 0x1b,
  BTM_BLE_ADVERT_TYPE_LE_ROLE = 0x1c, BTM_BLE_ADVERT_TYPE_256SIMPLE_PAIRING_HASH = 0x1d, BTM_BLE_ADVERT_TYPE_256SIMPLE_PAIRING_RAND = 0x1e, BTM_BLE_ADVERT_TYPE_32SOLICITATION_SRV_UUID = 0x1f,
  BTM_BLE_ADVERT_TYPE_32SERVICE_DATA = 0x20, BTM_BLE_ADVERT_TYPE_128SERVICE_DATA = 0x21, BTM_BLE_ADVERT_TYPE_CONN_CONFIRM_VAL = 0x22, BTM_BLE_ADVERT_TYPE_CONN_RAND_VAL = 0x23,
  BTM_BLE_ADVERT_TYPE_URI = 0x24, BTM_BLE_ADVERT_TYPE_INDOOR_POS = 0x25, BTM_BLE_ADVERT_TYPE_TRANS_DISCOVER_DATA = 0x26, BTM_BLE_ADVERT_TYPE_SUPPORTED_FEATURES = 0x27,
  BTM_BLE_ADVERT_TYPE_UPDATE_CH_MAP_IND = 0x28, BTM_BLE_ADVERT_TYPE_PB_ADV = 0x29, BTM_BLE_ADVERT_TYPE_MESH_MSG = 0x2A, BTM_BLE_ADVERT_TYPE_MESH_BEACON = 0x2B,
  BTM_BLE_ADVERT_TYPE_PSRI = 0x2E, BTM_BLE_ADVERT_TYPE_3D_INFO_DATA = 0x3D, BTM_BLE_ADVERT_TYPE_MANUFACTURER = 0xFF
}
 Advertisement data types. More...
 
enum  wiced_bt_ble_sec_flags_e { BTM_SEC_LE_LINK_ENCRYPTED = 0x01, BTM_SEC_LE_LINK_PAIRED_WITHOUT_MITM = 0x02, BTM_SEC_LE_LINK_PAIRED_WITH_MITM = 0x04 }
 security settings used with L2CAP LE COC More...
 
enum  wiced_bt_dev_ble_evt_type_e {
  BTM_BLE_EVT_CONNECTABLE_ADVERTISEMENT = 0x00, BTM_BLE_EVT_CONNECTABLE_DIRECTED_ADVERTISEMENT = 0x01, BTM_BLE_EVT_SCANNABLE_ADVERTISEMENT = 0x02, BTM_BLE_EVT_NON_CONNECTABLE_ADVERTISEMENT = 0x03,
  BTM_BLE_EVT_SCAN_RSP = 0x04
}
 Scan result event type. More...
 
enum  wiced_bt_ble_conn_type_e { BTM_BLE_CONN_NONE, BTM_BLE_CONN_AUTO, BTM_BLE_CONN_SELECTIVE }
 Background connection type. More...
 
enum  wiced_bt_ble_sec_action_type_e { BTM_BLE_SEC_NONE, BTM_BLE_SEC_ENCRYPT, BTM_BLE_SEC_ENCRYPT_NO_MITM, BTM_BLE_SEC_ENCRYPT_MITM }
 LE encryption method. More...
 
enum  wiced_bt_ble_multi_advert_start_e { MULTI_ADVERT_STOP = 0x00, MULTI_ADVERT_START = 0x01 }
 Multi-advertisement start/stop. More...
 
enum  wiced_bt_ble_multi_advert_type_e {
  MULTI_ADVERT_CONNECTABLE_UNDIRECT_EVENT = 0x00, MULTI_ADVERT_CONNECTABLE_DIRECT_EVENT = 0x01, MULTI_ADVERT_DISCOVERABLE_EVENT = 0x02, MULTI_ADVERT_NONCONNECTABLE_EVENT = 0x03,
  MULTI_ADVERT_LOW_DUTY_CYCLE_DIRECT_EVENT = 0x04
}
 Multi-advertisement type. More...
 
enum  wiced_bt_ble_privacy_e { BTM_BLE_PRIVACY_MODE_NETWORK, BTM_BLE_PRIVACY_MODE_DEVICE }
 Privacy mode refer Spec version 5.0 Vol 3 Part C Section 10.7 privacy feature. More...
 
enum  wiced_bt_ble_multi_advert_filtering_policy_e { MULTI_ADVERT_FILTER_POLICY_NOT_USED = 0x00, MULTI_ADVERT_FILTER_POLICY_ADV_ALLOW_UNKNOWN_CONNECTION = 0x01, MULTI_ADVERT_FILTER_POLICY_ADV_ALLOW_UNKNOWN_SCANNING = 0x02, MULTI_ADVERT_FILTER_POLICY_USE_FOR_ALL = 0x03 }
 Multi-advertisement Filtering policy. More...
 
enum  { WICED_BT_BLE_EXT_ADV_PHY_1M = 0x1, WICED_BT_BLE_EXT_ADV_PHY_2M = 0x2, WICED_BT_BLE_EXT_ADV_PHY_LE_CODED = 0x3, WICED_BT_BLE_EXT_ADV_NUM_PHYS = 0x3 }
 LE PHY. More...
 
enum  { WICED_BT_BLE_EXT_ADV_PHY_1M_BIT = (1 << 0), WICED_BT_BLE_EXT_ADV_PHY_2M_BIT = (1 << 1), WICED_BT_BLE_EXT_ADV_PHY_LE_CODED_BIT = (1 << 2) }
 LE PHY bit mask. More...
 
enum  {
  WICED_BT_BLE_EXT_ADV_EVENT_CONNECTABLE_ADV = (1 << 0), WICED_BT_BLE_EXT_ADV_EVENT_SCANNABLE_ADV = (1 << 1), WICED_BT_BLE_EXT_ADV_EVENT_DIRECTED_ADV = (1 << 2), WICED_BT_BLE_EXT_ADV_EVENT_HIGH_DUTY_DIRECTED_CONNECTABLE_ADV = (1 << 3),
  WICED_BT_BLE_EXT_ADV_EVENT_LEGACY_ADV = (1 << 4), WICED_BT_BLE_EXT_ADV_EVENT_ANONYMOUS_ADV = (1 << 5), WICED_BT_BLE_EXT_ADV_EVENT_INCLUDE_TX_POWER = (1 << 6)
}
 Advertising event properties: Describes the type of advertising event that is being configured and its basic properties. More...
 
enum  { WICED_BT_BLE_EXT_ADV_HANDLE_MIN = 0x00, WICED_BT_BLE_EXT_ADV_HANDLE_MAX = 0xef }
 Advertisement set handle to identify adv set b/n host and controller. More...
 
enum  { WICED_BT_BLE_EXT_ADV_SID_MIN = 0x00, WICED_BT_BLE_EXT_ADV_SID_MAX = 0x0f }
 The Advertising set identifier(SID) is used to uniquely identify adv sets from advertiser. More...
 
enum  wiced_bt_ble_ext_adv_scan_req_notification_setting_e { WICED_BT_BLE_EXT_ADV_SCAN_REQ_NOTIFY_DISABLE = 0x00, WICED_BT_BLE_EXT_ADV_SCAN_REQ_NOTIFY_ENABLE = 0x01 }
 Value to configure to receive scan request recived notification. More...
 
enum  wiced_bt_ble_periodic_adv_prop_e { WICED_BT_BLE_PERIODIC_ADV_PROPERTY_INCLUDE_TX_POWER = (1 << 6) }
 Periodic adv property. More...
 
enum  wiced_bt_ble_ext_scan_filter_duplicate_e { WICED_BT_BLE_EXT_SCAN_FILTER_DUPLICATE_DISABLE, WICED_BT_BLE_EXT_SCAN_FILTER_DUPLICATE_ENABLE, WICED_BT_BLE_EXT_SCAN_FILTER_DUPLICATE_ENABLE_RESET_ON_SCAN_PERIOD }
 Extended scan duplicate filter policy. More...
 
enum  wiced_bt_ble_ext_filter_policy_e { WICED_BT_BLE_IGNORE_FILTER_ACCEPT_LIST_FOR_CONNS = 0, WICED_BT_BLE_USE_FILTER_ACCEPT_LIST_FOR_CONNS = 1 }
 Filter policy used in extended create connection command. More...
 
enum  wiced_bt_ble_adv_sync_options_e { WICED_BT_BLE_IGNORE_SYNC_TO_PERIODIC_ADV_LIST = 0, WICED_BT_BLE_SYNC_TO_PERIODIC_ADV_LIST = 1 }
 Options used in create periodic sync to periodic adv command. More...
 
enum  { PERIODIC_SYNC_HANDLE_MIN = 0, PERIODIC_SYNC_HANDLE_MAX = 0x0EFF }
 When controller receives succesfully periodic adv event based on create sync to periodic advertiser command, sync handle get generated by controller and reported in periodic sync established event scanner uniquely identifies periodic adv data from adv reports using this handle and advertismenet set id(SID)
 
enum  wiced_bt_ble_ext_adv_report_count_e { ADV_REP_EVT_COUNT_MIN = 1, ADV_REP_EVT_COUNT_MAX = 10 }
 Min and Max possible number of reports in LE extended adv report event. More...
 
enum  wiced_bt_ble_advertiser_clock_accuracy_e {
  ADVERTISER_CLK_ACCURACY_500PPM, ADVERTISER_CLK_ACCURACY_250PPM, ADVERTISER_CLK_ACCURACY_150PPM, ADVERTISER_CLK_ACCURACY_100PPM,
  ADVERTISER_CLK_ACCURACY_75PPM, ADVERTISER_CLK_ACCURACY_50PPM, ADVERTISER_CLK_ACCURACY_30PPM, ADVERTISER_CLK_ACCURACY_20PPM
}
 Advertiser clock accuracy.
 
enum  wiced_bt_ble_channel_sel_algo_e { LE_CHANNEL_SEL_ALGO_1_USED, LE_CHANNEL_SEL_ALGO_2_USED }
 LE channel selection algorithms. More...
 
enum  wiced_bt_ble_adv_ext_event_t {
  WICED_BT_BLE_PERIODIC_ADV_SYNC_ESTABLISHED_EVENT, WICED_BT_BLE_PERIODIC_ADV_REPORT_EVENT, WICED_BT_BLE_PERIODIC_ADV_SYNC_LOST_EVENT, WICED_BT_BLE_ADV_SET_TERMINATED_EVENT,
  WICED_BT_BLE_SCAN_REQUEST_RECEIVED_EVENT, WICED_BT_BLE_CHANNEL_SEL_ALGO_EVENT
}
 ADV extension events to the application. More...
 

Functions

wiced_result_t wiced_bt_start_advertisements (wiced_bt_ble_advert_mode_t advert_mode, wiced_bt_ble_address_type_t directed_advertisement_bdaddr_type, wiced_bt_device_address_ptr_t directed_advertisement_bdaddr_ptr)
 Start advertising. More...
 
wiced_bt_ble_advert_mode_t wiced_bt_ble_get_current_advert_mode (void)
 Get current advertising mode. More...
 
wiced_result_t wiced_bt_ble_set_raw_advertisement_data (uint8_t num_elem, wiced_bt_ble_advert_elem_t *p_data)
 Set advertisement raw data. More...
 
uint8_t * wiced_bt_ble_check_advertising_data (uint8_t *p_adv, wiced_bt_ble_advert_type_t type, uint8_t *p_length)
 Parse advertising data (returned from scan results callback wiced_bt_ble_scan_result_cback_t). More...
 
uint8_t * wiced_bt_ble_get_next_adv_entry (uint8_t *p_adv, int *p_offset, wiced_bt_ble_advert_type_t type, uint8_t *p_length)
 When multiple entry for same adv type is available in the adv data this api will help to get next entry of specified advertisement data type when there is a single instance use wiced_bt_ble_check_advertising_data. More...
 
wiced_bool_t wiced_btm_ble_update_advertisement_filter_policy (wiced_bt_ble_advert_filter_policy_t advertising_policy)
 Update the filter policy of advertiser. More...
 
wiced_result_t wiced_bt_ble_set_adv_tx_power (int8_t power, wiced_bt_dev_vendor_specific_command_complete_cback_t *p_cb)
 Command to set LE Advertisement tx power. More...
 
wiced_result_t wiced_bt_ble_read_adv_tx_power (wiced_bt_dev_cmpl_cback_t *p_cback)
 Read LE Advertisement transmit power. More...
 
wiced_bt_dev_status_t wiced_bt_ble_set_raw_scan_response_data (uint8_t num_elem, wiced_bt_ble_advert_elem_t *p_data)
 Set scan response raw data. More...
 
wiced_bt_dev_status_t wiced_bt_ble_observe (wiced_bool_t start, uint8_t duration, wiced_bt_ble_scan_result_cback_t *p_scan_result_cback)
 This function makes the device start or stop operating in the observer role. More...
 
wiced_result_t wiced_bt_ble_scan (wiced_bt_ble_scan_type_t scan_type, wiced_bool_t duplicate_filter_enable, wiced_bt_ble_scan_result_cback_t *p_scan_result_cback)
 Start LE scanning. More...
 
wiced_bt_ble_scan_type_t wiced_bt_ble_get_current_scan_state (void)
 Get current scan state. More...
 
void wiced_bt_ble_update_scanner_filter_policy (wiced_bt_ble_scanner_filter_policy_t scanner_policy)
 Update the filter policy of scanning. More...
 
wiced_bool_t wiced_bt_ble_set_background_connection_type (wiced_bt_ble_conn_type_t conn_type, wiced_bt_ble_selective_conn_cback_t *p_select_cback)
 Set LE background connection procedure type. More...
 
wiced_bool_t wiced_bt_ble_update_background_connection_device (wiced_bool_t add_remove, wiced_bt_device_address_t remote_bda, wiced_bt_ble_address_type_t ble_addr_type)
 This function is called to add or remove a device into/from background connection procedure. More...
 
wiced_result_t wiced_bt_ble_get_connection_parameters (wiced_bt_device_address_t remote_bda, wiced_bt_ble_conn_params_t *p_conn_parameters)
 To read LE connection parameters based on connection address received in gatt connection up indication. More...
 
wiced_bool_t wiced_bt_ble_update_advertising_filter_accept_list (wiced_bool_t add, wiced_bt_ble_address_type_t addr_type, wiced_bt_device_address_t remote_bda)
 Add or remove device from advertising filter Accept List. More...
 
wiced_bool_t wiced_bt_ble_update_scanner_filter_list (wiced_bool_t add, wiced_bt_device_address_t remote_bda, wiced_bt_ble_address_type_t addr_type)
 Add or remove device from scanner filter Accept List. More...
 
wiced_bool_t wiced_bt_ble_clear_filter_accept_list (void)
 Request clearing filter Accept List in controller side. More...
 
uint8_t wiced_bt_ble_get_filter_accept_list_size (void)
 Returns size of Filter Accept List size in controller side. More...
 
wiced_bt_dev_status_t wiced_bt_ble_read_phy (wiced_bt_device_address_t remote_bd_addr, wiced_bt_ble_read_phy_complete_callback_t *p_read_phy_complete_callback)
 Host to read the current transmitter PHY and receiver PHY on the connection identified by the remote bdaddr. More...
 
wiced_bt_dev_status_t wiced_bt_ble_set_default_phy (wiced_bt_ble_phy_preferences_t *phy_preferences)
 Host to configure default transmitter phy and receiver phy to be used for all subsequent connections over the LE transport. More...
 
wiced_result_t wiced_bt_ble_set_phy (wiced_bt_ble_phy_preferences_t *phy_preferences)
 Host to configure the LE link to 1M or 2M and LE coding to be used. More...
 
wiced_result_t wiced_bt_ble_set_channel_classification (const wiced_bt_ble_chnl_map_t ble_channel_map)
 Set channel classification for the available 40 channels. More...
 
wiced_bt_dev_status_t wiced_start_multi_advertisements (uint8_t advertising_enable, uint8_t adv_instance)
 Start/Stop Mulit advertisements. More...
 
wiced_bt_dev_status_t wiced_set_multi_advertisement_data (uint8_t *p_data, uint8_t data_len, uint8_t adv_instance)
 Set multi advertisement data for each adv_instance. More...
 
wiced_bt_dev_status_t wiced_set_multi_advertisement_params (uint8_t adv_instance, wiced_bt_ble_multi_adv_params_t *params)
 Set multi advertisement params for each adv_instance. More...
 
wiced_bt_dev_status_t wiced_set_multi_advertisement_scan_response_data (uint8_t *p_data, uint8_t data_len, uint8_t adv_instance)
 Set multi advertisement data for scan response. More...
 
wiced_bt_dev_status_t wiced_set_multi_advertisements_random_address (wiced_bt_device_address_t randomAddr, uint8_t adv_instance)
 Set multi advertisement random address for an instance. More...
 
wiced_bool_t wiced_bt_notify_multi_advertisement_packet_transmissions (uint8_t adv_instance, void(*clientCallback)(uint32_t), uint32_t advanceNoticeInMicroSeconds)
 Allows the application to register a callback that will be invoked just before an ADV packet is about to be sent out and immediately after. More...
 
#define wiced_ble_private_device_address_resolution(rpa, irk)   wiced_bt_utils_ble_private_device_address_resolution(rpa, irk)
 
void wiced_bt_ble_security_grant (wiced_bt_device_address_t bd_addr, wiced_bt_dev_status_t res)
 btm_ble_api_functions More...
 
wiced_bool_t wiced_bt_ble_data_signature (wiced_bt_device_address_t bd_addr, uint8_t *p_text, uint16_t len, wiced_dev_ble_signature_t signature)
 Sign the data using AES128 CMAC algorith. More...
 
wiced_bool_t wiced_bt_ble_verify_signature (wiced_bt_device_address_t bd_addr, uint8_t *p_orig, uint16_t len, uint32_t counter, uint8_t *p_comp)
 Verify the data signature. More...
 
wiced_bool_t wiced_bt_ble_get_security_state (wiced_bt_device_address_t bd_addr, uint8_t *p_le_sec_flags, uint8_t *p_le_key_size)
 Get security mode 1 flags and encryption key size for LE peer. More...
 
wiced_bt_dev_status_t wiced_bt_ble_set_privacy_mode (wiced_bt_device_address_t remote_bda, wiced_bt_ble_address_type_t rem_bda_type, wiced_bt_ble_privacy_mode_t privacy_mode)
 Updates privacy mode if device is already available in controller resolving list. More...
 
wiced_bt_dev_status_t wiced_bt_ble_read_device_random_address (wiced_bt_device_address_t random_bd_addr)
 Get the configured local random device address. More...
 
wiced_bool_t wiced_bt_ble_is_ext_adv_supported (void)
 Check if the local Bluetooth controller supports extended advertising. More...
 
wiced_bool_t wiced_bt_ble_is_periodic_adv_supported (void)
 Check if the local Bluetooth controller supports periodic advertising. More...
 
wiced_bt_dev_status_t wiced_bt_ble_set_ext_adv_random_address (wiced_bt_ble_ext_adv_handle_t adv_handle, wiced_bt_device_address_t random_addr)
 Sends HCI command to set the random address for an adv set. More...
 
wiced_bt_dev_status_t wiced_bt_ble_set_ext_adv_parameters (wiced_bt_ble_ext_adv_handle_t adv_handle, wiced_bt_ble_ext_adv_event_property_t event_properties, uint32_t primary_adv_int_min, uint32_t primary_adv_int_max, wiced_bt_ble_advert_chnl_map_t primary_adv_channel_map, wiced_bt_ble_address_type_t own_addr_type, wiced_bt_ble_address_type_t peer_addr_type, wiced_bt_device_address_t peer_addr, wiced_bt_ble_advert_filter_policy_t adv_filter_policy, int8_t adv_tx_power, wiced_bt_ble_ext_adv_phy_t primary_adv_phy, uint8_t secondary_adv_max_skip, wiced_bt_ble_ext_adv_phy_t secondary_adv_phy, wiced_bt_ble_ext_adv_sid_t adv_sid, wiced_bt_ble_ext_adv_scan_req_notification_setting_t scan_request_not)
 Sends the HCI command to set the parameters for extended advetisement. More...
 
wiced_bt_dev_status_t wiced_bt_ble_set_ext_adv_data (wiced_bt_ble_ext_adv_handle_t adv_handle, uint16_t data_len, uint8_t *p_data)
 Sends HCI command to write the extended adv data. More...
 
wiced_bt_dev_status_t wiced_bt_ble_set_ext_scan_rsp_data (wiced_bt_ble_ext_adv_handle_t adv_handle, uint16_t data_len, uint8_t *p_data)
 Sends HCI command to write the extended scan rsp data. More...
 
wiced_bt_dev_status_t wiced_bt_ble_start_ext_adv (uint8_t enable, uint8_t num_sets, wiced_bt_ble_ext_adv_duration_config_t *p_dur)
 Sends the HCI command to start/stop extended advertisements. More...
 
wiced_bt_dev_status_t wiced_bt_ble_remove_adv_set (wiced_bt_ble_ext_adv_handle_t adv_handle)
 Sends the HCI command to remove an extended advertisement set (which is currently not advertising) More...
 
wiced_bt_dev_status_t wiced_bt_ble_clear_adv_sets (void)
 Sends the HCI command to remove all extended advertisement sets which are currently not advertising. More...
 
uint8_t wiced_bt_ble_read_num_ext_adv_sets (void)
 Read the number of ADV sets supported by the controller. More...
 
uint16_t wiced_bt_ble_read_max_ext_adv_data_len (void)
 Read the maximum ADV data length supported by the controller. More...
 
wiced_bt_dev_status_t wiced_bt_ble_set_periodic_adv_params (wiced_bt_ble_ext_adv_handle_t adv_handle, uint16_t periodic_adv_int_min, uint16_t periodic_adv_int_max, wiced_bt_ble_periodic_adv_prop_t periodic_adv_properties)
 Sends the HCI command to set the parameters for periodic advertising. More...
 
wiced_bt_dev_status_t wiced_bt_ble_set_periodic_adv_data (wiced_bt_ble_ext_adv_handle_t adv_handle, uint16_t adv_data_length, uint8_t *p_adv_data)
 Sends the HCI command to write the periodic adv data. More...
 
wiced_bt_dev_status_t wiced_bt_ble_start_periodic_adv (wiced_bt_ble_ext_adv_handle_t adv_handle, wiced_bool_t enable)
 Sends the HCI command to start/stop periodic advertisements. More...
 
wiced_bt_dev_status_t wiced_bt_ble_cache_ext_scan_config (wiced_bt_ble_ext_scan_config_t *p_ext_scan_cfg)
 Stores extended scan configuration to apply on start ext scan. More...
 
wiced_bt_dev_status_t wiced_bt_ble_create_sync_to_periodic_adv (wiced_bt_ble_adv_sync_options_t options, wiced_bt_ble_ext_adv_sid_t adv_sid, wiced_bt_ble_address_type_t adv_addr_type, wiced_bt_device_address_t adv_addr, uint16_t skip, uint16_t sync_timeout, uint8_t sync_cte_type)
 Sends the HCI command to synchronize with periodic advertising from an advertiser and begin receiving periodic advertising packets. More...
 
wiced_bt_dev_status_t wiced_bt_ble_cancel_sync_to_periodic_adv (void)
 Sends HCI command to cancel the create sync command while it is pending. More...
 
wiced_bt_dev_status_t wiced_bt_ble_terminate_sync_to_periodic_adv (uint16_t sync_handle)
 Sends the HCI command to stop reception of periodic advertising identified by the sync_handle. More...
 
wiced_bt_dev_status_t wiced_bt_ble_add_device_to_periodic_adv_list (wiced_bt_ble_address_type_t advertiser_addr_type, wiced_bt_device_address_t advetiser_addr, wiced_bt_ble_ext_adv_sid_t adv_sid)
 Sends the HCI command to add the given advertiser to Periodic Advertiser list. More...
 
wiced_bt_dev_status_t wiced_bt_ble_remove_device_from_periodic_adv_list (wiced_bt_ble_address_type_t advertiser_addr_type, wiced_bt_device_address_t advetiser_addr, wiced_bt_ble_ext_adv_sid_t adv_sid)
 Sends the HCI command to remove the given advertiser from Periodic Advertiser list. More...
 
wiced_bt_dev_status_t wiced_bt_ble_clear_periodic_adv_list (void)
 Sends the HCI command to remove to remove all devices from the the Periodic Advertisers list. More...
 
uint8_t wiced_bt_ble_read_periodic_adv_list_size (void)
 Read the Periodic Advertisers list size. More...
 
void wiced_bt_ble_register_adv_ext_cback (wiced_bt_ble_adv_ext_event_cb_fp_t p_app_adv_ext_event_cb)
 Register an application callback function to receive extended advertising events. More...
 
wiced_bt_dev_status_t wiced_bt_ble_set_periodic_adv_rcv_enable (wiced_bt_ble_periodic_adv_sync_handle_t sync_handle, wiced_bool_t enable)
 Sends the HCI command enable or disable receiving periodic ADV data for a sync handle. More...
 
uint8_t * wiced_btm_get_private_bda (void)
 Acquire current LE Resolvable Private Address. More...
 
wiced_result_t wiced_bt_utils_ble_private_device_address_resolution (wiced_bt_device_address_t rpa, BT_OCTET16 irk)
 Private Device Address Resolution. More...
 

Detailed Description

AIROC Bluetooth Low Energy (LE) Functions.

Function Documentation

wiced_bt_dev_status_t wiced_bt_ble_add_device_to_periodic_adv_list ( wiced_bt_ble_address_type_t  advertiser_addr_type,
wiced_bt_device_address_t  advetiser_addr,
wiced_bt_ble_ext_adv_sid_t  adv_sid 
)

Sends the HCI command to add the given advertiser to Periodic Advertiser list.

Note : Caller shall not attempt to add more than max list size Shall not attempt to call this API, while create to periodic sync command is pending.

Parameters
[in]advertiser_addr_type: Periodic advertiser addr type
[in]advetiser_addr: Periodic advertiser addr
[in]adv_sid: Periodic advertiser sid
Returns
wiced_bt_dev_status_t WICED_BT_ILLEGAL_VALUE : If paramer is wrong
WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_PENDING : If command queued to send down
WICED_BT_SUCCESS : If successful
wiced_bt_dev_status_t wiced_bt_ble_cache_ext_scan_config ( wiced_bt_ble_ext_scan_config_t p_ext_scan_cfg)

Stores extended scan configuration to apply on start ext scan.

Parameters
[in]p_ext_scan_cfg- pointer to scan configuration
Returns
wiced_bt_dev_status_t

WICED_BT_ILLEGAL_VALUE : If paramer is wrong
WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_SUCCESS : If successful

wiced_bt_dev_status_t wiced_bt_ble_cancel_sync_to_periodic_adv ( void  )

Sends HCI command to cancel the create sync command while it is pending.

Returns
wiced_bt_dev_status_t WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_SUCCESS : If successful
wiced_bt_dev_status_t wiced_bt_ble_clear_adv_sets ( void  )

Sends the HCI command to remove all extended advertisement sets which are currently not advertising.

Returns
wiced_bt_dev_status_t

WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_SUCCESS : If successfuly

wiced_bt_dev_status_t wiced_bt_ble_clear_periodic_adv_list ( void  )

Sends the HCI command to remove to remove all devices from the the Periodic Advertisers list.

Note : Shall not attempt to call this API, while create to periodic sync command is pending.

Returns
wiced_bt_dev_status_t WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_PENDING : If command queued to send down
WICED_BT_SUCCESS : If successful
wiced_bt_dev_status_t wiced_bt_ble_create_sync_to_periodic_adv ( wiced_bt_ble_adv_sync_options_t  options,
wiced_bt_ble_ext_adv_sid_t  adv_sid,
wiced_bt_ble_address_type_t  adv_addr_type,
wiced_bt_device_address_t  adv_addr,
uint16_t  skip,
uint16_t  sync_timeout,
uint8_t  sync_cte_type 
)

Sends the HCI command to synchronize with periodic advertising from an advertiser and begin receiving periodic advertising packets.

Parameters
[in]options- ref: wiced_bt_ble_adv_sync_options_t
[in]adv_sid- min SID / max SID
[in]adv_addr_type- address type
[in]adv_addr- address value
[in]skip
[in]sync_timeout- timeout value
[in]sync_cte_type- bit 0 - Do not sync to packets with an AoA Constant Tone Extension 1 - Do not sync to packets with an AoD Constant Tone Extension with 1 μs slots 2 - Do not sync to packets with an AoD Constant Tone Extension with 2 μs slots 3 - Do not sync to packets with a type 3 Constant Tone Extension
Returns
wiced_bt_dev_status_t WICED_BT_ILLEGAL_VALUE : If paramer is wrong
WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_SUCCESS : If successful
wiced_bool_t wiced_bt_ble_data_signature ( wiced_bt_device_address_t  bd_addr,
uint8_t *  p_text,
uint16_t  len,
wiced_dev_ble_signature_t  signature 
)

Sign the data using AES128 CMAC algorith.

Parameters
[in]bd_addrtarget device the data to be signed for.
[in]p_textsigning data
[in]lenlength of the signing data
[in]signatureoutput parameter where data signature is going to be stored
Returns
TRUE if signing successful, otherwise FALSE.
wiced_bool_t wiced_bt_ble_get_security_state ( wiced_bt_device_address_t  bd_addr,
uint8_t *  p_le_sec_flags,
uint8_t *  p_le_key_size 
)

Get security mode 1 flags and encryption key size for LE peer.

Parameters
[in]bd_addr: peer address
[out]p_le_sec_flags: security flags (see wiced_bt_ble_sec_flags_e)
[out]p_le_key_size: encryption key size
Returns
TRUE if successful
wiced_bool_t wiced_bt_ble_is_ext_adv_supported ( void  )

Check if the local Bluetooth controller supports extended advertising.

Returns
wiced_bool_t
wiced_bool_t wiced_bt_ble_is_periodic_adv_supported ( void  )

Check if the local Bluetooth controller supports periodic advertising.

Returns
wiced_bool_t
wiced_bt_dev_status_t wiced_bt_ble_read_device_random_address ( wiced_bt_device_address_t  random_bd_addr)

Get the configured local random device address.

Note : random address depends on below settings in that priority order. 1) Global privacy configuration using rpa_refresh_timeout (see wiced_bt_cfg_settings_t). 2) else configured for static random bd_address while downloading using BT_DEVICE_ADDRESS=random build setting.

Parameters
[out]random_bd_addr- device random bd address
Returns
wiced_bt_dev_status_t WICED_BT_SUCCESS : if random address is configured.
WICED_BT_WRONG_MODE : if random address not configured.
uint16_t wiced_bt_ble_read_max_ext_adv_data_len ( void  )

Read the maximum ADV data length supported by the controller.

Returns
uint16_t
uint8_t wiced_bt_ble_read_num_ext_adv_sets ( void  )

Read the number of ADV sets supported by the controller.

Returns
uint8_t
uint8_t wiced_bt_ble_read_periodic_adv_list_size ( void  )

Read the Periodic Advertisers list size.

Returns
uint8_t : list size
void wiced_bt_ble_register_adv_ext_cback ( wiced_bt_ble_adv_ext_event_cb_fp_t  p_app_adv_ext_event_cb)

Register an application callback function to receive extended advertising events.

Parameters
[in]p_app_adv_ext_event_cb- pointer to function to receive extended adv events.
Returns
wiced_bt_dev_status_t WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_PENDING : If command queued to send down
WICED_BT_SUCCESS : If successful
wiced_bt_dev_status_t wiced_bt_ble_remove_adv_set ( wiced_bt_ble_ext_adv_handle_t  adv_handle)

Sends the HCI command to remove an extended advertisement set (which is currently not advertising)

Parameters
[in]adv_handle- handle to advertisement set
Returns
wiced_bt_dev_status_t

WICED_BT_ILLEGAL_VALUE : If paramer is wrong
WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_SUCCESS : If successful

wiced_bt_dev_status_t wiced_bt_ble_remove_device_from_periodic_adv_list ( wiced_bt_ble_address_type_t  advertiser_addr_type,
wiced_bt_device_address_t  advetiser_addr,
wiced_bt_ble_ext_adv_sid_t  adv_sid 
)

Sends the HCI command to remove the given advertiser from Periodic Advertiser list.

Note : Shall not attempt to call this API, while create to periodic sync command is pending.

Parameters
[in]advertiser_addr_type: Periodic advertiser addr type
[in]advetiser_addr: Periodic advertiser addr
[in]adv_sid: Periodic advertiser sid
Returns
wiced_bt_dev_status_t WICED_BT_ILLEGAL_VALUE : If paramer is wrong
WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_PENDING : If command queued to send down
WICED_BT_SUCCESS : If successful
wiced_bt_dev_status_t wiced_bt_ble_set_ext_adv_data ( wiced_bt_ble_ext_adv_handle_t  adv_handle,
uint16_t  data_len,
uint8_t *  p_data 
)

Sends HCI command to write the extended adv data.

Parameters
[in]adv_handle- handle of the advertising set
[in]data_len- length of the adv data to use for this set
[in]p_data- pointer to the adv data to use for this set
Returns
wiced_bt_dev_status_t WICED_BT_SUCCESS : If all extended adv data set successfully
WICED_BT_ILLEGAL_VALUE : If paramer is wrong
WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_PENDING : If command queued to send down
wiced_bt_dev_status_t wiced_bt_ble_set_ext_adv_parameters ( wiced_bt_ble_ext_adv_handle_t  adv_handle,
wiced_bt_ble_ext_adv_event_property_t  event_properties,
uint32_t  primary_adv_int_min,
uint32_t  primary_adv_int_max,
wiced_bt_ble_advert_chnl_map_t  primary_adv_channel_map,
wiced_bt_ble_address_type_t  own_addr_type,
wiced_bt_ble_address_type_t  peer_addr_type,
wiced_bt_device_address_t  peer_addr,
wiced_bt_ble_advert_filter_policy_t  adv_filter_policy,
int8_t  adv_tx_power,
wiced_bt_ble_ext_adv_phy_t  primary_adv_phy,
uint8_t  secondary_adv_max_skip,
wiced_bt_ble_ext_adv_phy_t  secondary_adv_phy,
wiced_bt_ble_ext_adv_sid_t  adv_sid,
wiced_bt_ble_ext_adv_scan_req_notification_setting_t  scan_request_not 
)

Sends the HCI command to set the parameters for extended advetisement.

Parameters
[in]adv_handleAdvertisement set handle
[in]event_propertiesBit mask to speicify connectable,scannable,low duty,high duty,directed,legacy adv
[in]primary_adv_int_minRange: 0x000020 to 0xFFFFFF (20 ms to 10,485.759375 s)
[in]primary_adv_int_maxRange: 0x000020 to 0xFFFFFF(20 ms to 10,485.759375 s)
[in]primary_adv_channel_mapLE advertisement channel map (see wiced_bt_ble_advert_chnl_map_e)
[in]own_addr_typeIgnored in case of anonymous adv. See event_properties
[in]peer_addr_typePeer address type
[in]peer_addrpeer address
[in]adv_filter_policyAdv filter policy
[in]adv_tx_power-127 to +126. 127 means host has no preference
[in]primary_adv_phyPhy used to transmit ADV packets on Primary ADV channels
[in]secondary_adv_max_skipValid only in case of extended ADV. Range 0 to FF. Maximum advertising events controller can skip before sending auxiliary adv packets on the secondary adv channel
[in]secondary_adv_phyPhy used to transmit ADV packets on secondary ADV channels. Valid only in case of extended ADV
[in]adv_sidAdvertisement set identifier is the value to be transmitted in extended ADV PDUs
[in]scan_request_notscan request received notification enable/disable
Returns
wiced_bt_dev_status_t

WICED_BT_SUCCESS : If all extended adv params are set successfully
WICED_BT_ILLEGAL_VALUE : If paramer is wrong
WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_PENDING : If command queued to send down

wiced_bt_dev_status_t wiced_bt_ble_set_ext_adv_random_address ( wiced_bt_ble_ext_adv_handle_t  adv_handle,
wiced_bt_device_address_t  random_addr 
)

Sends HCI command to set the random address for an adv set.

Parameters
[in]adv_handle- handle of the advertising set
[in]random_addr- random address to use for this set
Returns
wiced_bt_dev_status_t

WICED_BT_SUCCESS : If random addr is set successfully
WICED_BT_ILLEGAL_VALUE : If paramer is wrong
WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_PENDING : If command queued to send down

wiced_bt_dev_status_t wiced_bt_ble_set_ext_scan_rsp_data ( wiced_bt_ble_ext_adv_handle_t  adv_handle,
uint16_t  data_len,
uint8_t *  p_data 
)

Sends HCI command to write the extended scan rsp data.

Parameters
[in]adv_handle- handle of the advertising set
[in]data_len- length of the scan response data to use for this set
[in]p_data- pointer to the scan response data to use for this set
Returns
wiced_bt_dev_status_t

WICED_BT_SUCCESS : If all extended scan response data set successfully
WICED_BT_ILLEGAL_VALUE : If paramer is wrong
WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_PENDING : If command queued to send down

wiced_bt_dev_status_t wiced_bt_ble_set_periodic_adv_data ( wiced_bt_ble_ext_adv_handle_t  adv_handle,
uint16_t  adv_data_length,
uint8_t *  p_adv_data 
)

Sends the HCI command to write the periodic adv data.

Parameters
[in]adv_handleadvertisement set handle
[in]adv_data_lengthperiodic data length
[in]p_adv_datapointer to the periodic data
Returns
wiced_bt_dev_status_t WICED_BT_ILLEGAL_VALUE : If paramer is wrong
WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_SUCCESS : If successful
wiced_bt_dev_status_t wiced_bt_ble_set_periodic_adv_params ( wiced_bt_ble_ext_adv_handle_t  adv_handle,
uint16_t  periodic_adv_int_min,
uint16_t  periodic_adv_int_max,
wiced_bt_ble_periodic_adv_prop_t  periodic_adv_properties 
)

Sends the HCI command to set the parameters for periodic advertising.

Parameters
[in]adv_handleadvertisement set handle
[in]periodic_adv_int_minRange N: 0x0006 to 0xFFFF, Time = N * 1.25 ms
[in]periodic_adv_int_maxRange N: 0x0006 to 0xFFFF, Time = N * 1.25 ms
[in]periodic_adv_propertiesperiodic adv property indicates which field should be include in periodic adv
Returns
wiced_bt_dev_status_t

WICED_BT_ILLEGAL_VALUE : If paramer is wrong
WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_SUCCESS : If successful

wiced_bt_dev_status_t wiced_bt_ble_set_periodic_adv_rcv_enable ( wiced_bt_ble_periodic_adv_sync_handle_t  sync_handle,
wiced_bool_t  enable 
)

Sends the HCI command enable or disable receiving periodic ADV data for a sync handle.

Parameters
[in]sync_handle: Sync handle
[in]enable: Boolean for enable/disable.
Returns
wiced_bt_dev_status_t WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_SUCCESS : If command queued to send down
wiced_bt_dev_status_t wiced_bt_ble_set_privacy_mode ( wiced_bt_device_address_t  remote_bda,
wiced_bt_ble_address_type_t  rem_bda_type,
wiced_bt_ble_privacy_mode_t  privacy_mode 
)

Updates privacy mode if device is already available in controller resolving list.

Parameters
[in]remote_bda-remote device address received during connection up
[in]rem_bda_type-remote device address type received during connection up
[in]privacy_mode- privacy mode (see wiced_bt_ble_privacy_mode_t)
Returns
wiced_bt_dev_status_t
WICED_BT_ILLEGAL_VALUE : if paramer is wrong
WICED_BT_UNSUPPORTED : if command not supported
WICED_BT_UNKNOWN_ADDR : if bd_addr is wrong
WICED_BT_ILLEGAL_ACTION : if device not added to resolving list or peer irk is not valid
WICED_BT_ERROR : error while processing the command
WICED_BT_SUCCESS : if command started
wiced_bt_dev_status_t wiced_bt_ble_start_ext_adv ( uint8_t  enable,
uint8_t  num_sets,
wiced_bt_ble_ext_adv_duration_config_t p_dur 
)

Sends the HCI command to start/stop extended advertisements.

Parameters
[in]enable- true to enable, false to disable
[in]num_sets- number of sets to enable, unused if disabling
[in]p_dur- pointer to adv handle(s) and duration configuration
Returns
wiced_bt_dev_status_t

WICED_BT_ILLEGAL_VALUE : If paramer is wrong
WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_SUCCESS : If successful

wiced_bt_dev_status_t wiced_bt_ble_start_periodic_adv ( wiced_bt_ble_ext_adv_handle_t  adv_handle,
wiced_bool_t  enable 
)

Sends the HCI command to start/stop periodic advertisements.

Parameters
[in]adv_handle- handle of the advertising set
[in]enable- true to enable, false to disable
Returns
wiced_bt_dev_status_t WICED_BT_ILLEGAL_VALUE : If paramer is wrong
WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_SUCCESS : If successful
wiced_bt_dev_status_t wiced_bt_ble_terminate_sync_to_periodic_adv ( uint16_t  sync_handle)

Sends the HCI command to stop reception of periodic advertising identified by the sync_handle.

Parameters
[in]sync_handle- Sync handle received in WICED_BT_BLE_PERIODIC_ADV_SYNC_ESTABLISHED_EVENT.
Returns
wiced_bt_dev_status_t

WICED_BT_UNSUPPORTED : If command not supported
WICED_BT_NO_RESOURCES : If no memory to issue the command
WICED_BT_PENDING : If command queued to send down
WICED_BT_SUCCESS : If successful

wiced_bool_t wiced_bt_ble_verify_signature ( wiced_bt_device_address_t  bd_addr,
uint8_t *  p_orig,
uint16_t  len,
uint32_t  counter,
uint8_t *  p_comp 
)

Verify the data signature.

Parameters
[in]bd_addrtarget device the data to be signed for.
[in]p_origoriginal data before signature.
[in]lenlength of the signing data
[in]countercounter used when doing data signing
[in]p_compsignature to be compared against.
Returns
TRUE if signature verified correctly; otherwise FALSE.
wiced_result_t wiced_bt_utils_ble_private_device_address_resolution ( wiced_bt_device_address_t  rpa,
BT_OCTET16  irk 
)

Private Device Address Resolution.

Parameters
[in]rpa: LE Resolvable Private Address
[in]irk: LE IRK
Returns
wiced_result_t WICED_BT_SUCCESS : the identity of device address has been resolved. WICED_BT_ERROR : otherwise.
uint8_t* wiced_btm_get_private_bda ( void  )

Acquire current LE Resolvable Private Address.

Parameters
[in]None
Returns
uint8_t * - current rpa's pointer