From: Caisking <3449750381@qq.com> Date: Tue, 7 May 2024 10:45:09 +0000 (+0800) Subject: 增加佩戴状态下的无效数控制 X-Git-Tag: release_V1.2.70_20241020_135402~1025^2~28 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=c7f1d9301081e0e97c2e51fe29c78e4ec5db3da6;p=mirrors%2FFD230.git 增加佩戴状态下的无效数控制 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/heartrate/include/HeartModel.h b/code/sdk/application/wearable/fd230app/nativeui/heartrate/include/HeartModel.h index 4a14b4abc..b720bbf8f 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heartrate/include/HeartModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/heartrate/include/HeartModel.h @@ -158,8 +158,9 @@ extern "C" bool initstatus = true; uint8_t wear_; - uint8_t valid_counter_ = 0;//有效数计数器 - uint8_t unwear_counter_ = 0;//佩戴错误计数器 + uint8_t valid_counter_ = 0; // 有效数计数器 + uint8_t disvalid_counter_ = 0; // 无效数计数器 + uint8_t unwear_counter_ = 0; // 佩戴错误计数器 }; } diff --git a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp index e06ea4cce..85a65ba36 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp @@ -19,8 +19,9 @@ extern "C" { #endif -#define MAX_UNWEAR_COUNT 30 -#define MAX_VALID_HRS_COUNT 30 +#define MAX_UNWEAR_COUNT 20 +#define MAX_VALID_HRS_COUNT 40 +#define MAX_DISVALID_HRS_COUNT 40 #define HEARTTEST 1 //[0 开启测试 1 关闭] /* 佩戴检测结果 */ enum @@ -475,6 +476,7 @@ namespace OHOS { valid_counter_ = 0; unwear_counter_ = 0; + disvalid_counter_ = 0; SetCheckStatus(false); SetWearStatus(1); } @@ -482,7 +484,7 @@ namespace OHOS void HeartModel::SetWearStatus(int32_t wear) { // 设置佩戴状态 - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartModel Weartest::%d", wear); + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartModel Weartest::%d", wear); if (wear_ != 1 && wear != 1) { unwear_counter_++; // 佩戴错误计时器计数 @@ -585,11 +587,21 @@ namespace OHOS if (Show_Heart_ != 0) { Heart_ = heart; - valid_counter_++; // 增加有效计数器 + valid_counter_++; // 增加有效计数器 + disvalid_counter_ = 0; // 清零无效数 } else { - valid_counter_ = 0; // 清零有效计数器 + valid_counter_ = 0; // 清零有效计数器 + disvalid_counter_++; // 增加无效数 + } + // 一直为无效数 + if (disvalid_counter_ >= MAX_DISVALID_HRS_COUNT) + { + // 结束本次测试 + PRINT("MAX_DISVALID_HRS_COUNT\r\n"); + Heart_Stop(); + return; } #if HEARTTEST if (valid_counter_ >= MAX_VALID_HRS_COUNT)