运动:过滤运动平均配速为0;最高最低配速为0的数据
authorCaisking <3449750381@qq.com>
Wed, 15 Jan 2025 09:30:32 +0000 (17:30 +0800)
committerCaisking <3449750381@qq.com>
Wed, 15 Jan 2025 09:30:32 +0000 (17:30 +0800)
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp

index 0e98177..30a9efa 100644 (file)
@@ -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) {