Merge #3199 into fd272 from refs/changes/3199/head 3203/target/1
author袁清梦 <3449750381@qq.com>
Sat, 7 Feb 2026 06:51:28 +0000 (06:51 +0000)
committer袁清梦 <3449750381@qq.com>
Sat, 7 Feb 2026 06:51:28 +0000 (06:51 +0000)
Code review from 袁清梦

* refs/changes/3199/head: (3 commits squashed)

  - 优化训练记录的数据显示

  - 修复运动卡路里不出值的问题

  - Merge branch &#39;fd272&#39; of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into fd272

Signed-off-by: Caisking <3449750381@qq.com>
Merged-by: Caisking <3449750381@qq.com>
link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/3199
code/sdk/application/wearable/fd272/nativeapp/nativeui/traing/src/TraingEnddataView.cpp
code/sdk/zhihui/drivers/ppg/hx3695/hx3695.c

index c419710..e93f7c7 100644 (file)
@@ -640,13 +640,13 @@ void TraingEnddataView::InitData() {
                   mileStr.c_str()); // 打印运动距离
   }
 
-  // 平均心率
-  std::string heartStr = std::to_string(enddata->avgheart);
-  if (labelheart) // 检查 labelheart 是否为空
+  // 平均心率:0 时显示 "--次/分钟",避免误解
+  std::string heartStr = (enddata->avgheart != 0) ? std::to_string(enddata->avgheart) : "--";
+  if (labelheart)
   {
     labelheart->SetText(heartStr.c_str());
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Average heart rate set: %s\r\n",
-                  heartStr.c_str()); // 打印平均心率
+                  heartStr.c_str());
   }
 
   // 步数
@@ -691,22 +691,22 @@ void TraingEnddataView::InitData() {
                     avpaceStr.c_str()); // 打印平均配速
     }
 
-    // 步频
-    std::string freqStr = std::to_string(enddata->cdc);
-    if (labelfreq) // 检查 labelfreq 是否为空
+    // 步频:0 时显示 "--次/分钟",避免误解
+    std::string freqStr = (enddata->cdc != 0) ? std::to_string(enddata->cdc) : "--";
+    if (labelfreq)
     {
       labelfreq->SetText(freqStr.c_str());
       WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Cadence set: %s\r\n",
-                    freqStr.c_str()); // 打印步频
+                    freqStr.c_str());
     }
 
-    // 步幅
-    std::string strideStr = std::to_string(enddata->std);
-    if (labelstride) // 检查 labelstride 是否为空
+    // 步幅:0 时显示 "--",表示无有效数据
+    std::string strideStr = (enddata->std != 0) ? std::to_string(enddata->std) : "--";
+    if (labelstride)
     {
       labelstride->SetText(strideStr.c_str());
       WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Stride length set: %s\r\n",
-                    strideStr.c_str()); // 打印步幅
+                    strideStr.c_str());
     }
   }
   WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
index bbc12d9..a1cdf2a 100644 (file)
@@ -545,36 +545,49 @@ bool hx3695_check_wear(ppg_sensor_data_t *ppg_sensor_dat,uint8_t count)
 \r
         if(wear_status_pre != wear_status)\r
         {\r
-            if(uapi_dev_runtime_get_train_status() && !wear_status)\r
-                avg_hrs = 0;\r
 \r
             wear_status_pre = wear_status;\r
 \r
-            if(uapi_dev_runtime_get_sleep_monitoring_status())\r
+\r
+            if(uapi_dev_runtime_get_train_status())\r
             {\r
+                #ifdef SUPPORT_CYWEE_SERVICE\r
+                cywee_wear_status_update(&wear_status);\r
+                #endif\r
                 if(!wear_status)\r
                 {\r
-                    #ifdef SUPPORT_CYWEE_SERVICE\r
-                    cywee_wear_status_update(&wear_status);\r
-                    #endif\r
+                    avg_hrs = 0;\r
                 }\r
-                else if(living_status == 1 && wear_status)\r
+            }\r
+            else {\r
+            \r
+                if(uapi_dev_runtime_get_sleep_monitoring_status())\r
                 {\r
-                    #ifdef SUPPORT_CYWEE_SERVICE\r
-                    cywee_wear_status_update(&wear_status);\r
-                    #endif\r
+                    if(!wear_status)\r
+                    {\r
+                        #ifdef SUPPORT_CYWEE_SERVICE\r
+                        cywee_wear_status_update(&wear_status);\r
+                        #endif\r
+                    }\r
+                    else if(living_status == 1 && wear_status)\r
+                    {\r
+                        #ifdef SUPPORT_CYWEE_SERVICE\r
+                        cywee_wear_status_update(&wear_status);\r
+                        #endif\r
+                    }\r
                 }\r
-            }\r
-            else\r
-            {\r
-                if(living_status != 2)\r
+                else\r
                 {\r
+                    if(living_status != 2)\r
+                    {\r
 \r
-    #ifdef SUPPORT_CYWEE_SERVICE\r
-                    cywee_wear_status_update(&wear_status);\r
-    #endif\r
+        #ifdef SUPPORT_CYWEE_SERVICE\r
+                        cywee_wear_status_update(&wear_status);\r
+        #endif\r
+                    }\r
                 }\r
             }\r
+            \r
 \r
 \r
             // printf("wear_status:%d\n",wear_status);\r