From cbfdfd02078ce096c2b45d1806d8583bef97ffa1 Mon Sep 17 00:00:00 2001 From: Caisking Date: Thu, 26 Feb 2026 19:57:51 +0800 Subject: [PATCH] =?utf8?q?=20=20=E4=BF=AE=E6=94=B9=E9=AA=91=E8=A1=8C?= =?utf8?q?=E4=B8=8D=E8=BF=9B=E8=A1=8C=E9=85=8D=E9=80=9F=E7=9A=84=E8=AE=A1?= =?utf8?q?=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../nativeui/traing/src/TraingModel.cpp | 42 ++++++++++++------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/code/sdk/application/wearable/fd272/nativeapp/nativeui/traing/src/TraingModel.cpp b/code/sdk/application/wearable/fd272/nativeapp/nativeui/traing/src/TraingModel.cpp index 2068f7b97..296f7ebaa 100644 --- a/code/sdk/application/wearable/fd272/nativeapp/nativeui/traing/src/TraingModel.cpp +++ b/code/sdk/application/wearable/fd272/nativeapp/nativeui/traing/src/TraingModel.cpp @@ -1423,19 +1423,31 @@ void TraingModel::SetSportdata(SportData *data) { bool TraingModel::SaveSportData() { // 骑行等需要GPS的运动:CYWEE无距离时,在结束时用GPS轨迹一次性计算,不实时计 - if (sportdata->distance == 0 && IsNeedGPS(sportId_) && gpsData.size() >= 2) { - uint32_t gpsDist = CalculateDistanceFromGPSTrack(); - if (gpsDist > 0) { - sportdata->distance = gpsDist; - if (sportdata->duration > 0) { - sportdata->apc = (sportdata->duration * 1000) / sportdata->distance; - if (sportdata->fpc <= 0) sportdata->fpc = sportdata->apc; - if (sportdata->spc <= 0) sportdata->spc = sportdata->apc; - } - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, - "结束时用GPS轨迹计算距离: %u米, 平均配速=%d", gpsDist, sportdata->apc); - } - } + if (sportdata->distance == 0 && IsNeedGPS(sportId_) && gpsData.size() >= 2) + { + uint32_t gpsDist = CalculateDistanceFromGPSTrack(); + if (gpsDist > 0) + { + sportdata->distance = gpsDist; + if (sportdata->duration > 0) + { + //骑行由app计算配速 + if(sportdata->sportId == UIResourceTextId::STR_EXERCISE_OUTDOORBIKING) + { + sportdata->apc = 0; + sportdata->fpc = 0; + sportdata->spc = 0; + }else + { + sportdata->apc = (sportdata->duration * 1000) / sportdata->distance; + if (sportdata->fpc <= 0) sportdata->fpc = sportdata->apc; + if (sportdata->spc <= 0) sportdata->spc = sportdata->apc; + } + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, + "结束时用GPS轨迹计算距离: %u米, 平均配速=%d", gpsDist, sportdata->apc); + } + } + } // 配置训练存储状态 uapi_dev_runtime_set_train_storage_status(1); @@ -1676,7 +1688,7 @@ bool TraingModel::GetMomentum() { bool TraingModel::SaveHeartTable() { //打印数组 - PrintHeartRateTable(); + // PrintHeartRateTable(); CreateDirectoryIfNotExists(TRAINING_HEART_FILE); @@ -1715,7 +1727,7 @@ bool TraingModel::GetMomentum() { bool TraingModel::SavePaceTable() { //打印数组 - PrintPaceTable(); + // PrintPaceTable(); CreateDirectoryIfNotExists(TRAINING_PACE_FILE); -- 2.17.1