Device
Device 提供 Wi-Fi(Wireless Fidelity)STA 模式的初始化、扫描、连接、断连等基础能力,支持协议模式配置、PMF(Protected Management Frames)设置、CSI(Channel State Information)数据采集、管理帧收包回调注册、混杂模式报文接收、WoW(Wake on Wireless)模式配置、MAC 地址管理、国家码设置、PSD(Power Spectral Density)数据采集等功能。
模块公共头文件
接口清单
Functions
wifi_init
声明头文件
功能说明
- Wi-Fi 模块初始化,完成 Wi-Fi 子系统资源分配与底层驱动加载。
- 重复调用返回错误码。
前置条件
- Wi-Fi 硬件已上电就绪。
- 系统内核及 OSAL(Operating System Abstraction Layer)模块已初始化完成。
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | Wi-Fi 初始化成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_deinit
声明头文件
功能说明
- Wi-Fi 去初始化,释放 Wi-Fi 子系统资源。
- 需在 Wi-Fi 模块不再使用时调用。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
- STA/AP 接口已关闭。
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | Wi-Fi 去初始化成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_is_wifi_inited
声明头文件
功能说明
- 查询 Wi-Fi 模块是否已初始化。
- 用于其他模块判断 Wi-Fi 初始化状态。
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 1 | WiFi 已初始化 | wifi_init() 已成功调用 |
| 0 | WiFi 未初始化 | wifi_init() 未调用或未成功 |
参考案例
src/application/samples/wifi/sta_sample/sta_sample.c
wifi_sta_enable
声明头文件
功能说明
- 开启 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
声明头文件
功能说明
- 关闭 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
声明头文件
功能说明
- 查询 STA 是否已使能。
- 用于判断 STA 模式当前状态。
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 1 | STA 已使能 | wifi_sta_enable() 已成功调用 |
| 0 | STA 未使能 | wifi_sta_enable() 未调用或未成功 |
wifi_get_dev
声明头文件
功能说明
- 根据接口类型获取 Wi-Fi 设备结构体指针。
- 返回 NULL 表示设备未使能。
- 用于获取设备信息及操作句柄。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
入参
| 名称 | 参数类型 | 说明 | 约束取值范围 |
|---|---|---|---|
| iftype | wifi_iftype_t | Wi-Fi 接口类型 | wifi_iftype_t 全体成员 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 非 NULL | WiFi 设备结构体指针 | 设备已使能 |
| NULL | 设备未使能 | 设备未初始化 |
wifi_sta_set_protocol_mode
声明头文件
功能说明
- 设置 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
声明头文件
功能说明
- 获取 STA 当前协议模式。
- 返回值对应protocol_mode_enum枚举成员。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
- STA 已使能。
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| protocol_mode_enum | STA 协议模式 | 获取成功 |
wifi_sta_scan
声明头文件
功能说明
- 启动 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
声明头文件
功能说明
- 启动 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)
声明头文件
功能说明
- 设置 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
声明头文件
功能说明
- 启动 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
声明头文件
功能说明
- 强制停止 STA 全信道扫描。
- 扫描正在进行时调用此接口可中止扫描。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
- STA 已通过 wifi_sta_enable() 使能。
- 扫描正在进行中。
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | 扫描停止成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_sta_get_scan_info
声明头文件
功能说明
- 获取 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
声明头文件
功能说明
- 清空 STA 扫描结果缓存。
- 清空后无法再通过 wifi_sta_get_scan_info() 获取上次扫描结果。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
- STA 已使能。
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | 清空成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_set_channel
声明头文件
功能说明
- 设置 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
声明头文件
功能说明
- 获取 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
声明头文件
功能说明
- 发送 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
声明头文件
功能说明
- 发送 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
声明头文件
功能说明
- 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
声明头文件
功能说明
- 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
声明头文件
功能说明
- 获取 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)
声明头文件
功能说明
- 设置 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
声明头文件
功能说明
- 配置 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
声明头文件
功能说明
- 获取 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
声明头文件
功能说明
- 查询 Authentication 与 Association 帧的 status code。
- 用于诊断连接失败原因。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
- STA 已使能。
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| Status Codes value | 状态码值 | 获取成功 |
| -1 | 执行失败 | 获取失败 |
wifi_set_mgmt_frame_rx_cb
声明头文件
功能说明
- 注册管理帧收包回调函数。
- 收到管理帧后通过回调通知上层。
- 可配置上报管理帧模式。
前置条件
- 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)
声明头文件
功能说明
- 设置混杂模式(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
声明头文件
功能说明
- 注册混杂模式的收包回调函数。
- 混杂模式下收到数据帧后通过回调通知。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
- 混杂模式已通过 wifi_set_promis_mode() 开启。
入参
| 名称 | 参数类型 | 说明 | 约束取值范围 |
|---|---|---|---|
| data_cb | wifi_promis_cb | 混杂模式回调函数 | 非 NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | 注册成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_sta_fast_connect
声明头文件
功能说明
- 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
声明头文件
功能说明
- 注册 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
声明头文件
功能说明
- 去注册 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)
声明头文件
功能说明
- 在管理帧中添加用户自定义 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)
声明头文件
功能说明
- 在管理帧中删除用户自定义 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
声明头文件
功能说明
- 设置 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
声明头文件
功能说明
- 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
声明头文件
功能说明
- 开启 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
声明头文件
功能说明
- 关闭 CSI 上报。
- 停止后不再接收 CSI 数据回调。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
- CSI 已通过 wifi_csi_start() 开启。
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | CSI 上报关闭成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_set_csi_config
声明头文件
功能说明
- 配置 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
声明头文件
功能说明
- 注册 CSI 数据上报回调函数。
- CSI 数据通过回调函数上报给上层。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
入参
| 名称 | 参数类型 | 说明 | 约束取值范围 |
|---|---|---|---|
| data_cb | wifi_csi_data_cb | CSI 数据上报回调函数 | 非 NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | 注册成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_send_custom_pkt
声明头文件
功能说明
- 发送用户定制报文,报文须按照 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
声明头文件
功能说明
- 设置数据帧和管理帧的最大软件重传次数。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
入参
| 名称 | 参数类型 | 说明 | 约束取值范围 |
|---|---|---|---|
| type | uint8_t | 帧类型 | 数据帧/管理帧 |
| limit | uint8_t | 需要设置的软件最大重传次数 | 大于 0 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | 设置成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_reset_mac_phy
声明头文件
功能说明
- 复位 MAC 和 PHY 接口,解决 MAC、PHY 挂死问题。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | 复位成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_set_linkloss_config
声明头文件
功能说明
- 设置 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
声明头文件
功能说明
- 设置基础 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
声明头文件
功能说明
- 获取基础 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
声明头文件
功能说明
- 设置 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
声明头文件
功能说明
- 获取 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
声明头文件
功能说明
- 设置 MAC 派生策略。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
入参
| 名称 | 参数类型 | 说明 | 约束取值范围 |
|---|---|---|---|
| ptr | wifi_mac_derivation_ptr | 派生方法指针 | 非 NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | 设置成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_set_low_current_boot_mode
声明头文件
功能说明
- 设置低启动电流模式。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
入参
| 名称 | 参数类型 | 说明 | 约束取值范围 |
|---|---|---|---|
| flag | uint8_t | 模式设置 | 0:关闭; 1:开启。 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | 设置成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_get_country_code
声明头文件
功能说明
- 获取国家码。
前置条件
- 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
声明头文件
功能说明
- 设置国家码。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
入参
| 名称 | 参数类型 | 说明 | 约束取值范围 |
|---|---|---|---|
| country_code | const int8_t* | 国家码 | 非 NULL |
| len | uint8_t | 国家码数组长度 | 大于 0 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | 设置成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_sta_set_pm
声明头文件
功能说明
- 设置低功耗模式。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
- STA 已通过 wifi_sta_enable() 使能。
入参
| 名称 | 参数类型 | 说明 | 约束取值范围 |
|---|---|---|---|
| ps_switch | uint8_t | 低功耗模式 | 0:关闭; 1:开启。 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | 设置成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_set_sdp_mode
声明头文件
功能说明
- 设置 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)
声明头文件
功能说明
- 设置 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
声明头文件
功能说明
- 设置 PSD 模式。
前置条件
- Wi-Fi 已通过 wifi_init() 初始化完成。
入参
| 名称 | 参数类型 | 说明 | 约束取值范围 |
|---|---|---|---|
| psd_option | ext_psd_option_param* | PSD 参数 | 非 NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | 设置成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_set_psd_cb
声明头文件
功能说明
- 设置 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
声明头文件
功能说明
- 配置 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
声明头文件
功能说明
- 用户注册的回调函数,用于处理 CSI 上报的数据。
使用说明
| 名称 | 参数类型 | 说明 | 约束取值范围 |
|---|---|---|---|
| csi_data | uint8_t* | 4 字节扩展时间戳+758 字节 64 位小端存储格式的 CSI 数据 | 非 NULL |
| len | int32_t | 数据长度,固定为 762 字节 | 762 |
返回值
无(void)
wifi_promis_cb
声明头文件
功能说明
- 混杂模式收包回调接口定义。
使用说明
| 名称 | 参数类型 | 说明 | 约束取值范围 |
|---|---|---|---|
| recv_buf | void* | 帧数据 | 非 NULL |
| frame_len | int32_t | 帧长度 | 大于 0 |
| rssi | int8_t | 信号强度 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | 处理成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_rx_mgmt_cb
声明头文件
功能说明
- 管理帧收包回调接口定义。
使用说明
| 名称 | 参数类型 | 说明 | 约束取值范围 |
|---|---|---|---|
| recv_buf | void* | 帧数据 | 非 NULL |
| frame_len | int32_t | 帧长度 | 大于 0 |
| rssi | int8_t | 信号强度 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | 处理成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_psd_cb
声明头文件
功能说明
- PSD 数据上报回调接口定义。
使用说明
| 名称 | 参数类型 | 说明 | 约束取值范围 |
|---|---|---|---|
| recv_buf | void* | PSD 数据 | 非 NULL |
| data_len | uint32_t | PSD 数据长度 | 大于 0 |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC:0 | 执行成功 | 处理成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
wifi_scan_no_save_cb
声明头文件
功能说明
- 定制化扫描回调函数。
使用说明
| 名称 | 参数类型 | 说明 | 约束取值范围 |
|---|---|---|---|
| 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);
声明头文件
功能说明
- 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
声明头文件
功能说明
- 错误码定义,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;
声明头文件
功能说明
- 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;
声明头文件
功能说明
- 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
声明头文件
功能说明
- 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;
声明头文件
功能说明
- 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;
声明头文件
功能说明
- 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;
声明头文件
功能说明
- 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;
声明头文件
功能说明
- 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;
声明头文件
功能说明
- 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
声明头文件
功能说明
- IP(Internet Protocol)的分配类型。
使用说明
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| STATIC_IP | 0 | 静态 IP 地址 |
| DHCP(Dynamic Host Configuration Protocol) | 1 | 由 DHCP 动态分配的 IP 地址 |
| UNKNOWN | 2 | 未知的 IP 地址类型 |
wifi_wpa_psk_type_enum
声明头文件
功能说明
- 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;
声明头文件
功能说明
- 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;
声明头文件
功能说明
- 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;
声明头文件
功能说明
- 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;
声明头文件
功能说明
- 连接到指定 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;
声明头文件
功能说明
- 扫描参数的设置。
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| 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;
声明头文件
功能说明
- 扫描策略设置。
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| 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;
声明头文件
功能说明
- 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;
声明头文件
功能说明
- 快速连接的参数设置。
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| 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;
声明头文件
功能说明
- 混杂模式报文接收过滤设置。
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| 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;
声明头文件
功能说明
- 设置 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;
声明头文件
功能说明
- 设置 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;
声明头文件
功能说明
- 有关连接到此 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;
声明头文件
功能说明
- 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;
声明头文件
功能说明
- 指向用于 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;
声明头文件
功能说明
- 返回与 AP 相连的 STA 信息。
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| mac_addr | uint8_t[WIFI_MAC_LEN] | MAC 地址 |
| rssi | int8_t | RSSI |
| rsv | int8_t | 保留字段 |
| best_rate | uint32_t | SoftAP 上一次接收相连的 Station 报文最佳发送速率值(kbps) |