11#ifndef _COM_PROTOCOL_H
12#define _COM_PROTOCOL_H
13#include "tuya_cloud_types.h"
14#include "tuya_cloud_com_defs.h"
20#define FR_TYPE_AP_ENCRYPTION (0x11)
21#define FR_TYPE_ENCRYPTION (0x13)
22#define FRM_AP_CFG_WF_V40 (0x14)
23#define WIFI_ERR_APP_TO_DEV (0x15)
24#define FRM_AP_CFG_GET_DEV_INFO (0x16)
25#define FRM_AP_CFG_SET_DEV_SCHEMA (0x17)
26#define FRM_AP_CFG_SET_TIME (0x18)
27#define FRM_AP_CFG_SET_ACTIVE_INFO (0x19)
28#define FRM_LAN_OTA_START (0x1A)
29#define FRM_LAN_OTA_DATA (0x1B)
30#define FRM_LAN_OTA_FINISH (0x1C)
31#define FRM_LAN_RESET (0x1D)
32#define FRM_AP_CFG_EXT_CMD (0x1E)
33#define FRM_AP_CFG_4G (0x1F)
70#define LPV35_FRAME_HEAD_SIZE 4
71#define LPV35_FRAME_VERSION_SIZE 1
72#define LPV35_FRAME_RESERVE_SIZE 1
73#define LPV35_FRAME_SEQUENCE_SIZE 4
74#define LPV35_FRAME_TYPE_SIZE 4
75#define LPV35_FRAME_DATALEN_SIZE 4
76#define LPV35_FRAME_NONCE_SIZE 12
77#define LPV35_FRAME_TAG_SIZE 16
78#define LPV35_FRAME_TAIL_SIZE 4
80#define LPV35_FRAME_MINI_SIZE (LPV35_FRAME_HEAD_SIZE + LPV35_FRAME_VERSION_SIZE + LPV35_FRAME_RESERVE_SIZE + \
81 LPV35_FRAME_SEQUENCE_SIZE + LPV35_FRAME_TYPE_SIZE + LPV35_FRAME_DATALEN_SIZE + LPV35_FRAME_NONCE_SIZE + \
82 LPV35_FRAME_TAG_SIZE + LPV35_FRAME_TAIL_SIZE)
108#define APP_KEY_LEN 16
120OPERATE_RET
parse_data_with_cmd(IN CONST DP_CMD_TYPE_E cmd, IN BYTE_T *data, IN CONST INT_T len, OUT CHAR_T **out_data);
135 IN CONST UINT_T pro, IN CONST UINT_T num, \
136 OUT BYTE_T **out, OUT UINT_T *out_len);
158 IN CONST INT_T len, IN CONST CHAR_T *key, OUT CHAR_T **out_data);
175 IN CONST UINT_T pro, IN CONST UINT_T num, IN UINT_T from, IN BYTE_T *key, \
176 OUT CHAR_T **out, OUT UINT_T *out_len);
189 IN CONST BYTE_T *key, OUT CHAR_T **out_data);
204 BYTE_T* output, INT_T* olen);
218 CONST BYTE_T* input, INT_T ilen,
OPERATE_RET tuya_svc_lan_decrypt_data(IN BYTE_T *data, IN CONST INT_T len, IN CONST BYTE_T *key, OUT CHAR_T **out_data)
Decrypt LAN data
OPERATE_RET lpv35_frame_parse(CONST BYTE_T *key, INT_T key_len, CONST BYTE_T *input, INT_T ilen, lpv35_frame_object_t *output)
lpv35 frame parse
OPERATE_RET tuya_parse_protocol_data(IN CONST DP_CMD_TYPE_E cmd, IN CONST CHAR_T *pv, IN BYTE_T *data, IN CONST INT_T len, IN CONST CHAR_T *key, OUT CHAR_T **out_data)
parse protocol data
OPERATE_RET pack_data_with_cmd(IN CONST DP_CMD_TYPE_E cmd, IN CONST CHAR_T *src, IN CONST UINT_T pro, IN CONST UINT_T num, OUT BYTE_T **out, OUT UINT_T *out_len)
pack data
OPERATE_RET tuya_pack_protocol_data(IN CONST DP_CMD_TYPE_E cmd, IN CONST CHAR_T *pv, IN CONST CHAR_T *src, IN CONST UINT_T pro, IN CONST UINT_T num, IN UINT_T from, IN BYTE_T *key, OUT CHAR_T **out, OUT UINT_T *out_len)
pack protocol data
OPERATE_RET lpv35_frame_serialize(CONST BYTE_T *key, INT_T key_len, CONST lpv35_frame_object_t *input, BYTE_T *output, INT_T *olen)
add head and tail in lpv35 frame
OPERATE_RET parse_data_with_cmd(IN CONST DP_CMD_TYPE_E cmd, IN BYTE_T *data, IN CONST INT_T len, OUT CHAR_T **out_data)
parse data
INT_T lpv35_frame_buffer_size_get(lpv35_frame_object_t *frame_obj)
get lpv35 frame buffer size
LAN protocol frame head format (from app)
Definition: com_protocol.h:39
LAN protocol frame head format (from device)
Definition: com_protocol.h:60
LAN protocol frame tail format (from device)
Definition: com_protocol.h:52
Definition: com_protocol.h:84
Definition: com_protocol.h:101
Definition: com_protocol.h:95