【已解决】bk7231n sdk2.3.1版本,ota升级问题

Wi-Fi 设备、Wi-Fi 低功耗设备、Wi-Fi BLE 双模设备、Ethernet设备、Ethernet+Wi-Fi设备等
wt呃呃
Posts: 141

回调函数是怎么处理的,可以提供参考一下吗?

愚者千虑必有一得
Posts: 510

Re: bk7231n sdk2.3.1版本,ota升级问题

wt呃呃 2023年 Apr 7日 11:04

wf_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(&notify->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里的值。

wt呃呃
Posts: 141

Re: bk7231n sdk2.3.1版本,ota升级问题

我就想通过回调里里获取开始升级,那我怎么返回?

愚者千虑必有一得
Posts: 510

Re: bk7231n sdk2.3.1版本,ota升级问题

return TUS_RD;

Post Reply