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
205
206#define CAPTURE_RESET_DATA(source) \
207 do \
208 { \
209 OPERATE_RET rt = OPRT_OK; \
210 BYTE_T cur_gw_nw_status; \
211 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_STATUS, &cur_gw_nw_status); \
212 SCHAR_T rssi = 0; \
213 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_RSSI, &rssi); \
214 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)); \
215 } while (0)
216#define CAPTURE_REBOOT_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_REBOOT_DATA, tal_system_get_free_heap_size(), source, cur_gw_nw_status, rssi)); \
225 } while (0)
226
227#define CAPTURE_STATUS_DATA(source) \
228 do \
229 { \
230 OPERATE_RET rt = OPRT_OK; \
231 BYTE_T cur_gw_nw_status; \
232 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_STATUS, &cur_gw_nw_status); \
233 SCHAR_T rssi = 0; \
234 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_RSSI, &rssi); \
235 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)); \
236 } while (0)
237
238#define CAPTURE_LINK_MQTT_DATA(type, url, duration, times) \
239 do \
240 { \
241 OPERATE_RET rt = OPRT_OK; \
242 SCHAR_T rssi = 0; \
243 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_RSSI, &rssi); \
244 TUYA_CALL_ERR_LOG(ty_devos_update_link_data(tal_time_get_posix(), TY_DEVOS_LINK_MQTT_DATA, type, url, duration, times, rssi)); \
245 } while (0)
246
247#define CAPTURE_LINK_HTTP_DATA(type, url, duration, times) \
248 do \
249 { \
250 OPERATE_RET rt = OPRT_OK; \
251 SCHAR_T rssi = 0; \
252 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_RSSI, &rssi); \
253 TUYA_CALL_ERR_LOG(ty_devos_update_link_data(tal_time_get_posix(), TY_DEVOS_LINK_HTTP_DATA, type, url, duration, times, rssi)); \
254 } while (0)
255
256#define CAPTURE_LINK_TRANSPORT_DATA(type, url, duration, times) \
257 do \
258 { \
259 OPERATE_RET rt = OPRT_OK; \
260 SCHAR_T rssi = 0; \
261 tuya_svc_netmgr_cfg_get(LINKAGE_CFG_RSSI, &rssi); \
262 TUYA_CALL_ERR_LOG(ty_devos_update_link_data(tal_time_get_posix(), TY_DEVOS_LINK_TRANSPORT_DATA, type, url, duration, times, rssi)); \
263 } while (0)
264
265#define CAPTURE_NETCONNECT_DATA(type, result_code) \
266 do \
267 { \
268 OPERATE_RET rt = OPRT_OK; \
269 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)); \
270 } while (0)
271
272#define CAPTURE_ACTIVATE_DATA(type, result_code) \
273 do \
274 { \
275 OPERATE_RET rt = OPRT_OK; \
276 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)); \
277 } while (0)
278
279#else
280#define CAPTURE_RESET_DATA(source) do { \
281}while (0)
282#define CAPTURE_REBOOT_DATA(source) do{ \
283}while (0)
284
285#define CAPTURE_STATUS_DATA(source) do { \
286}while (0)
287
288#define CAPTURE_LINK_MQTT_DATA(type, url, duration, times) do { \
289}while (0)
290
291#define CAPTURE_LINK_HTTP_DATA(type, url, duration, times) do { \
292}while (0)
293
294#define CAPTURE_LINK_TRANSPORT_DATA(type, url, duration, times) do { \
295}while (0)
296
297#define CAPTURE_NETCONNECT_DATA(type,result_code) do { \
298}while (0)
299
300#define CAPTURE_ACTIVATE_DATA(type,result_code) do { \
301}while (0)
302
303#endif
304
305
306#ifdef __cplusplus
307}
308#endif
309
310#endif
311
Facility of DevOS definitions
Definition: ty_cJSON.h:45
Common process - adpater some api which provide by OS
tuya time service, support UTC time, local time and summer time
TUYA network manager service