更新时间:2025-07-03 07:06:31下载pdf
中控设备固件 OTA(Over-the-air)升级的流程和网关设备 OTA 流程一致。详情请参考 网关开发框架 > 设备 OTA。
屏上 OTA 升级接口的使用描述:
函数原型 | OPERATE_RET tuya_dev_upgrade_check_init(VOID) |
---|---|
函数描述 | 启动一个定时器,定时检测是否有新版本 |
参数说明 | VOID |
返回值 | OPERATE_RET,0:成功; 其他:失败,详见错误码 |
详细描述 | - |
函数原型 | OPERATE_RET tuya_dev_upgrade_check_start(VOID) |
---|---|
函数描述 | 检测是否有新版本 |
参数说明 | VOID |
返回值 | OPERATE_RET,0:成功; 其他:失败,详见错误码 |
详细描述 | - |
函数原型 | OPERATE_RET tuya_dev_upgrade_get_info(TY_UPGRADE_INFO_S *info) |
---|---|
函数描述 | 获取升级固件信息 |
参数说明 | info,升级固件信息结构体指针 |
返回值 | OPERATE_RET,0:成功; 其他:失败,详见错误码 |
详细描述 | - |
函数原型 | OPERATE_RET tuya_dev_upgrade_confirm_report(VOID) |
---|---|
函数描述 | 立即升级 |
参数说明 | VOID |
返回值 | OPERATE_RET,0:成功; 其他:失败,详见错误码 |
详细描述 | - |
STATIC INT_T __new_version_cb(IN CONST TY_UPGRADE_INFO_S *p_ug_info)
{
PR_DEBUG("new version callback flag:%d, version:%s, size:%d, msg:%s", p_ug_info->flag, p_ug_info->version, p_ug_info->file_size, p_ug_info->msg);
if (p_ug_info->flag > 0) {
PR_DEBUG("new version found, please update");
OPERATE_RET ret = tuya_dev_upgrade_confirm_report();
if (ret != OPRT_OK) {
PR_ERR("tuya_dev_upgrade_confirm_report err:%d", ret);
return ret;
}
} else {
PR_DEBUG("current version is the latest");
}
return OPRT_OK;
}
VOID test_ctrl_center_update()
{
OPERATE_RET ret = OPRT_OK;
ret = tuya_dev_upgrade_check_init();
if (ret != OPRT_OK) {
PR_ERR("tuya_dev_upgrade_check_init err:%d", ret);
return;
}
ret = tuya_home_ctrl_subscribe_new_version(__new_version_cb);
if (ret != OPRT_OK) {
PR_ERR("tuya_home_ctrl_subscribe_new_version err:%d", ret);
return;
}
return;
}
tuya_dev_upgrade_check_init
没有做可重入机制,程序启动后,只能调用一次,回调通过 tuya_home_ctrl_subscribe_new_version
注册。tuya_home_ctrl_subscribe_new_version
如果调用多次,以最后一次传入的回调函数生效。该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈