Bluetooth® Generic Defines
API Reference
Header File
- This header file can be included with: - #include "esp_bt_defs.h" 
- This header file is a part of the API provided by the - btcomponent. To declare that your component depends on- bt, add the following to your CMakeLists.txt:- REQUIRES bt - or - PRIV_REQUIRES bt 
Structures
- 
struct esp_ble_conn_params_t
- create connection parameters - Public Members - 
uint16_t scan_interval
- Initial scan interval, in units of 0.625ms, the range is 0x0004(2.5ms) to 0xFFFF(10.24s). 
 - 
uint16_t scan_window
- Initial scan window, in units of 0.625ms, the range is 0x0004(2.5ms) to 0xFFFF(10.24s). 
 - 
uint16_t interval_min
- Minimum connection interval, in units of 1.25ms, the range is 0x0006(7.5ms) to 0x0C80(4s). 
 - 
uint16_t interval_max
- Maximum connection interval, in units of 1.25ms, the range is 0x0006(7.5ms) to 0x0C80(4s). 
 - 
uint16_t latency
- Connection latency, the range is 0x0000(0) to 0x01F3(499). 
 - 
uint16_t supervision_timeout
- Connection supervision timeout, in units of 10ms, the range is from 0x000A(100ms) to 0x0C80(32s). 
 - 
uint16_t min_ce_len
- Minimum connection event length, in units of 0.625ms, setting to 0 for no preferred parameters. 
 - 
uint16_t max_ce_len
- Maximum connection event length, in units of 0.625ms, setting to 0 for no preferred parameters. 
 
- 
uint16_t scan_interval
- 
struct esp_bt_uuid_t
- UUID type. 
Macros
- 
ESP_BLUEDROID_STATUS_CHECK(status)
- 
ESP_BT_STATUS_BASE_FOR_HCI_ERR
- 
ESP_HCI_ERR_SUCCESS
- 
ESP_HCI_ERR_UNKNOWN_CMD
- 
ESP_HCI_ERR_UNKNOWN_CONN_ID
- 
ESP_HCI_ERR_HW_FAILURE
- 
ESP_HCI_ERR_PAGE_TIMEOUT
- 
ESP_HCI_ERR_AUTH_FAIL
- 
ESP_HCI_ERR_PIN_OR_KEY_MISSING
- 
ESP_HCI_ERR_MEM_CAPACITY_EXCEEDED
- 
ESP_HCI_ERR_CONN_TIMEOUT
- 
ESP_HCI_ERR_CONN_LIMIT_EXCEEDED
- 
ESP_HCI_ERR_SYNC_CONN_LIMIT_EXCEEDED
- 
ESP_HCI_ERR_CONN_ALREADY_EXISTS
- 
ESP_HCI_ERR_CMD_DISALLOWED
- 
ESP_HCI_ERR_INSUFFICIENT_RESOURCES
- 
ESP_HCI_ERR_INSUFFICIENT_SECURITY
- 
ESP_HCI_ERR_BD_ADDR_UNACCEPTABLE
- 
ESP_HCI_ERR_CONN_ACCEPT_TIMEOUT
- 
ESP_HCI_ERR_UNSUPP_FEATURE_PARAM_VAL
- 
ESP_HCI_ERR_INVALID_PARAM
- 
ESP_HCI_ERR_REMOTE_USER_TERM_CONN
- 
ESP_HCI_ERR_REMOTE_LOW_RESOURCES
- 
ESP_HCI_ERR_REMOTE_POWER_OFF
- 
ESP_HCI_ERR_LOCALHOST_TERM_CONN
- 
ESP_HCI_ERR_REPEATED_ATTEMPTS
- 
ESP_HCI_ERR_PAIRING_NOT_ALLOWED
- 
ESP_HCI_ERR_UNKNOWN_LMP_PDU
- 
ESP_HCI_ERR_UNSUPP_REMOTE_FEATURE
- 
ESP_HCI_ERR_SCO_OFFSET_REJECTED
- 
ESP_HCI_ERR_SCO_INTERVAL_REJECTED
- 
ESP_HCI_ERR_SCO_AIR_MODE_REJECTED
- 
ESP_HCI_ERR_INVALID_LL_PARAM
- 
ESP_HCI_ERR_UNSPECIFIED
- 
ESP_HCI_ERR_UNSUPP_LL_PARAM_VAL
- 
ESP_HCI_ERR_ROLE_CHANGE_NOT_ALLOWED
- 
ESP_HCI_ERR_LL_RESP_TIMEOUT
- 
ESP_HCI_ERR_LL_PROC_COLLISION
- 
ESP_HCI_ERR_LMP_PDU_NOT_ALLOWED
- 
ESP_HCI_ERR_ENC_MODE_NOT_ACCEPTABLE
- 
ESP_HCI_ERR_LINK_KEY_CANNOT_BE_CHANGED
- 
ESP_HCI_ERR_REQUESTED_QOS_NOT_SUPPORTED
- 
ESP_HCI_ERR_INSTANT_PASSED
- 
ESP_HCI_ERR_PAIRING_NOT_SUPPORTED
- 
ESP_HCI_ERR_DIFF_TRANS_COLLISION
- 
ESP_HCI_ERR_UNDEFINED_0x2B
- 
ESP_HCI_ERR_QOS_UNACCEPTABLE_PARAM
- 
ESP_HCI_ERR_QOS_REJECTED
- 
ESP_HCI_ERR_CHAN_ASSESS_NOT_SUPPORTED
- 
ESP_HCI_ERR_INSUFF_SECURITY
- 
ESP_HCI_ERR_PARAM_OUT_OF_MANDATORY_RANGE
- 
ESP_HCI_ERR_UNDEFINED_0x31
- 
ESP_HCI_ERR_ROLE_SWITCH_PENDING
- 
ESP_HCI_ERR_UNDEFINED_0x33
- 
ESP_HCI_ERR_RESERVED_SLOT_VIOLATION
- 
ESP_HCI_ERR_ROLE_SWITCH_FAILED
- 
ESP_HCI_ERR_EXT_INQ_RESP_TOO_LARGE
- 
ESP_HCI_ERR_SIMPLE_PAIR_NOT_SUPP_BY_HOST
- 
ESP_HCI_ERR_HOST_BUSY_PAIRING
- 
ESP_HCI_ERR_CONN_REJECTED_DUE_TO_NO_CHAN
- 
ESP_HCI_ERR_CONTROLLER_BUSY
- 
ESP_HCI_ERR_UNACCEPT_CONN_PARAM
- 
ESP_HCI_ERR_ADV_TIMEOUT
- 
ESP_HCI_ERR_TERM_DUE_TO_MIC_FAIL
- 
ESP_HCI_ERR_CONN_FAIL_TO_ESTAB
- 
ESP_HCI_ERR_MAC_CONN_FAILED
- 
ESP_HCI_ERR_CLOCK_ADJUST_REJECTED
- 
ESP_HCI_ERR_SUBMAP_NOT_DEFINED
- 
ESP_HCI_ERR_UNKNOWN_ADV_IDENTIFIER
- 
ESP_HCI_ERR_LIMIT_REACHED
- 
ESP_HCI_ERR_OP_CANCELLED_BY_HOST
- 
ESP_HCI_ERR_PACKET_TOO_LONG
- 
ESP_HCI_ERR_TOO_LATE
- 
ESP_HCI_ERR_TOO_EARLY
- 
ESP_HCI_ERR_INSUFFICIENT_CHANNELS
- 
ESP_BT_OCTET16_LEN
- 
ESP_BT_OCTET8_LEN
- 
ESP_DEFAULT_GATT_IF
- Default GATT interface id. 
- 
ESP_BLE_PRIM_ADV_INT_MIN
- Minimum advertising interval for undirected and low duty cycle directed advertising 
- 
ESP_BLE_PRIM_ADV_INT_MAX
- Maximum advertising interval for undirected and low duty cycle directed advertising 
- 
ESP_BLE_CONN_INT_MIN
- relate to BTM_BLE_CONN_INT_MIN in stack/btm_ble_api.h 
- 
ESP_BLE_CONN_INT_MAX
- relate to BTM_BLE_CONN_INT_MAX in stack/btm_ble_api.h 
- 
ESP_BLE_CONN_LATENCY_MAX
- relate to ESP_BLE_CONN_LATENCY_MAX in stack/btm_ble_api.h 
- 
ESP_BLE_CONN_SUP_TOUT_MIN
- relate to BTM_BLE_CONN_SUP_TOUT_MIN in stack/btm_ble_api.h 
- 
ESP_BLE_CONN_SUP_TOUT_MAX
- relate to ESP_BLE_CONN_SUP_TOUT_MAX in stack/btm_ble_api.h 
- 
ESP_BLE_PHY_1M_PREF_MASK
- The Host prefers use the LE1M transmitter or receiver PHY 
- 
ESP_BLE_PHY_2M_PREF_MASK
- The Host prefers use the LE2M transmitter or receiver PHY 
- 
ESP_BLE_PHY_CODED_PREF_MASK
- The Host prefers use the LE CODED transmitter or receiver PHY 
- 
ESP_BLE_IS_VALID_PARAM(x, min, max)
- Check the param is valid or not. 
- 
ESP_UUID_LEN_16
- 
ESP_UUID_LEN_32
- 
ESP_UUID_LEN_128
- 
ESP_BD_ADDR_LEN
- Bluetooth address length. 
- 
ESP_PEER_IRK_LEN
- Bluetooth peer irk. 
- 
ESP_BLE_ENC_KEY_MASK
- Used to exchange the encryption key in the init key & response key. 
- 
ESP_BLE_ID_KEY_MASK
- Used to exchange the IRK key in the init key & response key. 
- 
ESP_BLE_CSR_KEY_MASK
- Used to exchange the CSRK key in the init key & response key. 
- 
ESP_BLE_LINK_KEY_MASK
- Used to exchange the link key(this key just used in the BLE & BR/EDR coexist mode) in the init key & response key. 
- 
ESP_APP_ID_MIN
- Minimum of the application id. 
- 
ESP_APP_ID_MAX
- Maximum of the application id. 
- 
ESP_BD_ADDR_STR
- 
ESP_BD_ADDR_HEX(addr)
- 
ESP_BLE_ADV_NAME_LEN_MAX
- 
ESP_INVALID_CONN_HANDLE
Type Definitions
- 
typedef uint8_t esp_bt_octet16_t[ESP_BT_OCTET16_LEN]
- 
typedef uint8_t esp_bt_octet8_t[ESP_BT_OCTET8_LEN]
- 
typedef uint8_t esp_link_key[ESP_BT_OCTET16_LEN]
- 
typedef uint8_t esp_ble_phy_mask_t
- 
typedef uint8_t esp_bd_addr_t[ESP_BD_ADDR_LEN]
- Bluetooth device address. 
- 
typedef uint8_t esp_ble_key_mask_t
Enumerations
- 
enum esp_bt_status_t
- Status Return Value. - Values: - 
enumerator ESP_BT_STATUS_SUCCESS
 - 
enumerator ESP_BT_STATUS_FAIL
 - 
enumerator ESP_BT_STATUS_NOT_READY
 - 
enumerator ESP_BT_STATUS_NOMEM
 - 
enumerator ESP_BT_STATUS_BUSY
 - 
enumerator ESP_BT_STATUS_DONE
 - 
enumerator ESP_BT_STATUS_UNSUPPORTED
 - 
enumerator ESP_BT_STATUS_PARM_INVALID
 - 
enumerator ESP_BT_STATUS_UNHANDLED
 - 
enumerator ESP_BT_STATUS_AUTH_FAILURE
 - 
enumerator ESP_BT_STATUS_RMT_DEV_DOWN
 - 
enumerator ESP_BT_STATUS_AUTH_REJECTED
 - 
enumerator ESP_BT_STATUS_INVALID_STATIC_RAND_ADDR
 - 
enumerator ESP_BT_STATUS_PENDING
 - 
enumerator ESP_BT_STATUS_UNACCEPT_CONN_INTERVAL
 - 
enumerator ESP_BT_STATUS_PARAM_OUT_OF_RANGE
 - 
enumerator ESP_BT_STATUS_TIMEOUT
 - 
enumerator ESP_BT_STATUS_PEER_LE_DATA_LEN_UNSUPPORTED
 - 
enumerator ESP_BT_STATUS_CONTROL_LE_DATA_LEN_UNSUPPORTED
 - 
enumerator ESP_BT_STATUS_ERR_ILLEGAL_PARAMETER_FMT
 - 
enumerator ESP_BT_STATUS_MEMORY_FULL
 - 
enumerator ESP_BT_STATUS_EIR_TOO_LARGE
 - 
enumerator ESP_BT_STATUS_HCI_SUCCESS
 - 
enumerator ESP_BT_STATUS_HCI_ILLEGAL_COMMAND
 - 
enumerator ESP_BT_STATUS_HCI_NO_CONNECTION
 - 
enumerator ESP_BT_STATUS_HCI_HW_FAILURE
 - 
enumerator ESP_BT_STATUS_HCI_PAGE_TIMEOUT
 - 
enumerator ESP_BT_STATUS_HCI_AUTH_FAILURE
 - 
enumerator ESP_BT_STATUS_HCI_KEY_MISSING
 - 
enumerator ESP_BT_STATUS_HCI_MEMORY_FULL
 - 
enumerator ESP_BT_STATUS_HCI_CONNECTION_TOUT
 - 
enumerator ESP_BT_STATUS_HCI_MAX_NUM_OF_CONNECTIONS
 - 
enumerator ESP_BT_STATUS_HCI_MAX_NUM_OF_SCOS
 - 
enumerator ESP_BT_STATUS_HCI_CONNECTION_EXISTS
 - 
enumerator ESP_BT_STATUS_HCI_COMMAND_DISALLOWED
 - 
enumerator ESP_BT_STATUS_HCI_HOST_REJECT_RESOURCES
 - 
enumerator ESP_BT_STATUS_HCI_HOST_REJECT_SECURITY
 - 
enumerator ESP_BT_STATUS_HCI_HOST_REJECT_DEVICE
 - 
enumerator ESP_BT_STATUS_HCI_HOST_TIMEOUT
 - 
enumerator ESP_BT_STATUS_HCI_UNSUPPORTED_VALUE
 - 
enumerator ESP_BT_STATUS_HCI_ILLEGAL_PARAMETER_FMT
 - 
enumerator ESP_BT_STATUS_HCI_PEER_USER
 - 
enumerator ESP_BT_STATUS_HCI_PEER_LOW_RESOURCES
 - 
enumerator ESP_BT_STATUS_HCI_PEER_POWER_OFF
 - 
enumerator ESP_BT_STATUS_HCI_CONN_CAUSE_LOCAL_HOST
 - 
enumerator ESP_BT_STATUS_HCI_REPEATED_ATTEMPTS
 - 
enumerator ESP_BT_STATUS_HCI_PAIRING_NOT_ALLOWED
 - 
enumerator ESP_BT_STATUS_HCI_UNKNOWN_LMP_PDU
 - 
enumerator ESP_BT_STATUS_HCI_UNSUPPORTED_REM_FEATURE
 - 
enumerator ESP_BT_STATUS_HCI_SCO_OFFSET_REJECTED
 - 
enumerator ESP_BT_STATUS_HCI_SCO_INTERVAL_REJECTED
 - 
enumerator ESP_BT_STATUS_HCI_SCO_AIR_MODE
 - 
enumerator ESP_BT_STATUS_HCI_INVALID_LMP_PARAM
 - 
enumerator ESP_BT_STATUS_HCI_UNSPECIFIED
 - 
enumerator ESP_BT_STATUS_HCI_UNSUPPORTED_LMP_PARAMETERS
 - 
enumerator ESP_BT_STATUS_HCI_ROLE_CHANGE_NOT_ALLOWED
 - 
enumerator ESP_BT_STATUS_HCI_LMP_RESPONSE_TIMEOUT
 - 
enumerator ESP_BT_STATUS_HCI_LMP_ERR_TRANS_COLLISION
 - 
enumerator ESP_BT_STATUS_HCI_LMP_PDU_NOT_ALLOWED
 - 
enumerator ESP_BT_STATUS_HCI_ENCRY_MODE_NOT_ACCEPTABLE
 - 
enumerator ESP_BT_STATUS_HCI_UNIT_KEY_USED
 - 
enumerator ESP_BT_STATUS_HCI_QOS_NOT_SUPPORTED
 - 
enumerator ESP_BT_STATUS_HCI_INSTANT_PASSED
 - 
enumerator ESP_BT_STATUS_HCI_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED
 - 
enumerator ESP_BT_STATUS_HCI_DIFF_TRANSACTION_COLLISION
 - 
enumerator ESP_BT_STATUS_HCI_UNDEFINED_0x2B
 - 
enumerator ESP_BT_STATUS_HCI_QOS_UNACCEPTABLE_PARAM
 - 
enumerator ESP_BT_STATUS_HCI_QOS_REJECTED
 - 
enumerator ESP_BT_STATUS_HCI_CHAN_CLASSIF_NOT_SUPPORTED
 - 
enumerator ESP_BT_STATUS_HCI_INSUFFCIENT_SECURITY
 - 
enumerator ESP_BT_STATUS_HCI_PARAM_OUT_OF_RANGE
 - 
enumerator ESP_BT_STATUS_HCI_UNDEFINED_0x31
 - 
enumerator ESP_BT_STATUS_HCI_ROLE_SWITCH_PENDING
 - 
enumerator ESP_BT_STATUS_HCI_UNDEFINED_0x33
 - 
enumerator ESP_BT_STATUS_HCI_RESERVED_SLOT_VIOLATION
 - 
enumerator ESP_BT_STATUS_HCI_ROLE_SWITCH_FAILED
 - 
enumerator ESP_BT_STATUS_HCI_INQ_RSP_DATA_TOO_LARGE
 - 
enumerator ESP_BT_STATUS_HCI_SIMPLE_PAIRING_NOT_SUPPORTED
 - 
enumerator ESP_BT_STATUS_HCI_HOST_BUSY_PAIRING
 - 
enumerator ESP_BT_STATUS_HCI_REJ_NO_SUITABLE_CHANNEL
 - 
enumerator ESP_BT_STATUS_HCI_CONTROLLER_BUSY
 - 
enumerator ESP_BT_STATUS_HCI_UNACCEPT_CONN_INTERVAL
 - 
enumerator ESP_BT_STATUS_HCI_DIRECTED_ADVERTISING_TIMEOUT
 - 
enumerator ESP_BT_STATUS_HCI_CONN_TOUT_DUE_TO_MIC_FAILURE
 - 
enumerator ESP_BT_STATUS_HCI_CONN_FAILED_ESTABLISHMENT
 - 
enumerator ESP_BT_STATUS_HCI_MAC_CONNECTION_FAILED
 - 
enumerator ESP_BT_STATUS_HCI_CCA_REJECTED
 - 
enumerator ESP_BT_STATUS_HCI_TYPE0_SUBMAP_NOT_DEFINED
 - 
enumerator ESP_BT_STATUS_HCI_UNKNOWN_ADV_ID
 - 
enumerator ESP_BT_STATUS_HCI_LIMIT_REACHED
 - 
enumerator ESP_BT_STATUS_HCI_OPT_CANCEL_BY_HOST
 - 
enumerator ESP_BT_STATUS_HCI_PKT_TOO_LONG
 - 
enumerator ESP_BT_STATUS_HCI_TOO_LATE
 - 
enumerator ESP_BT_STATUS_HCI_TOO_EARLY
 
- 
enumerator ESP_BT_STATUS_SUCCESS
- 
enum esp_bt_dev_type_t
- Bluetooth device type. - Values: - 
enumerator ESP_BT_DEVICE_TYPE_BREDR
 - 
enumerator ESP_BT_DEVICE_TYPE_BLE
 - 
enumerator ESP_BT_DEVICE_TYPE_DUMO
 
- 
enumerator ESP_BT_DEVICE_TYPE_BREDR
- 
enum esp_ble_addr_type_t
- BLE device address type. - Values: - 
enumerator BLE_ADDR_TYPE_PUBLIC
- Public Device Address 
 - 
enumerator BLE_ADDR_TYPE_RANDOM
- Random Device Address. To set this address, use the function esp_ble_gap_set_rand_addr(esp_bd_addr_t rand_addr) 
 - 
enumerator BLE_ADDR_TYPE_RPA_PUBLIC
- Resolvable Private Address (RPA) with public identity address 
 - 
enumerator BLE_ADDR_TYPE_RPA_RANDOM
- Resolvable Private Address (RPA) with random identity address. To set this address, use the function esp_ble_gap_set_rand_addr(esp_bd_addr_t rand_addr) 
 
- 
enumerator BLE_ADDR_TYPE_PUBLIC