From 0974442087b0945ed9dda6a78d3680b4d6f3c80a Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E8=A2=81=E6=B8=85=E6=A2=A6?= <3449750381@qq.com> Date: Sat, 7 Feb 2026 06:51:28 +0000 Subject: [PATCH] Merge #3199 into fd272 from refs/changes/3199/head MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Code review from 袁清梦 * refs/changes/3199/head: (3 commits squashed) - 优化训练记录的数据显示 - 修复运动卡路里不出值的问题 - Merge branch 'fd272' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into fd272 Signed-off-by: Caisking <3449750381@qq.com> Merged-by: Caisking <3449750381@qq.com> CR-link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/3199 --- .../nativeui/traing/src/TraingEnddataView.cpp | 24 +++++----- code/sdk/zhihui/drivers/ppg/hx3695/hx3695.c | 47 ++++++++++++------- 2 files changed, 42 insertions(+), 29 deletions(-) diff --git a/code/sdk/application/wearable/fd272/nativeapp/nativeui/traing/src/TraingEnddataView.cpp b/code/sdk/application/wearable/fd272/nativeapp/nativeui/traing/src/TraingEnddataView.cpp index c41971080..e93f7c79e 100644 --- a/code/sdk/application/wearable/fd272/nativeapp/nativeui/traing/src/TraingEnddataView.cpp +++ b/code/sdk/application/wearable/fd272/nativeapp/nativeui/traing/src/TraingEnddataView.cpp @@ -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, diff --git a/code/sdk/zhihui/drivers/ppg/hx3695/hx3695.c b/code/sdk/zhihui/drivers/ppg/hx3695/hx3695.c index bbc12d907..a1cdf2a85 100644 --- a/code/sdk/zhihui/drivers/ppg/hx3695/hx3695.c +++ b/code/sdk/zhihui/drivers/ppg/hx3695/hx3695.c @@ -545,36 +545,49 @@ bool hx3695_check_wear(ppg_sensor_data_t *ppg_sensor_dat,uint8_t count) if(wear_status_pre != wear_status) { - if(uapi_dev_runtime_get_train_status() && !wear_status) - avg_hrs = 0; wear_status_pre = wear_status; - if(uapi_dev_runtime_get_sleep_monitoring_status()) + + if(uapi_dev_runtime_get_train_status()) { + #ifdef SUPPORT_CYWEE_SERVICE + cywee_wear_status_update(&wear_status); + #endif if(!wear_status) { - #ifdef SUPPORT_CYWEE_SERVICE - cywee_wear_status_update(&wear_status); - #endif + avg_hrs = 0; } - else if(living_status == 1 && wear_status) + } + else { + + if(uapi_dev_runtime_get_sleep_monitoring_status()) { - #ifdef SUPPORT_CYWEE_SERVICE - cywee_wear_status_update(&wear_status); - #endif + if(!wear_status) + { + #ifdef SUPPORT_CYWEE_SERVICE + cywee_wear_status_update(&wear_status); + #endif + } + else if(living_status == 1 && wear_status) + { + #ifdef SUPPORT_CYWEE_SERVICE + cywee_wear_status_update(&wear_status); + #endif + } } - } - else - { - if(living_status != 2) + else { + if(living_status != 2) + { - #ifdef SUPPORT_CYWEE_SERVICE - cywee_wear_status_update(&wear_status); - #endif + #ifdef SUPPORT_CYWEE_SERVICE + cywee_wear_status_update(&wear_status); + #endif + } } } + // printf("wear_status:%d\n",wear_status); -- 2.17.1