一旦设置了扫描参数,就会触发ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT事件,该事件由GAP事件处理程序esp_gap_cb()处理。这个事件是用来开始扫描附近的GATT服务器 使用esp_ble_gap_start_scanning函数启动扫描,该函数接受一个表示连续扫描持续时间(以秒为单位)的参数。扫描期结束后,ESP_GAP_SEARCH_INQ_RES_EVT事件...
esp_ble_gap_set_scan_params()使用esp_ble_scan_params_t结构体进行设置 staticesp_ble_scan_params_t ble_scan_params={.scan_type=BLE_SCAN_TYPE_ACTIVE,//扫描类型.own_addr_type=BLE_ADDR_TYPE_PUBLIC,//拥有者的蓝牙设备地址类型.scan_filter_policy=BLE_SCAN_FILTER_ALLOW_ALL,//扫描过滤器设置.sca...
case ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT: { // 扫描参数设置完成事件 //the unit of the duration is second, 0 means scan permanently uint32_t duration = 0; esp_ble_gap_start_scanning(duration); break; } case ESP_GAP_BLE_SCAN_START_COMPLETE_EVT: // 扫描启动完成事件 //scan start...
static void gap_event_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param){ switch (event) { case ESP_GAP_BLE_EXT_ADV_SET_RAND_ADDR_COMPLETE_EVT: xSemaphoreGive(test_sem); ESP_LOGI(LOG_TAG, "ESP_GAP_BLE_EXT_ADV_SET_RAND_ADDR_COMPLETE_EVT, status %...
case ESP_GAP_BLE_EXT_ADV_DATA_SET_COMPLETE_EVT: // 设置广播数据完成事件 xSemaphoreGive(test_sem); ESP_LOGI(LOG_TAG, "ESP_GAP_BLE_EXT_ADV_DATA_SET_COMPLETE_EVT, status %d", param->ext_adv_data_set.status); break; case ESP_GAP_BLE_EXT_SCAN_RSP_DATA_SET_COMPLETE_EVT: ...
5.实测一直没有触发ESP_GAP_BLE_SCAN_TIMEOUT_EVT事件,也没有触发ESP_GAP_SEARCH_INQ_CMPL_EVT事件,测试若使用esp_ble_gap_start_scanning接口来扫描,超过设定时间后,会触发ESP_GAP_SEARCH_INQ_CMPL_EVT事件,但我需要使用esp_ble_gap_start_ext_scan接口...
void ble_client_appRegister(void) { esp_err_t status; char err_msg[20]; ESP_LOGI(GATTC_TAG, "register callback"); //register the scan callback function to the gap module if ((status = esp_ble_gap_register_callback(esp_gap_cb)) != ESP_OK) { ...
uint8_trsp_key = ESP_BLE_ENC_KEY_MASK | ESP_BLE_ID_KEY_MASK; 响应程序通过设置EncKey和IdKey掩码来分发LTK和IRK密钥。 定义后,使用“esp_ble_gap_set_security_param()”函数设置参数。此函数用于设置参数类型、参数值和参数长度: esp_ble_gap_set_security_param(ESP_BLE_SM_AUTHEN_REQ_MODE, &aut...
这一层是可选的,HCI主要用于2颗IC实现BLE协议栈的场合,用于贵方两者的通信协议和通信命令等 蓝牙应用协议(Bluetooth Application) 包含的层次简介 通用访问配置文件层(GAP——Generic access profile) 实际配置中常接触到的一层 GAP是对LL层有效数据包(payload)进行解析的两种方式中最简单的一种,主要用于广播、扫描、...
caseESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT: {//the unit of the duration is seconduint32_tduration =30; esp_ble_gap_start_scanning(duration);break; So, looks like it is possible to increase scan_interval more than ~10 sec? How about scan_window? I need about 30 seconds. ...