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

Bluetooth Management (BTM) Application Programming Interface. More...

Data Structures

struct  wiced_bt_dev_vendor_specific_command_complete_params_t
 Structure returned with Vendor Specific Command complete callback. More...
 
struct  wiced_bt_dev_cod_cond_t
 Class of Device inquiry filter. More...
 
union  wiced_bt_dev_inq_filt_cond_t
 Inquiry filter. More...
 
struct  wiced_bt_dev_inq_parms_t
 Inquiry Parameters. More...
 
struct  wiced_bt_dev_inquiry_scan_result_t
 Inquiry Results. More...
 
struct  wiced_bt_dev_rssi_result_t
 RSSI Result (in response to wiced_bt_dev_read_rssi) More...
 
struct  wiced_bt_tx_power_result_t
 TX Power Result (in response to wiced_bt_dev_read_tx_power) More...
 
struct  wiced_bt_set_tx_power_result_t
 TX Power Result (in response to wiced_bt_ble_set_adv_tx_power) More...
 
struct  wiced_bt_dev_remote_name_result_t
 
struct  wiced_bt_dev_switch_role_result_t
 
struct  wiced_bt_power_table_params_t
 Structure returned with wiced_read_power_table_value complete callback. More...
 
struct  wiced_bt_dev_bredr_io_caps_rsp_t
 Data type for IO capabalities response (BTM_PAIRING_IO_CAPABILITIES_BR_EDR_RESPONSE_EVT) More...
 
struct  wiced_bt_dev_user_cfm_req_t
 Data for pairing confirmation request (BTM_USER_CONFIRMATION_REQUEST_EVT event data type) More...
 
struct  wiced_bt_dev_user_key_req_t
 Pairing user passkey request (BTM_USER_PASSKEY_REQUEST_EVT event data type) More...
 
struct  wiced_bt_dev_user_key_notif_t
 Data for pairing passkey notification (BTM_USER_PASSKEY_NOTIFICATION_EVT event data type) More...
 
struct  wiced_bt_dev_user_keypress_t
 Pairing keypress notification (BTM_USER_KEYPRESS_NOTIFICATION_EVT event data type) More...
 
struct  wiced_bt_dev_br_edr_pairing_info_t
 BR/EDR pairing complete infomation. More...
 
struct  wiced_bt_dev_ble_pairing_info_t
 LE pairing complete infomation. More...
 
union  wiced_bt_dev_pairing_info_t
 Transport dependent pairing complete infomation. More...
 
struct  wiced_bt_dev_pairing_cplt_t
 Pairing complete notification (BTM_PAIRING_COMPLETE_EVT event data type) More...
 
struct  wiced_bt_dev_security_failed_t
 Security/authentication failure status (used by BTM_SECURITY_FAILED_EVT notication) More...
 
struct  wiced_bt_dev_security_request_t
 Security request (BTM_SECURITY_REQUEST_EVT event data type) More...
 
struct  wiced_bt_dev_bonded_device_info_t
 bonding device information from wiced_bt_dev_get_bonded_devices More...
 
struct  wiced_bt_smp_remote_oob_req_t
 data type for BTM_SMP_REMOTE_OOB_DATA_REQUEST_EVT More...
 
struct  wiced_bt_smp_sc_remote_oob_req_t
 data type for BTM_SMP_SC_REMOTE_OOB_DATA_REQUEST_EVT More...
 
struct  wiced_bt_public_key_t
 Public key. More...
 
struct  wiced_bt_smp_sc_local_oob_t
 
struct  wiced_bt_smp_sc_peer_oob_data_t
 
struct  wiced_bt_smp_sc_oob_data_t
 
struct  wiced_bt_local_identity_keys_t
 LE identity key for local device (used by BTM_LE_LOCAL_IDENTITY_KEYS_UPDATE_EVT and BTM_LE_LOCAL_KEYS_REQUEST_EVT notification) More...
 
struct  wiced_bt_sco_connected_t
 SCO connected event related data. More...
 
struct  wiced_bt_sco_disconnected_t
 SCO disconnected event related data. More...
 
struct  wiced_bt_sco_connection_request_t
 SCO connect request event related data. More...
 
struct  wiced_bt_sco_connection_change_t
 SCO connection change event related data. More...
 
struct  wiced_bt_ble_connection_param_update_t
 LE connection parameter update event related data. More...
 
struct  wiced_bt_ble_phy_update_t
 LE Physical link update event related data. More...
 
struct  wiced_bt_ble_rc_connection_param_req_t
 LE Remote connection parameter update request event related data. More...
 
struct  wiced_bt_dev_enabled_t
 Device enabled (used by BTM_ENABLED_EVT) More...
 
struct  wiced_bt_dev_disabled_t
 Device disabled (used by BTM_DISABLED_EVT) More...
 
struct  wiced_bt_dev_name_and_class_t
 Remote device information (used by BTM_PIN_REQUEST_EVT, BTM_SECURITY_ABORTED_EVT) More...
 
struct  wiced_bt_power_mgmt_notification_t
 Change in power management status (used by BTM_POWER_MANAGEMENT_STATUS_EVT notication) More...
 
struct  wiced_bt_dev_encryption_status_t
 Encryption status change (used by BTM_ENCRYPTION_STATUS_EVT) More...
 
struct  wiced_bt_dev_local_oob_t
 Local OOB data BTM_READ_LOCAL_OOB_DATA_COMPLETE_EVT. More...
 
struct  wiced_bt_dev_remote_oob_t
 BTM_REMOTE_OOB_DATA_REQUEST_EVT. More...
 
struct  wiced_bt_dev_bredr_io_caps_req_t
 BR/EDR Pairing IO Capabilities (to be filled by application callback on BTM_PAIRING_IO_CAPABILITIES_BR_EDR_REQUEST_EVT) More...
 
struct  wiced_bt_dev_ble_io_caps_req_t
 LE Pairing IO Capabilities (to be filled by application callback on BTM_PAIRING_IO_CAPABILITIES_BLE_REQUEST_EVT) More...
 
union  wiced_bt_management_evt_data_t
 Structure definitions for Bluetooth Management (wiced_bt_management_cback_t) event notifications. More...
 

Macros

#define BTM_DISCOVERABILITY_MODE
 
#define BTM_DISCOVERABLE_MASK   (BTM_LIMITED_DISCOVERABLE|BTM_GENERAL_DISCOVERABLE)
 
#define BTM_MAX_DISCOVERABLE   BTM_GENERAL_DISCOVERABLE
 
#define BTM_CONNECTABILITY_MODE
 
#define BTM_CONNECTABLE_MASK   (BTM_NON_CONNECTABLE | BTM_CONNECTABLE)
 
#define BTM_INQUIRY_MODE
 
#define BTM_SCAN_TYPE_STANDARD   0
 
#define BTM_SCAN_TYPE_INTERLACED   1
 
#define BTM_INQ_RESULT   0
 
#define BTM_INQ_RESULT_WITH_RSSI   1
 
#define BTM_INQ_RESULT_EXTENDED   2
 
#define BTM_INQ_RES_IGNORE_RSSI   0x7f
 RSSI value not supplied (ignore it)
 
#define BTM_SCAN_PARAM_IGNORE   0 /* Passed to BTM_SetScanConfig() to ignore */
 
#define BTM_INQUIRY_FILTER
 
#define BTM_INQ_RMT_NAME_EMPTY   0
 
#define BTM_INQ_RMT_NAME_PENDING   1
 
#define BTM_INQ_RMT_NAME_DONE   2
 
#define BTM_INQ_RMT_NAME_FAILED   3
 
#define BTM_EIR_UUID_ENUM
 BTM service definitions (used for storing EIR data to bit mask.
 
#define BTM_EIR_ARRAY_BITS   32 /* Number of bits in each array element */
 
#define BTM_EIR_SERVICE_ARRAY_SIZE
 
#define POWER_LEVELS_CNT_MAX   8
 
#define BTM_SEC_LEVEL
 Security Service Levels [bit mask]. More...
 
#define BTM_SEC_LINK_STATE
 security flags for current BR/EDR link
 
#define BTM_PIN_TYPE_VARIABLE   HCI_PIN_TYPE_VARIABLE
 PIN types.
 
#define BTM_PIN_TYPE_FIXED   HCI_PIN_TYPE_FIXED
 
#define BTM_SECURITY_KEY_DATA_LEN   132
 Size of security keys. More...
 
#define BTM_SECURITY_LOCAL_KEY_DATA_LEN   65
 Local security key data length (used by wiced_bt_local_identity_keys_t structure)
 
#define BTM_BLE_AUTH_REQ_TYPES
 LE Authentication requirement.
 
#define BTM_OOB_STATE
 OOB Data status.
 
#define BTM_LE_KEY_TYPES
 LE Key type.
 
#define BTM_BLE_SCAN_TYPE
 Scan duty cycle (used for BTM_BLE_SCAN_STATE_CHANGED_EVT and wiced_bt_dev_create_connection)
 
#define BTM_OOB_REQ_TYPE
 Type of OOB data required.
 
#define SMP_ERROR_CODES
 SMP Pairing status codes.
 
#define BTM_LINK_TYPE_SCO   HCI_LINK_TYPE_SCO
 SCO link type. More...
 
#define BTM_LINK_TYPE_ESCO   HCI_LINK_TYPE_ESCO
 Link type eSCO.
 
#define BTM_AFH_CHNL_MAP_SIZE   HCI_AFH_CHANNEL_MAP_LEN
 
#define BTM_MANAGEMENT_EVT
 
#define BTM_BLE_ADVERT_MODE
 advertisement type (used when calling wiced_bt_start_advertisements)
 
#define BTM_BLE_CONN_MODE
 scan mode used in initiating
 
#define wiced_bt_dev_set_link_supervision_timeout   BTM_SetLinkSuperTout
 
#define wiced_bt_set_device_class   BTM_SetDeviceClass
 

Typedefs

typedef wiced_result_t wiced_bt_dev_status_t
 Result/Status for wiced_bt_dev. More...
 
typedef uint8_t wiced_bt_dev_io_cap_t
 IO capabilities (see wiced_bt_dev_io_cap_e)
 
typedef uint8_t wiced_bt_dev_auth_req_t
 BR/EDR authentication requirement (see wiced_bt_dev_auth_req_e)
 
typedef uint8_t wiced_bt_dev_le_auth_req_t
 LE authentication requirement (see wiced_bt_dev_le_auth_req_e)
 
typedef uint8_t wiced_bt_dev_oob_data_t
 OOB data (see wiced_bt_dev_oob_data_e)
 
typedef uint8_t wiced_bt_dev_passkey_entry_type_t
 Bluetooth pairing keypress value (see wiced_bt_dev_passkey_entry_type_e)
 
typedef uint8_t wiced_bt_dev_le_key_type_t
 LE key type (see wiced_bt_dev_le_key_type_e)
 
typedef uint8_t wiced_bt_ble_scan_type_t
 scan type (see wiced_bt_ble_scan_type_e)
 
typedef UINT8 wiced_bt_dev_oob_data_req_type_t
 OOB data type requested (see wiced_bt_dev_oob_data_req_type_t)
 
typedef uint8_t wiced_bt_smp_status_t
 SMP Pairing status (see wiced_bt_smp_status_e)
 
typedef uint8_t wiced_bt_sco_type_t
 
typedef uint8_t wiced_bt_dev_power_mgmt_status_t
 Power management status (see wiced_bt_dev_power_mgmt_status_e)
 
typedef uint8_t wiced_bt_br_chnl_map_t [BTM_AFH_CHNL_MAP_SIZE]
 
typedef uint8_t wiced_bt_management_evt_t
 Bluetooth management events (see wiced_bt_management_evt_e)
 
struct {
   BT_OCTET16   irk
 peer diverified identity root
 
   BT_OCTET16   pltk
 peer long term key
 
   BT_OCTET16   pcsrk
 peer SRK peer device used to secured sign local data
 
   BT_OCTET16   lltk
 local long term key
 
   BT_OCTET16   lcsrk
 local SRK peer device used to secured sign local data
 
   BT_OCTET8   rand
 random vector for LTK generation
 
   UINT16   ediv
 LTK diversifier of this peripheral device.
 
   UINT16   div
 local DIV to generate local LTK=d1(ER,DIV,0) and CSRK=d1(ER,DIV,1)
 
   uint8_t   sec_level
 local pairing security level
 
   uint8_t   key_size
 key size of the LTK delivered to peer device
 
   uint8_t   srk_sec_level
 security property of peer SRK for this device
 
   uint8_t   local_csrk_sec_level
 security property of local CSRK for this device
 
   UINT32   counter
 peer sign counter for verifying rcv signed cmd
 
   UINT32   local_counter
 local sign counter for sending signed write cmd
 
wiced_bt_ble_keys_t
 
struct {
   uint8_t   br_edr_key_type
 BR/EDR Link Key type.
 
   wiced_bt_link_key_t   br_edr_key
 BR/EDR Link Key.
 
   wiced_bt_dev_le_key_type_t   le_keys_available_mask
 Mask of available LE keys.
 
   wiced_bt_ble_address_type_t   ble_addr_type
 LE device type: public or random address.
 
   wiced_bt_ble_address_type_t   static_addr_type
 static address type
 
   wiced_bt_device_address_t   static_addr
 static address
 
   wiced_bt_ble_keys_t   le_keys
 LE keys.
 
wiced_bt_device_sec_keys_t
 
struct {
   wiced_bt_device_address_t   bd_addr
 [in] BD Address of remote
 
   wiced_bt_device_sec_keys_t   key_data
 [in/out] Key data
 
wiced_bt_device_link_keys_t
 Paired device link key notification (used by BTM_PAIRED_DEVICE_LINK_KEYS_UPDATE_EVT notication)
 
union {
   uint16_t   array [10]
 
   struct {
      uint16_t   null_count
 No.of NULL packets received/transmitted.
 
      uint16_t   pool_count
 No.of POLL packets received/transmitted.
 
      uint16_t   dm1_count
 No.of DM1 packets received/transmitted.
 
      uint16_t   dh1_count
 No.of DH1 packets received/transmitted.
 
      uint16_t   dv_count
 No.of DV packets received/transmitted.
 
      uint16_t   aux1_count
 No.of AUX1 packets received/transmitted.
 
      uint16_t   dm3_count
 No.of DM3 packets received/transmitted.
 
      uint16_t   dh3_count
 No.of DH3 packets received/transmitted.
 
      uint16_t   dm5_count
 No.of DM5 packets received/transmitted.
 
      uint16_t   dh5_count
 No.of DH5 packets received/transmitted.
 
   }   br_packet_types
 
   struct {
      uint16_t   null_count
 No.of NULL packets received/transmitted.
 
      uint16_t   pool_count
 No.of POLL packets received/transmitted.
 
      uint16_t   dm1_count
 No.of DM1 packets received/transmitted.
 
      uint16_t   _2_dh1_count
 No.of 2DH1 packets received/transmitted.
 
      uint16_t   _3_dh1_count
 No.of 3DH1 packets received/transmitted.
 
      uint16_t   _2_dh3_count
 No.of 2DH3 packets received/transmitted.
 
      uint16_t   _3_dh3_count
 No.of 3DH3 packets received/transmitted.
 
      uint16_t   _2_dh5_count
 No.of 2DH5 packets received/transmitted.
 
      uint16_t   _3_dh5_count
 No.of 3DH5 packets received/transmitted.
 
      uint16_t   not_used
 Not Used.
 
   }   edr_packet_types
 
wiced_bt_br_edr_pkt_type_stats
 BR/EDR packet types detail statistics.
 
struct {
   wiced_bt_br_edr_pkt_type_stats   rxPkts
 Received packets details.
 
   wiced_bt_br_edr_pkt_type_stats   txPkts
 Transmitted packets details.
 
   uint32_t   rxAclBytes
 Total Received ACL bytes.
 
   uint32_t   txAclBytes
 Total Transmitted ACL bytes.
 
   uint16_t   hecErrs
 hecErrs packet count
 
   uint16_t   crcErrs
 crcErrs packet count
 
   uint16_t   seqnRepeat
 seqnRepeat packet count
 
wiced_bt_lq_br_edr_stats
 BR/EDR link statistics.
 
struct {
   uint32_t   tx_pkt_cnt
 transmit packet count
 
   uint32_t   tx_acked_cnt
 transmit packet acknowledged count
 
   uint32_t   rx_good_pkt_cnt
 received good packet count
 
   uint32_t   rx_good_bytes
 received good byte count
 
   uint32_t   rx_all_pkt_sync_to
 all received packet sync timeout count
 
   uint32_t   rx_all_pkt_crc_err
 all received packet crc error count
 
wiced_bt_lq_le_stats
 LE link statistics.
 
struct {
   uint8_t   status
 event status
 
   uint16_t   conn_handle
 connection handle of link quality stats
 
   uint8_t   action
 see wiced_bt_dev_link_quality_stats_param for options
 
   union {
      wiced_bt_lq_br_edr_stats   br_edr_stats
 br edr statistics
 
      wiced_bt_lq_le_stats   le_stats
 le statistics
 
   }   wiced_bt_lq_stats
 
wiced_bt_lq_stats_result_t
 LQ Quality Result (in response to wiced_bt_dev_lq_stats)
 
typedef uint8_t wiced_bt_link_quality_stats_param_t
 Link Quality Statistic Action (see wiced_bt_dev_link_quality_stats_param_e)
 
typedef uint8_t wiced_bt_ble_advert_mode_t
 Advertisement type (see wiced_bt_ble_advert_mode_e)
 
typedef uint8_t wiced_bt_ble_conn_mode_t
 Conn mode (see wiced_bt_ble_conn_mode_e)
 
typedef wiced_result_twiced_bt_management_cback_t )(wiced_bt_management_evt_t event, wiced_bt_management_evt_data_t *p_event_data)
 Bluetooth Management callback. More...
 
typedef void( wiced_bt_connection_status_change_cback_t )(wiced_bt_device_address_t bd_addr, uint8_t *p_features, wiced_bool_t is_connected, uint16_t handle, wiced_bt_transport_t transport, uint8_t reason)
 Connection status change callback. More...
 
typedef void( wiced_bt_inquiry_result_cback_t )(wiced_bt_dev_inquiry_scan_result_t *p_inquiry_result, uint8_t *p_eir_data)
 Inquiry result callback. More...
 
typedef void( wiced_bt_dev_cmpl_cback_t )(void *p_data)
 Asynchronous operation complete callback. More...
 
typedef void( wiced_bt_dev_vendor_specific_command_complete_cback_t )(wiced_bt_dev_vendor_specific_command_complete_params_t *p_command_complete_params)
 Vendor specific command complete. More...
 
typedef void( wiced_bt_remote_name_cback_t )(wiced_bt_dev_remote_name_result_t *p_remote_name_result)
 Remote name result callback. More...
 
typedef void( wiced_bt_dev_vse_callback_t )(uint8_t len, uint8_t *p)
 Vendor event handler callback. More...
 
typedef void( wiced_bt_read_power_table_value_cback_t )(wiced_bt_power_table_params_t *p_power_table_params)
 Read power table value callback. More...
 
typedef void( wiced_bt_hci_trace_cback_t )(wiced_bt_hci_trace_type_t type, uint16_t length, uint8_t *p_data)
 HCI trace callback. More...
 

Enumerations

enum  wiced_bt_discoverability_mode_e { BTM_NON_DISCOVERABLE = 0, BTM_LIMITED_DISCOVERABLE = 1, BTM_GENERAL_DISCOVERABLE = 2 }
 
enum  wiced_bt_connectability_mode_e { BTM_NON_CONNECTABLE = 0, BTM_CONNECTABLE = 1 }
 
enum  wiced_bt_inquiry_mode_e { BTM_INQUIRY_NONE = 0, BTM_GENERAL_INQUIRY = 0x01, BTM_LIMITED_INQUIRY = 0x02, BTM_BR_INQUIRY_MASK = (BTM_GENERAL_INQUIRY | BTM_LIMITED_INQUIRY) }
 
enum  wiced_bt_dev_filter_cond_e { BTM_CLR_INQUIRY_FILTER = 0, BTM_FILTER_COND_DEVICE_CLASS = HCI_FILTER_COND_DEVICE_CLASS, BTM_FILTER_COND_BD_ADDR = HCI_FILTER_COND_BD_ADDR }
 
enum  {
  BTM_EIR_UUID_SERVCLASS_SERVICE_DISCOVERY_SERVER, BTM_EIR_UUID_SERVCLASS_SERIAL_PORT, BTM_EIR_UUID_SERVCLASS_LAN_ACCESS_USING_PPP, BTM_EIR_UUID_SERVCLASS_DIALUP_NETWORKING,
  BTM_EIR_UUID_SERVCLASS_IRMC_SYNC, BTM_EIR_UUID_SERVCLASS_OBEX_OBJECT_PUSH, BTM_EIR_UUID_SERVCLASS_OBEX_FILE_TRANSFER, BTM_EIR_UUID_SERVCLASS_IRMC_SYNC_COMMAND,
  BTM_EIR_UUID_SERVCLASS_HEADSET, BTM_EIR_UUID_SERVCLASS_CORDLESS_TELEPHONY, BTM_EIR_UUID_SERVCLASS_AUDIO_SOURCE, BTM_EIR_UUID_SERVCLASS_AUDIO_SINK,
  BTM_EIR_UUID_SERVCLASS_AV_REM_CTRL_TARGET, BTM_EIR_UUID_SERVCLASS_AV_REMOTE_CONTROL, BTM_EIR_UUID_SERVCLASS_INTERCOM, BTM_EIR_UUID_SERVCLASS_FAX,
  BTM_EIR_UUID_SERVCLASS_HEADSET_AUDIO_GATEWAY, BTM_EIR_UUID_SERVCLASS_PANU, BTM_EIR_UUID_SERVCLASS_NAP, BTM_EIR_UUID_SERVCLASS_GN,
  BTM_EIR_UUID_SERVCLASS_DIRECT_PRINTING, BTM_EIR_UUID_SERVCLASS_IMAGING, BTM_EIR_UUID_SERVCLASS_IMAGING_RESPONDER, BTM_EIR_UUID_SERVCLASS_IMAGING_AUTO_ARCHIVE,
  BTM_EIR_UUID_SERVCLASS_IMAGING_REF_OBJECTS, BTM_EIR_UUID_SERVCLASS_HF_HANDSFREE, BTM_EIR_UUID_SERVCLASS_AG_HANDSFREE, BTM_EIR_UUID_SERVCLASS_DIR_PRT_REF_OBJ_SERVICE,
  BTM_EIR_UUID_SERVCLASS_BASIC_PRINTING, BTM_EIR_UUID_SERVCLASS_PRINTING_STATUS, BTM_EIR_UUID_SERVCLASS_HUMAN_INTERFACE, BTM_EIR_UUID_SERVCLASS_CABLE_REPLACEMENT,
  BTM_EIR_UUID_SERVCLASS_HCRP_PRINT, BTM_EIR_UUID_SERVCLASS_HCRP_SCAN, BTM_EIR_UUID_SERVCLASS_SAP, BTM_EIR_UUID_SERVCLASS_PBAP_PCE,
  BTM_EIR_UUID_SERVCLASS_PBAP_PSE, BTM_EIR_UUID_SERVCLASS_PHONE_ACCESS, BTM_EIR_UUID_SERVCLASS_HEADSET_HS, BTM_EIR_UUID_SERVCLASS_PNP_INFORMATION,
  BTM_EIR_UUID_SERVCLASS_VIDEO_SOURCE, BTM_EIR_UUID_SERVCLASS_VIDEO_SINK, BTM_EIR_UUID_SERVCLASS_MESSAGE_ACCESS, BTM_EIR_UUID_SERVCLASS_MESSAGE_NOTIFICATION,
  BTM_EIR_UUID_SERVCLASS_HDP_SOURCE, BTM_EIR_UUID_SERVCLASS_HDP_SINK, BTM_EIR_MAX_SERVICES
}
 
enum  wiced_bt_tx_power_table_offset_mode_t {
  POWER_LEVELS_MODE_BR, POWER_LEVELS_MODE_EDR, POWER_LEVELS_MODE_LE, POWER_LEVELS_MODE_LE2,
  POWER_LEVELS_MODE_MAX
}
 
enum  wiced_bt_sec_level_e {
  BTM_SEC_NONE = 0x0000, BTM_SEC_IN_AUTHENTICATE = 0x0002, BTM_SEC_OUT_AUTHENTICATE = 0x0010, BTM_SEC_ENCRYPT = 0x0024,
  BTM_SEC_SECURE_CONNECTION = 0x0040
}
 
enum  wiced_bt_sec_flags_e { BTM_SEC_LINK_ENCRYPTED = 0x01, BTM_SEC_LINK_PAIRED_WITHOUT_MITM = 0x02, BTM_SEC_LINK_PAIRED_WITH_MITM = 0x04 }
 
enum  wiced_bt_dev_io_cap_e {
  BTM_IO_CAPABILITIES_DISPLAY_ONLY, BTM_IO_CAPABILITIES_DISPLAY_AND_YES_NO_INPUT, BTM_IO_CAPABILITIES_KEYBOARD_ONLY, BTM_IO_CAPABILITIES_NONE,
  BTM_IO_CAPABILITIES_BLE_DISPLAY_AND_KEYBOARD_INPUT, BTM_IO_CAPABILITIES_MAX
}
 Pairing IO Capabilities. More...
 
enum  wiced_bt_dev_auth_req_e {
  BTM_AUTH_SINGLE_PROFILE_NO = 0, BTM_AUTH_SINGLE_PROFILE_YES = 1, BTM_AUTH_ALL_PROFILES_NO = 2, BTM_AUTH_ALL_PROFILES_YES = 3,
  BTM_AUTH_SINGLE_PROFILE_GENERAL_BONDING_NO = 4, BTM_AUTH_SINGLE_PROFILE_GENERAL_BONDING_YES = 5
}
 BR/EDR Authentication requirement. More...
 
enum  wiced_bt_dev_le_auth_req_e {
  BTM_LE_AUTH_REQ_NO_BOND = 0x00, BTM_LE_AUTH_REQ_BOND = 0x01, BTM_LE_AUTH_REQ_MITM = 0x04, BTM_LE_AUTH_REQ_SC_ONLY = 0x08,
  BTM_LE_AUTH_REQ_SC_BOND = (BTM_LE_AUTH_REQ_SC_ONLY|BTM_LE_AUTH_REQ_BOND), BTM_LE_AUTH_REQ_SC_MITM = (BTM_LE_AUTH_REQ_SC_ONLY|BTM_LE_AUTH_REQ_MITM), BTM_LE_AUTH_REQ_SC_MITM_BOND = (BTM_LE_AUTH_REQ_SC_ONLY|BTM_LE_AUTH_REQ_MITM|BTM_LE_AUTH_REQ_BOND), BTM_LE_AUTH_REQ_MASK = 0x1D
}
 
enum  wiced_bt_dev_oob_data_e {
  BTM_OOB_NONE, BTM_OOB_PRESENT_192, BTM_OOB_PRESENT_256, BTM_OOB_PRESENT_192_256,
  BTM_OOB_UNKNOWN
}
 
enum  wiced_bt_dev_passkey_entry_type_e {
  BTM_PASSKEY_ENTRY_STARTED, BTM_PASSKEY_DIGIT_ENTERED, BTM_PASSKEY_DIGIT_ERASED, BTM_PASSKEY_DIGIT_CLEARED,
  BTM_PASSKEY_ENTRY_COMPLETED
}
 Pairing keypress types. More...
 
enum  wiced_bt_dev_le_key_type_e {
  BTM_LE_KEY_PENC = (1 << 0), BTM_LE_KEY_PID = (1 << 1), BTM_LE_KEY_PCSRK = (1 << 2), BTM_LE_KEY_PLK = (1 << 3),
  BTM_LE_KEY_LENC = (1 << 4), BTM_LE_KEY_LID = (1 << 5), BTM_LE_KEY_LCSRK = (1 << 6), BTM_LE_KEY_LLK = (1 << 7)
}
 
enum  wiced_bt_ble_scan_type_e { BTM_BLE_SCAN_TYPE_NONE, BTM_BLE_SCAN_TYPE_HIGH_DUTY, BTM_BLE_SCAN_TYPE_LOW_DUTY }
 
enum  wiced_bt_dev_oob_data_req_type_e { BTM_OOB_INVALID_TYPE, BTM_OOB_PEER, BTM_OOB_LOCAL, BTM_OOB_BOTH }
 
enum  wiced_bt_smp_status_e {
  SMP_SUCCESS = 0, SMP_PASSKEY_ENTRY_FAIL = 0x01, SMP_OOB_FAIL = 0x02, SMP_PAIR_AUTH_FAIL = 0x03,
  SMP_CONFIRM_VALUE_ERR = 0x04, SMP_PAIR_NOT_SUPPORT = 0x05, SMP_ENC_KEY_SIZE = 0x06, SMP_INVALID_CMD = 0x07,
  SMP_PAIR_FAIL_UNKNOWN = 0x08, SMP_REPEATED_ATTEMPTS = 0x09, SMP_INVALID_PARAMETERS = 0x0A, SMP_DHKEY_CHK_FAIL = 0x0B,
  SMP_NUMERIC_COMPAR_FAIL = 0x0C, SMP_BR_PAIRING_IN_PROGR = 0x0D, SMP_XTRANS_DERIVE_NOT_ALLOW = 0x0E, SMP_MAX_FAIL_RSN_PER_SPEC = SMP_XTRANS_DERIVE_NOT_ALLOW,
  SMP_PAIR_INTERNAL_ERR = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x01), SMP_UNKNOWN_IO_CAP = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x02), SMP_INIT_FAIL = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x03), SMP_CONFIRM_FAIL = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x04),
  SMP_BUSY = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x05), SMP_ENC_FAIL = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x06), SMP_STARTED = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x07), SMP_RSP_TIMEOUT = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x08),
  SMP_FAIL = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x09), SMP_CONN_TOUT = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x0A)
}
 
enum  wiced_bt_dev_power_mgmt_status_e {
  WICED_POWER_STATE_ACTIVE = HCI_MODE_ACTIVE, WICED_POWER_STATE_SNIFF = HCI_MODE_SNIFF, WICED_POWER_STATE_SSR = WICED_POWER_STATE_SNIFF + 2, WICED_POWER_STATE_PENDING,
  WICED_POWER_STATE_ERROR
}
 Power Management status codes. More...
 
enum  wiced_bt_management_evt_e {
  BTM_ENABLED_EVT, BTM_DISABLED_EVT, BTM_POWER_MANAGEMENT_STATUS_EVT, BTM_PIN_REQUEST_EVT,
  BTM_USER_CONFIRMATION_REQUEST_EVT, BTM_PASSKEY_NOTIFICATION_EVT, BTM_PASSKEY_REQUEST_EVT, BTM_KEYPRESS_NOTIFICATION_EVT,
  BTM_PAIRING_IO_CAPABILITIES_BR_EDR_REQUEST_EVT, BTM_PAIRING_IO_CAPABILITIES_BR_EDR_RESPONSE_EVT, BTM_PAIRING_IO_CAPABILITIES_BLE_REQUEST_EVT, BTM_PAIRING_COMPLETE_EVT,
  BTM_ENCRYPTION_STATUS_EVT, BTM_SECURITY_REQUEST_EVT, BTM_SECURITY_FAILED_EVT, BTM_SECURITY_ABORTED_EVT,
  BTM_READ_LOCAL_OOB_DATA_COMPLETE_EVT, BTM_REMOTE_OOB_DATA_REQUEST_EVT, BTM_PAIRED_DEVICE_LINK_KEYS_UPDATE_EVT, BTM_PAIRED_DEVICE_LINK_KEYS_REQUEST_EVT,
  BTM_LOCAL_IDENTITY_KEYS_UPDATE_EVT, BTM_LOCAL_IDENTITY_KEYS_REQUEST_EVT, BTM_BLE_SCAN_STATE_CHANGED_EVT, BTM_BLE_ADVERT_STATE_CHANGED_EVT,
  BTM_SMP_REMOTE_OOB_DATA_REQUEST_EVT, BTM_SMP_SC_REMOTE_OOB_DATA_REQUEST_EVT, BTM_SMP_SC_LOCAL_OOB_DATA_NOTIFICATION_EVT, BTM_SCO_CONNECTED_EVT,
  BTM_SCO_DISCONNECTED_EVT, BTM_SCO_CONNECTION_REQUEST_EVT, BTM_SCO_CONNECTION_CHANGE_EVT, BTM_BLE_CONNECTION_PARAM_UPDATE,
  BTM_BLE_PHY_UPDATE_EVT, BTM_LPM_STATE_LOW_POWER, BTM_BLE_REMOTE_CONNECTION_PARAM_REQ_EVT
}
 Bluetooth Management events. More...
 
enum  wiced_bt_dev_link_quality_stats_param_e { WICED_CLEAR_LINK_QUALITY_STATS = 0, WICED_READ_LINK_QUALITY_STATS = 1, WICED_READ_THEN_CLEAR_LINK_QUALITY_STATS = 2 }
 Link Quality statistics action type. More...
 
enum  wiced_bt_ble_advert_mode_e {
  BTM_BLE_ADVERT_OFF, BTM_BLE_ADVERT_DIRECTED_HIGH, BTM_BLE_ADVERT_DIRECTED_LOW, BTM_BLE_ADVERT_UNDIRECTED_HIGH,
  BTM_BLE_ADVERT_UNDIRECTED_LOW, BTM_BLE_ADVERT_NONCONN_HIGH, BTM_BLE_ADVERT_NONCONN_LOW, BTM_BLE_ADVERT_DISCOVERABLE_HIGH,
  BTM_BLE_ADVERT_DISCOVERABLE_LOW
}
 
enum  wiced_bt_ble_conn_mode_e { BLE_CONN_MODE_OFF, BLE_CONN_MODE_LOW_DUTY, BLE_CONN_MODE_HIGH_DUTY }
 
enum  wiced_bt_hci_trace_type_t { HCI_TRACE_EVENT, HCI_TRACE_COMMAND, HCI_TRACE_INCOMING_ACL_DATA, HCI_TRACE_OUTGOING_ACL_DATA }
 HCI trace types. More...
 

Functions

wiced_result_t wiced_bt_start_inquiry (wiced_bt_dev_inq_parms_t *p_inqparms, wiced_bt_inquiry_result_cback_t *p_inquiry_result_cback)
 Function wiced_bt_start_inquiry. More...
 
wiced_result_t wiced_bt_cancel_inquiry (void)
 Function wiced_bt_cancel_inquiry. More...
 
void wiced_bt_dev_read_local_addr (wiced_bt_device_address_t bd_addr)
 Function wiced_bt_dev_read_local_addr. More...
 
wiced_result_t wiced_bt_dev_set_advanced_connection_params (wiced_bt_dev_inquiry_scan_result_t *p_inquiry_scan_result)
 Function wiced_bt_dev_set_advanced_connection_params. More...
 
wiced_result_t wiced_bt_dev_vendor_specific_command (uint16_t opcode, uint8_t param_len, uint8_t *p_param_buf, wiced_bt_dev_vendor_specific_command_complete_cback_t *p_cback)
 Function wiced_bt_dev_vendor_specific_command. More...
 
wiced_result_t wiced_bt_dev_set_discoverability (uint8_t inq_mode, uint16_t duration, uint16_t interval)
 Function wiced_bt_dev_set_discoverability. More...
 
wiced_result_t wiced_bt_dev_set_connectability (uint8_t page_mode, uint16_t window, uint16_t interval)
 Function wiced_bt_dev_set_connectability. More...
 
wiced_result_t wiced_bt_dev_register_connection_status_change (wiced_bt_connection_status_change_cback_t *p_wiced_bt_connection_status_change_cback)
 Function wiced_bt_dev_register_connection_status_change. More...
 
wiced_result_t wiced_bt_dev_set_sniff_mode (wiced_bt_device_address_t remote_bda, uint16_t min_period, uint16_t max_period, uint16_t attempt, uint16_t timeout)
 Function wiced_bt_dev_set_sniff_mode. More...
 
wiced_result_t wiced_bt_dev_cancel_sniff_mode (wiced_bt_device_address_t remote_bda)
 Function wiced_bt_dev_cancel_sniff_mode. More...
 
wiced_result_t wiced_bt_dev_set_sniff_subrating (wiced_bt_device_address_t remote_bda, uint16_t max_latency, uint16_t min_remote_timeout, uint16_t min_local_timeout)
 Function wiced_bt_dev_set_sniff_subrating. More...
 
wiced_result_t wiced_bt_dev_read_rssi (wiced_bt_device_address_t remote_bda, wiced_bt_transport_t transport, wiced_bt_dev_cmpl_cback_t *p_cback)
 Function wiced_bt_dev_read_rssi. More...
 
wiced_result_t wiced_bt_dev_read_tx_power (wiced_bt_device_address_t remote_bda, wiced_bt_transport_t transport, wiced_bt_dev_cmpl_cback_t *p_cback)
 Function wiced_bt_dev_read_tx_power. More...
 
wiced_result_t wiced_bt_dev_write_eir (uint8_t *p_buff, uint16_t len)
 Function wiced_bt_dev_write_eir. More...
 
void wiced_bt_dev_configure_secure_connections_only_mode (void)
 Function wiced_bt_dev_configure_secure_connections_only_mode. More...
 
void wiced_bt_dev_pin_code_reply (wiced_bt_device_address_t bd_addr, wiced_result_t res, uint8_t pin_len, uint8_t *p_pin)
 Function wiced_bt_dev_pin_code_reply. More...
 
wiced_result_t wiced_bt_dev_sec_bond (wiced_bt_device_address_t bd_addr, wiced_bt_ble_address_type_t bd_addr_type, wiced_bt_transport_t transport, uint8_t pin_len, uint8_t *p_pin)
 Function wiced_bt_dev_sec_bond. More...
 
wiced_result_t wiced_bt_dev_sec_bond_cancel (wiced_bt_device_address_t bd_addr)
 Function wiced_bt_dev_sec_bond_cancel. More...
 
wiced_result_t wiced_bt_dev_set_encryption (wiced_bt_device_address_t bd_addr, wiced_bt_transport_t transport, void *p_ref_data)
 Function wiced_bt_dev_set_encryption. More...
 
void wiced_bt_dev_confirm_req_reply (wiced_result_t res, wiced_bt_device_address_t bd_addr)
 Function wiced_bt_dev_confirm_req_reply. More...
 
void wiced_bt_dev_pass_key_req_reply (wiced_result_t res, wiced_bt_device_address_t bd_addr, uint32_t passkey)
 Function wiced_bt_dev_pass_key_req_reply. More...
 
void wiced_bt_dev_send_key_press_notif (wiced_bt_device_address_t bd_addr, wiced_bt_dev_passkey_entry_type_t type)
 Function wiced_bt_dev_send_key_press_notif. More...
 
wiced_result_t wiced_bt_dev_read_local_oob_data (void)
 Function wiced_bt_dev_read_local_oob_data. More...
 
void wiced_bt_dev_remote_oob_data_reply (wiced_result_t res, wiced_bt_device_address_t bd_addr, wiced_bool_t is_extended_oob_data, BT_OCTET16 c_192, BT_OCTET16 r_192, BT_OCTET16 c_256, BT_OCTET16 r_256)
 Function wiced_bt_dev_remote_oob_data_reply. More...
 
uint16_t wiced_bt_dev_build_oob_data (uint8_t *p_data, uint16_t max_len, wiced_bool_t is_extended_oob_data, BT_OCTET16 c_192, BT_OCTET16 r_192, BT_OCTET16 c_256, BT_OCTET16 r_256)
 
void wiced_bt_smp_oob_data_reply (wiced_bt_device_address_t bd_addr, wiced_result_t res, uint8_t len, uint8_t *p_data)
 
wiced_bool_t wiced_bt_smp_create_local_sc_oob_data (wiced_bt_device_address_t bd_addr, wiced_bt_ble_address_type_t bd_addr_type)
 Function wiced_bt_smp_create_local_sc_oob_data. More...
 
void wiced_bt_smp_sc_oob_reply (wiced_bt_smp_sc_oob_data_t *p_oob_data)
 Function wiced_bt_smp_sc_oob_reply. More...
 
uint8_t * wiced_bt_dev_read_oob_data (uint8_t *p_data, uint8_t eir_tag, uint8_t *p_len)
 Function wiced_bt_dev_read_oob_data. More...
 
void wiced_bt_dev_register_hci_trace (wiced_bt_hci_trace_cback_t *p_cback)
 Function wiced_bt_dev_register_hci_trace. More...
 
wiced_result_t wiced_bt_dev_get_bonded_devices (wiced_bt_dev_bonded_device_info_t *p_paired_device_list, uint16_t *p_num_devices)
 Function wiced_bt_dev_get_bonded_devices. More...
 
wiced_result_t wiced_bt_dev_delete_bonded_device (wiced_bt_device_address_t bd_addr)
 Function wiced_bt_dev_delete_bonded_device. More...
 
void wiced_bt_set_local_bdaddr (wiced_bt_device_address_t bda, wiced_bt_ble_address_type_t addr_type)
 Function wiced_bt_set_local_bdaddr. More...
 
wiced_result_t wiced_bt_dev_get_role (wiced_bt_device_address_t remote_bd_addr, UINT8 *p_role, wiced_bt_transport_t transport)
 Function wiced_bt_dev_get_role. More...
 
wiced_result_t wiced_bt_dev_switch_role (wiced_bt_device_address_t remote_bd_addr, UINT8 new_role, wiced_bt_dev_cmpl_cback_t *p_cback)
 Function wiced_bt_dev_switch_role. More...
 
wiced_result_t BTM_SetLinkSuperTout (wiced_bt_device_address_t remote_bd_addr, uint16_t timeout)
 Function wiced_bt_dev_set_link_supervision_timeout. More...
 
wiced_bool_t wiced_bt_dev_get_security_state (wiced_bt_device_address_t bd_addr, uint8_t *p_sec_flags)
 Function wiced_bt_dev_get_security_state. More...
 
wiced_bool_t wiced_bt_get_identity_address (wiced_bt_device_address_t bd_addr, wiced_bt_device_address_t identity_address)
 Function wiced_bt_get_identity_address. More...
 
wiced_result_t wiced_bt_set_tx_power (wiced_bt_device_address_t bd_addr, INT8 power, wiced_bt_dev_vendor_specific_command_complete_cback_t *p_cb)
 Function wiced_bt_set_tx_power. More...
 
wiced_result_t wiced_bt_dev_set_tx_power_table (wiced_bt_tx_power_table_offset_mode_t mode, uint8_t *p_values)
 Function wiced_bt_dev_set_tx_power_table. More...
 
void wiced_bt_read_power_table_values (uint8_t index, wiced_bt_read_power_table_value_cback_t *f)
 Function wiced_bt_read_power_table_values. More...
 
wiced_result_t wiced_bt_dev_set_tx_power_table_offset (wiced_bt_tx_power_table_offset_mode_t mode, uint8_t ticks)
 Function wiced_bt_dev_set_tx_power_table_offset. More...
 
wiced_bool_t wiced_bt_connect (wiced_bt_device_address_t remote_bd_addr)
 
wiced_bool_t wiced_bt_start_authentication (wiced_bt_device_address_t bdaddr, uint16_t hci_handle)
 
wiced_bool_t wiced_bt_start_encryption (wiced_bt_device_address_t bdaddr)
 
void wiced_bt_set_pairable_mode (uint8_t allow_pairing, uint8_t connect_only_paired)
 
wiced_bt_dev_status_t wiced_bt_dev_set_afh_channel_classification (const wiced_bt_br_chnl_map_t afh_channel_map)
 
void wiced_bt_dev_set_vse_callback_num (uint8_t num)
 Function wiced_bt_dev_set_vse_callback_num. More...
 
wiced_result_t wiced_bt_dev_register_vse_callback (wiced_bt_dev_vse_callback_t cb)
 Function wiced_bt_dev_register_vse_callback. More...
 
wiced_result_t wiced_bt_dev_deregister_vse_callback (wiced_bt_dev_vse_callback_t cb)
 Function wiced_bt_dev_deregister_vse_callback. More...
 
wiced_bt_dev_status_t wiced_bt_dev_link_quality_stats (BD_ADDR bda, wiced_bt_transport_t transport, uint8_t action, wiced_bt_dev_cmpl_cback_t *p_cback)
 Function wiced_bt_dev_link_quality_stats. More...
 
wiced_result_t wiced_bt_dev_get_remote_name (wiced_bt_device_address_t bd_addr, wiced_bt_remote_name_cback_t *p_remote_name_result_cback)
 Function wiced_bt_dev_get_remote_name. More...
 
wiced_result_t wiced_bt_coex_enable (uint32_t seci_baud_rate)
 Function wiced_bt_coex_enable. More...
 
void wiced_bt_coex_disable (void)
 Function wiced_bt_coex_disable. More...
 
wiced_result_t wiced_bt_dev_set_afh_channel_assessment (wiced_bool_t enable_or_disable)
 Function wiced_bt_dev_set_afh_channel_assessment. More...
 
wiced_result_t wiced_bt_dev_get_device_class (wiced_bt_device_address_t bdaddr, wiced_bt_dev_class_t *p_class_of_device)
 Function wiced_bt_dev_get_device_class. More...
 
void wiced_bt_dev_lrac_disable_secure_connection (void)
 
uint16_t wiced_bt_conn_handle_get (wiced_bt_device_address_t remote_bda, wiced_bt_transport_t transport)
 Function wiced_bt_conn_handle_get. More...
 
wiced_result_t wiced_bt_dev_set_link_policy (wiced_bt_device_address_t remote_bda, uint16_t *settings)
 Function wiced_bt_dev_set_link_policy. More...
 
wiced_result_t wiced_bt_set_device_class (wiced_bt_dev_class_t dev_class)
 Function wiced_bt_set_device_class. More...
 
wiced_result_t wiced_bt_dev_set_local_name (char *p_name)
 Function wiced_bt_dev_set_local_name. More...
 

Detailed Description

Bluetooth Management (BTM) Application Programming Interface.

The BTM consists of several management entities:

  1. Device Control - controls the local device
  2. Device Discovery - manages inquiries, discover database
  3. ACL Channels - manages ACL connections (BR/EDR and LE)
  4. SCO Channels - manages SCO connections
  5. Security - manages all security functionality
  6. Power Management - manages park, sniff, hold, etc.

Macro Definition Documentation

#define BTM_EIR_SERVICE_ARRAY_SIZE
Value:
(((uint32_t)BTM_EIR_MAX_SERVICES / BTM_EIR_ARRAY_BITS) + \
(((uint32_t)BTM_EIR_MAX_SERVICES % BTM_EIR_ARRAY_BITS) ? 1 : 0))
#define BTM_LINK_TYPE_SCO   HCI_LINK_TYPE_SCO

SCO link type.

Link type SCO

#define BTM_SEC_LEVEL

Security Service Levels [bit mask].

Encryption should not be used without authentication.

#define BTM_SECURITY_KEY_DATA_LEN   132

Size of security keys.

Security key data length (used by wiced_bt_device_link_keys_t structure)

Typedef Documentation

typedef void( wiced_bt_connection_status_change_cback_t)(wiced_bt_device_address_t bd_addr, uint8_t *p_features, wiced_bool_t is_connected, uint16_t handle, wiced_bt_transport_t transport, uint8_t reason)

Connection status change callback.

Callback for Bluetooth Management event notifications. Registered using wiced_bt_register_connection_status_change()

Parameters
[in]bd_addr: BD Address of remote
[in]p_features
[in]is_connected: TRUE if connected
[in]handle: Connection handle
[in]transport: BT_TRANSPORT_BR_EDR or BT_TRANSPORT_LE
[in]reason: status for acl connection change HCI_SUCCESS HCI_ERR_PAGE_TIMEOUT HCI_ERR_MEMORY_FULL HCI_ERR_CONNECTION_TOUT HCI_ERR_PEER_USER HCI_ERR_CONN_CAUSE_LOCAL_HOST HCI_ERR_LMP_RESPONSE_TIMEOUT HCI_ERR_CONN_FAILED_ESTABLISHMENT
Returns
voidconnection status change callback
typedef void( wiced_bt_dev_cmpl_cback_t)(void *p_data)

Asynchronous operation complete callback.

Parameters
p_data: Operation dependent data
Returns
Nothing

Result/Status for wiced_bt_dev.

Result/Status for wiced_bt_dev

typedef void( wiced_bt_dev_vendor_specific_command_complete_cback_t)(wiced_bt_dev_vendor_specific_command_complete_params_t *p_command_complete_params)

Vendor specific command complete.

Parameters
p_command_complete_params: Command complete parameters
Returns
Nothing
typedef void( wiced_bt_dev_vse_callback_t)(uint8_t len, uint8_t *p)

Vendor event handler callback.

Parameters
len: input data length
p: input data
typedef void( wiced_bt_hci_trace_cback_t)(wiced_bt_hci_trace_type_t type, uint16_t length, uint8_t *p_data)

HCI trace callback.

Callback for HCI traces Registered using wiced_bt_dev_register_hci_trace()

Parameters
[in]type: Trace type
[in]length: Length of the trace data
[in]p_data: Pointer to the data
Returns
void
typedef void( wiced_bt_inquiry_result_cback_t)(wiced_bt_dev_inquiry_scan_result_t *p_inquiry_result, uint8_t *p_eir_data)

Inquiry result callback.

Parameters
p_inquiry_result: Inquiry result data (NULL if inquiry is complete)
p_eir_data: Extended inquiry response data
Returns
Nothinginquiry result callback
typedef wiced_result_t( wiced_bt_management_cback_t)(wiced_bt_management_evt_t event, wiced_bt_management_evt_data_t *p_event_data)

Bluetooth Management callback.

Callback for Bluetooth Management event notifications. Registered using wiced_bt_stack_init()

Parameters
event: Event ID
p_event_data: Event data
Returns
Status of event handling
typedef void( wiced_bt_read_power_table_value_cback_t)(wiced_bt_power_table_params_t *p_power_table_params)

Read power table value callback.

Parameters
p_power_table_params: power table value
typedef void( wiced_bt_remote_name_cback_t)(wiced_bt_dev_remote_name_result_t *p_remote_name_result)

Remote name result callback.

Parameters
p_remote_name_result: Remote name result data
Returns
Nothingremote name result callback

Enumeration Type Documentation

Enumerator
BTM_BLE_ADVERT_OFF 

Stop advertising.

BTM_BLE_ADVERT_DIRECTED_HIGH 

Directed advertisement (high duty cycle)

BTM_BLE_ADVERT_DIRECTED_LOW 

Directed advertisement (low duty cycle)

BTM_BLE_ADVERT_UNDIRECTED_HIGH 

Undirected advertisement (high duty cycle)

BTM_BLE_ADVERT_UNDIRECTED_LOW 

Undirected advertisement (low duty cycle)

BTM_BLE_ADVERT_NONCONN_HIGH 

Non-connectable advertisement (high duty cycle)

BTM_BLE_ADVERT_NONCONN_LOW 

Non-connectable advertisement (low duty cycle)

BTM_BLE_ADVERT_DISCOVERABLE_HIGH 

discoverable advertisement (high duty cycle)

BTM_BLE_ADVERT_DISCOVERABLE_LOW 

discoverable advertisement (low duty cycle)

Enumerator
BLE_CONN_MODE_OFF 

Stop initiating.

BLE_CONN_MODE_LOW_DUTY 

slow connection scan parameter

BLE_CONN_MODE_HIGH_DUTY 

fast connection scan parameter

Enumerator
BTM_BLE_SCAN_TYPE_NONE 

Stop scanning.

BTM_BLE_SCAN_TYPE_HIGH_DUTY 

High duty cycle scan.

BTM_BLE_SCAN_TYPE_LOW_DUTY 

Low duty cycle scan.

Enumerator
BTM_NON_CONNECTABLE 

Not connectable.

BTM_CONNECTABLE 

BR/EDR connectable.

BR/EDR Authentication requirement.

Enumerator
BTM_AUTH_SINGLE_PROFILE_NO 

MITM Protection Not Required - Single Profile/non-bonding.

Numeric comparison with automatic accept allowed

BTM_AUTH_SINGLE_PROFILE_YES 

MITM Protection Required - Single Profile/non-bonding.

Use IO Capabilities to determine authentication procedure

BTM_AUTH_ALL_PROFILES_NO 

MITM Protection Not Required - All Profiles/dedicated bonding.

Numeric comparison with automatic accept allowed

BTM_AUTH_ALL_PROFILES_YES 

MITM Protection Required - All Profiles/dedicated bonding.

Use IO Capabilities to determine authentication procedure

BTM_AUTH_SINGLE_PROFILE_GENERAL_BONDING_NO 

MITM Protection Not Required - Single Profiles/general bonding.

Numeric comparison with automatic accept allowed

BTM_AUTH_SINGLE_PROFILE_GENERAL_BONDING_YES 

MITM Protection Required - Single Profiles/general bonding.

Use IO Capabilities to determine authentication procedure

Enumerator
BTM_CLR_INQUIRY_FILTER 

No inquiry filter.

BTM_FILTER_COND_DEVICE_CLASS 

Filter on device class.

BTM_FILTER_COND_BD_ADDR 

Filter on device addr.

Pairing IO Capabilities.

Enumerator
BTM_IO_CAPABILITIES_DISPLAY_ONLY 

Display Only.

BTM_IO_CAPABILITIES_DISPLAY_AND_YES_NO_INPUT 

Display Yes/No.

BTM_IO_CAPABILITIES_KEYBOARD_ONLY 

Keyboard Only.

BTM_IO_CAPABILITIES_NONE 

No Input, No Output.

BTM_IO_CAPABILITIES_BLE_DISPLAY_AND_KEYBOARD_INPUT 

Keyboard display (For LE SMP)

Enumerator
BTM_LE_AUTH_REQ_NO_BOND 

Not required - No Bond.

BTM_LE_AUTH_REQ_BOND 

Required - General Bond.

BTM_LE_AUTH_REQ_MITM 

MITM required - Auth Y/N.

BTM_LE_AUTH_REQ_SC_ONLY 

LE Secure Connection, no MITM, no Bonding.

BTM_LE_AUTH_REQ_SC_BOND 

LE Secure Connection, no MITM, Bonding.

BTM_LE_AUTH_REQ_SC_MITM 

LE Secure Connection, MITM, no Bonding.

BTM_LE_AUTH_REQ_SC_MITM_BOND 

LE Secure Connection, MITM, Bonding.

Enumerator
BTM_LE_KEY_PENC 

encryption information of peer device

BTM_LE_KEY_PID 

identity key of the peer device

BTM_LE_KEY_PCSRK 

peer SRK

BTM_LE_KEY_LENC 

Central Role security information:div.

BTM_LE_KEY_LID 

Central device ID key.

BTM_LE_KEY_LCSRK 

local CSRK has been deliver to peer

Link Quality statistics action type.

Enumerator
WICED_CLEAR_LINK_QUALITY_STATS 

clear link quality stats

WICED_READ_LINK_QUALITY_STATS 

read link quality stats

WICED_READ_THEN_CLEAR_LINK_QUALITY_STATS 

read then clear link quality stats

Enumerator
BTM_OOB_NONE 

No OOB data.

BTM_OOB_PRESENT_192 

OOB data present (from the P-192 public key)

BTM_OOB_PRESENT_256 

OOB data present (from the P-256 public key)

BTM_OOB_PRESENT_192_256 

OOB data present (from the P-192 and P-256 public keys)

BTM_OOB_UNKNOWN 

OOB data unknown.

Enumerator
BTM_OOB_PEER 

Peer OOB data requested.

BTM_OOB_LOCAL 

Local OOB data requested.

BTM_OOB_BOTH 

Both local and peer OOB data requested.

Pairing keypress types.

Enumerator
BTM_PASSKEY_ENTRY_STARTED 

passkey entry started

BTM_PASSKEY_DIGIT_ENTERED 

passkey digit entered

BTM_PASSKEY_DIGIT_ERASED 

passkey digit erased

BTM_PASSKEY_DIGIT_CLEARED 

passkey cleared

BTM_PASSKEY_ENTRY_COMPLETED 

passkey entry completed

Power Management status codes.

Enumerator
WICED_POWER_STATE_ACTIVE 

Active.

WICED_POWER_STATE_SNIFF 

Sniff.

WICED_POWER_STATE_SSR 

Sniff subrating notification.

WICED_POWER_STATE_PENDING 

Pending (waiting for status from controller)

WICED_POWER_STATE_ERROR 

Error (controller returned error)

Enumerator
BTM_NON_DISCOVERABLE 

Non discoverable.

BTM_LIMITED_DISCOVERABLE 

Limited BR/EDR discoverable.

BTM_GENERAL_DISCOVERABLE 

General BR/EDR discoverable.

HCI trace types.

Enumerator
HCI_TRACE_EVENT 

HCI event data from controller to the host.

HCI_TRACE_COMMAND 

HCI command data from host to controller.

HCI_TRACE_INCOMING_ACL_DATA 

HCI incoming acl data.

HCI_TRACE_OUTGOING_ACL_DATA 

HCI outgoing acl data.

Enumerator
BTM_INQUIRY_NONE 

Stop inquiry.

BTM_GENERAL_INQUIRY 

General inquiry.

BTM_LIMITED_INQUIRY 

Limited inquiry.

Bluetooth Management events.

Enumerator
BTM_ENABLED_EVT 

Bluetooth controller and host stack enabled.

Event data: wiced_bt_dev_enabled_t

BTM_DISABLED_EVT 

Bluetooth controller and host stack disabled.

Event data: NULL

BTM_POWER_MANAGEMENT_STATUS_EVT 

Power management status change.

Event data: wiced_bt_power_mgmt_notification_t

BTM_PIN_REQUEST_EVT 

PIN request (used only with legacy devices).

Event data: wiced_bt_dev_name_and_class_t

BTM_USER_CONFIRMATION_REQUEST_EVT 

received USER_CONFIRMATION_REQUEST event (respond using wiced_bt_dev_confirm_req_reply).

Event data: wiced_bt_dev_user_cfm_req_t

BTM_PASSKEY_NOTIFICATION_EVT 

received USER_PASSKEY_NOTIFY event.

Event data: wiced_bt_dev_user_key_notif_t

BTM_PASSKEY_REQUEST_EVT 

received USER_PASSKEY_REQUEST event (respond using wiced_bt_dev_pass_key_req_reply).

Event data: wiced_bt_dev_user_key_req_t

BTM_KEYPRESS_NOTIFICATION_EVT 

received KEYPRESS_NOTIFY event.

Event data: wiced_bt_dev_user_keypress_t

BTM_PAIRING_IO_CAPABILITIES_BR_EDR_REQUEST_EVT 

Requesting IO capabilities for BR/EDR pairing.

Event data: wiced_bt_dev_bredr_io_caps_req_t

BTM_PAIRING_IO_CAPABILITIES_BR_EDR_RESPONSE_EVT 

Received IO capabilities response for BR/EDR pairing.

Event data: wiced_bt_dev_bredr_io_caps_rsp_t

BTM_PAIRING_IO_CAPABILITIES_BLE_REQUEST_EVT 

Requesting IO capabilities for LE pairing.

Peripheral can check peer io capabilities in event data before updating with local io capabilities. Event data: wiced_bt_dev_ble_io_caps_req_t

BTM_PAIRING_COMPLETE_EVT 

received SIMPLE_PAIRING_COMPLETE event.

Event data: wiced_bt_dev_pairing_cplt_t

BTM_ENCRYPTION_STATUS_EVT 

Encryption status change.

Event data: wiced_bt_dev_encryption_status_t

BTM_SECURITY_REQUEST_EVT 

Security request (respond using wiced_bt_ble_security_grant).

Event data: wiced_bt_dev_security_request_t

BTM_SECURITY_FAILED_EVT 

Security procedure/authentication failed.

Event data: wiced_bt_dev_security_failed_t

BTM_SECURITY_ABORTED_EVT 

Security procedure aborted locally, or unexpected link drop.

Event data: wiced_bt_dev_name_and_class_t

BTM_READ_LOCAL_OOB_DATA_COMPLETE_EVT 

Result of reading local OOB data (wiced_bt_dev_read_local_oob_data).

Event data: wiced_bt_dev_local_oob_t

BTM_REMOTE_OOB_DATA_REQUEST_EVT 

OOB data from remote device (respond using wiced_bt_dev_remote_oob_data_reply).

Event data: wiced_bt_dev_remote_oob_t

BTM_PAIRED_DEVICE_LINK_KEYS_UPDATE_EVT 

Updated remote device link keys (store device_link_keys to NV memory).

This is the place to verify that the correct link key has been generated. Event data: wiced_bt_device_link_keys_t

BTM_PAIRED_DEVICE_LINK_KEYS_REQUEST_EVT 

Request for stored remote device link keys (restore device_link_keys from NV memory).

If successful, return WICED_BT_SUCCESS. Event data: wiced_bt_device_link_keys_t

BTM_LOCAL_IDENTITY_KEYS_UPDATE_EVT 

Update local identity key (stored local_identity_keys NV memory).

Event data: wiced_bt_local_identity_keys_t

BTM_LOCAL_IDENTITY_KEYS_REQUEST_EVT 

Request local identity key (get local_identity_keys from NV memory).

If successful, return WICED_BT_SUCCESS. Event data: wiced_bt_local_identity_keys_t

BTM_BLE_SCAN_STATE_CHANGED_EVT 

LE scan state change.

Event data: wiced_bt_ble_scan_type_t

BTM_BLE_ADVERT_STATE_CHANGED_EVT 

LE advertisement state change.

Event data: wiced_bt_ble_advert_mode_t

BTM_SMP_REMOTE_OOB_DATA_REQUEST_EVT 

SMP remote oob data request.

Reply using wiced_bt_smp_oob_data_reply. Event data: wiced_bt_smp_remote_oob_req_t

BTM_SMP_SC_REMOTE_OOB_DATA_REQUEST_EVT 

LE secure connection remote oob data request.

Reply using wiced_bt_smp_sc_oob_reply. Event data: wiced_bt_smp_sc_remote_oob_req_t

BTM_SMP_SC_LOCAL_OOB_DATA_NOTIFICATION_EVT 

LE secure connection local OOB data (wiced_bt_smp_create_local_sc_oob_data).

Event data: wiced_bt_smp_sc_local_oob_t

BTM_SCO_CONNECTED_EVT 

SCO connected event.

Event data: wiced_bt_sco_connected_t

BTM_SCO_DISCONNECTED_EVT 

SCO disconnected event.

Event data: wiced_bt_sco_disconnected_t

BTM_SCO_CONNECTION_REQUEST_EVT 

SCO connection request event.

Event data: wiced_bt_sco_connection_request_t

BTM_SCO_CONNECTION_CHANGE_EVT 

SCO connection change event.

Event data: wiced_bt_sco_connection_change_t

BTM_BLE_CONNECTION_PARAM_UPDATE 

LE connection parameter update.

Event data: wiced_bt_ble_connection_param_update_t

BTM_BLE_PHY_UPDATE_EVT 

LE Physical link update.

Event data: wiced_bt_ble_phy_update_t

BTM_LPM_STATE_LOW_POWER 

Bluetooth device wake has been deasserted.

BTM_BLE_REMOTE_CONNECTION_PARAM_REQ_EVT 

LE remote connection parameter request.

Reply using wiced_bt_l2cap_reply_ble_remote_conn_params_req and return WICED_BT_CMD_STORED to denote this event was handled. Event data: wiced_bt_ble_rc_connection_param_req_t

Enumerator
BTM_SEC_LINK_ENCRYPTED 

Link encrypted.

BTM_SEC_LINK_PAIRED_WITHOUT_MITM 

Paired without man-in-the-middle protection.

BTM_SEC_LINK_PAIRED_WITH_MITM 

Link with man-in-the-middle protection.

Enumerator
BTM_SEC_NONE 

Nothing required.

BTM_SEC_IN_AUTHENTICATE 

Inbound call requires authentication.

BTM_SEC_OUT_AUTHENTICATE 

Outbound call requires authentication.

BTM_SEC_ENCRYPT 

Requires encryption (inbound and outbound)

BTM_SEC_SECURE_CONNECTION 

Secure Connections Mode (P-256 based Secure Simple Pairing and Authentication)

Enumerator
SMP_SUCCESS 

Success.

SMP_PASSKEY_ENTRY_FAIL 

Passkey entry failed.

SMP_OOB_FAIL 

OOB failed.

SMP_PAIR_AUTH_FAIL 

Authentication failed.

SMP_CONFIRM_VALUE_ERR 

Value confirmation failed.

SMP_PAIR_NOT_SUPPORT 

Not supported.

SMP_ENC_KEY_SIZE 

Encryption key size failure.

SMP_INVALID_CMD 

Invalid command.

SMP_PAIR_FAIL_UNKNOWN 

Unknown failure.

SMP_REPEATED_ATTEMPTS 

Repeated attempts.

SMP_INVALID_PARAMETERS 

Invalid parameters.

SMP_DHKEY_CHK_FAIL 

DH Key check failed.

SMP_NUMERIC_COMPAR_FAIL 

Numeric comparison failed.

SMP_BR_PAIRING_IN_PROGR 

BR paIring in progress.

SMP_XTRANS_DERIVE_NOT_ALLOW 

Cross transport key derivation not allowed.

SMP_PAIR_INTERNAL_ERR 

Internal error.

SMP_UNKNOWN_IO_CAP 

unknown IO capability, unable to decide associatino model

SMP_INIT_FAIL 

Initialization failed.

SMP_CONFIRM_FAIL 

Confirmation failed.

SMP_BUSY 

Busy.

SMP_ENC_FAIL 

Encryption failed.

SMP_STARTED 

Started.

SMP_RSP_TIMEOUT 

Response timeout.

SMP_FAIL 

Generic failure.

SMP_CONN_TOUT 

Connection timeout.

Function Documentation

wiced_result_t BTM_SetLinkSuperTout ( wiced_bt_device_address_t  remote_bd_addr,
uint16_t  timeout 
)

Function wiced_bt_dev_set_link_supervision_timeout.

set Link Supervision Timeout

Parameters
[in]remote_bd_addr: BD address of remote device
[in]timeout:
Returns
WICED_BT_PENDING if successfully initiated, otherwise error.
void wiced_bt_coex_disable ( void  )

Function wiced_bt_coex_disable.

Application can invoke this function to disable the coex functionality

Returns
void
wiced_result_t wiced_bt_coex_enable ( uint32_t  seci_baud_rate)

Function wiced_bt_coex_enable.

Application can invoke this function to enable the coex functionality

Parameters
[in]seci_baud_rate: SECI baud rate. Ensure to set a valid baud rate which will be used for the SECI communication between Bluetooth and WLAN chip. Maximum supported value is up to 4M
Returns
wiced_result_t
uint16_t wiced_bt_conn_handle_get ( wiced_bt_device_address_t  remote_bda,
wiced_bt_transport_t  transport 
)

Function wiced_bt_conn_handle_get.

Get the connection handle

Parameters
[in]remote_bda: remote device's address
[in]transport: BT_TRANSPORT_BR_EDR or BT_TRANSPORT_LE
Returns
connection handle value 0xffff for invalid
wiced_result_t wiced_bt_dev_delete_bonded_device ( wiced_bt_device_address_t  bd_addr)

Function wiced_bt_dev_delete_bonded_device.

remove bonding with remote device with assigned bd_addr

Parameters
[in]bd_addr: bd_addr of remote device to be removed from bonding list
Returns
wiced_result_t
wiced_result_t wiced_bt_dev_deregister_vse_callback ( wiced_bt_dev_vse_callback_t  cb)

Function wiced_bt_dev_deregister_vse_callback.

Description Application can deregister Vendor-Specific HCI event callback

Parameters
[in]cb: callback function to deregister
Returns
WICED_SUCCESS WICED_ERROR if the input callback function was not registered yet
wiced_result_t wiced_bt_dev_get_bonded_devices ( wiced_bt_dev_bonded_device_info_t p_paired_device_list,
uint16_t *  p_num_devices 
)

Function wiced_bt_dev_get_bonded_devices.

get bonded device list

Parameters
[out]p_paired_device_list: array for getting bd address of bonded devices
in/out]p_num_devices : list size of p_pared_device_list total number of bonded devices stored
Returns
wiced_result_t
wiced_result_t wiced_bt_dev_get_device_class ( wiced_bt_device_address_t  bdaddr,
wiced_bt_dev_class_t p_class_of_device 
)

Function wiced_bt_dev_get_device_class.

This function is called get the Class Of Device of a connected peer device

Parameters
[in]bdaddr: Bluetooth device address of peer device
[out]p_cod: Pointer on ClassOfDEvice buffer (3 bytes)
Returns
wiced_result_t

Note: The Class of Device will be valid if it was either discovered during Inquiry or if if the connection was established from the peer device. If the Class of Device is not known, the COD returned will be 00 00 00

wiced_result_t wiced_bt_dev_get_remote_name ( wiced_bt_device_address_t  bd_addr,
wiced_bt_remote_name_cback_t p_remote_name_result_cback 
)

Function wiced_bt_dev_get_remote_name.

Get Bluetooth Friendly name from remote device.

Parameters
[in]bd_addr: Peer bd address
[in]p_remote_name_result_cback: remote name result callback
Returns
wiced_result_t
             WICED_BT_PENDING if successfully initiated
             WICED_BT_BUSY if already in progress
             WICED_BT_ILLEGAL_VALUE if parameter(s) are out of range
             WICED_BT_NO_RESOURCES if could not allocate resources to start the command
             WICED_BT_WRONG_MODE if the device is not up.
wiced_result_t wiced_bt_dev_get_role ( wiced_bt_device_address_t  remote_bd_addr,
UINT8 p_role,
wiced_bt_transport_t  transport 
)

Function wiced_bt_dev_get_role.

This function is called to get the role of the local device for the ACL connection with the specified remote device

Parameters
[in]remote_bd_addr: BD address of remote device
[in]transport: BT_TRANSPORT_BR_EDR or BT_TRANSPORT_LE
[out]p_role: Role of the local device
Returns
WICED_BT_UNKNOWN_ADDR if no active link with bd addr specified
wiced_bool_t wiced_bt_dev_get_security_state ( wiced_bt_device_address_t  bd_addr,
uint8_t *  p_sec_flags 
)

Function wiced_bt_dev_get_security_state.

Get security flags for the device

Parameters
[in]bd_addr: peer address
[out]p_sec_flags: security flags (see wiced_bt_sec_flags_e)
Returns
TRUE if successful
wiced_bt_dev_status_t wiced_bt_dev_link_quality_stats ( BD_ADDR  bda,
wiced_bt_transport_t  transport,
uint8_t  action,
wiced_bt_dev_cmpl_cback_t p_cback 
)

Function wiced_bt_dev_link_quality_stats.

Description This API is called to get the statistics for an ACL link

Limitation This API works when there is only one ACL connection

Parameters
[in]bda: bluetooth device address of desired link quality statistics
[in]transport: Tranport type LE/BR-EDR
[in]action: WICED_CLEAR_LINK_QUALITY_STATS = reset the link quality statistics to 0, WICED_READ_LINK_QUALITY_STATS = read link quality statistics, WICED_READ_THEN_CLEAR_LINK_QUALITY_STATS = read link quality statistics, then clear it
[in]p_cback: Result callback (wiced_bt_dev_cmpl_cback_t will be passed to the callback)
Returns
             WICED_BT_SUCCESS:        If successful
             WICED_BT_PENDING:        If command succesfully sent down
             WICED_BT_BUSY            If already in progress
             WICED_BT_NO_RESORCES:    If no memory/buffers available to sent down to controller
             WICED_BT_UNKNOWN_ADDR:   If given BD_ADDRESS is invalid

Note : Callback function argument is a pointer of type wiced_bt_lq_stats_result_t

void wiced_bt_dev_register_hci_trace ( wiced_bt_hci_trace_cback_t p_cback)

Function wiced_bt_dev_register_hci_trace.

Register to get the hci traces

Parameters
[in]p_cback: Callback for hci traces
Returns
void
wiced_result_t wiced_bt_dev_register_vse_callback ( wiced_bt_dev_vse_callback_t  cb)

Function wiced_bt_dev_register_vse_callback.

Description Application can register Vendor-Specific HCI event callback

Parameters
[in]cb: callback function to register
Returns
WICED_SUCCESS WICED_ERROR if out of usage
wiced_result_t wiced_bt_dev_set_afh_channel_assessment ( wiced_bool_t  enable_or_disable)

Function wiced_bt_dev_set_afh_channel_assessment.

This function is called to set the channel assessment mode on or off

Parameters
[in]enable_or_disable: Enable or disable AFH channel assessment
Returns
wiced_result_t

Note:

wiced_result_t wiced_bt_dev_set_link_policy ( wiced_bt_device_address_t  remote_bda,
uint16_t *  settings 
)

Function wiced_bt_dev_set_link_policy.

This function is called to set the Link Policy for remote device

Parameters
[in]remote_bda: remote device's address
in/out]settings : pointer to the settings value. the policy setting is defined in hcidefs.h if the input setting consists of unsupport feature for local device, it will be cleared
Returns
wiced_result_t
wiced_result_t wiced_bt_dev_set_local_name ( char *  p_name)

Function wiced_bt_dev_set_local_name.

Set the device local name

Parameters
[out]p_name: Local device name
Returns
wiced_result_t
             WICED_BT_PENDING        command initiated successfully
             WICED_BT_DEV_RESET      device not in the right state to execute the command
             WICED_BT_NO_RESOURCES   no resources to issue command
wiced_result_t wiced_bt_dev_set_tx_power_table ( wiced_bt_tx_power_table_offset_mode_t  mode,
uint8_t *  p_values 
)

Function wiced_bt_dev_set_tx_power_table.

Description Application can invoke this function to configure a custom Bluetooth tx power table to be used for the provided mode.

Parameters
[in]mode: Phy mode (BR, EDR, LE, or LE2)
[in]p_values: tx power table (must be uint8_t array with 8 steps, indexes 0 - 7)
Returns
WICED_BT_BADARG if bad arguments passed WICED_BT_SUCCESS if successful
wiced_result_t wiced_bt_dev_set_tx_power_table_offset ( wiced_bt_tx_power_table_offset_mode_t  mode,
uint8_t  ticks 
)

Function wiced_bt_dev_set_tx_power_table_offset.

Description Application can invoke this function to configure the Bluetooth RF front end to apply additional attenuation to the RF output signal for specific modes, ie BR, EDR, LE, and LE2. The higher the ticks value, the more attenuation is applied. Valid tick values range from 0 to 4.

Parameters
[in]mode: Phy mode (BR, EDR, LE, or LE2)
[in]ticks: Amount of attenuation in ticks
Returns
WICED_BT_BADARG if bad arguments passed WICED_BT_SUCCESS if successful
void wiced_bt_dev_set_vse_callback_num ( uint8_t  num)

Function wiced_bt_dev_set_vse_callback_num.

Description Application can set number of Vendor-Specific HCI event callback and require to set number before calling wiced_bt_stack_init

Parameters
[in]num: number of callback function
Returns
void
wiced_result_t wiced_bt_dev_switch_role ( wiced_bt_device_address_t  remote_bd_addr,
UINT8  new_role,
wiced_bt_dev_cmpl_cback_t p_cback 
)

Function wiced_bt_dev_switch_role.

This function is called to switch the role between central and peripheral. If role is already set it will do nothing. If the command was initiated, the callback function is called upon completion.

Parameters
[in]remote_bd_addr: BD address of remote device
[in]new_role: New role (BTM_ROLE_CENTRAL or BTM_ROLE_PERIPHERAL)
[in]p_cback: Result callback (wiced_bt_dev_switch_role_result_t will be passed to the callback)
Returns
wiced_result_t
wiced_bool_t wiced_bt_get_identity_address ( wiced_bt_device_address_t  bd_addr,
wiced_bt_device_address_t  identity_address 
)

Function wiced_bt_get_identity_address.

return identity address of the given device

Parameters
[in]bd_addr: peer address
[out]identity_address: identity address for given bd_addr
Returns
TRUE if successful
void wiced_bt_read_power_table_values ( uint8_t  index,
wiced_bt_read_power_table_value_cback_t f 
)

Function wiced_bt_read_power_table_values.

Description Application can invoke this function to read a BR/EDR tx power table value

Parameters
[in]index: power table index (0 - 7)
[in]func: callback function to be called when value is received
Returns
None
wiced_result_t wiced_bt_set_device_class ( wiced_bt_dev_class_t  dev_class)

Function wiced_bt_set_device_class.

This function is called to set the local device class

Parameters
[in]dev_class: local device class
Returns
wiced_result_t
void wiced_bt_set_local_bdaddr ( wiced_bt_device_address_t  bda,
wiced_bt_ble_address_type_t  addr_type 
)

Function wiced_bt_set_local_bdaddr.

Set Local Bluetooth Device Address. If application passes BLE_ADDR_RANDOM as an address type, the stack will setup a static random address. For the static random address top two bits of the bd_addr should be set. The stack will enforce that.

Parameters
[in]bd_addr: device address to use
[in]addr_type: device address type , should be BLE_ADDR_RANDOM or BLE_ADDR_PUBLIC BLE_ADDR_RANDOM should be only for single LE mode, not for BR-EDR or Dual Mode
Returns
void

Function wiced_bt_set_tx_power.

Command to set the tx power on link

Parameters
[in]bd_addr: peer address
[in]power: power value in db
[in]p_cb: Result callback (wiced_bt_set_tx_power_result_t will be passed to the callback)
Returns
wiced_result_t