升级接口

更新时间:2022-11-24 09:20:20下载pdf

本文介绍了综合 SDK 的升级接口。

结构体说明

FW_UG_S

typedef struct {
    DEV_TYPE_T tp;
    UPGRADE_TYPE_T type;
    CHAR_T fw_url[FW_URL_LEN+1];
    CHAR_T sw_ver[SW_VER_LEN+1];
    UINT_T file_size;
    CHAR_T fw_hmac[FW_HMAC_LEN+1];
} FW_UG_S;

功能说明(Summary)

升级的固件信息。

成员说明

成员名称 说明
tp 固件类型
type UPGRADE_TYPE_NORMAL :普通升级
UPGRADE_TYPE_SILENT : 强制升级
fw_url 固件下载 URL 地址
sw_ver 固件版本号
file_size 固件大小
fw_hmac 固件 HMAC 校验码

接口说明

tuya_iot_upgrade_gw

#define tuya_iot_upgrade_gw(fw, get_file_cb, upgrd_nofity_cb, pri_data) \
    tuya_iot_upgrade_gw_notify(fw, get_file_cb, upgrd_nofity_cb, pri_data, TRUE, 0)
OPERATE_RET tuya_iot_upgrade_gw_notify(IN CONST FW_UG_S *fw, 
                                       IN CONST GET_FILE_DATA_CB get_file_cb, 
                                       IN CONST UPGRADE_NOTIFY_CB upgrd_nofity_cb, 
                                       IN CONST PVOID_T pri_data, 
                                       BOOL_T notify, 
                                       UINT_T download_buf_size)

功能说明

网关固件下载接口。

参数说明

参数名称 说明
fw 固件信息,详见 FW_UG_S
get_file_cb 下载内容处理回调接口,详见 GET_FILE_DATA_CB
upgrd_nofity_cb 下载结果通知回调接口,详见 UPGRADE_NOTIFY_CB
pri_data 传递给 get_file_cb 以及 upgrd_nofity_cb 的私有数据,可为 NULL

返回值

返回值 说明
OPRT_OK 成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_iot_upgrade_dev

OPERATE_RET tuya_iot_upgrade_dev_notify(IN CONST CHAR_T *devid, 
                                        IN CONST FW_UG_S *fw,
                                        IN CONST GET_FILE_DATA_CB get_file_cb,
                                        IN CONST UPGRADE_NOTIFY_CB upgrd_nofity_cb,
                                        IN CONST PVOID_T pri_data)

功能说明

设备(网关上的模块及子设备)固件下载接口。

参数说明

参数名称 说明
devid 设备 ID
fw 固件信息,详见 FW_UG_S
get_file_cb 下载内容处理回调接口,详见 GET_FILE_DATA_CB
upgrd_nofity_cb 下载结果通知回调接口,详见 UPGRADE_NOTIFY_CB
pri_data 传递给 get_file_cb 以及 upgrd_nofity_cb 的私有数据,可为 NULL

返回值

返回值 说明
OPRT_OK 成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_iot_dev_upgd_progress_rept

OPERATE_RET tuya_iot_dev_upgd_progress_rept(IN CONST UINT_T percent, 
                                            IN CONST CHAR_T *devid, 
                                            IN CONST DEV_TYPE_T tp)

功能说明

上报升级进度条接口。

参数说明

参数名称 说明
percent 升级进度条,取值范围:[0, 99]
devid devid == NULL,网关及网关上的模块
devid != NULL,子设备
tp 类型,对应升级通道

返回值

返回值 说明
OPRT_OK 成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_iot_dev_upgd_result_report

OPERATE_RET tuya_iot_dev_upgd_result_report(IN CONST CHAR_T *dev_id, 
                                            IN CONST DEV_TYPE_T type, 
                                            IN CONST INT_T result)

功能说明

上报升级结果接口。

参数说明

参数名称 说明
devid devid == NULL,网关及网关上的模块
devid != NULL,子设备
tp 类型,对应升级通道
result 升级结果,定义如下:
TUS_RD:升级已就绪
TUS_UPGRDING:升级中
TUS_UPGRD_FINI:升级完成
TUS_UPGRD_EXEC:升级出错退出

返回值

返回值 说明
OPRT_OK 成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_iot_refuse_upgrade

OPERATE_RET tuya_iot_refuse_upgrade(IN CONST FW_UG_S *fw, IN CONST CHAR_T *dev_id);

功能说明

拒绝升级接口。

参数说明

参数名称 说明
fw 固件信息,详见 FW_UG_S
devid devid == NULL,网关及网关上的模块
devid != NULL,子设备

返回值

返回值 说明
OPRT_OK 成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_iot_gw_subdevice_update

OPERATE_RET tuya_iot_gw_subdevice_update (IN CONST CHAR_T *id, 
                                          IN CONST CHAR_T *ver);

功能说明

上报子设备的固件版本号接口。

参数说明

参数名称 说明
dev_id 子设备的设备 ID。不能超过 25 个字节
ver 子设备的固件版本号,格式为 “x.x.x”,其中,x 为数字

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

回调接口

GET_FILE_DATA_CB

typedef OPERATE_RET (*GET_FILE_DATA_CB)(IN CONST FW_UG_S *fw, 
                                        IN CONST UINT_T total_len,
                                        IN CONST UINT_T offset,
                                        IN CONST BYTE_T *data,
                                        IN CONST UINT_T len,
                                        OUT UINT_T *remain_len, 
                                        IN PVOID_T pri_data)

功能说明

下载内容处理回调接口。

参数说明

参数名称 说明
fw 固件信息,详见 FW_UG_S
total_len 固件文件总大小
offset 当前偏移量
data 数据
len 数据长度
remain_len 输出参数,表示未处理的数据长度。正常情况,data 是一次性处理完,remain_len 为 0
pri_data 固件下载接口传入的私有数据参数

返回值

返回值 说明
OPRT_OK 成功
错误码 错误码定义参考头文件 tuya_error_code.h

UPGRADE_NOTIFY_CB

typedef VOID (*UPGRADE_NOTIFY_CB)(IN CONST FW_UG_S *fw, 
                                  IN CONST INT_T download_result, 
                                  IN PVOID_T pri_data)

功能说明

下载结果通知回调接口。

参数说明

参数名称 说明
fw 固件信息,详见 FW_UG_S
download_result 下载结果,0 为成功,非 0 为失败
pri_data 固件下载接口传入的私有数据参数

返回值

返回值 说明
VOID /