Merge #1218 into sdk602patch0911 from refs/changes/1218/head 1222/target/1
author彭磊 <1624952103@qq.com>
Sun, 20 Oct 2024 03:56:09 +0000 (03:56 +0000)
committersnickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Sun, 20 Oct 2024 03:56:09 +0000 (03:56 +0000)
Code review from 彭磊

* refs/changes/1218/head: (4 commits squashed)

  - 优化睡眠状态下误判为未佩戴的情况。
    修改小睡佩戴检测Timer为1分钟,优化小睡入睡时间计算。
    添加tar文件内存管理。

  - Merge branch &#39;sdk602patch0911&#39; of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0911

  - 修改开机动画图片路径到“user/res/ReBootAndShutDown”

  - Merge branch &#39;sdk602patch0911&#39; of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0911

Signed-off-by: aliyun6865282430 <1624952103@qq.com>
Reviewed-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Merged-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/1218
40 files changed:
code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/1.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/1.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/10.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/10.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/11.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/11.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/12.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/12.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/13.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/13.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/14.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/14.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/15.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/15.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/16.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/16.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/17.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/17.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/18.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/18.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/19.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/19.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/2.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/2.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/20.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/20.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/21.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/21.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/22.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/22.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/23.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/23.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/24.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/24.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/25.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/25.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/26.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/26.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/27.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/27.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/28.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/28.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/29.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/29.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/3.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/3.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/30.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/30.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/31.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/31.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/32.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/32.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/33.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/33.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/34.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/34.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/35.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/35.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/36.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/36.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/4.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/4.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/5.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/5.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/6.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/6.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/7.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/7.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/8.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/8.bin with 100% similarity]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/RebootAndShutDown/ReBoot/9.bin [moved from code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/system/ReBoot/9.bin with 100% similarity]
code/sdk/drivers/peripheral/ppg/hx3695/tyhx_hrs_custom.h
code/sdk/drivers/peripheral/utils/custom_utils.c
code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_service_wrapper.cpp

index 61d8ad1..bbdfd0e 100644 (file)
@@ -630,6 +630,8 @@ void HeartModel::UpHeartdata(uint16_t heart) {
   if (uapi_dev_runtime_get_train_status() == 1)\r
     return;\r
 \r
+  int max_valid_count = 0;\r
+\r
   if (heart != 0) {\r
     if (display_counter_ >= DISPLAY_COUNT) {\r
       displayheart = heart;\r
@@ -666,7 +668,12 @@ void HeartModel::UpHeartdata(uint16_t heart) {
   }\r
 \r
   // 检查无效计数器是否达标\r
-  if (disvalid_counter_ >= MAX_DISVALID_HRS_COUNT) {\r
+  if(uapi_dev_runtime_get_sleep_monitoring_status()) //睡眠监测模式下,增加未佩戴个数最大值,避免误判\r
+      max_valid_count = MAX_DISVALID_HRS_COUNT * 2;\r
+  else\r
+      max_valid_count = MAX_DISVALID_HRS_COUNT;\r
+      \r
+  if (disvalid_counter_ >= max_valid_count) {\r
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
                   "检测结果:无效数达标 disvalid_counter:%d", disvalid_counter_);\r
     SetResult(HeartResult::INVALID_DATA); // 标记为无效数据\r
index 35bfef2..b9f6bbd 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-09-05 19:04:40
+ * @LastEditTime: 2024-10-19 18:54:33
  * @FilePath: /FD230/code/sdk/drivers/peripheral/ppg/hx3695/tyhx_hrs_custom.h
  * @Description: 
  * 
@@ -77,7 +77,7 @@ 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 1000 * 60 * 5 //纯佩戴修改为5分钟
+#define TYHX_TIMER_5000MS 1000 * 60 //纯佩戴修改为1分钟 优化小睡入睡时间计算
 //#define TYHX_TIMER_5000MS 5000
 
 bool tyhx_timer_start(uint32_t ms);
index eacf76a..9077ee8 100644 (file)
@@ -1893,6 +1893,53 @@ int uapi_delete_files(const char *file_path)
     }
         
 }
+
+void uapi_check_tar_file_count(char *folderpath)
+{
+    DIR *dir;
+    struct dirent *entry;
+    uint8_t count = 0;
+    uint32_t old_tm,new_tm;
+    char old_tm_str[11] = {0};
+    char new_tm_str[11] = {0};
+    char old_file_name[64] = {0};
+
+    dir = opendir(folderpath);
+    if (dir == NULL) 
+    {
+        PRINT("open %s failed \n",folderpath);
+        return;
+    }
+    while ((entry = readdir(dir))!= NULL) //遍历tar文件找到时间戳最老的文件名
+    {
+        if (strstr(entry->d_name, ".tar")!= NULL) 
+        {
+            count++;
+            strncpy(new_tm_str, entry->d_name + strlen(entry->d_name) - 14, 10);
+            new_tm_str[10] = '\0';
+            new_tm = (uint32_t)strtoul(new_tm_str, NULL, 10);
+            if (old_tm == 0 || old_tm > new_tm) 
+            {
+                old_tm = new_tm;
+                memset(old_file_name,0,sizeof(old_file_name));
+                memcpy_s(old_file_name,sizeof(old_file_name),entry->d_name,strlen(entry->d_name));
+            }
+        }
+    }
+    
+
+    closedir(dir);
+    if (count > 5)  //文件数量超过5个则删掉最老的文件
+    {
+        char filePath[256];
+        snprintf(filePath, sizeof(filePath), "%s/%s", folderpath, old_file_name);
+        if (remove(filePath) == 0)
+            PRINT("delete %s succed\n", filePath);
+        else 
+            PRINT("delete %s failed\n", filePath);
+    }
+}
+
 #define  MAX_TAR_READ_BUF  1024
 int uapi_tar_file(const char *src_path,const char *tar_path,char *tarfilename)
 {
@@ -1996,6 +2043,10 @@ int uapi_tar_file(const char *src_path,const char *tar_path,char *tarfilename)
         remove(str);
         return -1;
     }
+    else
+    {
+        uapi_check_tar_file_count("/user/tar"); //有新的tar文件生成则检查tar文件数量
+    }
     free(buffer);
     return ret;
 }
@@ -3616,21 +3667,6 @@ void uapi_custom_set_uart_rx_enable_flag(bool enable_uart)
 }
 
 
-#define SLEEP_FLAG_PATH "/user/userdata/sleep_flag.bin"
-
-void uapi_save_sleep_flag(uint8_t *data,uint16_t len)
-{
-    if(access(SLEEP_FLAG_PATH, F_OK) == -1)
-        uapi_save_file_data(SLEEP_FLAG_PATH,data,len,"wb");
-    else
-        uapi_save_file_data(SLEEP_FLAG_PATH,data,len,"ab");
-}
-
-void uapi_clean_sleep_flag(void)
-{
-    uapi_delete_files(SLEEP_FLAG_PATH);
-}
-
 
 errcode_t touch_resume_in_cmd_queue(void)
 {
index 133454f..87c6c68 100755 (executable)
@@ -56,10 +56,10 @@ static OHOS::UIViewGroup* group=nullptr;
 static OHOS::UIViewGroup* boot_group=nullptr;
 static OHOS::UIImageAnimatorView* ReBootImageAnimatorView=nullptr;
 #ifdef CUSTOM_Z1
-static constexpr char *ReBootPaths = "/system/ReBoot/"; //开机图片路径
+static constexpr char *ReBootPaths = "/user/res/RebootAndShutDown/ReBoot/"; //开机图片路径
 static constexpr int16_t REBOOT_IMAGE_ANIMATOR_VIEW_NUM_FRAMES = 30; // 图片帧数
 #else
-static constexpr char *ReBootPaths = "/system/ReBoot/"; //开机图片路径
+static constexpr char *ReBootPaths = "/user/res/RebootAndShutDown/ReBoot/"; //开机图片路径
 static constexpr int16_t REBOOT_IMAGE_ANIMATOR_VIEW_NUM_FRAMES = 36; // 图片帧数
 #endif
 static constexpr int16_t REBOOT_IMAGE_ANIMATOR_TIME = 150;           // 图片更新间隔