优化佩戴检测:小睡模式开启纯佩戴 睡眠模式开启活体佩戴 。
authorpenglei <1624952103@qq.com>
Thu, 5 Sep 2024 11:07:02 +0000 (19:07 +0800)
committerpenglei <1624952103@qq.com>
Thu, 5 Sep 2024 11:07:02 +0000 (19:07 +0800)
纯佩戴检测Timer修改为5分钟。

code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp
code/sdk/drivers/peripheral/ppg/hx3695/hx3695.c
code/sdk/drivers/peripheral/ppg/hx3695/tyhx_hrs_custom.h

index 73056b0..5523af3 100644 (file)
@@ -36,6 +36,7 @@
 #include "AppViewIDs.h"\r
 #include "player/include/PlayersView.h"\r
 #include "record/include/RecordingPlayerView.h"\r
+#include "ppg_service.h"\r
 \r
 #ifdef __cplusplus\r
 extern "C"\r
@@ -434,6 +435,7 @@ extern "C"
                     uapi_dev_runtime_set_nap_monitoring_status(1);\r
                     uapi_dev_runtime_set_sleep_monitoring_status(0);\r
                     OHOS::SleepModel::GetInstance().ReInitData(); // 更新睡眠数据\r
+                    set_keep_in_wear_det_mode(1); //开启小睡佩戴监测\r
                     SendMsgToUIService(UI_UPDATE_SLEEP_DATA, 0, nullptr, 0);\r
                     do_cywee_service_check_msg(CYWEE_SERVICE_CMD_NAP_SEDENTARY_MODE, NULL); // 算法底层切换小睡监测模式\r
                 }\r
@@ -446,6 +448,7 @@ extern "C"
                 OHOS::clean_sleep_data(); // 清零睡眠文件存储数据\r
                 uapi_dev_runtime_set_sleep_monitoring_status(1);\r
                 uapi_dev_runtime_set_nap_monitoring_status(0);\r
+                set_keep_in_wear_det_mode(0); //关闭小睡佩戴监测\r
                 do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, NULL); // 强制获取小睡数据,结束小睡\r
                 // 睡眠弹窗\r
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "要睡觉啦!");\r
index 67484b9..79975e1 100644 (file)
@@ -2720,11 +2720,14 @@ static void get_avg_hrs(int32_t hrs)
 \r
 void hx3695_wearstatus_update(void)\r
 {\r
-    if(wear_status != hrsresult.wearstatus)\r
+    if(uapi_dev_runtime_get_sleep_monitoring_status())//处于睡眠监测 上报活体佩戴\r
     {\r
-        wear_status = hrsresult.wearstatus;\r
-        cywee_data = wear_status;\r
-        do_cywee_service_check_msg(CYWEE_SERVICE_CMD_WEAR_STATUS_CHANGE,&cywee_data);\r
+        if(wear_status != hrsresult.wearstatus)\r
+        {\r
+            wear_status = hrsresult.wearstatus;\r
+            cywee_data = wear_status;\r
+            do_cywee_service_check_msg(CYWEE_SERVICE_CMD_WEAR_STATUS_CHANGE,&cywee_data);\r
+        }\r
     }\r
 }\r
 \r
index bd64ef3..35bfef2 100644 (file)
@@ -8,7 +8,7 @@
  * @Author: penglei 1624952103@qq.com
  * @Date: 2024-03-26 20:29:58
  * @LastEditors: penglei 1624952103@qq.com
- * @LastEditTime: 2024-04-30 09:31:34
+ * @LastEditTime: 2024-09-05 19:04:40
  * @FilePath: /FD230/code/sdk/drivers/peripheral/ppg/hx3695/tyhx_hrs_custom.h
  * @Description: 
  * 
@@ -77,7 +77,8 @@ uint32_t tyhx_read_regs( uint8_t reg_addr,uint8_t *readbuf,uint16_t readlen);
 
 #define TYHX_TIMER_40MS 40
 #define TYHX_TIMER_320MS 320
-#define TYHX_TIMER_5000MS 5000
+#define TYHX_TIMER_5000MS 1000 * 60 * 5 //纯佩戴修改为5分钟
+//#define TYHX_TIMER_5000MS 5000
 
 bool tyhx_timer_start(uint32_t ms);
 bool tyhx_timer_stop(uint32_t ms);