GAP API¶
应用程序示例¶
请检查 ESP-IDF 示例中的 bluetooth 文件夹,它包含如下示例:
bluetooth/gatt_server, bluetooth/gatt_client
这两个 demos 使用不同的 GAP API,例如广播、扫描、设置设备名等。
API 参考手册¶
宏¶
-
ESP_BLE_ADV_FLAG_LIMIT_DISC
¶ BLE_ADV_DATA_FLAG data flag bit definition used for advertising data flag
-
ESP_BLE_ADV_FLAG_GEN_DISC
¶
-
ESP_BLE_ADV_FLAG_BREDR_NOT_SPT
¶
-
ESP_BLE_ADV_FLAG_DMT_CONTROLLER_SPT
¶
-
ESP_BLE_ADV_FLAG_DMT_HOST_SPT
¶
-
ESP_BLE_ADV_FLAG_NON_LIMIT_DISC
¶
-
ESP_LE_KEY_NONE
¶
-
ESP_LE_KEY_PENC
¶ encryption key, encryption information of peer device
-
ESP_LE_KEY_PID
¶ identity key of the peer device
-
ESP_LE_KEY_PCSRK
¶ peer SRK
-
ESP_LE_KEY_PLK
¶ Link key
-
ESP_LE_KEY_LLK
¶
-
ESP_LE_KEY_LENC
¶ master role security information:div
-
ESP_LE_KEY_LID
¶ master device ID key
-
ESP_LE_KEY_LCSRK
¶ local CSRK has been deliver to peer
-
ESP_LE_AUTH_NO_BOND
¶ 0
-
ESP_LE_AUTH_BOND
¶ 1 << 0
-
ESP_LE_AUTH_REQ_MITM
¶ 1 << 2
-
ESP_LE_AUTH_REQ_SC_ONLY
¶ 1 << 3
-
ESP_LE_AUTH_REQ_SC_BOND
¶ 1001
-
ESP_LE_AUTH_REQ_SC_MITM
¶ 1100
-
ESP_LE_AUTH_REQ_SC_MITM_BOND
¶ 1101
-
ESP_IO_CAP_OUT
¶ DisplayOnly
-
ESP_IO_CAP_IO
¶ DisplayYesNo
-
ESP_IO_CAP_IN
¶ KeyboardOnly
-
ESP_IO_CAP_NONE
¶ NoInputNoOutput
-
ESP_IO_CAP_KBDISP
¶ Keyboard display
-
ESP_BLE_ADV_DATA_LEN_MAX
¶ Advertising data maximum length.
-
ESP_BLE_SCAN_RSP_DATA_LEN_MAX
¶ Scan response data maximum length.
类型定义¶
-
typedef uint8_t
esp_ble_key_type_t
¶
-
typedef uint8_t
esp_ble_auth_req_t
¶ combination of the above bit pattern
-
typedef uint8_t
esp_ble_io_cap_t
¶ combination of the io capability
-
typedef void (*
esp_gap_ble_cb_t
)(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param)¶ GAP callback function type.
- Parameters
event
: : Event typeparam
: : Point to callback parameter, currently is union type
枚举¶
-
enum
esp_gap_ble_cb_event_t
¶ GAP BLE callback event type.
Values:
-
ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT
= 0¶ When advertising data set complete, the event comes
-
ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT
¶ When scan response data set complete, the event comes
-
ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT
¶ When scan parameters set complete, the event comes
-
ESP_GAP_BLE_SCAN_RESULT_EVT
¶ When one scan result ready, the event comes each time
-
ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT
¶ When raw advertising data set complete, the event comes
-
ESP_GAP_BLE_SCAN_RSP_DATA_RAW_SET_COMPLETE_EVT
¶ When raw advertising data set complete, the event comes
-
ESP_GAP_BLE_ADV_START_COMPLETE_EVT
¶ When start advertising complete, the event comes
-
ESP_GAP_BLE_SCAN_START_COMPLETE_EVT
¶ When start scan complete, the event comes
-
ESP_GAP_BLE_AUTH_CMPL_EVT
¶
-
ESP_GAP_BLE_KEY_EVT
¶
-
ESP_GAP_BLE_SEC_REQ_EVT
¶
-
ESP_GAP_BLE_PASSKEY_NOTIF_EVT
¶
-
ESP_GAP_BLE_PASSKEY_REQ_EVT
¶
-
ESP_GAP_BLE_OOB_REQ_EVT
¶
-
ESP_GAP_BLE_LOCAL_IR_EVT
¶
-
ESP_GAP_BLE_LOCAL_ER_EVT
¶
-
ESP_GAP_BLE_NC_REQ_EVT
¶
-
ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT
¶ When stop adv complete, the event comes
-
ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT
¶ When stop scan complete, the event comes
-
-
enum
esp_ble_adv_data_type
¶ The type of advertising data(not adv_type)
Values:
-
ESP_BLE_AD_TYPE_FLAG
= 0x01¶
-
ESP_BLE_AD_TYPE_16SRV_PART
= 0x02¶
-
ESP_BLE_AD_TYPE_16SRV_CMPL
= 0x03¶
-
ESP_BLE_AD_TYPE_32SRV_PART
= 0x04¶
-
ESP_BLE_AD_TYPE_32SRV_CMPL
= 0x05¶
-
ESP_BLE_AD_TYPE_128SRV_PART
= 0x06¶
-
ESP_BLE_AD_TYPE_128SRV_CMPL
= 0x07¶
-
ESP_BLE_AD_TYPE_NAME_SHORT
= 0x08¶
-
ESP_BLE_AD_TYPE_NAME_CMPL
= 0x09¶
-
ESP_BLE_AD_TYPE_TX_PWR
= 0x0A¶
-
ESP_BLE_AD_TYPE_DEV_CLASS
= 0x0D¶
-
ESP_BLE_AD_TYPE_SM_TK
= 0x10¶
-
ESP_BLE_AD_TYPE_SM_OOB_FLAG
= 0x11¶
-
ESP_BLE_AD_TYPE_INT_RANGE
= 0x12¶
-
ESP_BLE_AD_TYPE_SOL_SRV_UUID
= 0x14¶
-
ESP_BLE_AD_TYPE_128SOL_SRV_UUID
= 0x15¶
-
ESP_BLE_AD_TYPE_SERVICE_DATA
= 0x16¶
-
ESP_BLE_AD_TYPE_PUBLIC_TARGET
= 0x17¶
-
ESP_BLE_AD_TYPE_RANDOM_TARGET
= 0x18¶
-
ESP_BLE_AD_TYPE_APPEARANCE
= 0x19¶
-
ESP_BLE_AD_TYPE_ADV_INT
= 0x1A¶
-
ESP_BLE_AD_TYPE_32SOL_SRV_UUID
= 0x1B¶
-
ESP_BLE_AD_TYPE_32SERVICE_DATA
= 0x1C¶
-
ESP_BLE_AD_TYPE_128SERVICE_DATA
= 0x1D¶
-
ESP_BLE_AD_MANUFACTURER_SPECIFIC_TYPE
= 0xFF¶
-
-
enum
esp_ble_adv_type_t
¶ Advertising mode.
Values:
-
ADV_TYPE_IND
= 0x00¶
-
ADV_TYPE_DIRECT_IND_HIGH
= 0x01¶
-
ADV_TYPE_SCAN_IND
= 0x02¶
-
ADV_TYPE_NONCONN_IND
= 0x03¶
-
ADV_TYPE_DIRECT_IND_LOW
= 0x04¶
-
-
enum
esp_ble_adv_channel_t
¶ Advertising channel mask.
Values:
-
ADV_CHNL_37
= 0x01¶
-
ADV_CHNL_38
= 0x02¶
-
ADV_CHNL_39
= 0x04¶
-
ADV_CHNL_ALL
= 0x07¶
-
-
enum
esp_ble_adv_filter_t
¶ Values:
-
ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY
= 0x00¶ Allow both scan and connection requests from anyone.
-
ADV_FILTER_ALLOW_SCAN_WLST_CON_ANY
¶ Allow both scan req from White List devices only and connection req from anyone.
-
ADV_FILTER_ALLOW_SCAN_ANY_CON_WLST
¶ Allow both scan req from anyone and connection req from White List devices only.
-
ADV_FILTER_ALLOW_SCAN_WLST_CON_WLST
¶ Allow scan and connection requests from White List devices only.
-
-
enum
esp_ble_sec_act_t
¶ Values:
-
ESP_BLE_SEC_NONE
¶
-
ESP_BLE_SEC_ENCRYPT
¶
-
ESP_BLE_SEC_ENCRYPT_NO_MITM
¶
-
ESP_BLE_SEC_ENCRYPT_MITM
¶
-
-
enum
esp_ble_sm_param_t
¶ Values:
-
ESP_BLE_SM_PASSKEY
¶
-
ESP_BLE_SM_AUTHEN_REQ_MODE
¶
-
ESP_BLE_SM_IOCAP_MODE
¶
-
ESP_BLE_SM_SET_INIT_KEY
¶
-
ESP_BLE_SM_SET_RSP_KEK
¶
-
ESP_BLE_SM_MAX_KEY_SIZE
¶
-
-
enum
esp_ble_own_addr_src_t
¶ Own BD address source of the device.
Values:
-
ESP_PUBLIC_ADDR
¶ Public Address.
-
ESP_PROVIDED_RND_ADDR
¶ Provided random address.
-
ESP_GEN_STATIC_RND_ADDR
¶ Provided static random address.
-
ESP_GEN_RSLV_ADDR
¶ Generated resolvable private random address.
-
ESP_GEN_NON_RSLV_ADDR
¶ Generated non-resolvable private random address.
-
ESP_PROVIDED_RECON_ADDR
¶ Provided Reconnection address.
-
-
enum
esp_ble_scan_type_t
¶ Ble scan type.
Values:
-
BLE_SCAN_TYPE_PASSIVE
= 0x0¶ Passive scan
-
BLE_SCAN_TYPE_ACTIVE
= 0x1¶ Active scan
-
-
enum
esp_ble_scan_filter_t
¶ Ble scan filter type.
Values:
-
BLE_SCAN_FILTER_ALLOW_ALL
= 0x0¶ Accept all :
- advertisement packets except directed advertising packets not addressed to this device (default).
-
BLE_SCAN_FILTER_ALLOW_ONLY_WLST
= 0x1¶ Accept only :
- advertisement packets from devices where the advertiser’s address is in the White list.
- Directed advertising packets which are not addressed for this device shall be ignored.
-
BLE_SCAN_FILTER_ALLOW_UND_RPA_DIR
= 0x2¶ Accept all :
- undirected advertisement packets, and
- directed advertising packets where the initiator address is a resolvable private address, and
- directed advertising packets addressed to this device.
-
BLE_SCAN_FILTER_ALLOW_WLIST_PRA_DIR
= 0x3¶ Accept all :
- advertisement packets from devices where the advertiser’s address is in the White list, and
- directed advertising packets where the initiator address is a resolvable private address, and
- directed advertising packets addressed to this device.
-
-
enum
esp_gap_search_evt_t
¶ Sub Event of ESP_GAP_BLE_SCAN_RESULT_EVT.
Values:
-
ESP_GAP_SEARCH_INQ_RES_EVT
= 0¶ Inquiry result for a peer device.
-
ESP_GAP_SEARCH_INQ_CMPL_EVT
= 1¶ Inquiry complete.
-
ESP_GAP_SEARCH_DISC_RES_EVT
= 2¶ Discovery result for a peer device.
-
ESP_GAP_SEARCH_DISC_BLE_RES_EVT
= 3¶ Discovery result for BLE GATT based service on a peer device.
-
ESP_GAP_SEARCH_DISC_CMPL_EVT
= 4¶ Discovery complete.
-
ESP_GAP_SEARCH_DI_DISC_CMPL_EVT
= 5¶ Discovery complete.
-
ESP_GAP_SEARCH_SEARCH_CANCEL_CMPL_EVT
= 6¶ Search cancelled
-
-
enum
esp_ble_evt_type_t
¶ Ble scan result event type, to indicate the result is scan response or advertising data or other.
Values:
-
ESP_BLE_EVT_CONN_ADV
= 0x00¶ Connectable undirected advertising (ADV_IND)
-
ESP_BLE_EVT_CONN_DIR_ADV
= 0x01¶ Connectable directed advertising (ADV_DIRECT_IND)
-
ESP_BLE_EVT_DISC_ADV
= 0x02¶ Scannable undirected advertising (ADV_SCAN_IND)
-
ESP_BLE_EVT_NON_CONN_ADV
= 0x03¶ Non connectable undirected advertising (ADV_NONCONN_IND)
-
ESP_BLE_EVT_SCAN_RSP
= 0x04¶ Scan Response (SCAN_RSP)
-
结构体¶
-
struct
esp_ble_adv_params_t
¶ Advertising parameters.
Public Members
-
uint16_t
adv_int_min
¶ Minimum advertising interval for undirected and low duty cycle directed advertising. Range: 0x0020 to 0x4000 Default: N = 0x0800 (1.28 second) Time = N * 0.625 msec Time Range: 20 ms to 10.24 sec
-
uint16_t
adv_int_max
¶ Maximum advertising interval for undirected and low duty cycle directed advertising. Range: 0x0020 to 0x4000 Default: N = 0x0800 (1.28 second) Time = N * 0.625 msec Time Range: 20 ms to 10.24 sec Advertising max interval
-
esp_ble_adv_type_t
adv_type
¶ Advertising type
-
esp_ble_addr_type_t
own_addr_type
¶ Owner bluetooth device address type
-
esp_bd_addr_t
peer_addr
¶ Peer device bluetooth device address
-
esp_ble_addr_type_t
peer_addr_type
¶ Peer device bluetooth device address type
-
esp_ble_adv_channel_t
channel_map
¶ Advertising channel map
-
esp_ble_adv_filter_t
adv_filter_policy
¶ Advertising filter policy
-
uint16_t
-
struct
esp_ble_adv_data_t
¶ Advertising data content, according to “Supplement to the Bluetooth Core Specification”.
Public Members
-
bool
set_scan_rsp
¶ Set this advertising data as scan response or not
-
bool
include_name
¶ Advertising data include device name or not
-
bool
include_txpower
¶ Advertising data include TX power
-
int
min_interval
¶ Advertising data show advertising min interval
-
int
max_interval
¶ Advertising data show advertising max interval
-
int
appearance
¶ External appearance of device
-
uint16_t
manufacturer_len
¶ Manufacturer data length
-
uint8_t *
p_manufacturer_data
¶ Manufacturer data point
-
uint16_t
service_data_len
¶ Service data length
-
uint8_t *
p_service_data
¶ Service data point
-
uint16_t
service_uuid_len
¶ Service uuid length
-
uint8_t *
p_service_uuid
¶ Service uuid array point
-
uint8_t
flag
¶ Advertising flag of discovery mode, see BLE_ADV_DATA_FLAG detail
-
bool
-
struct
esp_ble_scan_params_t
¶ Ble scan parameters.
Public Members
-
esp_ble_scan_type_t
scan_type
¶ Scan type
-
esp_ble_addr_type_t
own_addr_type
¶ Owner address type
-
esp_ble_scan_filter_t
scan_filter_policy
¶ Scan filter policy
-
uint16_t
scan_interval
¶ Scan interval. This is defined as the time interval from when the Controller started its last LE scan until it begins the subsequent LE scan. Range: 0x0004 to 0x4000 Default: 0x0010 (10 ms) Time = N * 0.625 msec Time Range: 2.5 msec to 10.24 seconds
-
uint16_t
scan_window
¶ Scan window. The duration of the LE scan. LE_Scan_Window shall be less than or equal to LE_Scan_Interval Range: 0x0004 to 0x4000 Default: 0x0010 (10 ms) Time = N * 0.625 msec Time Range: 2.5 msec to 10240 msec
-
esp_ble_scan_type_t
-
struct
esp_ble_conn_update_params_t
¶ Connection update parameters.
Public Members
-
esp_bd_addr_t
bda
¶ Bluetooth device address
-
uint16_t
min_int
¶ Min connection interval
-
uint16_t
max_int
¶ Max connection interval
-
uint16_t
latency
¶ Slave latency for the connection in number of connection events. Range: 0x0000 to 0x01F3
-
uint16_t
timeout
¶ Supervision timeout for the LE Link. Range: 0x000A to 0x0C80. Mandatory Range: 0x000A to 0x0C80 Time = N * 10 msec Time Range: 100 msec to 32 seconds
-
esp_bd_addr_t
-
struct
esp_ble_penc_keys_t
¶ BLE encryption keys.
Public Members
-
esp_bt_octet16_t
ltk
¶ The long term key
-
esp_bt_octet8_t
rand
¶ The random number
-
uint16_t
ediv
¶ The ediv value
-
uint8_t
sec_level
¶ The security level of the security link
-
uint8_t
key_size
¶ The key size(7~16) of the security link
-
esp_bt_octet16_t
-
struct
esp_ble_pcsrk_keys_t
¶ BLE CSRK keys.
Public Members
-
uint32_t
counter
¶ The counter
-
esp_bt_octet16_t
csrk
¶ The csrk key
-
uint8_t
sec_level
¶ The security level
-
uint32_t
-
struct
esp_ble_pid_keys_t
¶ BLE pid keys.
Public Members
-
esp_bt_octet16_t
irk
¶ The irk value
-
esp_bd_addr_type_t
addr_type
¶ The address type
-
esp_bd_addr_t
static_addr
¶ The static address
-
esp_bt_octet16_t
-
struct
esp_ble_lenc_keys_t
¶ BLE Encryption reproduction keys.
Public Members
-
esp_bt_octet16_t
ltk
¶ The long term key
-
uint16_t
div
¶ The div value
-
uint8_t
key_size
¶ The key size of the security link
-
uint8_t
sec_level
¶ The security level of the security link
-
esp_bt_octet16_t
-
struct
esp_ble_lcsrk_keys
¶ BLE SRK keys.
Public Members
-
uint32_t
counter
¶ The counter value
-
uint16_t
div
¶ The div value
-
uint8_t
sec_level
¶ The security level of the security link
-
esp_bt_octet16_t
csrk
¶ The csrk key value
-
uint32_t
-
struct
esp_ble_sec_key_notif_t
¶ Structure associated with ESP_KEY_NOTIF_EVT.
Public Members
-
esp_bd_addr_t
bd_addr
¶ peer address
-
uint32_t
passkey
¶ the numeric value for comparison. If just_works, do not show this number to UI
-
esp_bd_addr_t
-
struct
esp_ble_sec_req_t
¶ Structure of the security request.
Public Members
-
esp_bd_addr_t
bd_addr
¶ peer address
-
esp_bd_addr_t
警告
doxygenstruct: Cannot find class “esp_ble_key_value_t” in doxygen xml output for project “esp32-idf” from directory: xml/
-
struct
esp_ble_key_t
¶ union type of the security key value
Public Members
-
esp_bd_addr_t
bd_addr
¶ peer address
-
esp_ble_key_type_t
key_type
¶ key type of the security link
-
esp_ble_key_value_t
p_key_value
¶ the pointer to the key value
-
esp_bd_addr_t
-
struct
esp_ble_local_id_keys_t
¶ structure type of the ble local id keys value
Public Members
-
esp_bt_octet16_t
ir
¶ the 16 bits of the ir value
-
esp_bt_octet16_t
irk
¶ the 16 bits of the ir key value
-
esp_bt_octet16_t
dhk
¶ the 16 bits of the dh key value
-
esp_bt_octet16_t
-
struct
esp_ble_auth_cmpl_t
¶ Structure associated with ESP_AUTH_CMPL_EVT.
Public Members
-
esp_bd_addr_t
bd_addr
¶ BD address peer device.
-
bool
key_present
¶ Valid link key value in key element
-
esp_link_key
key
¶ Link key associated with peer device.
-
uint8_t
key_type
¶ The type of Link Key
-
bool
success
¶ TRUE of authentication succeeded, FALSE if failed.
-
uint8_t
fail_reason
¶ The HCI reason/error code for when success=FALSE
-
esp_bd_addr_type_t
addr_type
¶ Peer device address type
-
esp_bt_dev_type_t
dev_type
¶ Device type
-
esp_bd_addr_t
警告
doxygenstruct: Cannot find class “esp_ble_sec_t” in doxygen xml output for project “esp32-idf” from directory: xml/
警告
doxygenstruct: Cannot find class “esp_ble_gap_cb_param_t” in doxygen xml output for project “esp32-idf” from directory: xml/
-
struct
esp_ble_gap_cb_param_t::
ble_adv_data_cmpl_evt_param
¶ ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT.
Public Members
-
esp_bt_status_t
status
¶ Indicate the set advertising data operation success status
-
esp_bt_status_t
-
struct
esp_ble_gap_cb_param_t::
ble_scan_rsp_data_cmpl_evt_param
¶ ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT.
Public Members
-
esp_bt_status_t
status
¶ Indicate the set scan response data operation success status
-
esp_bt_status_t
-
struct
esp_ble_gap_cb_param_t::
ble_scan_param_cmpl_evt_param
¶ ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT.
Public Members
-
esp_bt_status_t
status
¶ Indicate the set scan param operation success status
-
esp_bt_status_t
-
struct
esp_ble_gap_cb_param_t::
ble_scan_result_evt_param
¶ ESP_GAP_BLE_SCAN_RESULT_EVT.
Public Members
-
esp_gap_search_evt_t
search_evt
¶ Search event type
-
esp_bd_addr_t
bda
¶ Bluetooth device address which has been searched
-
esp_bt_dev_type_t
dev_type
¶ Device type
-
esp_ble_addr_type_t
ble_addr_type
¶ Ble device address type
-
esp_ble_evt_type_t
ble_evt_type
¶ Ble scan result event type
-
int
rssi
¶ Searched device’s RSSI
-
uint8_t
ble_adv
[ESP_BLE_ADV_DATA_LEN_MAX+ESP_BLE_SCAN_RSP_DATA_LEN_MAX]¶ Received EIR
-
int
flag
¶ Advertising data flag bit
-
int
num_resps
¶ Scan result number
-
uint8_t
adv_data_len
¶ Adv data length
-
uint8_t
scan_rsp_len
¶ Scan response length
-
esp_gap_search_evt_t
-
struct
esp_ble_gap_cb_param_t::
ble_adv_data_raw_cmpl_evt_param
¶ ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT.
Public Members
-
esp_bt_status_t
status
¶ Indicate the set raw advertising data operation success status
-
esp_bt_status_t
-
struct
esp_ble_gap_cb_param_t::
ble_scan_rsp_data_raw_cmpl_evt_param
¶ ESP_GAP_BLE_SCAN_RSP_DATA_RAW_SET_COMPLETE_EVT.
Public Members
-
esp_bt_status_t
status
¶ Indicate the set raw advertising data operation success status
-
esp_bt_status_t
-
struct
esp_ble_gap_cb_param_t::
ble_adv_start_cmpl_evt_param
¶ ESP_GAP_BLE_ADV_START_COMPLETE_EVT.
Public Members
-
esp_bt_status_t
status
¶ Indicate advertising start operation success status
-
esp_bt_status_t
-
struct
esp_ble_gap_cb_param_t::
ble_scan_start_cmpl_evt_param
¶ ESP_GAP_BLE_SCAN_START_COMPLETE_EVT.
Public Members
-
esp_bt_status_t
status
¶ Indicate scan start operation success status
-
esp_bt_status_t
函数¶
-
esp_err_t
esp_ble_gap_register_callback
(esp_gap_ble_cb_t callback)¶ This function is called to occur gap event, such as scan result.
- Return
- ESP_OK : success
- other : failed
- Parameters
callback
: callback function
-
esp_err_t
esp_ble_gap_config_adv_data
(esp_ble_adv_data_t *adv_data)¶ This function is called to override the BTA default ADV parameters.
- Return
- ESP_OK : success
- other : failed
- Parameters
adv_data
: Pointer to User defined ADV data structure. This memory space can not be freed until callback of config_adv_data is received.
-
esp_err_t
esp_ble_gap_set_scan_params
(esp_ble_scan_params_t *scan_params)¶ This function is called to set scan parameters.
- Return
- ESP_OK : success
- other : failed
- Parameters
scan_params
: Pointer to User defined scan_params data structure. This memory space can not be freed until callback of set_scan_params
-
esp_err_t
esp_ble_gap_start_scanning
(uint32_t duration)¶ This procedure keep the device scanning the peer device which advertising on the air.
- Return
- ESP_OK : success
- other : failed
- Parameters
duration
: Keeping the scanning time, the unit is second.
-
esp_err_t
esp_ble_gap_stop_scanning
(void)¶ This function call to stop the device scanning the peer device which advertising on the air.
- Return
- ESP_OK : success
- other : failed
- ESP_OK : success
-
esp_err_t
esp_ble_gap_start_advertising
(esp_ble_adv_params_t *adv_params)¶ This function is called to start advertising.
- Return
- ESP_OK : success
- other : failed
- Parameters
adv_params
: pointer to User defined adv_params data structure.
-
esp_err_t
esp_ble_gap_stop_advertising
(void)¶ This function is called to stop advertising.
- Return
- ESP_OK : success
- other : failed
-
esp_err_t
esp_ble_gap_update_conn_params
(esp_ble_conn_update_params_t *params)¶ Update connection parameters, can only be used when connection is up.
- Return
- ESP_OK : success
- other : failed
- Parameters
params
: - connection update parameters
-
esp_err_t
esp_ble_gap_set_pkt_data_len
(esp_bd_addr_t remote_device, uint16_t tx_data_length)¶ This function is to set maximum LE data packet size.
- Return
- ESP_OK : success
- other : failed
-
esp_err_t
esp_ble_gap_set_rand_addr
(esp_bd_addr_t rand_addr)¶ This function set the random address for the application.
- Return
- ESP_OK : success
- other : failed
- Parameters
rand_addr
: the random address which should be setting
-
esp_err_t
esp_ble_gap_config_local_privacy
(bool privacy_enable)¶ Enable/disable privacy on the local device.
- Return
- ESP_OK : success
- other : failed
- Parameters
privacy_enable
: - enable/disable privacy on remote device.
-
esp_err_t
esp_ble_gap_set_device_name
(const char *name)¶ Set device name to the local device.
- Return
- ESP_OK : success
- other : failed
- Parameters
name
: - device name.
-
uint8_t *
esp_ble_resolve_adv_data
(uint8_t *adv_data, uint8_t type, uint8_t *length)¶ This function is called to get ADV data for a specific type.
- Return
- - ESP_OK : success
- other : failed
- Parameters
adv_data
: - pointer of ADV data which to be resolvedtype
: - finding ADV data typelength
: - return the length of ADV data not including type
-
esp_err_t
esp_ble_gap_config_adv_data_raw
(uint8_t *raw_data, uint32_t raw_data_len)¶ This function is called to set raw advertising data. User need to fill ADV data by self.
- Return
- ESP_OK : success
- other : failed
- Parameters
raw_data
: : raw advertising dataraw_data_len
: : raw advertising data length , less than 31 bytes
-
esp_err_t
esp_ble_gap_config_scan_rsp_data_raw
(uint8_t *raw_data, uint32_t raw_data_len)¶ This function is called to set raw scan response data. User need to fill scan response data by self.
- Return
- ESP_OK : success
- other : failed
- Parameters
raw_data
: : raw scan response dataraw_data_len
: : raw scan response data length , less than 31 bytes
-
esp_err_t
esp_ble_gap_set_security_param
(esp_ble_sm_param_t param_type, void *value, uint8_t len)¶ Set a GAP security parameter value. Overrides the default value.
- Return
- - ESP_OK : success
- other : failed
- Parameters
param_type
: :L the type of the param which to be setvalue
: : the param valuelen
: : the length of the param value
-
esp_err_t
esp_ble_gap_security_rsp
(esp_bd_addr_t bd_addr, bool accept)¶ Grant security request access.
- Return
- - ESP_OK : success
- other : failed
- Parameters
bd_addr
: : BD address of the peeraccept
: : accept the security request or not
-
esp_err_t
esp_ble_set_encryption
(esp_bd_addr_t bd_addr, esp_ble_sec_act_t sec_act)¶ Set a gap parameter value. Use this function to change the default GAP parameter values.
- Return
- - ESP_OK : success
- other : failed
- Parameters
bd_addr
: : the address of the peer device need to encryptionsec_act
: : This is the security action to indicate what kind of BLE security level is required for the BLE link if the BLE is supported
-
esp_err_t
esp_ble_passkey_reply
(esp_bd_addr_t bd_addr, bool accept, uint32_t passkey)¶ Reply the key value to the peer device in the lagecy connection stage.
- Return
- - ESP_OK : success
- other : failed
- Parameters
bd_addr
: : BD address of the peeraccept
: : passkey entry sucessful or declined.passkey
: : passkey value, must be a 6 digit number, can be lead by 0.
-
esp_err_t
esp_ble_confirm_reply
(esp_bd_addr_t bd_addr, bool accept)¶ Reply the comfirm value to the peer device in the lagecy connection stage.
- Return
- - ESP_OK : success
- other : failed
- Parameters
bd_addr
: : BD address of the peer deviceaccept
: : numbers to compare are the same or different.