XFusion API v1.3.0
载入中...
搜索中...
未找到

xf_wifi ap. 更多...

ap 的协作图:

函数

xf_err_t xf_wifi_ap_init (const xf_wifi_ap_cfg_t *p_cfg)
 启用 wifi AP 模式.
 
xf_err_t xf_wifi_ap_deinit (void)
 反初始化 wifi AP 模式, 并且释放相关资源.
 
xf_err_t xf_wifi_ap_get_netif (xf_netif_t *p_netif_hdl)
 获取 AP 的 netif 句柄.
 
xf_err_t xf_wifi_ap_set_cb (xf_wifi_cb_t cb_func, void *user_args)
 AP 设置 wifi 事件回调函数.
 
xf_err_t xf_wifi_ap_set_ip_cb (xf_ip_cb_t cb_func, void *user_args)
 AP 设置 ip 事件回调函数.
 
xf_err_t xf_wifi_ap_get_sta_list (xf_wifi_sta_info_t sta_array[], uint32_t sta_array_size, uint32_t *p_sta_num)
 获取 AP 已连接的 STA 列表.
 
xf_err_t xf_wifi_ap_deauth_sta (const uint8_t mac[])
 断开已连接到 AP 的指定 STA.
 

详细描述

xf_wifi ap.

函数说明

◆ xf_wifi_ap_init()

xf_err_t xf_wifi_ap_init ( const xf_wifi_ap_cfg_t p_cfg)

启用 wifi AP 模式.

注解
AP 事件只能通过 xf_wifi_ap_set_cb() 设置的回调获取.
参数
[in]p_cfgAP 配置.
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • XF_ERR_INITED 已初始化
注意
函数行为约定.
  • xf_wifi_ap_init() 应在内部完成:
    • 判断是否已初始化。
      • 已初始化时返回 XF_ERR_INITED.
    • 判断参数合法性(含参数内部变量(如 xf_wifi_ap_cfg_t.ssid 长度是否为零))。
      • p_cfg 禁止为 NULL.
    • 检测内部 netif 组件是否初始化,未初始化则先初始化。
      • 不分离 netif 的原因是: 某些系统会在 wifi 组件内部完成对 netif 的注册,不需要显式初始化, 用户使用 netif 时只需 netif_find() 找到对应的网络接口即可。
      • 内部实现时需要保存对应 ap 的 netif,以供后续 xf_wifi_ap_get_netif() 使用。
    • 配置 wifi 组件为 ap 模式,根据 p_cfg 配置 wifi,后启动 ap 广播。
      • 对于不支持的配置,应当以 XF_LOGW() 输出。
    • 如果 p_cfg->p_static_ip == NULL 内部自动启用 dhcp 服务器;否则根据配置设置 ip。
示例
examples/wireless/wifi/get_started/softap/main/xf_main.c , 以及 examples/wireless/wifi/static_ip/softap/main/xf_main.c.

◆ xf_wifi_ap_deinit()

xf_err_t xf_wifi_ap_deinit ( void  )

反初始化 wifi AP 模式, 并且释放相关资源.

注解
调用反初始化之后,从 xf_wifi_ap_init() 获得的 netif_hdl 将无法使用, 需在调用 xf_wifi_ap_deinit() 后手动将 netif_hdl 置为 NULL.
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • XF_ERR_UNINIT 未初始化

◆ xf_wifi_ap_get_netif()

xf_err_t xf_wifi_ap_get_netif ( xf_netif_t p_netif_hdl)

获取 AP 的 netif 句柄.

参数
[out]p_netif_hdl传出对应的 netif 句柄, 通过该句柄可配置 IP 等信息.
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败

◆ xf_wifi_ap_set_cb()

xf_err_t xf_wifi_ap_set_cb ( xf_wifi_cb_t  cb_func,
void *  user_args 
)

AP 设置 wifi 事件回调函数.

参数
[in]cb_func回调函数, 见 xf_wifi_cb_t.
[in]user_args调用回调函数时的用户参数.
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
注解
1. 建议在启用 AP 前设置回调.
示例
examples/wireless/wifi/get_started/softap/main/xf_main.c , 以及 examples/wireless/wifi/static_ip/softap/main/xf_main.c.

◆ xf_wifi_ap_set_ip_cb()

xf_err_t xf_wifi_ap_set_ip_cb ( xf_ip_cb_t  cb_func,
void *  user_args 
)

AP 设置 ip 事件回调函数.

参数
[in]cb_func回调函数, 见 xf_ip_cb_t.
[in]user_args调用回调函数时的用户参数。
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
注解
1. 建议在启用 AP 前设置回调.
示例
examples/wireless/wifi/get_started/softap/main/xf_main.c , 以及 examples/wireless/wifi/static_ip/softap/main/xf_main.c.

◆ xf_wifi_ap_get_sta_list()

xf_err_t xf_wifi_ap_get_sta_list ( xf_wifi_sta_info_t  sta_array[],
uint32_t  sta_array_size,
uint32_t *  p_sta_num 
)

获取 AP 已连接的 STA 列表.

参数
[out]sta_arraySTA 信息列表。 sta_array 指向用于存放信息的内存。 sta_array 可以为 NULL(或者 sta_array_size 为 0), 此时仅查询已连接的 STA 个数。
sta_array_sizeSTA 信息列表最大容量(单位:个)。可以为 0.
[out]p_sta_numSTA 个数. sta_array 前 num 个有效. 不能为 NULL.
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败

◆ xf_wifi_ap_deauth_sta()

xf_err_t xf_wifi_ap_deauth_sta ( const uint8_t  mac[])

断开已连接到 AP 的指定 STA.

参数
mac已连接的 STA 的 mac 地址。
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败