Documentation
Includes
stdint.h
#include "stdint.h"
stdbool.h
#include "stdbool.h"
pegasus_frame.h
#include "pegasus_frame.h"
tuya_cloud_wifi_defs.h
#include "tuya_cloud_wifi_defs.h"
tuya_cloud_com_defs.h
#include "tuya_cloud_com_defs.h"
tuya_iot_dev_check.h
#include "tuya_iot_dev_check.h"
wifi_netcfg_frame_sniffer.h
#include "wifi_netcfg_frame_sniffer.h"
wifi_netcfg_frame_transporter.h
#include "wifi_netcfg_frame_transporter.h"
netcfg_module.h
#include "netcfg_module.h"
wl_cfg_com.h
#include "wl_cfg_com.h"
Macros
Marco __SVC_PEGASUS_H__
#define __SVC_PEGASUS_H__
Functions
Func pegasus_server_mqc_handle
int pegasus_server_mqc_handle(ty_cJSON *root_json);
Func pegasus_server_second_start
int pegasus_server_second_start(uint32_t timeout_s);
Func pegasus_recv_data_handle_cb
int pegasus_recv_data_handle_cb(void *ptrArgs,uint8_t *buffer, uint16_t length, const int8_t rssi);
Func pegasus_server_add_device
int pegasus_server_add_device(char *token, char*uuid);
Func tuya_scan_all_ap
int tuya_scan_all_ap(AP_IF_S **ap_ary, uint8_t *num, uint8_t *oui, AP_IF_S **oui_ap);
Func pegasus_beacon_info_get
int pegasus_beacon_info_get(uint8_t *buf, uint16_t len, char rssi, AP_IF_S *ap_info);
Func pegasus_init
int pegasus_init(IN CONST fnLockChanCb lc_cb, IN CONST FN_NETCFG_CB ncf_cb, ptrWifiNetcfgFrameSniffer_t pSniffer,ptrWifiNetcfgFrameTransporter_t pTransporter);
Func pegasus_second_init
int pegasus_second_init(pegasus_second_connect_cb connect_cb, AP_IF_S *pegasus_ap);
Func pegasus_uninit
int pegasus_uninit(void);
Vars
Variable WLAN_MANAGEMENT_S
WLAN_MANAGEMENT_S *pegasus_find_oui(uint8_t *buf, int buf_len, uint8_t *oui);
Consts
Types
Typedefs
Typedef pegasus_mode_t;
typedef enum {
PEGASUS_CLIENT_MODE_FIRST,
PEGASUS_CLIENT_MODE_SECOND,
PEGASUS_SERVER_MODE_FIRST,
PEGASUS_SERVER_MODE_SECOND,
} pegasus_mode_t;
Typedef pegasus_stat_t;
typedef enum {
PEGASUS_IDLE,//0
PEGASUS_SEND_REQ,//1
PEGASUS_RECV_REQ, //2
PEGASUS_SEND_ACK, //3
PEGASUS_RECV_ACK, //4
PEGASUS_CALC_KEY,//5
PEGASUS_CHECKING,//6
PEGASUS_SEND_MQTT,//7
PEGASUS_RECV_MQTT,//8
PEGASUS_SEND_CHECK, //9
PEGASUS_RECV_CHECK,//10
PEGASUS_SEND_CFG, //11
PEGASUS_RECV_CFG, //12
PEGASUS_CONNECT,//13
} pegasus_stat_t;
Typedef pegasus_info_t;
typedef struct {
bool ack;
int count;
uint8_t dev_mac[6];
uint8_t ap_mac[6];
char pid[PRODUCT_KEY_LEN + 1];
char uuid[GW_UUID_LEN + 1];
uint8_t ra_uuid_hmac[TY_DEV_SHA256_DIGEST_SIZE];
uint8_t ra_aes [TY_DEV_RANDOM_AES_LEN];
uint8_t ra_hmac[TY_DEV_SHA256_DIGEST_SIZE];
uint8_t rb_aes[TY_DEV_RANDOM_AES_LEN];
uint8_t rb_hmac[TY_DEV_SHA256_DIGEST_SIZE];
uint8_t uuid_hmac[TY_DEV_SHA256_DIGEST_SIZE];
uint8_t key[TY_DEV_SESSION_KEY_LEN];
pegasus_stat_t stat;
pegasus_mode_t mode;
} pegasus_info_t;
Typedef fnLockChanCb
typedef void (*fnLockChanCb)(void);
Typedef pegasus_second_connect_cb
typedef int (*pegasus_second_connect_cb)(char *ssid, char *passwd);