跳转至

Device

Device 提供 Wi-Fi(Wireless Fidelity)STA 模式的初始化、扫描、连接、断连等基础能力,支持协议模式配置、PMF(Protected Management Frames)设置、CSI(Channel State Information)数据采集、管理帧收包回调注册、混杂模式报文接收、WoW(Wake on Wireless)模式配置、MAC 地址管理、国家码设置、PSD(Power Spectral Density)数据采集等功能。

模块公共头文件

#include "middleware/services/wifi/wifi_device.h"

接口清单

接口名称 功能简述
wifi_init WiFi 初始化
wifi_deinit WiFi 去初始化
wifi_is_wifi_inited 获取 WiFi 初始化状态
wifi_sta_enable 开启 STA
wifi_sta_disable 关闭 STA
wifi_is_sta_enabled 获取 STA 使能状态
wifi_get_dev 获取 WiFi 设备结构体指针
wifi_sta_set_protocol_mode 设置 STA 协议模式
wifi_sta_get_protocol_mode 获取 STA 协议模式
wifi_sta_scan STA 全信道基础扫描
wifi_sta_scan_advance STA 带特定参数的扫描
wifi_sta_set_scan_policy 设置 STA 扫描策略
wifi_raw_scan STA 带特定参数的原始扫描
wifi_sta_scan_stop 强制停止 STA 扫描
wifi_sta_get_scan_info 获取 STA 扫描结果
wifi_sta_scan_result_clear 清空 STA 扫描结果
wifi_set_channel 设置 WiFi 信道
wifi_get_channel 获取 WiFi 信道
wifi_sta_wnm_bss_query 发送 BSS 查询报文
wifi_sta_wnm_notify 发送 WNM 通知报文
wifi_sta_connect STA 连接网络
wifi_sta_disconnect STA 断开网络连接
wifi_sta_get_ap_info 获取 STA 连接的 AP 信息
wifi_sta_set_reconnect_policy 设置 STA 重连策略
wifi_sta_set_pmf_mode 设置 STA 的 PMF 模式
wifi_sta_get_pmf_mode 获取 STA 的 PMF 模式
wifi_sta_get_connect_status_code 获取 STA 连接状态码
wifi_set_mgmt_frame_rx_cb 注册管理帧收包回调
wifi_set_promis_mode 设置混杂模式
wifi_set_promis_rx_pkt_cb 注册混杂模式收包回调
wifi_sta_fast_connect STA 快速连接网络
wifi_register_event_cb 注册 WiFi 事件回调
wifi_unregister_event_cb 去注册 WiFi 事件回调
wifi_set_app_ie 在管理帧中添加用户 IE
wifi_del_app_ie 在管理帧中删除用户 IE
wifi_set_wow_pattern 设置 WoW Pattern 模式
wifi_set_wow_sleep_mode 设置 WoW 休眠使能
wifi_csi_start 开启 CSI 上报
wifi_csi_stop 关闭 CSI 上报
wifi_set_csi_config 配置 CSI 参数
wifi_register_csi_report_cb 注册 CSI 数据上报回调
wifi_send_custom_pkt 发送用户定制报文
wifi_set_pkt_retry_policy 设置帧最大软件重传次数
wifi_reset_mac_phy 复位 MAC 和 PHY 接口
wifi_set_linkloss_config 设置 Linkloss 参数
wifi_set_base_mac_addr 设置基础 MAC 地址
wifi_get_base_mac_addr 获取基础 MAC 地址
wifi_softap_set_mac_addr 设置 SoftAP MAC 地址
wifi_softap_get_mac_addr 获取 SoftAP MAC 地址
wifi_set_mac_derivation_ptr 设置 MAC 派生策略回调
wifi_set_low_current_boot_mode 设置低启动电流模式
wifi_get_country_code 获取国家码
wifi_set_country_code 设置国家码
wifi_sta_set_pm 设置 STA 低功耗模式
wifi_set_sdp_mode 设置 SDP 模式
wifi_set_sdp_subscribe 设置 SDP 订阅
wifi_set_psd_mode 设置 PSD 模式
wifi_set_psd_cb 设置 PSD 数据上报回调
wifi_sta_config_probe_req_max_times 配置 STA beacon miss 后 probe request 最大发送次数

Functions

wifi_init

errcode_t wifi_init(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • Wi-Fi 模块初始化,完成 Wi-Fi 子系统资源分配与底层驱动加载。
  • 重复调用返回错误码。

前置条件

  • Wi-Fi 硬件已上电就绪。
  • 系统内核及 OSAL(Operating System Abstraction Layer)模块已初始化完成。

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 Wi-Fi 初始化成功
Other 其他错误码,参考errcode_t 执行失败

wifi_deinit

errcode_t wifi_deinit(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • Wi-Fi 去初始化,释放 Wi-Fi 子系统资源。
  • 需在 Wi-Fi 模块不再使用时调用。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA/AP 接口已关闭。

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 Wi-Fi 去初始化成功
Other 其他错误码,参考errcode_t 执行失败

wifi_is_wifi_inited

int32_t wifi_is_wifi_inited(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 查询 Wi-Fi 模块是否已初始化。
  • 用于其他模块判断 Wi-Fi 初始化状态。

返回值

返回值 文字含义 触发场景
1 WiFi 已初始化 wifi_init() 已成功调用
0 WiFi 未初始化 wifi_init() 未调用或未成功

参考案例

  • src/application/samples/wifi/sta_sample/sta_sample.c

wifi_sta_enable

errcode_t wifi_sta_enable(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 开启 STA 模式。
  • 使能后可进行扫描、连接等 STA 操作。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 未使能。

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 STA 使能成功
Other 其他错误码,参考errcode_t 执行失败

参考案例

  • src/application/samples/wifi/sta_sample/sta_sample.c

wifi_sta_disable

errcode_t wifi_sta_disable(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 关闭 STA 模式。
  • 关闭后 STA 相关功能不可用。

前置条件

  • STA 已通过 wifi_sta_enable() 使能。
  • STA 已断开与 AP 的连接。

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 STA 关闭成功
Other 其他错误码,参考errcode_t 执行失败

参考案例

  • src/middleware/utils/at/at_wifi_cmd/at/at_wifi.c

wifi_is_sta_enabled

int32_t wifi_is_sta_enabled(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 查询 STA 是否已使能。
  • 用于判断 STA 模式当前状态。

返回值

返回值 文字含义 触发场景
1 STA 已使能 wifi_sta_enable() 已成功调用
0 STA 未使能 wifi_sta_enable() 未调用或未成功

wifi_get_dev

wifi_dev_t *wifi_get_dev(wifi_iftype_t iftype)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 根据接口类型获取 Wi-Fi 设备结构体指针。
  • 返回 NULL 表示设备未使能。
  • 用于获取设备信息及操作句柄。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
iftype wifi_iftype_t Wi-Fi 接口类型 wifi_iftype_t 全体成员

返回值

返回值 文字含义 触发场景
非 NULL WiFi 设备结构体指针 设备已使能
NULL 设备未使能 设备未初始化

wifi_sta_set_protocol_mode

errcode_t wifi_sta_set_protocol_mode(protocol_mode_enum mode)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置 STA 的协议模式。
  • 协议模式决定 STA 支持的 802.11 协议标准。
  • 需在 STA 使能前设置。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能。

入参

名称 参数类型 说明 约束取值范围
mode protocol_mode_enum 协议模式 protocol_mode_enum 全体成员

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_sta_get_protocol_mode

protocol_mode_enum wifi_sta_get_protocol_mode(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能。

返回值

返回值 文字含义 触发场景
protocol_mode_enum STA 协议模式 获取成功

wifi_sta_scan

errcode_t wifi_sta_scan(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 启动 STA 全信道基础扫描。
  • 扫描结果通过事件回调或 wifi_sta_get_scan_info() 获取。
  • 扫描完成触发 WIFI_STATE_AVALIABLE 事件。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已通过 wifi_sta_enable() 使能。

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 扫描启动成功
Other 其他错误码,参考errcode_t 执行失败

参考案例

  • src/application/samples/wifi/sta_sample/sta_sample.c

wifi_sta_scan_advance

errcode_t wifi_sta_scan_advance(const wifi_scan_params_stru *scan_param)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 启动 STA 带特定参数的扫描。
  • 支持指定 SSID(Service Set Identifier)、BSSID(Basic Service Set Identifier)、信道等过滤条件。
  • 扫描结果通过事件回调或 wifi_sta_get_scan_info() 获取。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已通过 wifi_sta_enable() 使能。

入参

名称 参数类型 说明 约束取值范围
scan_param const wifi_scan_params_stru * 扫描网络参数设置 非 NULL,指向有效扫描参数结构体

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 扫描启动成功
Other 其他错误码,参考errcode_t 执行失败

参考案例

  • src/middleware/utils/at/at_wifi_cmd/at/at_wifi.c

wifi_sta_set_scan_policy

errcode_t wifi_sta_set_scan_policy(wifi_if_type_enum iftype, wifi_scan_strategy_stru *scan_strategy)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置 STA 扫描策略参数。
  • 可配置每个信道停留时间、扫描 slot 数、probe req 发送次数等。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已通过 wifi_sta_enable() 使能。

入参

名称 参数类型 说明 约束取值范围
iftype wifi_if_type_enum 接口类型 wifi_if_type_enum 全体成员
scan_strategy wifi_scan_strategy_stru * 扫描策略参数配置 非 NULL,指向有效策略结构体

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_raw_scan

errcode_t wifi_raw_scan(wifi_scan_params_stru *scan_param, wifi_scan_no_save_cb cb)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 启动 STA 带特定参数的原始扫描,不经过 wpa,回调由用户指定。
  • 扫描结果通过回调函数直接返回,不保存到扫描缓存。
  • 回调入参为 wifi_scan_info_stru 类型。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已通过 wifi_sta_enable() 使能。

入参

名称 参数类型 说明 约束取值范围
scan_param wifi_scan_params_stru * 扫描网络参数设置 非 NULL
cb wifi_scan_no_save_cb 扫描完成回调函数 非 NULL

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 原始扫描启动成功
Other 其他错误码,参考errcode_t 执行失败

wifi_sta_scan_stop

errcode_t wifi_sta_scan_stop(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 强制停止 STA 全信道扫描。
  • 扫描正在进行时调用此接口可中止扫描。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已通过 wifi_sta_enable() 使能。
  • 扫描正在进行中。

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 扫描停止成功
Other 其他错误码,参考errcode_t 执行失败

wifi_sta_get_scan_info

errcode_t wifi_sta_get_scan_info(wifi_scan_info_stru *result, uint32_t *size)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 获取 STA 扫描结果。
  • 扫描结果存入 result 数组,size 返回扫描到的网络数目。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能且扫描已完成。

入参

名称 参数类型 说明 约束取值范围
size uint32_t * 扫描到的网络数目 非 NULL,输入时为缓冲区最大容量,输出时为实际数目

出参

名称 数据类型 输出说明
result wifi_scan_info_stru 扫描结果数组
size uint32_t 扫描到的网络数目

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 获取成功
Other 其他错误码,参考errcode_t 执行失败

参考案例

  • src/application/samples/wifi/sta_sample/sta_sample.c

wifi_sta_scan_result_clear

errcode_t wifi_sta_scan_result_clear(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 清空 STA 扫描结果缓存。
  • 清空后无法再通过 wifi_sta_get_scan_info() 获取上次扫描结果。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能。

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 清空成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_channel

errcode_t wifi_set_channel(wifi_if_type_enum iftype, int32_t channel)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置 Wi-Fi 工作信道。
  • 根据接口类型指定 STA 或 AP 的信道。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
iftype wifi_if_type_enum 接口类型 wifi_if_type_enum 全体成员
channel int32_t 信道号 1~14(2.4GHz)

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_get_channel

errcode_t wifi_get_channel(wifi_if_type_enum iftype, int32_t *channel)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 获取 Wi-Fi 当前工作信道。
  • 根据接口类型获取 STA 或 AP 的信道。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
iftype wifi_if_type_enum 接口类型 wifi_if_type_enum 全体成员

出参

名称 数据类型 输出说明
channel int32_t 当前工作信道号

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 获取成功
Other 其他错误码,参考errcode_t 执行失败

wifi_sta_wnm_bss_query

errcode_t wifi_sta_wnm_bss_query(int32_t reason_code, int32_t candidate_list)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 发送 BSS query 报文。
  • 用于 WNMBSS 转换管理。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能。

入参

名称 参数类型 说明 约束取值范围
reason_code int32_t 原因码 有效 reason code 值
candidate_list int32_t 候选列表标记 0 或 1

Kconfig配置

配置项 宏类型 说明 默认值
CONFIG_WNM 特性宏 支持 WNM BSS 转换管理功能 由构建目标决定

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 发送成功
Other 其他错误码,参考errcode_t 执行失败

wifi_sta_wnm_notify

errcode_t wifi_sta_wnm_notify(const char *param, uint32_t len)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 发送 WNM notify 报文。
  • 用于 WNM 通知交互。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能。

入参

名称 参数类型 说明 约束取值范围
param const char * WNM notify 参数 非 NULL
len uint32_t 参数长度 大于 0

Kconfig配置

配置项 宏类型 说明 默认值
CONFIG_WNM 特性宏 支持 WNM BSS 转换管理功能 由构建目标决定

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 发送成功
Other 其他错误码,参考errcode_t 执行失败

wifi_sta_connect

errcode_t wifi_sta_connect(const wifi_sta_config_stru *config)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • STA 发起连接网络请求。
  • 根据配置参数连接指定 AP。
  • 连接结果通过事件回调通知。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已通过 wifi_sta_enable() 使能。
  • 已完成扫描获取目标 AP 信息。

入参

名称 参数类型 说明 约束取值范围
config const wifi_sta_config_stru * 连接网络参数设置 非 NULL,指向有效连接配置结构体

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 连接请求发起成功
Other 其他错误码,参考errcode_t 执行失败

参考案例

  • src/application/samples/wifi/sta_sample/sta_sample.c

wifi_sta_disconnect

errcode_t wifi_sta_disconnect(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • STA 断开与当前连接的网络。
  • 断连结果通过事件回调通知。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能且处于已连接状态。

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 断连请求发起成功
Other 其他错误码,参考errcode_t 执行失败

参考案例

  • src/middleware/utils/at/at_wifi_cmd/at/at_wifi.c

wifi_sta_get_ap_info

errcode_t wifi_sta_get_ap_info(wifi_linked_info_stru *result)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 获取 STA 当前连接的网络状态信息。
  • 包括 SSID、BSSID、RSSI(Received Signal Strength Indicator)、连接状态等。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能。

出参

名称 数据类型 输出说明
result wifi_linked_info_stru STA 连接的 AP 信息

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 获取成功
Other 其他错误码,参考errcode_t 执行失败

参考案例

  • src/application/samples/wifi/sta_sample/sta_sample.c

wifi_sta_set_reconnect_policy

errcode_t wifi_sta_set_reconnect_policy(int32_t enable, uint32_t seconds, uint32_t period, uint32_t max_try_count)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置 STA 重连网络策略。
  • 可配置重连使能、单次超时、重连间隔、最大重连次数。
  • 断连后根据策略自动发起重连。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能。

入参

名称 参数类型 说明 约束取值范围
enable int32_t 使能重连网络 0:关闭,1:开启
seconds uint32_t 单次重连超时时间(秒) 2~65535
period uint32_t 重连间隔周期(秒) 1~65535
max_try_count uint32_t 最大重连次数 1~65535

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

参考案例

  • src/middleware/utils/at/at_wifi_cmd/at/at_wifi.c

wifi_sta_set_pmf_mode

errcode_t wifi_sta_set_pmf_mode(wifi_pmf_option_enum pmf)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 配置 STA 的 PMF 模式。
  • PMF 用于管理帧保护,增强安全性。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能。

入参

名称 参数类型 说明 约束取值范围
pmf wifi_pmf_option_enum PMF 模式 wifi_pmf_option_enum 全体成员

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_sta_get_pmf_mode

wifi_pmf_option_enum wifi_sta_get_pmf_mode(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 获取 STA 当前 PMF 设置。
  • 返回 PMF 模式枚举值。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能。

返回值

返回值 文字含义 触发场景
wifi_pmf_option_enum枚举值 PMF 模式 获取成功
WIFI_MGMT_FRAME_PROTECTION_BUTT(3) 获取失败 执行失败

wifi_sta_get_connect_status_code

int16_t wifi_sta_get_connect_status_code(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 查询 Authentication 与 Association 帧的 status code。
  • 用于诊断连接失败原因。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能。

返回值

返回值 文字含义 触发场景
Status Codes value 状态码值 获取成功
-1 执行失败 获取失败

wifi_set_mgmt_frame_rx_cb

errcode_t wifi_set_mgmt_frame_rx_cb(wifi_rx_mgmt_cb data_cb, uint8_t mode)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 注册管理帧收包回调函数。
  • 收到管理帧后通过回调通知上层。
  • 可配置上报管理帧模式。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能。

入参

名称 参数类型 说明 约束取值范围
data_cb wifi_rx_mgmt_cb 管理帧上报回调函数 非 NULL
mode uint8_t 上报管理帧模式 有效模式值

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 注册成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_promis_mode

errcode_t wifi_set_promis_mode(wifi_if_type_enum iftype, int32_t enable, const wifi_ptype_filter_stru *filter)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置混杂模式(Monitor/Promiscuous mode)。
  • 可配置接收帧类型过滤规则。
  • 开启后可接收非本地址的数据帧。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能。

入参

名称 参数类型 说明 约束取值范围
iftype wifi_if_type_enum 接口类型 wifi_if_type_enum 全体成员
enable int32_t 开启/关闭 0:关闭,1:开启
filter const wifi_ptype_filter_stru * 帧类型过滤列表 开启时非 NULL

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_promis_rx_pkt_cb

errcode_t wifi_set_promis_rx_pkt_cb(wifi_promis_cb data_cb)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 注册混杂模式的收包回调函数。
  • 混杂模式下收到数据帧后通过回调通知。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • 混杂模式已通过 wifi_set_promis_mode() 开启。

入参

名称 参数类型 说明 约束取值范围
data_cb wifi_promis_cb 混杂模式回调函数 非 NULL

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 注册成功
Other 其他错误码,参考errcode_t 执行失败

wifi_sta_fast_connect

errcode_t wifi_sta_fast_connect(const wifi_fast_connect_stru *fast_request)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • STA 快速连接网络。
  • 使用预计算的 PSK(Pre-Shared Key)和信道信息加速连接。
  • 适用于已知 AP 信息的重连场景。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能。
  • 已有目标 AP 的连接信息(含 PSK)。

入参

名称 参数类型 说明 约束取值范围
fast_request const wifi_fast_connect_stru * 快速连接网络参数 非 NULL,指向有效快速连接参数结构体

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 快速连接请求发起成功
Other 其他错误码,参考errcode_t 执行失败

wifi_register_event_cb

errcode_t wifi_register_event_cb(const wifi_event_stru *event)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 注册 Wi-Fi 事件回调函数。
  • 包括连接状态变化、扫描状态变化、AP 状态变化、STA 加入/离开等事件。
  • 注册后相关事件通过回调通知上层。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
event const wifi_event_stru * 事件回调函数结构体 非 NULL

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 注册成功
Other 其他错误码,参考errcode_t 执行失败

参考案例

  • src/application/samples/wifi/sta_sample/sta_sample.c

wifi_unregister_event_cb

errcode_t wifi_unregister_event_cb(const wifi_event_stru *event)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 去注册 Wi-Fi 事件回调函数。
  • 去注册后不再接收对应 Wi-Fi 事件通知。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • 已通过 wifi_register_event_cb() 注册回调。

入参

名称 参数类型 说明 约束取值范围
event const wifi_event_stru * 待撤销的回调函数结构体 非 NULL,与注册时一致

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 去注册成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_app_ie

errcode_t wifi_set_app_ie(wifi_if_type_enum iftype, ie_index_enmu ie_index, uint8_t frame_type_bitmap, const uint8_t *ie, uint16_t ie_len)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 在管理帧中添加用户自定义 IE。
  • 最多支持 4 个用户 IE 的插入。
  • 可指定插入 IE 的帧类型(beacon、probe request、probe response)。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
iftype wifi_if_type_enum 接口类型 wifi_if_type_enum 全体成员
ie_index ie_index_enmu IE 索引 ie_index_enmu 全体成员
frame_type_bitmap uint8_t 可插入 IE 的帧类型位图 bit0:beacon,bit1:probe request,bit2:probe response
ie const uint8_t * 用户 IE 字段内容 非 NULL
ie_len uint16_t 用户 IE 字段内容长度 大于 0

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 添加成功
Other 其他错误码,参考errcode_t 执行失败

wifi_del_app_ie

errcode_t wifi_del_app_ie(wifi_if_type_enum iftype, ie_index_enmu ie_index, uint8_t frame_type_bitmap)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 在管理帧中删除用户自定义 IE。
  • 根据索引和帧类型位图删除指定 IE。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • 已通过 wifi_set_app_ie() 添加过 IE。

入参

名称 参数类型 说明 约束取值范围
iftype wifi_if_type_enum 接口类型 wifi_if_type_enum 全体成员
ie_index ie_index_enmu IE 索引 ie_index_enmu 全体成员
frame_type_bitmap uint8_t 可删除 IE 的帧类型位图 bit0:beacon,bit1:probe request,bit2:probe response

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 删除成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_wow_pattern

errcode_t wifi_set_wow_pattern(int32_t type, uint8_t index, int8_t *pattern)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置 WoWPattern 模式。
  • 可配置 TCP/UDP 模式匹配 pattern。
  • 用于低功耗唤醒场景。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能。

入参

名称 参数类型 说明 约束取值范围
type int32_t WoW Pattern 模式 有效 pattern 类型值
index uint8_t 位置索引 有效索引值
pattern int8_t * 16 进制 TCP/UDP pattern 数据 非 NULL

Kconfig配置

配置项 宏类型 说明 默认值
_PRE_WLAN_FEATURE_WOW_OFFLOAD 特性宏 支持 WoW Offload 功能 由构建目标决定

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_wow_sleep_mode

errcode_t wifi_set_wow_sleep_mode(uint8_t en)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • WoW 休眠使能配置。
  • 仅在 STA 模式下才能使能 WoW 休眠。
  • 0 代表 WoW 休眠去使能,1 代表 WoW 休眠使能。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已使能。

入参

名称 参数类型 说明 约束取值范围
en uint8_t 使能/去使能 WoW 休眠 0:去使能,1:使能

Kconfig配置

配置项 宏类型 说明 默认值
_PRE_WLAN_FEATURE_WOW_OFFLOAD 特性宏 支持 WoW Offload 功能 由构建目标决定

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_csi_start

errcode_t wifi_csi_start(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 开启 CSI 上报。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • CSI 已通过 wifi_set_csi_config() 配置完成。
  • CSI 上报回调已通过 wifi_register_csi_report_cb() 注册。

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 CSI 上报开启成功
Other 其他错误码,参考errcode_t 执行失败

wifi_csi_stop

errcode_t wifi_csi_stop(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 关闭 CSI 上报。
  • 停止后不再接收 CSI 数据回调。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • CSI 已通过 wifi_csi_start() 开启。

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 CSI 上报关闭成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_csi_config

errcode_t wifi_set_csi_config(const int8_t *ifname, const csi_config_stru *config)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 配置 CSI 参数。
  • 包括用户 ID、白名单、帧类型过滤、上报周期等。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
ifname const int8_t * 使能 CSI 的接口名 非 NULL,如"wlan0"
config const csi_config_stru * CSI 配置参数 非 NULL

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 配置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_register_csi_report_cb

errcode_t wifi_register_csi_report_cb(wifi_csi_data_cb data_cb)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 注册 CSI 数据上报回调函数。
  • CSI 数据通过回调函数上报给上层。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
data_cb wifi_csi_data_cb CSI 数据上报回调函数 非 NULL

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 注册成功
Other 其他错误码,参考errcode_t 执行失败

wifi_send_custom_pkt

errcode_t wifi_send_custom_pkt(const wifi_if_type_enum iftype, const uint8_t *data, uint32_t len)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 发送用户定制报文,报文须按照 802.11 协议格式封装。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
iftype wifi_if_type_enum 接口类型 wifi_if_type_enum 全体成员
data const uint8_t* 待发送帧的内容 非 NULL,须按 802.11 协议格式封装
len uint32_t 待发送报文的长度 10 ~ 1400(实现边界 WIFI_SENDPKT_MIN_LEN = 10;
WIFI_SENDPKT_MAX_LEN = 1400)。

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 发送成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_pkt_retry_policy

errcode_t wifi_set_pkt_retry_policy(uint8_t type, uint8_t limit)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置数据帧和管理帧的最大软件重传次数。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
type uint8_t 帧类型 数据帧/管理帧
limit uint8_t 需要设置的软件最大重传次数 大于 0

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_reset_mac_phy

errcode_t wifi_reset_mac_phy(void)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 复位 MAC 和 PHY 接口,解决 MAC、PHY 挂死问题。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 复位成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_linkloss_config

errcode_t wifi_set_linkloss_config(linkloss_paras_stru *linkloss_paras)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置 Linkloss 的参数。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已通过 wifi_sta_enable() 使能。

入参

名称 参数类型 说明 约束取值范围
linkloss_paras linkloss_paras_stru* 设置 linkloss 相关参数 非 NULL

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_base_mac_addr

errcode_t wifi_set_base_mac_addr(const int8_t *mac_addr, uint8_t mac_len)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置基础 MAC 地址。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
mac_addr const int8_t* MAC 地址指针 非 NULL
mac_len uint8_t MAC 地址长度 WIFI_MAC_LEN(6)

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_get_base_mac_addr

errcode_t wifi_get_base_mac_addr(int8_t *mac_addr, uint8_t mac_len)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 获取基础 MAC 地址。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
mac_len uint8_t MAC 地址长度 WIFI_MAC_LEN(6)

出参

名称 数据类型 输出说明
mac_addr int8_t* 基础 MAC 地址,由调用方分配内存、函数填充

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 获取成功
Other 其他错误码,参考errcode_t 执行失败

wifi_softap_set_mac_addr

errcode_t wifi_softap_set_mac_addr(const int8_t *mac_addr, uint8_t mac_len)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置 SoftAP 的 MAC 地址。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
mac_addr const int8_t* MAC 地址指针 非 NULL
mac_len uint8_t MAC 地址长度 WIFI_MAC_LEN(6)

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_softap_get_mac_addr

errcode_t wifi_softap_get_mac_addr(int8_t *mac_addr, uint8_t mac_len)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 获取 SoftAP 的 MAC 地址。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
mac_len uint8_t MAC 地址长度 WIFI_MAC_LEN(6)

出参

名称 数据类型 输出说明
mac_addr int8_t* SoftAP 的 MAC 地址,由调用方分配内存、函数填充

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 获取成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_mac_derivation_ptr

errcode_t wifi_set_mac_derivation_ptr(wifi_mac_derivation_ptr ptr)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置 MAC 派生策略。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
ptr wifi_mac_derivation_ptr 派生方法指针 非 NULL

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_low_current_boot_mode

errcode_t wifi_set_low_current_boot_mode(uint8_t flag)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置低启动电流模式。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
flag uint8_t 模式设置 0:关闭;
1:开启。

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_get_country_code

errcode_t wifi_get_country_code(int8_t *country_code, uint8_t *len)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 获取国家码。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
len uint8_t* 国家码数组长度 非 NULL,输入时为缓冲区容量,输出时为实际长度

出参

名称 数据类型 输出说明
country_code int8_t* 国家码,由调用方分配内存、函数填充
len uint8_t* 国家码的实际长度

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 获取成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_country_code

errcode_t wifi_set_country_code(const int8_t* country_code, uint8_t len)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置国家码。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
country_code const int8_t* 国家码 非 NULL
len uint8_t 国家码数组长度 大于 0

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_sta_set_pm

errcode_t wifi_sta_set_pm(uint8_t ps_switch)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置低功耗模式。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。
  • STA 已通过 wifi_sta_enable() 使能。

入参

名称 参数类型 说明 约束取值范围
ps_switch uint8_t 低功耗模式 0:关闭;
1:开启。

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_sdp_mode

errcode_t wifi_set_sdp_mode(wifi_if_type_enum iftype, int32_t enable, int32_t ratio)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置 SDP 模式。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
iftype wifi_if_type_enum 接口类型 wifi_if_type_enum 全体成员
enable int32_t 使能开关 0:关闭;
1:开启。
ratio int32_t 比例 大于 0

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_sdp_subscribe

errcode_t wifi_set_sdp_subscribe(wifi_if_type_enum iftype, char *sdp_subscribe, int32_t local_handle)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置 SDP 订阅。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
iftype wifi_if_type_enum 接口类型 wifi_if_type_enum 全体成员
sdp_subscribe char* SDP 订阅 非 NULL
local_handle int32_t 当前句柄 有效句柄值

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_psd_mode

errcode_t wifi_set_psd_mode(ext_psd_option_param *psd_option)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置 PSD 模式。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
psd_option ext_psd_option_param* PSD 参数 非 NULL

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_set_psd_cb

errcode_t wifi_set_psd_cb(wifi_psd_cb data_cb)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 设置 PSD 回调接口。

前置条件

  • Wi-Fi 已通过 wifi_init() 初始化完成。

入参

名称 参数类型 说明 约束取值范围
data_cb wifi_psd_cb PSD 回调函数 非 NULL

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 设置成功
Other 其他错误码,参考errcode_t 执行失败

wifi_sta_config_probe_req_max_times

errcode_t wifi_sta_config_probe_req_max_times(uint8_t max_times)

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • 配置 STA beacon miss 后 probe request 最大发送次数。

入参

名称 参数类型 说明 约束取值范围
max_times uint8_t 快速连接所需的扫描次数 1 ~ 33(实现上界 WIFI_STA_SEND_PROBE_REQ_MAX = 33,拒绝 0 与超界值;头文件注释同为 [1,33])

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 成功 配置成功
Other 其他错误码,参考errcode_t 配置失败

Type definitions

wifi_csi_data_cb

typedef void (*wifi_csi_data_cb)(uint8_t *csi_data, int32_t len);

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • 用户注册的回调函数,用于处理 CSI 上报的数据。

使用说明

名称 参数类型 说明 约束取值范围
csi_data uint8_t* 4 字节扩展时间戳+758 字节 64 位小端存储格式的 CSI 数据 非 NULL
len int32_t 数据长度,固定为 762 字节 762

返回值

无(void)

wifi_promis_cb

typedef int32_t (*wifi_promis_cb)(void* recv_buf, int32_t frame_len, int8_t rssi);

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • 混杂模式收包回调接口定义。

使用说明

名称 参数类型 说明 约束取值范围
recv_buf void* 帧数据 非 NULL
frame_len int32_t 帧长度 大于 0
rssi int8_t 信号强度 -

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 处理成功
Other 其他错误码,参考errcode_t 执行失败

wifi_rx_mgmt_cb

typedef int32_t (*wifi_rx_mgmt_cb)(void* recv_buf, int32_t frame_len, int8_t rssi);

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • 管理帧收包回调接口定义。

使用说明

名称 参数类型 说明 约束取值范围
recv_buf void* 帧数据 非 NULL
frame_len int32_t 帧长度 大于 0
rssi int8_t 信号强度 -

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 处理成功
Other 其他错误码,参考errcode_t 执行失败

wifi_psd_cb

typedef int32_t (*wifi_psd_cb)(void *recv_buf, uint32_t data_len);

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • PSD 数据上报回调接口定义。

使用说明

名称 参数类型 说明 约束取值范围
recv_buf void* PSD 数据 非 NULL
data_len uint32_t PSD 数据长度 大于 0

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 处理成功
Other 其他错误码,参考errcode_t 执行失败

wifi_scan_no_save_cb

typedef void (*wifi_scan_no_save_cb)(wifi_scan_info_stru *scan_result);

声明头文件

#include "include/middleware/services/wifi/wifi_scan_info.h"

功能说明

  • 定制化扫描回调函数。

使用说明

名称 参数类型 说明 约束取值范围
scan_result wifi_scan_info_stru* 扫描结果 非 NULL

返回值

无(void)

wifi_mac_derivation_ptr

typedef unsigned int(*wifi_mac_derivation_ptr)(unsigned char *origin_mac, unsigned char num, unsigned char type, unsigned char *output_mac, unsigned char out_put_num);

声明头文件

#include "include/middleware/services/wifi/wifi_device.h"

功能说明

  • MAC 派生方法指针定义。

使用说明

名称 参数类型 说明 约束取值范围
origin_mac unsigned char* 输入 MAC 地址 非 NULL
num unsigned char 输入 MAC 地址长度 WIFI_MAC_LEN(6)
type unsigned char 派生类型 2:STA;
3:SoftAP;
7~10:P2P(Peer-to-Peer)。
output_mac unsigned char* 输出 MAC 地址 非 NULL
out_put_num unsigned char 输出 MAC 地址长度 WIFI_MAC_LEN(6)

返回值

返回值 文字含义 触发场景
ERRCODE_SUCC:0 执行成功 派生成功
Other 其他错误码,参考errcode_t 执行失败

errcode_t

typedef uint32_t errcode_t;

声明头文件

#include "include/errcode.h"

功能说明

  • 错误码定义,ERRCODE_SUCC 为 0,ERRCODE_FAIL 为 0xFFFFFFFF。

Enumerations

wifi_pmf_option_enum

typedef enum {
    WIFI_MGMT_FRAME_PROTECTION_CLOSE,
    WIFI_MGMT_FRAME_PROTECTION_OPTIONAL,
    WIFI_MGMT_FRAME_PROTECTION_REQUIRED,
    WIFI_MGMT_FRAME_PROTECTION_BUTT
} wifi_pmf_option_enum;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • PMF 管理帧保护模式类型。

使用说明

枚举成员 取值 描述
WIFI_MGMT_FRAME_PROTECTION_CLOSE 0 管理帧保护模式:关闭
WIFI_MGMT_FRAME_PROTECTION_OPTIONAL 1 管理帧保护模式:可选
WIFI_MGMT_FRAME_PROTECTION_REQUIRED 2 管理帧保护模式:必须
WIFI_MGMT_FRAME_PROTECTION_BUTT 3 枚举边界值,不可使用

wifi_if_type_enum

typedef enum {
    IFTYPE_STA,
    IFTYPE_AP,
    IFTYPE_P2P_CLIENT,
    IFTYPE_P2P_GO,
    IFTYPE_P2P_DEVICE,
    IFTYPES_BUTT
} wifi_if_type_enum;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • Wi-Fi 接口类型。

使用说明

枚举成员 取值 描述
IFTYPE_STA 0 STATION
IFTYPE_AP 1 HOTSPOT
IFTYPE_P2P_CLIENT 2 P2P CLIENT
IFTYPE_P2P_GO 3 P2P GO(Group Owner)
IFTYPE_P2P_DEVICE 4 P2P DEVICE
IFTYPES_BUTT 5 枚举边界值,不可使用

ie_index_enmu

typedef enum ie_index_enmu {
    IE_FIRST,
    IE_SECOND,
    IE_THIRD,
    IE_FORTH,
    IE_BUTT
} ie_index_enmu;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • IE 索引,有四个索引可供选择。

使用说明

枚举成员 取值 描述
IE_FIRST 0 索引 1
IE_SECOND 1 索引 2
IE_THIRD 2 索引 3
IE_FORTH 3 索引 4
IE_BUTT 4 枚举边界值,不可使用

wifi_security_enum

typedef enum wifi_security_enum {
    WIFI_SEC_TYPE_INVALID = -1,
    WIFI_SEC_TYPE_OPEN,
    WIFI_SEC_TYPE_WEP,
    WIFI_SEC_TYPE_WPA2PSK,
    WIFI_SEC_TYPE_WPA2_WPA_PSK_MIX,
    WIFI_SEC_TYPE_WPAPSK,
    WIFI_SEC_TYPE_WPA,
    WIFI_SEC_TYPE_WPA2,
    WIFI_SEC_TYPE_SAE,
    WIFI_SEC_TYPE_WPA3_WPA2_PSK_MIX,
    WIFI_SEC_TYPE_WPA3,
    WIFI_SEC_TYPE_OWE,
    WIFI_SEC_TYPE_WAPI_PSK,
    WIFI_SEC_TYPE_WAPI_CERT,
    WIFI_SEC_TYPE_WPA3_WPA2_MIX,
    WIFI_SEC_TYPE_WEP_OPEN,
    WIFI_SEC_TYPE_UNKNOWN
} wifi_security_enum;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • Wi-Fi 安全类型枚举。

使用说明

枚举成员 取值 描述
WIFI_SEC_TYPE_INVALID -1 无效安全类型
WIFI_SEC_TYPE_OPEN 0 Open
WIFI_SEC_TYPE_WEP 1 WEP(Wired Equivalent Privacy)
WIFI_SEC_TYPE_WPA2PSK 2 WPA2-Personal
WIFI_SEC_TYPE_WPA2_WPA_PSK_MIX 3 WPA-Personal 和 WPA2-Personal 混合
WIFI_SEC_TYPE_WPAPSK 4 WPA-Personal
WIFI_SEC_TYPE_WPA 5 WPA-Enterprise
WIFI_SEC_TYPE_WPA2 6 WPA2-Enterprise
WIFI_SEC_TYPE_SAE 7 SAE(Simultaneous Authentication of Equals)
WIFI_SEC_TYPE_WPA3_WPA2_PSK_MIX 8 WPA2-Personal 和 WPA3-Personal 混合
WIFI_SEC_TYPE_WPA3 9 WPA3-Enterprise
WIFI_SEC_TYPE_OWE 10 OWE
WIFI_SEC_TYPE_WAPI_PSK 11 WAPI(WLAN Authentication and Privacy Infrastructure)个人级
WIFI_SEC_TYPE_WAPI_CERT 12 WAPI 企业级
WIFI_SEC_TYPE_WPA3_WPA2_MIX 13 WPA2-Enterprise 和 WPA3-Enterprise 混合
WIFI_SEC_TYPE_WEP_OPEN 14 WEP-OPEN
WIFI_SEC_TYPE_UNKNOWN 15 其它认证类型

wifi_iftype_t

typedef enum {
    WIFI_IFTYPE_UNSPECIFIED,
    WIFI_IFTYPE_ADHOC,
    WIFI_IFTYPE_STATION = 2,
    WIFI_IFTYPE_AP = 3,
    WIFI_IFTYPE_AP_VLAN,
    WIFI_IFTYPE_WDS,
    WIFI_IFTYPE_MONITOR,
    WIFI_IFTYPE_MESH_POINT = 7,
    WIFI_IFTYPE_P2P_CLIENT,
    WIFI_IFTYPE_P2P_GO,
    WIFI_IFTYPE_P2P_DEVICE,
    WIFI_IFTYPES_BUTT
} wifi_iftype_t;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • Wi-Fi 接口类型。

使用说明

枚举成员 取值 描述
WIFI_IFTYPE_UNSPECIFIED 0 UNSPECIFIED
WIFI_IFTYPE_ADHOC 1 ADHOC
WIFI_IFTYPE_STATION 2 STATION
WIFI_IFTYPE_AP 3 HOTSPOT
WIFI_IFTYPE_AP_VLAN 4 HOTSPOT VLAN
WIFI_IFTYPE_WDS 5 WDS
WIFI_IFTYPE_MONITOR 6 MONITOR
WIFI_IFTYPE_MESH_POINT 7 MESH(Mesh Network) POINT
WIFI_IFTYPE_P2P_CLIENT 8 P2P CLIENT
WIFI_IFTYPE_P2P_GO 9 P2P GO
WIFI_IFTYPE_P2P_DEVICE 10 P2P DEVICE
WIFI_IFTYPES_BUTT 11 枚举边界值,不可使用

wifi_conn_state_enum

typedef enum {
    WIFI_DISCONNECTED,
    WIFI_CONNECTED,
    WIFI_CONNECTING,
    WIFI_CONN_STATUS_BUTT,
} wifi_conn_state_enum;

声明头文件

#include "include/middleware/services/wifi/wifi_linked_info.h"

功能说明

  • Wi-Fi 的连接状态。

使用说明

枚举成员 取值 描述
WIFI_DISCONNECTED 0 断连
WIFI_CONNECTED 1 已连接
WIFI_CONNECTING 2 连接中
WIFI_CONN_STATUS_BUTT 3 枚举边界值,不可使用

wifi_scan_type_enum

typedef enum {
    WIFI_BASIC_SCAN,
    WIFI_CHANNEL_SCAN,
    WIFI_SSID_SCAN,
    WIFI_SSID_PREFIX_SCAN,
    WIFI_BSSID_SCAN,
    STA_SCAN_BUTT
} wifi_scan_type_enum;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • Wi-Fi 扫描的类型。

使用说明

枚举成员 取值 描述
WIFI_BASIC_SCAN 0 普通扫描
WIFI_CHANNEL_SCAN 1 基于指定信道的扫描
WIFI_SSID_SCAN 2 基于指定 SSID 的扫描
WIFI_SSID_PREFIX_SCAN 3 基于指定前缀 SSID 的扫描
WIFI_BSSID_SCAN 4 基于指定 BSSID 的扫描
STA_SCAN_BUTT 5 枚举边界值,不可使用

protocol_mode_enum

typedef enum {
    WIFI_MODE_UNDEFINE,
    WIFI_MODE_11B,
    WIFI_MODE_11B_G,
    WIFI_MODE_11B_G_N,
    WIFI_MODE_11B_G_N_AX,
} protocol_mode_enum;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • SoftAP 和 Station 接口的协议模式。

使用说明

枚举成员 取值 描述
WIFI_MODE_UNDEFINE 0 未配置
WIFI_MODE_11B 1 11b
WIFI_MODE_11B_G 2 11b/g
WIFI_MODE_11B_G_N 3 11b/g/n
WIFI_MODE_11B_G_N_AX 4 11b/g/n/ax

ip_type_stru_enum

typedef enum {
    STATIC_IP,
    DHCP,
    UNKNOWN
} ip_type_stru_enum;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • IP(Internet Protocol)的分配类型。

使用说明

枚举成员 取值 描述
STATIC_IP 0 静态 IP 地址
DHCP(Dynamic Host Configuration Protocol) 1 由 DHCP 动态分配的 IP 地址
UNKNOWN 2 未知的 IP 地址类型

wifi_wpa_psk_type_enum

typedef enum {
    WIFI_WPA_PSK_NOT_USE,
} wifi_wpa_psk_type_enum;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • PSK 的类型。

使用说明

枚举成员 取值 描述
WIFI_WPA_PSK_NOT_USE 0 不用提前计算 PSK,本情况下不使用 wifi_fast_connect_stru 中的 psk

Structures

wifi_dev_t

typedef struct {
    uint32_t iftype;
    void *priv;
    uint32_t network_id;
    uint32_t ifname_len;
    char ifname[WIFI_IFNAME_MAX_SIZE + 1];
    char reserve[1];
} wifi_dev_t;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • WIFI_DEV 的相关参数。

成员说明

成员名称 数据类型 描述
iftype uint32_t IFTYPE,值参考wifi_iftype_t
priv void* priv
network_id uint32_t network_id
ifname_len uint32_t ifname_len
ifname char[WIFI_IFNAME_MAX_SIZE + 1] ifname
reserve char[1] 保留

ip_config_stru

typedef struct {
    uint32_t ip_address;
    uint32_t gateway;
    uint32_t dns_servers[WIFI_MAX_DNS_NUM];
    uint32_t netmask;
} ip_config_stru;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • IPV4 的配置。

成员说明

成员名称 数据类型 描述
ip_address uint32_t Wi-Fi device 的 IP 地址
gateway uint32_t Wi-Fi device 的 Gateway
dns_servers uint32_t[WIFI_MAX_DNS_NUM] Wi-Fi device 的 DNS(Domain Name System)服务器地址
netmask uint32_t Wi-Fi device 的子网掩码

ipv6_config_stru

typedef struct {
    uint8_t ipv6_address[WIFI_IPV6_ADDR_LEN];
    uint8_t ipv6_dns_servers[WIFI_MAX_DNS_NUM][WIFI_IPV6_DNS_LEN];
} ipv6_config_stru;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • IPV6(Internet Protocol Version 6)的配置。

成员说明

成员名称 数据类型 描述
ipv6_address uint8_t[WIFI_IPV6_ADDR_LEN] IPV6 地址
ipv6_dns_servers uint8_t[WIFI_MAX_DNS_NUM][WIFI_IPV6_DNS_LEN] DNS 服务器地址

wifi_sta_config_stru

typedef struct wifi_sta_config_stru {
    int8_t ssid[WIFI_MAX_SSID_LEN];
    uint8_t bssid[WIFI_MAC_LEN];
    int8_t pre_shared_key[WIFI_MAX_KEY_LEN];
    wifi_security_enum security_type;
    int8_t wifi_psk_type;
    int8_t strengthen_verify;
    uint8_t channel;
    int8_t rsv;
    ip_type_stru_enum ip_type;
    ip_config_stru static_ip;
    ipv6_config_stru static_ipv6;
} wifi_sta_config_stru;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • 连接到指定 Wi-Fi device 的 Wi-Fi STA 配置。

成员说明

成员名称 数据类型 描述
ssid int8_t[WIFI_MAX_SSID_LEN] SSID
bssid uint8_t[WIFI_MAC_LEN] BSSID
pre_shared_key int8_t[WIFI_MAX_KEY_LEN] 预共享密钥
security_type wifi_security_enum 安全类型
wifi_psk_type int8_t PSK 的类型
strengthen_verify int8_t 加强校验,非零值表示 open 模式下需要校验密码长度是否为 0,默认为 0 不校验
channel uint8_t 关联的指定信道号,可选参数
rsv int8_t 保留 1 字节
ip_type ip_type_stru_enum IP 的分配类型
static_ip ip_config_stru 静态 IPV4 地址
static_ipv6 ipv6_config_stru 静态 IPV6 地址

wifi_scan_params_stru

typedef struct {
    int8_t ssid[WIFI_MAX_SSID_LEN];
    int8_t ssid_len;
    int8_t bssid[WIFI_MAC_LEN];
    int32_t channel_num;
    wifi_scan_type_enum scan_type;
} wifi_scan_params_stru;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • 扫描参数的设置。

成员说明

成员名称 数据类型 描述
ssid int8_t[WIFI_MAX_SSID_LEN] SSID
ssid_len int8_t SSID 的长度
bssid int8_t[WIFI_MAC_LEN] BSSID
channel_num int32_t 信道号
scan_type wifi_scan_type_enum Wi-Fi 的扫描类型

wifi_scan_strategy_stru

typedef struct {
    uint8_t scan_time;
    uint8_t scan_cnt;
    uint8_t single_probe_send_times;
    uint8_t reserved;
} wifi_scan_strategy_stru;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • 扫描策略设置。

成员说明

成员名称 数据类型 描述
scan_time uint8_t 每个信道停留时间,单位 ms,范围 20~120ms,默认 20ms,扫描总时间不能超过 4.5s
scan_cnt uint8_t 扫描 slot 数,一个 slot 20ms
single_probe_send_times uint8_t 单个 probe req 报文的发送次数,范围 1~3,默认 1
reserved uint8_t 保留

csi_config_stru

typedef struct {
    uint8_t user_index;
    uint8_t enable;
    uint8_t match_ta_ra_select;
    uint8_t resv;
    uint8_t mac_addr[WIFI_MAC_LEN];
    uint8_t frame_filter_bitmap;
    uint8_t sub_type_filter_enable;
    uint8_t sub_type_filter;
    uint8_t ppdu_filter_bitmap;
    uint16_t period;
} csi_config_stru;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • CSI 的配置。

成员说明

成员名称 数据类型 描述
user_index uint8_t 用户 ID,取值范围 0~3,最多 4 个用户
enable uint8_t CSI 白名单用户开关
match_ta_ra_select uint8_t CSI 白名单地址过滤类型,0:RA / 1:TA。
resv uint8_t 保留 1 字节对齐
mac_addr uint8_t[WIFI_MAC_LEN] MAC 地址
frame_filter_bitmap uint8_t 帧类型过滤具体参数
sub_type_filter_enable uint8_t 帧子类型过滤开关
sub_type_filter uint8_t 帧子类型过滤具体参数
ppdu_filter_bitmap uint8_t PPDU format 过滤具体参数
period uint16_t CSI 上报时间间隔

wifi_fast_connect_stru

typedef struct wifi_fast_connect_stru {
    wifi_sta_config_stru config;
    uint8_t psk[WIFI_PSK_LEN];
    wifi_wpa_psk_type_enum psk_flag;
    uint8_t channel_num;
} wifi_fast_connect_stru;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • 快速连接的参数设置。

成员说明

成员名称 数据类型 描述
config wifi_sta_config_stru 连接到指定 Wi-Fi device 的 Wi-Fi STA 配置
psk uint8_t[WIFI_PSK_LEN] PSK
psk_flag wifi_wpa_psk_type_enum PSK 的标志,不需指定时置 0
channel_num uint8_t 信道号

wifi_ptype_filter_stru

typedef struct {
    int8_t mdata_en  : 1;
    int8_t udata_en  : 1;
    int8_t mmngt_en  : 1;
    int8_t umngt_en  : 1;
    int8_t custom_en : 1;
    int8_t resvd     : 3;
} wifi_ptype_filter_stru;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • 混杂模式报文接收过滤设置。

成员说明

成员名称 数据类型 描述
mdata_en int8_t:1 使能接收组播(广播)数据包
udata_en int8_t:1 使能接收单播数据包
mmngt_en int8_t:1 使能接收组播(广播)管理包
umngt_en int8_t:1 使能接收单播管理包
custom_en int8_t:1 使能接收 beacon/probe request 包
resvd int8_t:3 保留字段

linkloss_paras_stru

typedef struct {
    uint16_t linkloss_threshold;
    uint8_t send_probe_request_ratio;
    uint8_t resv[1];
} linkloss_paras_stru;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • 设置 linkloss 相关参数。

成员说明

成员名称 数据类型 描述
linkloss_threshold uint16_t 取值范围[50, 500],设置为 n 时,表示 linkloss 阈值基础时间为(100*n)ms
send_probe_request_ratio uint8_t 取值范围[1, 10],设置为 n 时,表示 linkloss 计数达到阈值的(n/10)时,开始发送探测帧保活
resv uint8_t[1] 保留

ext_psd_option_param

typedef struct {
    uint8_t enable;
    uint8_t resv;
    uint16_t duration;
    uint32_t cycle;
} ext_psd_option_param;

声明头文件

#include "include/middleware/services/wifi/wifi_device_config.h"

功能说明

  • 设置 PSD 状态。

成员说明

成员名称 数据类型 描述
enable uint8_t PSD 使能标记,0:关 / 1:开。
resv uint8_t 保留
duration uint16_t 采样时长,取值 1~65535,单位 min
cycle uint32_t 采样间隔,单位 ms,取值 100~1000

wifi_linked_info_stru

typedef struct {
    int8_t ssid[WIFI_MAX_SSID_LEN];
    uint8_t bssid[WIFI_MAC_LEN];
    int8_t wpa_state;
    int32_t rssi;
    int32_t channel_num;
    int32_t snr;
    wifi_conn_state_enum conn_state;
} wifi_linked_info_stru;

声明头文件

#include "include/middleware/services/wifi/wifi_linked_info.h"

功能说明

  • 有关连接到此 STA 的 AP 信息。

成员说明

成员名称 数据类型 描述
ssid int8_t[WIFI_MAX_SSID_LEN] SSID
bssid uint8_t[WIFI_MAC_LEN] BSSID
wpa_state int8_t 断连时 WPA(Wi-Fi Protected Access)状态
rssi int32_t RSSI
channel_num int32_t AP 的 Wi-Fi 信道信息
snr int32_t AP 的 Wi-Fi 信噪比信息
conn_state wifi_conn_state_enum Wi-Fi 的连接状态

wifi_scan_info_stru

typedef struct {
    char ssid[WIFI_MAX_SSID_LEN];
    uint8_t bssid[WIFI_MAC_LEN];
    int8_t reserved;
    wifi_security_enum security_type;
    int32_t rssi;
    int32_t band;
    int32_t channel_num;
} wifi_scan_info_stru;

声明头文件

#include "include/middleware/services/wifi/wifi_scan_info.h"

功能说明

  • Wi-Fi 扫描结果信息。

成员说明

成员名称 数据类型 描述
ssid char[WIFI_MAX_SSID_LEN] SSID
bssid uint8_t[WIFI_MAC_LEN] BSSID
reserved int8_t 保留字段
security_type wifi_security_enum 安全类型
rssi int32_t 信号强度
band int32_t 频带
channel_num int32_t 信道号

wifi_event_stru

typedef struct {
    void (*wifi_event_connection_changed)(int32_t state, const wifi_linked_info_stru *info, int32_t reason_code);
    void (*wifi_event_scan_state_changed)(int32_t state, int32_t size);
    void (*wifi_event_softap_state_changed)(int32_t state);
    void (*wifi_event_softap_sta_join)(const wifi_sta_info_stru *info);
    void (*wifi_event_softap_sta_leave)(const wifi_sta_info_stru *info);
    void (*wifi_event_p2p_receive_connect)(const uint8_t *bssid, int8_t wps_method);
    void (*wifi_event_p2p_go_neg_result)(int32_t state, int32_t mode);
    void (*wifi_event_p2p_go_start)(int32_t state);
    void (*wifi_event_p2p_invitation_result)(int32_t state);
    void (*wifi_event_p2p_gc_connection_changed)(int32_t state, const p2p_status_info_stru *status);
    void (*wifi_event_p2p_go_connection_changed)(int32_t state, const p2p_client_info_stru *client);
    void (*wifi_event_wps_result)(int32_t state, wifi_if_type_enum wifi_if_type);
} wifi_event_stru;

声明头文件

#include "include/middleware/services/wifi/wifi_event.h"

功能说明

  • 指向用于 STA 和 Hotspot 连接、断开连接或扫描的 Wi-Fi 事件回调的指针。

成员说明

成员名称 数据类型 描述
wifi_event_connection_changed void(*)(int32_t, const wifi_linked_info_stru*, int32_t) 连接状态改变回调
wifi_event_scan_state_changed void(*)(int32_t, int32_t) 扫描状态改变回调
wifi_event_softap_state_changed void(*)(int32_t) Hotspot 状态改变回调
wifi_event_softap_sta_join void(*)(const wifi_sta_info_stru*) Station 连接回调
wifi_event_softap_sta_leave void(*)(const wifi_sta_info_stru*) Station 断连回调
wifi_event_p2p_receive_connect void(*)(const uint8_t*, int8_t) P2P 接收连接请求回调
wifi_event_p2p_go_neg_result void(*)(int32_t, int32_t) P2P GO 协商结果回调
wifi_event_p2p_go_start void(*)(int32_t) P2P GO 建立结果回调
wifi_event_p2p_invitation_result void(*)(int32_t) P2P 邀请结果回调
wifi_event_p2p_gc_connection_changed void(*)(int32_t, const p2p_status_info_stru*) P2P GC(Group Client)关联结果回调
wifi_event_p2p_go_connection_changed void(*)(int32_t, const p2p_client_info_stru*) P2P GO 关联结果回调
wifi_event_wps_result void(*)(int32_t, wifi_if_type_enum) WPS 关联结果回调

wifi_sta_info_stru

typedef struct {
    uint8_t mac_addr[WIFI_MAC_LEN];
    int8_t rssi;
    int8_t rsv;
    uint32_t best_rate;
} wifi_sta_info_stru;

声明头文件

#include "include/middleware/services/wifi/station_info.h"

功能说明

  • 返回与 AP 相连的 STA 信息。

成员说明

成员名称 数据类型 描述
mac_addr uint8_t[WIFI_MAC_LEN] MAC 地址
rssi int8_t RSSI
rsv int8_t 保留字段
best_rate uint32_t SoftAP 上一次接收相连的 Station 报文最佳发送速率值(kbps)