Documentation

Documentation

Includes

tuya_cloud_types.h

#include "tuya_cloud_types.h"
#include "tuya_cloud_types.h"

uni_network.h

#include "uni_network.h"
#include "uni_network.h"

ty_cJSON.h

#include "ty_cJSON.h"
#include "ty_cJSON.h"

Macros

Marco _APP_AGENT_H

#define _APP_AGENT_H


      

Marco FRM_GRP_OPER_ENGR

#define FRM_GRP_OPER_ENGR 0xd0
//group test

Marco FRM_GRP_CMD

#define FRM_GRP_CMD 0xd1


      

Marco lan_pro_cntl_init(wechat)

#define lan_pro_cntl_init(wechat) tuya_svc_lan_init()


      

Marco lan_pro_cntl_exit()

#define lan_pro_cntl_exit() tuya_svc_lan_exit()


      

Marco lan_pro_cntl_disable()

#define lan_pro_cntl_disable() tuya_svc_lan_disable()


      

Marco lan_pro_cntl_enable()

#define lan_pro_cntl_enable() tuya_svc_lan_enable()


      

Marco lan_dp_sata_report(data,len)

#define lan_dp_sata_report(data,len) tuya_svc_lan_dp_report(data,len)


      

Marco lan_data_report_cb(fr_type,ret_code,data,len)

#define lan_data_report_cb(fr_type,ret_code,data,len) tuya_svc_lan_data_report(fr_type,ret_code,data,len)


      

Marco lan_disconnect_all_sockets()

#define lan_disconnect_all_sockets() tuya_svc_lan_disconnect_all()


      

Marco lan_pro_cntl_get_valid_connect_cnt()

#define lan_pro_cntl_get_valid_connect_cnt() tuya_svc_lan_get_valid_connections()


      

Marco lan_pro_cntl_cfg(cfg,data)

#define lan_pro_cntl_cfg(cfg,data) tuya_svc_lan_cfg(cfg,data)


      

Marco lan_pro_cntl_unregister_cb(frame_type)

#define lan_pro_cntl_unregister_cb(frame_type) tuya_svc_lan_unregister_cb(frame_type)


      

Marco is_lan_connected()

#define is_lan_connected() (tuya_svc_lan_get_valid_connections() != 0)


      

Marco lan_pro_cntl_register_cb(frame_type,handler)

#define lan_pro_cntl_register_cb(frame_type,handler) tuya_svc_lan_register_cb(frame_type,handler)

      

Functions

Func tuya_svc_lan_init

OPERATE_RET tuya_svc_lan_init();
/**
 * @brief lan protocol init
 *
 * @param[in] wechat true/false
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func tuya_svc_lan_exit

OPERATE_RET tuya_svc_lan_exit(VOID);
/**
 * @brief lan protocol exit
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func tuya_svc_lan_disable

OPERATE_RET tuya_svc_lan_disable(VOID);
/**
 * @brief lan protocol diable
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func tuya_svc_lan_enable

OPERATE_RET tuya_svc_lan_enable(VOID);
/**
 * @brief lan protocol enable
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func tuya_svc_lan_dp_report

OPERATE_RET tuya_svc_lan_dp_report(IN CONST VOID *data, IN CONST UINT_T len);
/**
 * @brief lan dp report
 *
 * @param[in] data data buf
 * @param[in] len buf length
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func tuya_svc_lan_data_report

OPERATE_RET tuya_svc_lan_data_report(IN CONST UINT_T fr_type, IN CONST UINT_T ret_code,IN CONST BYTE_T *data, IN CONST UINT_T len);
/**
 * @brief lan dp report callback
 *
 * @param[in] fr_type refer to LAN_PRO_HEAD_APP_S
 * @param[in] ret_code refer to LAN_PRO_HEAD_APP_S
 * @param[in] data refer to LAN_PRO_HEAD_APP_S
 * @param[in] len refer to LAN_PRO_HEAD_APP_S
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func tuya_svc_lan_disconnect_all

OPERATE_RET tuya_svc_lan_disconnect_all(VOID);
/**
 * @brief disconnect all sockets
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func tuya_svc_lan_get_valid_connections

INT_T tuya_svc_lan_get_valid_connections(VOID);
/**
 * @brief get vaild connect count
 *
 * @return vaild count
 */

Func tuya_svc_lan_cfg

OPERATE_RET tuya_svc_lan_cfg(IN CONST Lan_Cfg_e cfg, IN CONST VOID * data);
/**
 * @brief lan configure
 *
 * @param[in] cfg refer to Lan_Cfg_e
 * @param[in] data buf
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func tuya_svc_lan_unregister_cb

OPERATE_RET tuya_svc_lan_unregister_cb(IN UINT_T frame_type);
/**
 * @brief unregister callback
 *
 * @param[in] frame_type refer to LAN_PRO_HEAD_APP_S
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func tuya_svc_lan_get_valid_connections

INT_T tuya_svc_lan_get_valid_connections(VOID);
/**
 * @brief judge if lan connect
 *
 * @return TRUE/FALSE
 */

Func tuya_svc_lan_register_cb

OPERATE_RET tuya_svc_lan_register_cb(IN UINT_T frame_type, IN lan_cmd_handler_cb handler);
/**
 * @brief register callback
 *
 * @param[in] frame_type refer to LAN_PRO_HEAD_APP_S
 * @param[in] frame_type refer to lan_cmd_handler_cb
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func lan_pro_cntl_register_cb

OPERATE_RET lan_pro_cntl_register_cb(UINT_T frame_type, lan_cmd_handler_cb handler);
/**
 * @brief register callback
 *
 * @param[in] frame_type refer to LAN_PRO_HEAD_APP_S
 * @param[in] frame_type refer to lan_cmd_handler_cb
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func lan_pro_cntl_unregister_cb

OPERATE_RET lan_pro_cntl_unregister_cb(UINT_T frame_type);
/**
 * @brief unregister callback
 *
 * @param[in] frame_type refer to LAN_PRO_HEAD_APP_S
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func tuya_svc_lan_get_client_num

UINT_T tuya_svc_lan_get_client_num(VOID);
/**
 * @brief get lan client number
 *
 * @return client number
 */

Func tuya_svc_lan_ext_proto_reg

OPERATE_RET tuya_svc_lan_ext_proto_reg(CONST CHAR_T *ext_lan_pro, lan_ext_protocol_handler_cb handler);
/**
 * @brief Register extend lan protocol
 *
 * @param[in] ext_lan_pro Protocol string
 * @param[in] handler Protocol handler
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func tuya_svc_lan_ext_proto_unreg

OPERATE_RET tuya_svc_lan_ext_proto_unreg(CONST CHAR_T *ext_lan_pro);
/**
 * @brief Unregister extend lan protocol
 *
 * @param[in] ext_lan_pro Protocol string
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func tuya_svc_lan_ext_proto_uninit

OPERATE_RET tuya_svc_lan_ext_proto_uninit(VOID);
/**
 * @brief uninit extend lan protocol
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func tuya_svc_lan_ext_proto_data_report

OPERATE_RET tuya_svc_lan_ext_proto_data_report(IN CONST VOID *data, IN CONST UINT_T len);
/**
 * @brief extend lan protocol data report
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Func tuya_svc_lan_register_cb

OPERATE_RET tuya_svc_lan_register_cb(IN UINT_T frame_type, IN lan_cmd_handler_cb handler);
/**
 * @brief register callback
 *
 * @param[in] frame_type refer to LAN_PRO_HEAD_APP_S
 * @param[in] frame_type refer to lan_cmd_handler_cb
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Vars

Consts

Types

Typedefs

Typedef Lan_Cfg_e;

typedef enum {
   CFG_UDP_DISCOVERY_FORCE,   // send upd discovery even if clients exceed(BOOL_T)
   CFG_UDP_EXT_CONTENT,       // deprecated(reserved for gw/ipc)
   CFG_UDP_EXT_UPDATE,        // add/update new key/value(ty_cJSON)
   CFG_UDP_EXT_DELETE,        // delete key/value(ty_cJSON)
   CFG_SET_CLT_NUM,           // set clinet number(UINT_T)
   CFG_UDP_DISCOVERY_INTERVAL, // set udp discovery interval(UINT_T, unit:s, default:5)
   CFG_REV_BUF_SIZE,          // receive buffer size(UINT, default:512)
   CFG_DEFAULT_LINKAGE,       // default lan linkage (netmgr_linkage_t)
   CFG_MAX
} Lan_Cfg_e;


      

Typedef lan_cmd_handler_cb

typedef OPERATE_RET(*lan_cmd_handler_cb)(IN CONST BYTE_T *data, OUT BYTE_T **out);
/**
 * @brief lan cmd extersion, caller will free out
 *
 * @param[in] data data
 * @param[out] out buf
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Typedef lan_ext_protocol_handler_cb

typedef OPERATE_RET(*lan_ext_protocol_handler_cb)(IN ty_cJSON *root_json);
/**
 * @brief Callback to handle lan protocol data
 *
 * @param[in] root_json Json encoded protocol data
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */