TuyaOS
tkl_wifi.h
浏览该文件的文档.
1
10#ifndef __TKL_WIFI_H__
11#define __TKL_WIFI_H__
12
13#include "tuya_cloud_types.h"
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19/* tuya sdk definition of wifi ap info */
20#define WIFI_SSID_LEN 32 // tuya sdk definition WIFI SSID MAX LEN
21#define WIFI_PASSWD_LEN 64 // tuya sdk definition WIFI PASSWD MAX LEN
22
23typedef struct
24{
25 UCHAR_T channel;
26 SCHAR_T rssi;
27 UCHAR_T bssid[6];
28 UCHAR_T ssid[WIFI_SSID_LEN+1];
29 UCHAR_T s_len;
30 UCHAR_T security; //refer to WF_AP_AUTH_MODE_E
31 UCHAR_T resv1;
32 UINT8_T data_len;
33 UINT8_T data[0];
34}AP_IF_S;
35
36typedef enum {
37 COUNTRY_CODE_CN,
38 COUNTRY_CODE_US,
39 COUNTRY_CODE_JP,
40 COUNTRY_CODE_EU
41} COUNTRY_CODE_E;
42
43/* tuya sdk definition of wifi function type */
44typedef enum
45{
48}WF_IF_E;
49
50/* tuya sdk definition of wifi encryption type */
51typedef enum
52{
58 WAAM_WPA_WPA3_SAE,
59 WAAM_UNKNOWN, //unknown
61
62
63/* tuya sdk definition of wifi work mode */
64typedef enum
65{
73
74/* tuya sdk definition of ap config info */
75typedef struct {
76 UCHAR_T ssid[WIFI_SSID_LEN+1];
77 UCHAR_T s_len;
78 UCHAR_T passwd[WIFI_PASSWD_LEN+1];
79 UCHAR_T p_len;
80 UCHAR_T chan;
82 UCHAR_T ssid_hidden;
83 UCHAR_T max_conn;
84 USHORT_T ms_interval;
87
88/* tuya sdk definition of wifi station work status */
89typedef enum {
98
99/* for fast connect*/
100typedef struct {
101 UINT_T len;
102 UCHAR_T data[0];
104
105/* tuya sdk definition of wifi event notify */
106typedef enum
107{
108 WFE_CONNECTED,
109 WFE_CONNECT_FAILED,
110 WFE_DISCONNECTED,
111}WF_EVENT_E;
112
113
114/* tuya sdk definition of wifi ioctl cmd */
115typedef enum {
116 WFI_BEACON_CMD,
117} WF_IOCTL_CMD_E;
118
126typedef VOID_T (*SNIFFER_CALLBACK)(CONST UINT8_T *buf, CONST UINT16_T len, CONST INT8_T rssi);
127
135typedef VOID_T (*WIFI_REV_MGNT_CB)(UCHAR_T *buf, UINT_T len);
136
143typedef VOID_T (*WIFI_EVENT_CB)(WF_EVENT_E event, VOID_T *arg);
144
145
153
154
167OPERATE_RET tkl_wifi_scan_ap(CONST SCHAR_T *ssid, AP_IF_S **ap_ary, UINT_T *num);
168
178
185OPERATE_RET tkl_wifi_start_ap(CONST WF_AP_CFG_IF_S *cfg);
186
192OPERATE_RET tkl_wifi_stop_ap(VOID_T);
193
200OPERATE_RET tkl_wifi_set_cur_channel(CONST UCHAR_T chan);
201
208OPERATE_RET tkl_wifi_get_cur_channel(UCHAR_T *chan);
209
220OPERATE_RET tkl_wifi_set_sniffer(CONST BOOL_T en, CONST SNIFFER_CALLBACK cb);
221
230OPERATE_RET tkl_wifi_get_ip(CONST WF_IF_E wf, NW_IP_S *ip);
231
240OPERATE_RET tkl_wifi_set_mac(CONST WF_IF_E wf, CONST NW_MAC_S *mac);
241
250OPERATE_RET tkl_wifi_get_mac(CONST WF_IF_E wf, NW_MAC_S *mac);
251
258OPERATE_RET tkl_wifi_set_work_mode(CONST WF_WK_MD_E mode);
259
267
274
281OPERATE_RET tkl_wifi_get_bssid(UCHAR_T *mac);
282
289OPERATE_RET tkl_wifi_set_country_code(CONST COUNTRY_CODE_E ccode);
290
298OPERATE_RET tkl_wifi_set_rf_calibrated(VOID_T);
299
307OPERATE_RET tkl_wifi_set_lp_mode(CONST BOOL_T enable, CONST UCHAR_T dtim);
308
315
323OPERATE_RET tkl_wifi_station_connect(CONST SCHAR_T *ssid, CONST SCHAR_T *passwd);
324
330OPERATE_RET tkl_wifi_station_disconnect(VOID_T);
331
338OPERATE_RET tkl_wifi_station_get_conn_ap_rssi(SCHAR_T *rssi);
339
340
348
349
357OPERATE_RET tkl_wifi_send_mgnt(CONST UCHAR_T *buf, CONST UINT_T len);
358
366OPERATE_RET tkl_wifi_register_recv_mgnt_callback(CONST BOOL_T enable, CONST WIFI_REV_MGNT_CB recv_cb);
367
368
376OPERATE_RET tkl_wifi_ioctl(WF_IOCTL_CMD_E cmd, VOID *args);
377
378
379#ifdef __cplusplus
380}
381#endif /* __cplusplus */
382
383#endif
384
385
386
Definition: tkl_wifi.h:24
UCHAR_T s_len
AP ssid len
Definition: tkl_wifi.h:29
UCHAR_T channel
AP channel
Definition: tkl_wifi.h:25
SCHAR_T rssi
AP rssi
Definition: tkl_wifi.h:26
Definition: tkl_wifi.h:100
UINT_T len
data len
Definition: tkl_wifi.h:101
Definition: tuya_cloud_types.h:201
Definition: tuya_cloud_types.h:208
Definition: tkl_wifi.h:75
UCHAR_T s_len
len of ssid
Definition: tkl_wifi.h:77
NW_IP_S ip
ip info for ap mode
Definition: tkl_wifi.h:85
UCHAR_T ssid_hidden
ssid hidden default:0
Definition: tkl_wifi.h:82
WF_AP_AUTH_MODE_E md
encryption type
Definition: tkl_wifi.h:81
USHORT_T ms_interval
broadcast interval default:100
Definition: tkl_wifi.h:84
UCHAR_T chan
channel. default:6
Definition: tkl_wifi.h:80
UCHAR_T p_len
len of passwd
Definition: tkl_wifi.h:79
UCHAR_T max_conn
max sta connect nums default:3
Definition: tkl_wifi.h:83
OPERATE_RET tkl_wifi_set_lp_mode(CONST BOOL_T enable, CONST UCHAR_T dtim)
set wifi lowpower mode
OPERATE_RET tkl_wifi_station_disconnect(VOID_T)
disconnect wifi from connect ap
OPERATE_RET tkl_wifi_station_connect(CONST SCHAR_T *ssid, CONST SCHAR_T *passwd)
connect wifi with ssid and passwd
VOID_T(* WIFI_REV_MGNT_CB)(UCHAR_T *buf, UINT_T len)
callback function: WIFI_REV_MGNT_CB when receive wifi management frame, notify tuyaos with this callb...
Definition: tkl_wifi.h:135
WF_AP_AUTH_MODE_E
Definition: tkl_wifi.h:52
@ WAAM_OPEN
open
Definition: tkl_wifi.h:53
@ WAAM_WPA2_PSK
WPA2—PSK
Definition: tkl_wifi.h:56
@ WAAM_WPA_WPA2_PSK
WPA/WPA2
Definition: tkl_wifi.h:57
@ WAAM_WPA_PSK
WPA—PSK
Definition: tkl_wifi.h:55
@ WAAM_WEP
WEP
Definition: tkl_wifi.h:54
VOID_T(* WIFI_EVENT_CB)(WF_EVENT_E event, VOID_T *arg)
callback function: WIFI_STATUS_CHANGE_CB when wifi connect status changed, notify tuyaos with this ca...
Definition: tkl_wifi.h:143
OPERATE_RET tkl_wifi_set_rf_calibrated(VOID_T)
do wifi calibration
OPERATE_RET tkl_wifi_station_get_conn_ap_rssi(SCHAR_T *rssi)
get wifi connect rssi
OPERATE_RET tkl_wifi_get_connected_ap_info(FAST_WF_CONNECTED_AP_INFO_T **fast_ap_info)
: get ap info for fast connect
OPERATE_RET tkl_wifi_init(WIFI_EVENT_CB cb)
set wifi station work status changed callback
OPERATE_RET tkl_wifi_ioctl(WF_IOCTL_CMD_E cmd, VOID *args)
wifi ioctl
WF_IF_E
Definition: tkl_wifi.h:45
@ WF_AP
ap type
Definition: tkl_wifi.h:47
@ WF_STATION
station type
Definition: tkl_wifi.h:46
OPERATE_RET tkl_wifi_stop_ap(VOID_T)
stop a soft ap
OPERATE_RET tkl_wifi_get_mac(CONST WF_IF_E wf, NW_MAC_S *mac)
get wifi mac info.when wifi works in ap+station mode, wifi has two macs.
OPERATE_RET tkl_wifi_station_fast_connect(CONST FAST_WF_CONNECTED_AP_INFO_T *fast_ap_info)
: fast connect
OPERATE_RET tkl_wifi_scan_ap(CONST SCHAR_T *ssid, AP_IF_S **ap_ary, UINT_T *num)
scan current environment and obtain the ap infos in current environment
OPERATE_RET tkl_wifi_set_mac(CONST WF_IF_E wf, CONST NW_MAC_S *mac)
set wifi mac info.when wifi works in ap+station mode, wifi has two macs.
OPERATE_RET tkl_wifi_start_ap(CONST WF_AP_CFG_IF_S *cfg)
start a soft ap
VOID_T(* SNIFFER_CALLBACK)(CONST UINT8_T *buf, CONST UINT16_T len, CONST INT8_T rssi)
callback function: SNIFFER_CALLBACK when wifi sniffers package from air, notify tuyaos with this call...
Definition: tkl_wifi.h:126
OPERATE_RET tkl_wifi_station_get_status(WF_STATION_STAT_E *stat)
get wifi station work status
OPERATE_RET tkl_wifi_set_country_code(CONST COUNTRY_CODE_E ccode)
set wifi country code
OPERATE_RET tkl_wifi_set_cur_channel(CONST UCHAR_T chan)
set wifi interface work channel
OPERATE_RET tkl_wifi_set_sniffer(CONST BOOL_T en, CONST SNIFFER_CALLBACK cb)
enable / disable wifi sniffer mode. if wifi sniffer mode is enabled, wifi recv from packages from the...
OPERATE_RET tkl_wifi_send_mgnt(CONST UCHAR_T *buf, CONST UINT_T len)
send wifi management
OPERATE_RET tkl_wifi_get_ip(CONST WF_IF_E wf, NW_IP_S *ip)
get wifi ip info.when wifi works in ap+station mode, wifi has two ips.
WF_WK_MD_E
Definition: tkl_wifi.h:65
@ WWM_STATIONAP
wifi work in station+ap mode
Definition: tkl_wifi.h:70
@ WWM_POWERDOWN
wifi work in powerdown mode
Definition: tkl_wifi.h:66
@ WWM_STATION
wifi work in station mode
Definition: tkl_wifi.h:68
@ WWM_SNIFFER
wifi work in sniffer mode
Definition: tkl_wifi.h:67
@ WWM_UNKNOWN
wifi work in unknown mode
Definition: tkl_wifi.h:71
@ WWM_SOFTAP
wifi work in ap mode
Definition: tkl_wifi.h:69
OPERATE_RET tkl_wifi_release_ap(AP_IF_S *ap)
release the memory malloced in <tkl_wifi_ap_scan> if needed. tuyaos will call this function when the ...
OPERATE_RET tkl_wifi_set_work_mode(CONST WF_WK_MD_E mode)
set wifi work mode
OPERATE_RET tkl_wifi_get_work_mode(WF_WK_MD_E *mode)
get wifi work mode
OPERATE_RET tkl_wifi_register_recv_mgnt_callback(CONST BOOL_T enable, CONST WIFI_REV_MGNT_CB recv_cb)
register receive wifi management callback
WF_STATION_STAT_E
Definition: tkl_wifi.h:89
@ WSS_IDLE
not connected
Definition: tkl_wifi.h:90
@ WSS_PASSWD_WRONG
passwd not match
Definition: tkl_wifi.h:92
@ WSS_NO_AP_FOUND
ap is not found
Definition: tkl_wifi.h:93
@ WSS_CONN_SUCCESS
connect wifi success
Definition: tkl_wifi.h:95
@ WSS_CONNECTING
connecting wifi
Definition: tkl_wifi.h:91
@ WSS_CONN_FAIL
connect fail
Definition: tkl_wifi.h:94
@ WSS_GOT_IP
get ip success
Definition: tkl_wifi.h:96
OPERATE_RET tkl_wifi_get_cur_channel(UCHAR_T *chan)
get wifi interface work channel
OPERATE_RET tkl_wifi_get_bssid(UCHAR_T *mac)
get wifi bssid