Infineon Logo AIROC BTSDK v4.9 - Documentation
 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Bluetooth Low Energy

This section describes the API's to use LE functionality such as advertisement, scanning LE Connection, Data transfer, LE Security etc. 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...
 

Modules

 Advertisement & Scan
 This section provides functions for LE advertisement and LE scan operations.
 
 Connection and Filter Accept List
 This section provides functions for LE connection related and Filter Accept List operations.
 
 LE Security
 Bluetooth LE security API (authorisation, authentication and encryption)
 
 MultiAdv
 This section describes Multiple Advertisement API, using this interface application can enable more than one advertisement train.
 
 Phy
 This section provides functionality to read and update PHY.
 

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...
 

Detailed Description

This section describes the API's to use LE functionality such as advertisement, scanning LE Connection, Data transfer, LE Security etc.

Macro Definition Documentation

#define BTM_BLE_SIMULTANEOUS_DUAL_MODE_TO_SAME_DEVICE_CONTROLLER_SUPPORTED   (0x01 << 3)

Simultaneous LE and BR/EDR to Same Device Capable (Controller).

#define BTM_BLE_SIMULTANEOUS_DUAL_MODE_TO_SAME_DEVICE_HOST_SUPPORTED   (0x01 << 4)

Simultaneous LE and BR/EDR to Same Device Capable (Host).

Typedef Documentation

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.

Adv extension command status, command complete event and LE adv extension meta event callback

Parameters
event: Event type (see wiced_bt_ble_adv_ext_event_t)
p_data: Event data (see wiced_bt_ble_adv_ext_event_data_t)
Returns
Nothing

Bit mask to identify the type of the adv received in extended adv report.

(see wiced_bt_ble_ext_adv_report_t) event_type filed

Filter policy used.

(see wiced_bt_ble_ext_filter_policy_e)

Host preferences on PHY.

bit field that indicates the transmitter PHYs that the Host prefers the Controller to use.Bit number 3 -7 reserved for future.

The PHY_options parameter is a bit field that allows the Host to specify options for LE long range PHY.

Default connection is with no LE coded PHY.The Controller may override any preferred coding (S2 coded phy for 512k speed and s8 coded phy for 128K) for transmitting on the LE Coded PHY. The Host may specify a preferred coding even if it prefers not to use the LE Coded transmitter PHY since the Controller may override the PHY preference. Bit 2-15 reserved for future use.

Note
These preferences applicable only when BTM_BLE_PREFER_LELR_PHY flag gest set

Sync_Handle to be used to identify the periodic advertiser.

Range: 0x0000-0x0EFF

typedef uint8_t wiced_bt_ble_privacy_mode_t

LE Privacy mode.

Refer wiced_bt_ble_privacy_e

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.

read phy complete callback (from calling wiced_bt_ble_read_phy)

Parameters
p_phy_result: read phys result
Returns
Nothing
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.

Scan result callback (from calling wiced_bt_ble_scan)

Parameters
p_scan_result: scan result data (NULL indicates end of scanning)
p_adv_data: Advertisement data (parse using wiced_bt_ble_check_advertising_data)
Returns
Nothing

LE Scanner filter policy.

Scanner filter policy (see wiced_bt_ble_scanner_filter_policy_e)

LE security type.

refer wiced_bt_ble_sec_action_type_e

typedef wiced_bool_t( wiced_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.

Selective connection callback (registered with wiced_bt_ble_set_background_connection_type)

Parameters
remote_bda: remote device
p_remote_name: remote device name
Returns

Enumeration Type Documentation

anonymous enum

LE PHY.

Enumerator
WICED_BT_BLE_EXT_ADV_PHY_1M 

advetiser advertisement PHY is LE 1M

WICED_BT_BLE_EXT_ADV_PHY_2M 

advetiser advertisement PHY is LE 2M

WICED_BT_BLE_EXT_ADV_PHY_LE_CODED 

advetiser advertisement PHY is LE Coded (for long range)

WICED_BT_BLE_EXT_ADV_NUM_PHYS 

3 PHYs are defined

anonymous enum

LE PHY bit mask.

Enumerator
WICED_BT_BLE_EXT_ADV_PHY_1M_BIT 

Bit mask to specify for LE1M PHY.

WICED_BT_BLE_EXT_ADV_PHY_2M_BIT 

Bit mask to specify for LE2M PHY.

WICED_BT_BLE_EXT_ADV_PHY_LE_CODED_BIT 

Bit mask to specify for LE coded PHY.

anonymous enum

Advertising event properties: Describes the type of advertising event that is being configured and its basic properties.

Enumerator
WICED_BT_BLE_EXT_ADV_EVENT_CONNECTABLE_ADV 

Connectable ADV.

WICED_BT_BLE_EXT_ADV_EVENT_SCANNABLE_ADV 

Scannable ADV.

WICED_BT_BLE_EXT_ADV_EVENT_DIRECTED_ADV 

Low duty cycle directed advertisement.

WICED_BT_BLE_EXT_ADV_EVENT_HIGH_DUTY_DIRECTED_CONNECTABLE_ADV 

3.75 ms Advertising Interval, only valid in legacy ADV

WICED_BT_BLE_EXT_ADV_EVENT_LEGACY_ADV 

Legacy Advertisement.

Adv data cannot be more than 31 bytes.

WICED_BT_BLE_EXT_ADV_EVENT_ANONYMOUS_ADV 

Omits advertisers address from all PDUs.

WICED_BT_BLE_EXT_ADV_EVENT_INCLUDE_TX_POWER 

Include Tx power in ext ADV pdus.

anonymous enum

Advertisement set handle to identify adv set b/n host and controller.

Enumerator
WICED_BT_BLE_EXT_ADV_HANDLE_MIN 

min advertisement set handle value

WICED_BT_BLE_EXT_ADV_HANDLE_MAX 

max advertisement set handle value

anonymous enum

The Advertising set identifier(SID) is used to uniquely identify adv sets from advertiser.

SID the value to be transmitted in the advertising SID subfield of the ADI field of the Extended ADV PDUs

Enumerator
WICED_BT_BLE_EXT_ADV_SID_MIN 

min SID value

WICED_BT_BLE_EXT_ADV_SID_MAX 

max SID value

ADV extension events to the application.

Enumerator
WICED_BT_BLE_PERIODIC_ADV_SYNC_ESTABLISHED_EVENT 

Sync established to periodic advertiser's periodic advertisement.

Event Data : wiced_bt_ble_periodic_adv_sync_established_event_data_t

WICED_BT_BLE_PERIODIC_ADV_REPORT_EVENT 

Periodic adv report.

Event Data: wiced_bt_ble_periodic_adv_report_event_data_t

WICED_BT_BLE_PERIODIC_ADV_SYNC_LOST_EVENT 

Periodic sync lost event.

Event Data: wiced_bt_ble_periodic_adv_sync_handle_t

WICED_BT_BLE_ADV_SET_TERMINATED_EVENT 

Advertising set terminated becaue either connection being created or adv timeout.

Event data: wiced_bt_ble_ext_adv_set_terminated_event_data_t

WICED_BT_BLE_SCAN_REQUEST_RECEIVED_EVENT 

scan request received event.

Event data: wiced_bt_ble_scan_req_received_event_data_t

WICED_BT_BLE_CHANNEL_SEL_ALGO_EVENT 

LE Channel selected algorithm event.

Event Data: wiced_bt_ble_channel_sel_algo_event_data_t

Options used in create periodic sync to periodic adv command.

Enumerator
WICED_BT_BLE_IGNORE_SYNC_TO_PERIODIC_ADV_LIST 

Use the Advertising_SID, Advertising_Address_Type, and Advertising Address parameters specified in create sync command to determine which advertiser to listen to.

WICED_BT_BLE_SYNC_TO_PERIODIC_ADV_LIST 

Use the Periodic Advertiser List to determine which advertiser to listen to.

Advertising filter policy.

Enumerator
BTM_BLE_ADV_POLICY_ACCEPT_CONN_AND_SCAN 

Process scan and connection requests from all devices (i.e., the Filter Accept List is not in use) (default)

BTM_BLE_ADV_POLICY_ACCEPT_CONN_FILTER_SCAN 

Process connection requests from all devices and only scan requests from devices that are in the Filter Accept List.

BTM_BLE_ADV_POLICY_FILTER_CONN_ACCEPT_SCAN 

Process scan requests from all devices and only connection requests from devices that are in the Filter Accept List.

BTM_BLE_ADV_POLICY_FILTER_CONN_FILTER_SCAN 

Process scan and connection requests only from devices in the Filter Accept List.

BTM_BLE_ADV_POLICY_MAX 

Max Adv filter value.

Advertisement data types.

Enumerator
BTM_BLE_ADVERT_TYPE_FLAG 

Advertisement flags.

BTM_BLE_ADVERT_TYPE_16SRV_PARTIAL 

List of supported services - 16 bit UUIDs (partial)

BTM_BLE_ADVERT_TYPE_16SRV_COMPLETE 

List of supported services - 16 bit UUIDs (complete)

BTM_BLE_ADVERT_TYPE_32SRV_PARTIAL 

List of supported services - 32 bit UUIDs (partial)

BTM_BLE_ADVERT_TYPE_32SRV_COMPLETE 

List of supported services - 32 bit UUIDs (complete)

BTM_BLE_ADVERT_TYPE_128SRV_PARTIAL 

List of supported services - 128 bit UUIDs (partial)

BTM_BLE_ADVERT_TYPE_128SRV_COMPLETE 

List of supported services - 128 bit UUIDs (complete)

BTM_BLE_ADVERT_TYPE_NAME_SHORT 

Short name.

BTM_BLE_ADVERT_TYPE_NAME_COMPLETE 

Complete name.

BTM_BLE_ADVERT_TYPE_TX_POWER 

TX Power level.

BTM_BLE_ADVERT_TYPE_DEV_CLASS 

Device Class.

BTM_BLE_ADVERT_TYPE_SIMPLE_PAIRING_HASH_C 

Simple Pairing Hash C.

BTM_BLE_ADVERT_TYPE_SIMPLE_PAIRING_RAND_C 

Simple Pairing Randomizer R.

BTM_BLE_ADVERT_TYPE_SM_TK 

Security manager TK value.

BTM_BLE_ADVERT_TYPE_SM_OOB_FLAG 

Security manager Out-of-Band data.

BTM_BLE_ADVERT_TYPE_INTERVAL_RANGE 

Peripheral connection interval range.

BTM_BLE_ADVERT_TYPE_SOLICITATION_SRV_UUID 

List of solicitated services - 16 bit UUIDs.

BTM_BLE_ADVERT_TYPE_128SOLICITATION_SRV_UUID 

List of solicitated services - 128 bit UUIDs.

BTM_BLE_ADVERT_TYPE_SERVICE_DATA 

Service data - 16 bit UUID.

BTM_BLE_ADVERT_TYPE_PUBLIC_TARGET 

Public target address.

BTM_BLE_ADVERT_TYPE_RANDOM_TARGET 

Random target address.

BTM_BLE_ADVERT_TYPE_APPEARANCE 

Appearance.

BTM_BLE_ADVERT_TYPE_ADVERT_INTERVAL 

Advertising interval.

BTM_BLE_ADVERT_TYPE_LE_BD_ADDR 

LE device bluetooth address.

BTM_BLE_ADVERT_TYPE_LE_ROLE 

LE role.

BTM_BLE_ADVERT_TYPE_256SIMPLE_PAIRING_HASH 

Simple Pairing Hash C-256.

BTM_BLE_ADVERT_TYPE_256SIMPLE_PAIRING_RAND 

Simple Pairing Randomizer R-256.

BTM_BLE_ADVERT_TYPE_32SOLICITATION_SRV_UUID 

List of solicitated services - 32 bit UUIDs.

BTM_BLE_ADVERT_TYPE_32SERVICE_DATA 

Service data - 32 bit UUID.

BTM_BLE_ADVERT_TYPE_128SERVICE_DATA 

Service data - 128 bit UUID.

BTM_BLE_ADVERT_TYPE_CONN_CONFIRM_VAL 

LE Secure Connections Confirmation Value.

BTM_BLE_ADVERT_TYPE_CONN_RAND_VAL 

LE Secure Connections Random Value.

BTM_BLE_ADVERT_TYPE_URI 

URI.

BTM_BLE_ADVERT_TYPE_INDOOR_POS 

Indoor Positioning.

BTM_BLE_ADVERT_TYPE_TRANS_DISCOVER_DATA 

Transport Discovery Data.

BTM_BLE_ADVERT_TYPE_SUPPORTED_FEATURES 

LE Supported Features.

BTM_BLE_ADVERT_TYPE_UPDATE_CH_MAP_IND 

Channel Map Update Indication.

BTM_BLE_ADVERT_TYPE_PB_ADV 

PB-ADV.

BTM_BLE_ADVERT_TYPE_MESH_MSG 

Mesh Message.

BTM_BLE_ADVERT_TYPE_MESH_BEACON 

Mesh Beacon.

BTM_BLE_ADVERT_TYPE_PSRI 

Generic Audio Provate Set Random Identifier.

BTM_BLE_ADVERT_TYPE_3D_INFO_DATA 

3D Information Data

BTM_BLE_ADVERT_TYPE_MANUFACTURER 

Manufacturer data.

LE channel selection algorithms.

Enumerator
LE_CHANNEL_SEL_ALGO_1_USED 

LE channel selection algorithm#1 used.

LE_CHANNEL_SEL_ALGO_2_USED 

LE channel selection algorithm#2 used.

Background connection type.

Enumerator
BTM_BLE_CONN_NONE 

No background connection.

BTM_BLE_CONN_AUTO 

Auto connection.

BTM_BLE_CONN_SELECTIVE 

Selective connection.

Min and Max possible number of reports in LE extended adv report event.

Enumerator
ADV_REP_EVT_COUNT_MIN 

min number of reports in LE extended adv report event

ADV_REP_EVT_COUNT_MAX 

max number of reports in LE extended adv report event

Value to configure to receive scan request recived notification.

Enumerator
WICED_BT_BLE_EXT_ADV_SCAN_REQ_NOTIFY_DISABLE 

Do not send Notification on scan request.

WICED_BT_BLE_EXT_ADV_SCAN_REQ_NOTIFY_ENABLE 

Send Notification on scan request.

Filter policy used in extended create connection command.

Enumerator
WICED_BT_BLE_IGNORE_FILTER_ACCEPT_LIST_FOR_CONNS 

Filter Accept List is not used to determine which advertiser to connect to.

Peer_Address_Type and Peer_Address shall be used

WICED_BT_BLE_USE_FILTER_ACCEPT_LIST_FOR_CONNS 

Filter Accept List is used to determine which advertiser to connect to.

Peer_Address_Type and Peer_Address shall be ignored.

Extended scan duplicate filter policy.

Enumerator
WICED_BT_BLE_EXT_SCAN_FILTER_DUPLICATE_DISABLE 

send all advertisements received from advertisers

WICED_BT_BLE_EXT_SCAN_FILTER_DUPLICATE_ENABLE 

duplicate advertisements should not be sent until scan disabled

WICED_BT_BLE_EXT_SCAN_FILTER_DUPLICATE_ENABLE_RESET_ON_SCAN_PERIOD 

filter duplicate adv during single scan Duration (see wiced_bt_ble_ext_scan_enable_t).Period should be non zero on using this option

Multi-advertisement Filtering policy.

Enumerator
MULTI_ADVERT_FILTER_POLICY_NOT_USED 

Multi adv filter filter Accept List not used.

MULTI_ADVERT_FILTER_POLICY_ADV_ALLOW_UNKNOWN_CONNECTION 

Multi adv filter filter Accept List for scan request.

MULTI_ADVERT_FILTER_POLICY_ADV_ALLOW_UNKNOWN_SCANNING 

Multi adv filter filter Accept List for connection request.

MULTI_ADVERT_FILTER_POLICY_USE_FOR_ALL 

Multi adv filter filter Accept List for all.

Multi-advertisement start/stop.

Enumerator
MULTI_ADVERT_STOP 

Stop Multi-adverstisment.

MULTI_ADVERT_START 

Start Multi-adverstisment.

Multi-advertisement type.

Enumerator
MULTI_ADVERT_CONNECTABLE_UNDIRECT_EVENT 

Multi adv Connectable undirected event.

MULTI_ADVERT_CONNECTABLE_DIRECT_EVENT 

Multi adv Connectable directed event.

MULTI_ADVERT_DISCOVERABLE_EVENT 

Multi adv Discoverable event.

MULTI_ADVERT_NONCONNECTABLE_EVENT 

Multi adv NonConnectable event.

MULTI_ADVERT_LOW_DUTY_CYCLE_DIRECT_EVENT 

Multi adv Low Cycle directed event.

Periodic adv property.

Enumerator
WICED_BT_BLE_PERIODIC_ADV_PROPERTY_INCLUDE_TX_POWER 

Speicify Tx power in periodic adv events.

Privacy mode refer Spec version 5.0 Vol 3 Part C Section 10.7 privacy feature.

Enumerator
BTM_BLE_PRIVACY_MODE_NETWORK 

network privacy mode

BTM_BLE_PRIVACY_MODE_DEVICE 

device privacy mode

Scanner filter policy.

Enumerator
BTM_BLE_SCAN_POLICY_ACCEPT_ADV_RSP 

accept adv packet from all, directed adv pkt not directed to local device is ignored

BTM_BLE_SCAN_POLICY_FILTER_ADV_RSP 

accept adv packet from device in filter Accept List, directed adv packet not directed to local device is ignored

BTM_BLE_SCAN_POLICY_ACCEPT_RPA_DIR_ADV_RSP 

accept adv packet from all, directed adv pkt not directed to local device is ignored except direct adv with RPA

BTM_BLE_SCAN_POLICY_FILTER_RPA_DIR_ADV_RSP 

accept adv packet from device in filter Accept List, directed adv pkt not directed to me is ignored except direct adv with RPA

BTM_BLE_SCAN_POLICY_MAX 

Max Scan filter policy value.

LE encryption method.

Enumerator
BTM_BLE_SEC_NONE 

No encryption.

BTM_BLE_SEC_ENCRYPT 

encrypt the link using current key

BTM_BLE_SEC_ENCRYPT_NO_MITM 

encryption without MITM

BTM_BLE_SEC_ENCRYPT_MITM 

encryption with MITM

security settings used with L2CAP LE COC

Enumerator
BTM_SEC_LE_LINK_ENCRYPTED 

Link encrypted.

BTM_SEC_LE_LINK_PAIRED_WITHOUT_MITM 

Paired without man-in-the-middle protection.

BTM_SEC_LE_LINK_PAIRED_WITH_MITM 

Link with man-in-the-middle protection.

Scan result event type.

Enumerator
BTM_BLE_EVT_CONNECTABLE_ADVERTISEMENT 

Connectable advertisement.

BTM_BLE_EVT_CONNECTABLE_DIRECTED_ADVERTISEMENT 

Connectable Directed advertisement.

BTM_BLE_EVT_SCANNABLE_ADVERTISEMENT 

Scannable advertisement.

BTM_BLE_EVT_NON_CONNECTABLE_ADVERTISEMENT 

Non connectable advertisement.

BTM_BLE_EVT_SCAN_RSP 

Scan response.