回调函数是怎么处理的,可以提供参考一下吗?
【已解决】bk7231n sdk2.3.1版本,ota升级问题
Re: bk7231n sdk2.3.1版本,ota升级问题
wt呃呃 2023年 Apr 7日 11:04wf_cbs .pre_gw_ug_cb = pre_gw_ug_cb; 把这个回调函数注册进去,升级是有回调了,但提升“升级失败,可能是由于信号太弱,请检查设备网络后重新尝试”。网络我可以排除了,把这句平掉就可以了,这是什么原因?
看看你的pre_gw_ug_cb是怎么实现的,这个接口的返回值sdk里面会去判断的,如果你不想升级,在这里可以返回错误码之类的。我们内部判断逻辑是:
Code: Select all
TI_UPGRD_STAT_S app_upgrade_status = TUS_RD;
if (s_mgr_upgrade.pre_dev_upgrade_cb) {
app_upgrade_status = s_mgr_upgrade.pre_dev_upgrade_cb(¬ify->ug);
}
// check the upgrade status return from application
switch (app_upgrade_status) {
case TUS_RD:
return TRUE;
case TUS_DOWNLOAD_ERROR_UNKONW:
case TUS_DOWNLOAD_ERROR_LOW_BATTERY:
case TUS_DOWNLOAD_ERROR_STORAGE_NOT_ENOUGH:
case TUS_DOWNLOAD_ERROR_MALLOC_FAIL:
case TUS_DOWNLOAD_ERROR_TIMEOUT:
case TUS_DOWNLOAD_ERROR_HMAC:
case TUS_UPGRADE_ERROR_LOW_BATTERY:
case TUS_UPGRADE_ERROR_MALLOC_FAIL:
case TUS_UPGRADE_ERROR_VERSION:
case TUS_UPGRADE_ERROR_HMAC:
default:
// 记录失败原因
INSERT_ERROR_LOG_SEQ_DEC(LOGSEQ_OTA_APP_NOTIFY, app_upgrade_status);
return FALSE;
}
return TRUE;
函数的返回值参考switch case里的值。
Re: bk7231n sdk2.3.1版本,ota升级问题
我就想通过回调里里获取开始升级,那我怎么返回?
Re: bk7231n sdk2.3.1版本,ota升级问题
return TUS_RD;