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
}\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
* @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:
*
#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);
}
}
+
+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)
{
remove(str);
return -1;
}
+ else
+ {
+ uapi_check_tar_file_count("/user/tar"); //有新的tar文件生成则检查tar文件数量
+ }
free(buffer);
return ret;
}
}
-#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)
{
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; // 图片更新间隔