修复周期检测心率不停止的bug
authorCaisking <Casiking@zhihuishixun.com>
Sat, 19 Jul 2025 02:39:48 +0000 (10:39 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Sat, 19 Jul 2025 02:39:48 +0000 (10:39 +0800)
code/sdk/application/wearable/fd230/nativeapp/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/heartrate/src/HeartModel.cpp

index a2216b6..22d65b3 100644 (file)
@@ -653,7 +653,7 @@ extern "C"
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Heart rate detection cycle detection is enabled %d", curTime->tm_min % heartRateDetectionInterval);\r
             if (curTime->tm_min % heartRateDetectionInterval == 0 && curTime->tm_sec == 0)\r
             {\r
-                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Automatic heart rate detection starts");\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "开启心率周期检测");\r
                 // 开启心率检测\r
                 OHOS::HeartModel::GetInstance()->Heart_Control(OHOS::HeartState::Start, OHOS::HeartCheck::PASSIVITY);\r
             }\r
index 1eeb5eb..fbc80a6 100644 (file)
 #include <algorithm>\r
 \r
 #include "MainClockView.h"\r
-// #include <bleEvent.h>\r
+\r
+#ifdef BLE_SERVER_ENABLE\r
+#include "bleEvent.h"\r
+#include "bleInstruct.h"\r
+#include "bleService.h"\r
+#endif\r
 \r
 #include <cmsis_os.h>\r
 #include <cmsis_os2.h>\r
@@ -199,7 +204,8 @@ void HeartModel::ClearHeartData(void) {
   }\r
   SetAveHeartRateCount(0);\r
   // GraphicService::GetInstance()->PostGraphicEvent(\r
-  //     std::bind(&HeartModel::RefreshHeartRateScreen, HeartModel::GetInstance(),\r
+  //     std::bind(&HeartModel::RefreshHeartRateScreen,\r
+  //     HeartModel::GetInstance(),\r
   //               healthDatas.heartRatePerSec, healthDatas.heartRateRest,\r
   //               healthDatas.heartRateMax.y, healthDatas.heartRateMin.y));\r
 }\r
@@ -333,7 +339,8 @@ void HeartModel::HeartRatePros(HeartDatas *heartInfo) {
   }\r
 \r
   // GraphicService::GetInstance()->PostGraphicEvent(\r
-  //     std::bind(&HeartModel::RefreshHeartRateScreen, HeartModel::GetInstance(),\r
+  //     std::bind(&HeartModel::RefreshHeartRateScreen,\r
+  //     HeartModel::GetInstance(),\r
   //               healthDatas.heartRatePerSec, healthDatas.heartRateRest,\r
   //               healthDatas.heartRateMax.y, healthDatas.heartRateMin.y));\r
 }\r
@@ -470,6 +477,7 @@ void HeartModel::Heart_Control(HeartState state, HeartCheck check) {
       uapi_save_runtime_log(RUNTIME_LOG_HEART_MEASURE);\r
     }\r
 #endif\r
+    heart_data_timer(); // 开始检测\r
   }\r
 }\r
 // 开始检测\r
@@ -488,7 +496,6 @@ void HeartModel::Heart_Start(HeartCheck check) {
       // 主动检测的亮屏60s\r
       heart_start_screen60s_timer();\r
     }\r
-    heart_data_timer(); // 开始检测\r
   }\r
 }\r
 \r
@@ -508,6 +515,7 @@ void HeartModel::Heart_Stop() {
     }\r
     /*关闭被动检测*/\r
     Heart_Control(HeartState::End, HeartCheck::PASSIVITY);\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "结束周期心率检测");\r
     return;\r
   }\r
   //呼吸训练模式下不进行息屏与保存\r