TuyaOS
tuya_svc_devos.h
浏览该文件的文档.
1
10#ifndef __TUYA_SVC_DEVOS_H__
11#define __TUYA_SVC_DEVOS_H__
12
13#include "tuya_cloud_com_defs.h"
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19#define EVENT_DEVOS_STATE_CHANGE "devos.stat.chg" // devos state changed
20
21/* netcfg state */
22typedef enum {
23 NW_CFG_STAGE_NETCFG, // current in netcfg stage
24 NW_CFG_STAGE_PROXY_ACTIVE, // current in proxy activiate stage
25 NW_CFG_STAGE_CONN_AP, // current in connect ap stage
26 NW_CFG_STAGE_CLOUD_ACTIVE // current in active stage
27} DEVOS_NW_CFG_STAGE_E;
28
29/* devos state machine */
30typedef enum {
31 DEVOS_STATE_INIT, // device is inited
32 DEVOS_STATE_UNREGISTERED, // device is not activated
33 DEVOS_STATE_REGISTERING, // token/meta is got, start to activate
34 DEVOS_STATE_ACTIVATED, // device is activated and full-functional
35 DEVOS_STATE_UPGRADING, // device is in OTA
36
37 DEVOS_STATE_MAX
38} DEVOS_STATE_E;
39
43typedef struct {
47 GW_ABI abi;
49 DEV_TYPE_T tp;
50
52 CHAR_T *firmware_key;
54 CHAR_T *product_key;
56 CHAR_T *sw_ver;
57
59 UINT_T attr_num;
63
71OPERATE_RET tuya_svc_devos_init(IN devos_init_t *cfg);
72
80OPERATE_RET tuya_svc_devos_reinit(VOID_T);
81
87DEVOS_STATE_E tuya_svc_devos_get_state(VOID);
88
96OPERATE_RET tuya_svc_devos_set_state(IN DEVOS_STATE_E state);
97
106OPERATE_RET tuya_svc_devos_set_netcfg_stat(IN DEVOS_NW_CFG_STAGE_E stage, IN UINT_T status);
107
113CHAR_T* tuya_svc_devos_get_netcfg_stat(UINT8_T type);
114
124OPERATE_RET tuya_svc_devos_set_time(TIME_T time_sec, INT_T update_source);
125
131OPERATE_RET tuya_svc_devos_activate_set_product_secret(CHAR_T *product_secret, CHAR_T *client_id);
132
139
146
147#ifdef __cplusplus
148}
149#endif
150
151#endif //__TUYA_SVC_DEVOS_H__
152
Definition of attach moudule attribute
Definition: tuya_cloud_com_defs.h:175
Init param of IoT device
Definition: tuya_svc_devos.h:43
UINT_T attr_num
Definition: tuya_svc_devos.h:59
GW_ABI abi
Definition: tuya_svc_devos.h:47
CHAR_T * firmware_key
Definition: tuya_svc_devos.h:52
CHAR_T * product_key
Definition: tuya_svc_devos.h:54
CHAR_T * sw_ver
Definition: tuya_svc_devos.h:56
BOOL_T factory_reset
Definition: tuya_svc_devos.h:45
DEV_TYPE_T tp
Definition: tuya_svc_devos.h:49
GW_ATTACH_ATTR_T * attrs
Definition: tuya_svc_devos.h:61
OPERATE_RET tuya_svc_devos_activate_preaction(VOID)
Call activate preaction
DEVOS_STATE_E tuya_svc_devos_get_state(VOID)
Get current devos state
OPERATE_RET tuya_svc_devos_reinit(VOID_T)
Reinit device
OPERATE_RET tuya_svc_devos_set_time(TIME_T time_sec, INT_T update_source)
Set current devos time
OPERATE_RET tuya_svc_devos_set_netcfg_stat(IN DEVOS_NW_CFG_STAGE_E stage, IN UINT_T status)
Set current devos netcfg state
OPERATE_RET tuya_svc_devos_init(IN devos_init_t *cfg)
Init device
OPERATE_RET tuya_svc_devos_activate_set_product_secret(CHAR_T *product_secret, CHAR_T *client_id)
Set activate cfg
BOOL_T tuya_svc_devos_activate_is_product_secret(VOID)
Check product secret
CHAR_T * tuya_svc_devos_get_netcfg_stat(UINT8_T type)
Get current devos netcfg state
OPERATE_RET tuya_svc_devos_set_state(IN DEVOS_STATE_E state)
Set current devos state (dispatch event)