TuyaOS
tuya_devos_data.h
1#ifndef __TUYA_DEVOS_DATA_H__
2#define __TUYA_DEVOS_DATA_H__
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7#include "gw_intf.h"
8#include "tal_time_service.h"
9#include "tal_system.h"
10#include "tuya_svc_netmgr.h"
11
12typedef BYTE_T TY_DEVOS_DATA_TYPE;
13/*配网数据*/
14#define TY_DEVOS_NET_CONFIG_DATA (1)
15/*连网数据*/
16#define TY_DEVOS_NET_CONNECT_DATA (2)
17/*设备激活数据*/
18#define TY_DEVOS_DEV_ACTIVATE_DATA (3)
19/*设备复位数据*/
20#define TY_DEVOS_RESET_DATA (4)
21/*设备重启数据*/
22#define TY_DEVOS_REBOOT_DATA (5)
23/*设备状态数据*/
24#define TY_DEVOS_STATUS_DATA (6)
25/*设备连接mqtt数据*/
26#define TY_DEVOS_LINK_MQTT_DATA (7)
27/*设备连接http数据*/
28#define TY_DEVOS_LINK_HTTP_DATA (8)
29/*设备连接transport数据*/
30#define TY_DEVOS_LINK_TRANSPORT_DATA (9)
31/*设备端应用数据*/
32#define TY_DEVOS_DEV_APP_DATA (10)
33
34/*ty reset type*/
35#define TY_DATA_RESET_LOCAL (1)
36#define TY_DATA_RESET_CLOUD (2)
37#define TY_DATA_RESET_FAST (3)
38#define TY_DATA_RESET_BLE (4)
39#define TY_DATA_RESET_FLASH (5)
40#define TY_DATA_RESET_TEST (6)
41#define TY_DATA_RESET_HEALTH (7)
42
43#define TY_DATA_RESET_NAME_STRING "reset"
44#define TY_DATA_REBOOT_NAME_STRING "reboot"
45#define TY_DATA_STATUS_NAME_STRING "status"
46
47#define TY_DATA_STATUS_WIFI (10)
48#define TY_DATA_LINK_MQTT_NAME_STRING "mqtt"
49#define TY_DATA_LINK_HTTP_NAME_STRING "http"
50
51/*连接数据类型 tp*/
52#define TY_DATA_LINK_DNS (1)
53#define TY_DATA_LINK_TCP_CONNECT (2)
54#define TY_DATA_LINK_TLS_CONNECT (3)
55#define TY_DATA_LINK_TCP_SEND (4)
56#define TY_DATA_MQTT_TCP_RECV (5)
57#define TY_DATA_MQTT_PING (6)
58#define TY_DATA_LINK_TRANSPORTER_CONNECT (7)
59/*连接数据域名编码*/
60
61/*配网步骤*/
62#define TY_DATA_NETCFG_STEP1 (1)
63#define TY_DATA_NETCFG_STEP2 (2)
64#define TY_DATA_NETCFG_STEP3 (3)
65#define TY_DATA_NETCFG_STEP4 (4)
66#define TY_DATA_NETCFG_STEP5 (5)
67#define TY_DATA_NETCFG_STEP6 (6)
68#define TY_DATA_NETCFG_STEP7 (7)
69#define TY_DATA_NETCFG_STEP8 (8)
70
71/*net connect type*/
72#define TY_DATA_NETCONNECT_TYPE_FAST (0)
73#define TY_DATA_NETCONNECT_TYPE_NORMAL (1)
74#define TY_DATA_NETCONNECT_TYPE_UNKOWN (2)
75
76/*net connect result code*/
77#define TY_DATA_NETCONNECT_RESULT_CONNECT_DONE (10)
78
79/*activate type*/
80#define TY_DATA_DEV_ACTIVATE_URL_CONFIG (1)
81#define TY_DATA_DEV_ACTIVATE_ACTIVE (2)
82#define TY_DATA_DEV_HTTP_POST (3)
83
84#if defined ENABLE_DEVICE_DATA_COLLECT && (ENABLE_DEVICE_DATA_COLLECT==1)
85
86void remove_ty_device_data_file();
87
100OPERATE_RET ty_devos_update_reset_data(TIME_T ts, TY_DEVOS_DATA_TYPE dt, const char* source, BYTE_T stat, int free_mem, int rssi);
101
102
103
104
113OPERATE_RET ty_devos_data_update(TY_DEVOS_DATA_TYPE dt, const char* dataStringToWrite);
114
115
116
123OPERATE_RET ty_devos_data_upload(TY_DEVOS_DATA_TYPE dt);
124
125
138OPERATE_RET ty_devos_update_status_data(TIME_T ts, TY_DEVOS_DATA_TYPE dt, int free_mem, int source, BYTE_T stat, int rssi);
139
152OPERATE_RET ty_devos_update_link_data(TIME_T ts, TY_DEVOS_DATA_TYPE dt, int type, const char * url, int duration, int times, int rssi);
153
166OPERATE_RET ty_devos_update_netcfg_data(TIME_T ts, TY_DEVOS_DATA_TYPE dt, uint8_t type, uint8_t mode, uint8_t strategy, uint8_t steps, TIME_T du_current);
167
168
180OPERATE_RET ty_devos_update_netconnect_data(TIME_T ts, TY_DEVOS_DATA_TYPE dt, uint8_t type, TIME_T du_current, int8_t result_code);
181
193OPERATE_RET ty_devos_update_activate_data(TIME_T ts, TY_DEVOS_DATA_TYPE dt, uint8_t type, TIME_T du_current, int result_code);
194
195
203OPERATE_RET ty_devos_update_app_data(ty_cJSON * dataJson);
204
214OPERATE_RET tuya_devos_get_devlog(TY_DEVOS_DATA_TYPE dt, CHAR_T* json_buff, UINT_T json_len);
215
216#define CAPTURE_RESET_DATA(source) \
217 do \
218 { \
219 OPERATE_RET rt = OPRT_OK; \
220 BYTE_T cur_gw_nw_status; \
221 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_STATUS, &cur_gw_nw_status); \
222 SCHAR_T rssi = 0; \
223 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_RSSI, &rssi); \
224 TUYA_CALL_ERR_LOG(ty_devos_update_status_data(tal_time_get_posix(), TY_DEVOS_RESET_DATA, tal_system_get_free_heap_size(), source, cur_gw_nw_status, rssi)); \
225 } while (0)
226#define CAPTURE_REBOOT_DATA(source) \
227 do \
228 { \
229 OPERATE_RET rt = OPRT_OK; \
230 BYTE_T cur_gw_nw_status; \
231 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_STATUS, &cur_gw_nw_status); \
232 SCHAR_T rssi = 0; \
233 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_RSSI, &rssi); \
234 TUYA_CALL_ERR_LOG(ty_devos_update_status_data(tal_time_get_posix(), TY_DEVOS_REBOOT_DATA, tal_system_get_free_heap_size(), source, cur_gw_nw_status, rssi)); \
235 } while (0)
236
237#define CAPTURE_STATUS_DATA(source) \
238 do \
239 { \
240 OPERATE_RET rt = OPRT_OK; \
241 BYTE_T cur_gw_nw_status; \
242 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_STATUS, &cur_gw_nw_status); \
243 SCHAR_T rssi = 0; \
244 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_RSSI, &rssi); \
245 TUYA_CALL_ERR_LOG(ty_devos_update_status_data(tal_time_get_posix(), TY_DEVOS_STATUS_DATA, tal_system_get_free_heap_size(), source, cur_gw_nw_status, rssi)); \
246 } while (0)
247
248#define CAPTURE_LINK_MQTT_DATA(type, url, duration, times) \
249 do \
250 { \
251 OPERATE_RET rt = OPRT_OK; \
252 SCHAR_T rssi = 0; \
253 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_RSSI, &rssi); \
254 TUYA_CALL_ERR_LOG(ty_devos_update_link_data(tal_time_get_posix(), TY_DEVOS_LINK_MQTT_DATA, type, url, duration, times, rssi)); \
255 } while (0)
256
257#define CAPTURE_LINK_HTTP_DATA(type, url, duration, times) \
258 do \
259 { \
260 OPERATE_RET rt = OPRT_OK; \
261 SCHAR_T rssi = 0; \
262 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_RSSI, &rssi); \
263 TUYA_CALL_ERR_LOG(ty_devos_update_link_data(tal_time_get_posix(), TY_DEVOS_LINK_HTTP_DATA, type, url, duration, times, rssi)); \
264 } while (0)
265
266#define CAPTURE_LINK_TRANSPORT_DATA(type, url, duration, times) \
267 do \
268 { \
269 OPERATE_RET rt = OPRT_OK; \
270 SCHAR_T rssi = 0; \
271 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_RSSI, &rssi); \
272 TUYA_CALL_ERR_LOG(ty_devos_update_link_data(tal_time_get_posix(), TY_DEVOS_LINK_TRANSPORT_DATA, type, url, duration, times, rssi)); \
273 } while (0)
274
275#define CAPTURE_NETCONNECT_DATA(type, result_code) \
276 do \
277 { \
278 OPERATE_RET rt = OPRT_OK; \
279 TUYA_CALL_ERR_LOG(ty_devos_update_netconnect_data(tal_time_get_posix(), TY_DEVOS_NET_CONNECT_DATA, type, tal_time_get_posix(), result_code)); \
280 } while (0)
281
282#define CAPTURE_ACTIVATE_DATA(type, result_code) \
283 do \
284 { \
285 OPERATE_RET rt = OPRT_OK; \
286 TUYA_CALL_ERR_LOG(ty_devos_update_activate_data(tal_time_get_posix(), TY_DEVOS_DEV_ACTIVATE_DATA, type, tal_time_get_posix(), result_code)); \
287 } while (0)
288
289#else
290#define CAPTURE_RESET_DATA(source) do { \
291}while (0)
292#define CAPTURE_REBOOT_DATA(source) do{ \
293}while (0)
294
295#define CAPTURE_STATUS_DATA(source) do { \
296}while (0)
297
298#define CAPTURE_LINK_MQTT_DATA(type, url, duration, times) do { \
299}while (0)
300
301#define CAPTURE_LINK_HTTP_DATA(type, url, duration, times) do { \
302}while (0)
303
304#define CAPTURE_LINK_TRANSPORT_DATA(type, url, duration, times) do { \
305}while (0)
306
307#define CAPTURE_NETCONNECT_DATA(type,result_code) do { \
308}while (0)
309
310#define CAPTURE_ACTIVATE_DATA(type,result_code) do { \
311}while (0)
312
313#endif
314
315
316#ifdef __cplusplus
317}
318#endif
319
320#endif
321
Facility of DevOS definitions
Definition: ty_cJSON.h:104
This is tal_system file
tuya time service, support UTC time, local time and summer time
TUYA network manager service