From ba33dbf2d4097598aa8b57e6f680b476e89e373e Mon Sep 17 00:00:00 2001 From: penglei <1624952103@qq.com> Date: Mon, 10 Nov 2025 18:36:24 +0800 Subject: [PATCH] =?utf8?q?=E4=BC=98=E5=8C=96gsensor=E6=81=A2=E5=A4=8D?= =?utf8?q?=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../src/AlarmClockTimerConfig.cpp | 2 +- .../src/AlarmClockTimerConfig.cpp | 2 +- .../src/AlarmClockTimerConfig.cpp | 2 +- code/sdk/zhihui/drivers/cywee/dml/cywee_dml.c | 12 ++++++++++-- .../drivers/ppg/pah8009/sensor/pah800x_main.c | 17 ++++++++--------- .../ppg/pah8009/sensor/pah_800x_config.h | 4 ++-- 6 files changed, 23 insertions(+), 16 deletions(-) diff --git a/code/sdk/application/wearable/fd230/nativeapp/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp b/code/sdk/application/wearable/fd230/nativeapp/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp index df272d9fd..dcfea1d39 100644 --- a/code/sdk/application/wearable/fd230/nativeapp/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp +++ b/code/sdk/application/wearable/fd230/nativeapp/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp @@ -379,7 +379,7 @@ extern "C" do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_BLE_ADV_CHECK, nullptr, 0); // 3秒钟检查一次广播 } - if (curTime.tm_sec % 60 == 0) + if (curTime.tm_sec % 5 == 0 && !uapi_dev_runtime_get_train_status()) { #ifdef SUPPORT_CYWEE_SERVICE do_cywee_service_check_msg(CYWEE_SERVICE_CMD_CHECK_ACC, NULL); // 一分钟检查一次gsensor是否停止 diff --git a/code/sdk/application/wearable/fd272/nativeapp/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp b/code/sdk/application/wearable/fd272/nativeapp/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp index d0dffed00..93a1e3a2d 100644 --- a/code/sdk/application/wearable/fd272/nativeapp/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp +++ b/code/sdk/application/wearable/fd272/nativeapp/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp @@ -369,7 +369,7 @@ extern "C" do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_BLE_ADV_CHECK, nullptr, 0); // 3秒钟检查一次广播 } - if (curTime.tm_sec % 60 == 0) + if (curTime.tm_sec % 5 == 0 && !uapi_dev_runtime_get_train_status()) { #ifdef SUPPORT_CYWEE_SERVICE do_cywee_service_check_msg(CYWEE_SERVICE_CMD_CHECK_ACC, NULL); // 一分钟检查一次gsensor是否停止 diff --git a/code/sdk/application/wearable/n9/nativeapp/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp b/code/sdk/application/wearable/n9/nativeapp/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp index 3e3045d4b..77dde3b6c 100644 --- a/code/sdk/application/wearable/n9/nativeapp/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp +++ b/code/sdk/application/wearable/n9/nativeapp/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp @@ -369,7 +369,7 @@ extern "C" do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_BLE_ADV_CHECK, nullptr, 0); // 3秒钟检查一次广播 } - if (curTime.tm_sec % 60 == 0) + if (curTime.tm_sec % 5 == 0 && !uapi_dev_runtime_get_train_status()) { #ifdef SUPPORT_CYWEE_SERVICE do_cywee_service_check_msg(CYWEE_SERVICE_CMD_CHECK_ACC, NULL); // 一分钟检查一次gsensor是否停止 diff --git a/code/sdk/zhihui/drivers/cywee/dml/cywee_dml.c b/code/sdk/zhihui/drivers/cywee/dml/cywee_dml.c index 25a08c455..8c51be7f3 100644 --- a/code/sdk/zhihui/drivers/cywee/dml/cywee_dml.c +++ b/code/sdk/zhihui/drivers/cywee/dml/cywee_dml.c @@ -75,6 +75,8 @@ static int last_mhr_zone = -1; // 上次的心率区间状态 static uint8_t is_free_trainning_mode = 0; +static uint8_t acc_check_cnt = 0; + /** * @brief 更新燃脂时间 * @param current_mhr_zone 当前心率区间 (2表示燃脂区间) @@ -247,6 +249,7 @@ void cywee_service_data_update(void) { cywee_hrs_update(); cywee_gnss_update(); + cywee_check_acc(); } static void cywee_sport_timer_start_check(uint32_t rtc_ms) @@ -306,12 +309,17 @@ void cywee_check_acc(void) { if(!timeout) { - // printf("cywee_restart_acc\n"); - cywee_restart_acc(); + acc_check_cnt++; + if(acc_check_cnt > 2) + { + printf("cywee_restart_acc\n"); + cywee_restart_acc(); + } } else { timeout = 0; + acc_check_cnt = 0; } } diff --git a/code/sdk/zhihui/drivers/ppg/pah8009/sensor/pah800x_main.c b/code/sdk/zhihui/drivers/ppg/pah8009/sensor/pah800x_main.c index 93b04d8fc..537405afe 100644 --- a/code/sdk/zhihui/drivers/ppg/pah8009/sensor/pah800x_main.c +++ b/code/sdk/zhihui/drivers/ppg/pah8009/sensor/pah800x_main.c @@ -630,19 +630,18 @@ void hr_alg_task(void) // } // #endif - if(hr > 0 && hr < 210.0f && !isnan(hr) && !isinf(hr)) + if(hr > 0.0f && hr < 210.0f && !isnan(hr) && !isinf(hr)) { - int hr_int = round(hr); + + avg_hrs = (uint8_t)hr; - if (hr_int >= 30 && hr_int <= 210) - { - avg_hrs = (uint8_t)hr_int; - } // else // { // // 舍弃异常值,保持之前的有效值 // printf("PAH: HR异常值过滤: %d (超出30-210范围)\n", hr_int); // } + + LOG_PRINT("hr : %.3f ,avg_hrs : %d\n",hr,avg_hrs); } // else if(hr > 0) // { @@ -655,7 +654,7 @@ void hr_alg_task(void) // get_avg_hrs(data); - LOG_PRINT("hr : %f avg_hrs : %d\n",hr,avg_hrs); + // printf("func(PPG_MSG_TYPE_HRS_UPDATE, &avg_hrs, 1); :%d\n",avg_hrs); // func(PPG_MSG_TYPE_HRS_UPDATE, &avg_hrs, 1); @@ -1917,7 +1916,7 @@ void pah8009_control(char *mode,uint8_t enable) work_mode = 1; // touch_only_sensor_start(); ppg_only_sensor_start(); - time_out = 15; + time_out = 20; } else if (strcmp(mode, "hrv") == 0) { // md = HRV_MODE; } else if (strcmp(mode, "spo2") == 0) { @@ -1925,7 +1924,7 @@ void pah8009_control(char *mode,uint8_t enable) pah_sensor_init(diw_4mm_ir_r_ir_spo2); ppg_only_sensor_start(); work_mode = 2; - time_out = 15; + time_out = 20; } else if (strcmp(mode, "leaklight") == 0) { // md = FT_LEAK_LIGHT_MODE; factory_test_mode(factory_test_leak_light_target_sample, 0, 0, 0, 0); diff --git a/code/sdk/zhihui/drivers/ppg/pah8009/sensor/pah_800x_config.h b/code/sdk/zhihui/drivers/ppg/pah8009/sensor/pah_800x_config.h index 8fb130e54..67827e8bf 100644 --- a/code/sdk/zhihui/drivers/ppg/pah8009/sensor/pah_800x_config.h +++ b/code/sdk/zhihui/drivers/ppg/pah8009/sensor/pah_800x_config.h @@ -47,7 +47,7 @@ #ifdef PAH_800x_ENABLE_LOG_PRINT #define LOG_PRINT(fmt, ...) \ do { \ - CWM_OS_dbgPrintf(fmt"PAH:", ##__VA_ARGS__); \ + printf(fmt"PAH:", ##__VA_ARGS__); \ } while (0) #else #define LOG_PRINT(...) do {} while (0) @@ -56,7 +56,7 @@ #ifdef PAH_800x_ENABLE_DEBUG_PRINT #define DEBUG_PRINT(fmt, ...) \ do { \ - CWM_OS_dbgPrintf(fmt"PAH:", ##__VA_ARGS__); \ + printf(fmt"PAH:", ##__VA_ARGS__); \ } while (0) #else #define DEBUG_PRINT(...) do {} while (0) -- 2.17.1