From: Caisking <3449750381@qq.com> Date: Wed, 15 Jan 2025 09:30:32 +0000 (+0800) Subject: 运动:过滤运动平均配速为0;最高最低配速为0的数据 X-Git-Tag: v1.3.113-repair_tp~21^2~9 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=0fe2b70b9a7fc1645bfc677a6273d28334ff3192;p=mirrors%2FFD230.git 运动:过滤运动平均配速为0;最高最低配速为0的数据 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp index 0e9817722..30a9efa56 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp @@ -281,7 +281,7 @@ std::string sportIcons[8] = { /*特殊运动icon*/ std::string sportIcons_special[6] = {RUNNING_60_IMAGE_END, WALKING_60_IMAGE_END, RIDING_60_IMAGE_END, RUNNING_IMAGE, - WALKING_IMAGE, RIDING_IMAGE}; + WALKING_IMAGE, RIDING_IMAGE}; /* type @@ -495,13 +495,17 @@ void TraingModel::AnalysisData(cywee_activity_result_t *cyweeInfo) { // sportdata->cdc = cyweeInfo->step_frequency; // sportdata->std = cyweeInfo->step_length; + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " pace %d", sportdata->pc); + sportdata->pc = cyweeInfo->pace; // 更新最慢配速 - if (sportdata->spc < sportdata->pc) { + if (sportdata->spc < sportdata->pc && sportdata->pc != 0) { sportdata->spc = sportdata->pc; } + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "spc %d", sportdata->spc); + // 计算平均心率 if (sportdata->heart > 50) { sportdata->avgheart = Averageheartrate(sportdata->heart); @@ -543,10 +547,21 @@ void TraingModel::AnalysisData(cywee_activity_result_t *cyweeInfo) { /*分析activity extra info数据*/ void TraingModel::AnalysisExtraData( cywee_activity_result_extre_info_t *cyweeInfo) { - sportdata->apc = cyweeInfo->avg_pace; - sportdata->fpc = cyweeInfo->max_pace; - sportdata->cdc = cyweeInfo->avg_step_freq; - sportdata->std = cyweeInfo->avg_step_len * 100; // 前者cm 后者m + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "extra data %d %d %d %d", + cyweeInfo->avg_pace, cyweeInfo->max_pace, + cyweeInfo->avg_step_freq, cyweeInfo->avg_step_len); + if (cyweeInfo->avg_pace != 0) { + sportdata->apc = cyweeInfo->avg_pace; + } + if (cyweeInfo->max_pace != 0) { + sportdata->fpc = cyweeInfo->max_pace; + } + if (cyweeInfo->avg_step_freq != 0) { + sportdata->cdc = cyweeInfo->avg_step_freq; + } + if (cyweeInfo->avg_step_len != 0) { + sportdata->std = cyweeInfo->avg_step_len * 100; // 前者cm 后者m + } } /*分析运动心率数据*/ void TraingModel::AnalysisHeartData(uint8_t hrs) {