case ESP_BLUFI_EVENT_REQ_CONNECT_TO_AP:
BLUFI_INFO('BLUFI requset wifi connect to APn');
/* there is no wifi callback when the device has already connected to this wifi
so disconnect wifi before connection.
*/
esp_wifi_disconnect();
esp_wifi_connect();
break;
case ESP_BLUFI_EVENT_REQ_DISCONNECT_FROM_AP:
BLUFI_INFO('BLUFI requset wifi disconnect from APn');
esp_wifi_disconnect();
break;
case ESP_BLUFI_EVENT_REPORT_ERROR:
BLUFI_ERROR('BLUFI report error, error code %dn', param->report_error.state);
esp_blufi_send_error_info(param->report_error.state);
break;
case ESP_BLUFI_EVENT_GET_WIFI_STATUS: {
wifi_mode_t mode;
esp_blufi_extra_info_t info;
esp_wifi_get_mode(&mode);
if (gl_sta_connected) {
memset(&info, 0, sizeof(esp_blufi_extra_info_t));
memcpy(info.sta_bssid, gl_sta_bssid, 6);
info.sta_bssid_set = true;
info.sta_ssid = gl_sta_ssid;
info.sta_ssid_len = gl_sta_ssid_len;
esp_blufi_send_wifi_conn_report(mode, ESP_BLUFI_STA_CONN_SUCCESS, 0, &info);
} else {
esp_blufi_send_wifi_conn_report(mode, ESP_BLUFI_STA_CONN_FAIL, 0, NULL);
}
BLUFI_INFO('BLUFI get wifi status from APn');
break;
}
case ESP_BLUFI_EVENT_RECV_SLAVE_DISCONNECT_BLE:
BLUFI_INFO('blufi close a gatt connection');
esp_blufi_close(server_if, conn_id);
break;
case ESP_BLUFI_EVENT_DEAUTHENTICATE_STA:
/* TODO */
break;
case ESP_BLUFI_EVENT_RECV_STA_BSSID:
memcpy(sta_config.sta.bssid, param->sta_bssid.bssid, 6);
sta_config.sta.bssid_set = 1;
esp_wifi_set_config(WIFI_IF_STA, &sta_config);
BLUFI_INFO('Recv STA BSSID %sn', sta_config.sta.ssid);
break;
case ESP_BLUFI_EVENT_RECV_STA_SSID:
strncpy((char *)sta_config.sta.ssid, (char *)param->sta_ssid.ssid, param->sta_ssid.ssid_len);
sta_config.sta.ssid[param->sta_ssid.ssid_len] = ' 主站蜘蛛池模板: 岑溪市| 岑巩县| 建瓯市| 哈尔滨市| 罗城| 武义县| 泾源县| 钟祥市| 尼木县| 张掖市| 佳木斯市| 洞头县| 洛阳市| 襄城县| 乐山市| 定日县| 蒙自县| 仲巴县| 迭部县| 琼中| 康马县| 华容县| 克东县| 和顺县| 达拉特旗| 常熟市| 涟水县| 皮山县| 图木舒克市| 五指山市| 荣昌县| 沂源县| 勃利县| 肥乡县| 布尔津县| 黔西县| 崇阳县| 思茅市| 汪清县| 澎湖县| 通许县|