alg
头文件清单
接口清单
接口名称 功能简述 wifi_set_fixed_tx_rate 设置TX方向发送报文的速率模式 wifi_get_negotiated_rate 获取指定用户当前的最优速率 wifi_set_tpc_mode 设置TPC模式 wifi_set_rts_mode 设置RTS模式 wifi_set_cca_threshold 设置CCA门限 wifi_set_intrf_mode 设置抗干扰模式 wifi_get_chan_intrf_info 获取信道干扰信息
Functions
wifi_set_fixed_tx_rate
头文件清单
功能说明
- 设置TX方向发送报文的速率模式,支持固定速率或自动速率模式
- 通过auto_rate参数选择使用固定速率还是自动速率模式
- 通过alg_param指定固定速率等级值
前置条件
- WiFi模块已通过wifi_init()初始化完成,返回初始化成功状态
- alg_param指针不为NULL,且指向内存空间已申请成功
入参
名称 参数类型 详细说明 约束取值范围 auto_rate unsigned char 速率模式选择 0: 固定速率模式; 1: 自动速率模式 alg_param alg_param_stru * 速率等级参数 非NULL
返回值
- 返回类型:errcode_t
返回值 文字含义 触发场景 ERRCODE_SUCC(0x0) 执行成功 速率设置成功 Other 其他错误码,参考errcode_t 执行失败
wifi_get_negotiated_rate
头文件清单
功能说明
- 获取指定用户当前协商的最优速率
- 通过MAC地址标识目标用户
- 获取的速率值通过tx_best_rate出参返回
前置条件
- WiFi模块已通过wifi_init()初始化完成,返回初始化成功状态
- mac指针不为NULL,且指向合法的MAC地址
- tx_best_rate指针不为NULL,且指向内存空间已申请成功
入参
名称 参数类型 详细说明 约束取值范围 mac const uint8_t * 目标用户的MAC地址 非NULL mac_len int32_t MAC地址长度 - tx_best_rate uint32_t * 获取的用户最佳速率 非NULL,出参
出参
名称 数据类型 输出说明 tx_best_rate uint32_t * 用户当前协商的最优速率值
返回值
- 返回类型:errcode_t
返回值 文字含义 触发场景 ERRCODE_SUCC(0x0) 执行成功 速率获取成功 Other 其他错误码,参考errcode_t 执行失败
wifi_set_tpc_mode
头文件清单
功能说明
- 设置TPC(发射功率控制)模式
- 支持关闭动态调整、功率提升、自动调整三种模式
- 通过tpc_value参数指定TPC工作模式
前置条件
- WiFi模块已通过wifi_init()初始化完成,返回初始化成功状态
入参
名称 参数类型 详细说明 约束取值范围 tpc_value uint32_t TPC模式设置值 0: 关闭动态调整; 1: 功率提升模式; 2: 自动调整模式
返回值
- 返回类型:errcode_t
返回值 文字含义 触发场景 ERRCODE_SUCC(0x0) 执行成功 TPC模式设置成功 Other 其他错误码,参考errcode_t 执行失败
wifi_set_rts_mode
头文件清单
功能说明
- 设置RTS/CTS握手模式
- 支持自动模式、阈值模式、关闭模式三种模式
- 阈值模式下,报文长度超过pkt_length时发送RTS,未超过则不发送
前置条件
- WiFi模块已通过wifi_init()初始化完成,返回初始化成功状态
入参
名称 参数类型 详细说明 约束取值范围 mode uint8_t RTS模式设置 0: 自动模式; 1: 阈值模式(超过配置报文长度发送RTS,未超过不发); 2: 关闭模式(不发RTS) pkt_length uint16_t RTS报文长度门限 mode为1时有效
返回值
- 返回类型:errcode_t
返回值 文字含义 触发场景 ERRCODE_SUCC(0x0) 执行成功 RTS模式设置成功 Other 其他错误码,参考errcode_t 执行失败
wifi_set_cca_threshold
头文件清单
功能说明
- 设置CCA(空闲信道评估)门限值
- 支持为20M带宽或40M带宽分别设置CCA门限
- 通过mode参数指定带宽,通过threshold参数指定门限值
前置条件
- WiFi模块已通过wifi_init()初始化完成,返回初始化成功状态
入参
名称 参数类型 详细说明 约束取值范围 mode uint8_t 带宽模式选择 0: 20M; 1: 40M threshold int8_t CCA门限值 -
返回值
- 返回类型:errcode_t
返回值 文字含义 触发场景 ERRCODE_SUCC(0x0) 执行成功 CCA门限设置成功 Other 其他错误码,参考errcode_t 执行失败
wifi_set_intrf_mode
头文件清单
功能说明
- 设置抗干扰模式
- 通过enable参数使能或去使能抗干扰模式
- 通过flag参数配置抗干扰措施使能bit位
- 通过ifname指定设备名
前置条件
- WiFi模块已通过wifi_init()初始化完成,返回初始化成功状态
- ifname指针不为NULL,且指向合法的设备名
入参
名称 参数类型 详细说明 约束取值范围 ifname const char * 设备名 非NULL enable uint8_t 是否使能抗干扰模式 0: 去使能; 1: 使能 flag uint16_t 抗干扰措施使能bit配置 -
返回值
- 返回类型:errcode_t
返回值 文字含义 触发场景 ERRCODE_SUCC(0x0) 执行成功 抗干扰模式设置成功 Other 其他错误码,参考errcode_t 执行失败
Kconfig配置
配置项 宏类型 说明 默认值 _PRE_WLAN_FEATURE_INTRF_MODE 功能宏 支持抗干扰模式接口功能 y
参考案例
- src/middleware/utils/at/at_wifi_cmd/at/at_wifi.c#wifi_set_intrf_mode
wifi_get_chan_intrf_info
头文件清单
功能说明
- 获取WiFi信道干扰信息
- 通过info出参返回信道干扰信息列表
- info_len同时作为入参和出参,入参时指定信道列表最大数量,出参时返回实际信道数量
前置条件
- WiFi模块已通过wifi_init()初始化完成,返回初始化成功状态
- info指针不为NULL,且指向内存空间已申请成功,长度不小于info_len指定值
- info_len指针不为NULL,且指向内存空间已申请成功
入参
名称 参数类型 详细说明 约束取值范围 info_len uint8_t * 信道列表最大数量 非NULL,入参时指定最大数量,出参时返回实际数量
出参
名称 数据类型 输出说明 info wifi_channel_info_t * 干扰信息信道列表 info_len uint8_t * 信道列表的实际数量
返回值
- 返回类型:errcode_t
返回值 文字含义 触发场景 ERRCODE_SUCC(0x0) 执行成功 信道干扰信息获取成功 Other 其他错误码,参考errcode_t 执行失败
参考案例
- src/middleware/utils/at/at_wifi_cmd/at/at_wifi.c#wifi_get_chan_intrf_info
Type definitions
errcode_t
使用说明:作为alg模块所有接口的返回值类型使用
Enumerations
无
Structures
alg_param_stru
成员说明:
成员名称 数据类型 描述 rate_value uint32_t 固定速率值
wifi_channel_info_t
typedef struct {
int16_t noise;
uint16_t busy_ratio;
uint16_t CCI;
uint8_t channel;
uint8_t resv;
} wifi_channel_info_t;
成员说明:
成员名称 数据类型 描述 noise int16_t 噪声值 busy_ratio uint16_t 信道忙碌比率 CCI uint16_t 同频干扰值 channel uint8_t 信道号 resv uint8_t 保留字段