TUYA OTA service
更多...
#include "tuya_cloud_types.h"
#include "tuya_cloud_com_defs.h"
#include "ty_cJSON.h"
浏览源代码.
|
|
#define | TUS_DOWNLOAD_COMPLETE 11 |
| |
|
#define | TUS_DOWNLOAD_ERROR_HMAC 45 |
| |
|
#define | TUS_DOWNLOAD_ERROR_LOW_BATTERY 41 |
| |
|
#define | TUS_DOWNLOAD_ERROR_MALLOC_FAIL 43 |
| |
|
#define | TUS_DOWNLOAD_ERROR_STORAGE_NOT_ENOUGH 42 |
| |
|
#define | TUS_DOWNLOAD_ERROR_TIMEOUT 44 |
| |
|
#define | TUS_DOWNLOAD_ERROR_UNKONW 40 |
| |
|
#define | TUS_DOWNLOAD_START 10 |
| |
|
#define | TUS_RD 1 |
| |
|
#define | TUS_UPGRADE_ERROR_HMAC 49 |
| |
|
#define | TUS_UPGRADE_ERROR_LOW_BATTERY 46 |
| |
|
#define | TUS_UPGRADE_ERROR_MALLOC_FAIL 47 |
| |
|
#define | TUS_UPGRADE_ERROR_VERSION 48 |
| |
|
#define | TUS_UPGRADE_START 12 |
| |
|
#define | TUS_UPGRADE_SUCCESS 3 |
| |
|
#define | TUS_UPGRD_EXEC 4 |
| |
|
#define | TUS_UPGRD_FINI 3 |
| |
|
#define | TUS_UPGRDING 2 |
| |
|
| typedef INT_T(* | DEV_UPGRADE_INFORM_CB) (CONST FW_UG_S *fw) |
| | Handler of GW upgrade inform 更多...
|
| |
| typedef INT_T(* | dev_upgrade_mq15_inform_cb) (ty_cJSON *root_json) |
| | Handler of process inform for some upgrade type 更多...
|
| |
|
typedef VOID(* | DEV_UPGRADE_PRE_INFORM_CB) (BOOL_T *handled, CONST FW_UG_S *fw) |
| | Handler of pre-process inform
|
| |
| typedef INT_T(* | SUBDEV_UPGRADE_INFORM_CB) (CONST CHAR_T *dev_id, CONST FW_UG_S *fw) |
| | Handler of sub-device upgrade inform 更多...
|
| |
|
typedef BYTE_T | TI_UPGRD_STAT_S |
| |
|
typedef VOID(* | UPGRADE_DETECT_RESULT) (IN BOOL_T is_err, IN BOOL_T is_exe, IN UINT_T detect_interval) |
| |
|
typedef OPERATE_RET(* | UPGRADE_GET_DEV) (OUT CHAR_T dev_id[DEV_ID_LEN+1]) |
| |
|
| OPERATE_RET | tuya_svc_upgrade_active (VOID_T) |
| | Run firmware upgrade framework, workloads registered will be executed 更多...
|
| |
| OPERATE_RET | tuya_svc_upgrade_detect_register (TUYA_UPGRADE_DETECT_T *detect) |
| | Register a new firmware upgrade workload 更多...
|
| |
| OPERATE_RET | tuya_svc_upgrade_detect_reset (CONST INT_T upgrade_interval) |
| | Reset firmware upgrade check interval 更多...
|
| |
| OPERATE_RET | tuya_svc_upgrade_init (TUYA_UPGRADE_PARAM_T *ota_param) |
| | Initilize firmware upgrade framework 更多...
|
| |
| OPERATE_RET | tuya_svc_upgrade_mqtt_notify (CHAR_T *dev_id, DEV_TYPE_T tp) |
| | Notify to upgrade immediately like mqtt15 更多...
|
| |
| OPERATE_RET | tuya_svc_upgrade_refuse (CONST FW_UG_S *fw, CONST CHAR_T *dev_id) |
| | Refuse to download the specific firmware 更多...
|
| |
| VOID | tuya_svc_upgrade_register_mq15_cb (dev_upgrade_mq15_inform_cb mq15_cb) |
| | Register process handler for some upgrade type 更多...
|
| |
| VOID | tuya_svc_upgrade_register_pre_cb (DEV_UPGRADE_PRE_INFORM_CB pre_ug_cb) |
| | Register pre-precess handler to replace the default one 更多...
|
| |
| OPERATE_RET | tuya_svc_upgrade_result_report (CONST CHAR_T *dev_id, CONST DEV_TYPE_T type, CONST int result) |
| | Sync dowload result to cloud 更多...
|
| |
| OPERATE_RET | tuya_svc_upgrade_start (CONST CHAR_T *dev_id, CONST FW_UG_S *fw, CONST GET_FILE_DATA_CB get_file_cb, VOID *pri_data, CONST UPGRADE_NOTIFY_CB upgrd_nofity_cb, CONST BOOL_T upload_upgrade_percent, CONST UINT_T download_buf_size) |
| | Start to download the specific firmware 更多...
|
| |
|
OPERATE_RET | tuya_svc_upgrade_ug_info_parse (ty_cJSON *result, UPGRADE_TYPE_T type, FW_UG_S *ug_info) |
| |
TUYA OTA service
- 版本
- 0.1
- 日期
- 2019-08-28
- 版权所有
- Copyright 2019-2021 Tuya Inc. All Rights Reserved.
◆ DEV_UPGRADE_INFORM_CB
| typedef INT_T(* DEV_UPGRADE_INFORM_CB) (CONST FW_UG_S *fw) |
Handler of GW upgrade inform
- 返回
- OPRT_OK on success. Others on error, please refer to tuya_error_code.h
◆ dev_upgrade_mq15_inform_cb
| typedef INT_T(* dev_upgrade_mq15_inform_cb) (ty_cJSON *root_json) |
Handler of process inform for some upgrade type
- 返回
- OPRT_OK on had handled. Others should process by svc_upgrade
◆ SUBDEV_UPGRADE_INFORM_CB
| typedef INT_T(* SUBDEV_UPGRADE_INFORM_CB) (CONST CHAR_T *dev_id, CONST FW_UG_S *fw) |
Handler of sub-device upgrade inform
- 返回
- OPRT_OK on success. Others on error, please refer to tuya_error_code.h
◆ tuya_svc_upgrade_active()
| OPERATE_RET tuya_svc_upgrade_active |
( |
VOID_T |
| ) |
|
Run firmware upgrade framework, workloads registered will be executed
- 返回
- OPRT_OK on success. Others on error, please refer to tuya_error_code.h
◆ tuya_svc_upgrade_detect_register()
Register a new firmware upgrade workload
- 参数
-
| [in] | detect | The workload, see tuya_upgrade_detect_t |
- 返回
- OPRT_OK on success. Others on error, please refer to tuya_error_code.h
◆ tuya_svc_upgrade_detect_reset()
| OPERATE_RET tuya_svc_upgrade_detect_reset |
( |
CONST INT_T |
upgrade_interval | ) |
|
Reset firmware upgrade check interval
- 参数
-
| [in] | upgrade_interval | Next interval to check(unit sec) |
- 返回
- OPRT_OK on success. Others on error, please refer to tuya_error_code.h
◆ tuya_svc_upgrade_init()
Initilize firmware upgrade framework
- 返回
- OPRT_OK on success. Others on error, please refer to tuya_error_code.h
◆ tuya_svc_upgrade_mqtt_notify()
| OPERATE_RET tuya_svc_upgrade_mqtt_notify |
( |
CHAR_T * |
dev_id, |
|
|
DEV_TYPE_T |
tp |
|
) |
| |
Notify to upgrade immediately like mqtt15
- 参数
-
| [in] | dev_id | ID of sub-device, or NULL for GW |
| [in] | dev | type to upgrade |
- 返回
- OPRT_OK on success. Others on error, please refer to tuya_error_code.h
◆ tuya_svc_upgrade_refuse()
| OPERATE_RET tuya_svc_upgrade_refuse |
( |
CONST FW_UG_S * |
fw, |
|
|
CONST CHAR_T * |
dev_id |
|
) |
| |
Refuse to download the specific firmware
- 参数
-
| [in] | dev_id | ID of sub-device, or NULL for GW |
| [in] | fw | Firmware info to download |
- 返回
- OPRT_OK on success. Others on error, please refer to tuya_error_code.h
◆ tuya_svc_upgrade_register_mq15_cb()
Register process handler for some upgrade type
- 参数
-
| [in] | mq15_cb | The process handler |
◆ tuya_svc_upgrade_register_pre_cb()
Register pre-precess handler to replace the default one
- 参数
-
| [in] | pre_ug_cb | The new handler |
◆ tuya_svc_upgrade_result_report()
| OPERATE_RET tuya_svc_upgrade_result_report |
( |
CONST CHAR_T * |
dev_id, |
|
|
CONST DEV_TYPE_T |
type, |
|
|
CONST int |
result |
|
) |
| |
Sync dowload result to cloud
- 参数
-
| [in] | dev_id | ID of sub-device, or NULL for GW |
| [in] | tp | OTA channel, see DEV_TYPE_T |
| [in] | result | See TI_UPGRD_STAT_S |
- 返回
- OPRT_OK on success. Others on error, please refer to tuya_error_code.h
◆ tuya_svc_upgrade_start()
| OPERATE_RET tuya_svc_upgrade_start |
( |
CONST CHAR_T * |
dev_id, |
|
|
CONST FW_UG_S * |
fw, |
|
|
CONST GET_FILE_DATA_CB |
get_file_cb, |
|
|
VOID * |
pri_data, |
|
|
CONST UPGRADE_NOTIFY_CB |
upgrd_nofity_cb, |
|
|
CONST BOOL_T |
upload_upgrade_percent, |
|
|
CONST UINT_T |
download_buf_size |
|
) |
| |
Start to download the specific firmware
- 参数
-
| [in] | dev_id | ID of sub-device, or NULL for GW |
| [in] | fw | Firmware info to download |
| [in] | get_file_cb | Callback to transfer data while downloading |
| [in] | pri_data | Private data |
| [in] | upgrd_nofity_cb | Callback when upgrade complete or error |
| [in] | upload_upgrade_percent | Upload upgrade percent or not |
| [in] | download_buf_size | Buffer size allocated for OTA |
- 返回
- OPRT_OK on success. Others on error, please refer to tuya_error_code.h