OtaSuccessView::GetInstance()->UpdateDownloadSuccess("模组升级失败");
}
} else if (status == 4) {
+#ifdef SUPPORT_CAT1_SERVICE
+ uint8_t maj = 0;
+ uint8_t mid = 0;
+ uint8_t min = 0;
+ const bool still_1047 = (uapi_get_fw_version(&maj, &mid, &min) == ERRCODE_SUCC && maj == 1 && mid == 0 &&
+ min == 47);
+ const bool py_not_34 = (uapi_get_py_ver() != 34);
+ if (still_1047 && py_not_34) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
+ "CheckOtaResult: Cat1 ok, sw still 1.0.47 py=%u(!=34), stay updating for next round",
+ (unsigned)uapi_get_py_ver());
+ SetOtaStatus(OTA_UI_STATUS_CAT1_START);
+ ThunderBirdModel::GetInstance()->PrepareCat1NextRoundAfterSuccess();
+ if (OtaUpdatingView::GetInstance()) {
+ OtaUpdatingView::GetInstance()->UpdateProgress(0);
+ }
+ return;
+ }
+#endif
if (OtaView::GetInstance()) {
OtaView::GetInstance()->ChangeView(OtaView::OTA_VIEW_UPDATING, OtaView::OTA_VIEW_UPDATE_SUCCESS);
}
m_bootCat1OtaAwaitNetwork = false;
m_bootCat1OtaUrlsPending = false;
}
+
+ void ThunderBirdModel::PrepareCat1NextRoundAfterSuccess()
+ {
+#ifdef SUPPORT_CAT1_SERVICE
+ m_otaStatus = OTA_UI_STATUS_CAT1_START;
+ m_bootCat1OtaUrlsPending = true;
+ (void)memset(g_ln_last_package_url_new1, 0, sizeof(g_ln_last_package_url_new1));
+ (void)memset(g_ln_last_package_url_new2, 0, sizeof(g_ln_last_package_url_new2));
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
+ "PrepareCat1NextRoundAfterSuccess: re-query Cat1 task, poll URLs then upgrade");
+ do_ln_http_server_send_data(LN_HTTP_SERVICE_CMD_IS_CAT1_OTA_UPGRADE, NULL, 0);
+ StartStatusTimer();
+#endif
+ }
// ==================== 恢复出厂设置相关函数 ====================