From: @CHENG <2393524978@qq.com> Date: Sun, 29 Sep 2024 06:47:11 +0000 (+0800) Subject: YYLPro20240903版本 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=b9daa6bc1c9e950f3a8994fcc2d7acdd168cbde9;p=mirrors%2FASR3603_Z5.git YYLPro20240903版本 --- diff --git a/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvopt b/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvopt index 0ff085e2..d3195fbc 100644 --- a/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvopt +++ b/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvopt @@ -682,8 +682,8 @@ 0 0 0 - .\VC9202\lib_hr_yll_v0.5.3.041924.lib - lib_hr_yll_v0.5.3.041924.lib + .\VC9202\lib_hr_yll_v0.5.3.090324.lib + lib_hr_yll_v0.5.3.090324.lib 0 0 diff --git a/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvproj b/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvproj index 7e74e63a..19a6f969 100644 --- a/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvproj +++ b/1.doc/K18/BLE_Watch/keil/BLE_Watch.uvproj @@ -643,9 +643,9 @@ .\VC9202\vc9202_user_debug.c - lib_hr_yll_v0.5.3.041924.lib + lib_hr_yll_v0.5.3.090324.lib 4 - .\VC9202\lib_hr_yll_v0.5.3.041924.lib + .\VC9202\lib_hr_yll_v0.5.3.090324.lib diff --git a/1.doc/K18/BLE_Watch/keil/VC9202/lib_hr_yll_v0.5.3.090324.lib b/1.doc/K18/BLE_Watch/keil/VC9202/lib_hr_yll_v0.5.3.090324.lib new file mode 100644 index 00000000..fb3017b8 --- /dev/null +++ b/1.doc/K18/BLE_Watch/keil/VC9202/lib_hr_yll_v0.5.3.090324.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b83e7384c01f3563c3426552f63438884ec9bb43c2a330473f48eeca353d1c6e +size 202348 diff --git "a/1.doc/K18/BLE_Watch/keil/VC9202/\343\200\220\345\265\214\345\205\245\345\274\217\347\253\257\343\200\221Pro\347\211\210\344\270\213\346\262\211\345\272\223\346\216\245\345\217\243\346\226\207\346\241\243.md" "b/1.doc/K18/BLE_Watch/keil/VC9202/\343\200\220\345\265\214\345\205\245\345\274\217\347\253\257\343\200\221Pro\347\211\210\344\270\213\346\262\211\345\272\223\346\216\245\345\217\243\346\226\207\346\241\243.md" index 4ffbb9d0..0f31994e 100644 --- "a/1.doc/K18/BLE_Watch/keil/VC9202/\343\200\220\345\265\214\345\205\245\345\274\217\347\253\257\343\200\221Pro\347\211\210\344\270\213\346\262\211\345\272\223\346\216\245\345\217\243\346\226\207\346\241\243.md" +++ "b/1.doc/K18/BLE_Watch/keil/VC9202/\343\200\220\345\265\214\345\205\245\345\274\217\347\253\257\343\200\221Pro\347\211\210\344\270\213\346\262\211\345\272\223\346\216\245\345\217\243\346\226\207\346\241\243.md" @@ -489,7 +489,56 @@ int is_good_ppg(int ppg[], unsigned int ppglen, int fs); --------------------------------------------------------------------------------------------------------------------------- -### 3.17 云医链算法初始化接口 +### 3.17 睡眠初始化接口 + +##### 原型: + +``` +void init_sleep_data(sleep_data_t* sdata); +``` + +##### 输入: + +- sdata, sleep_data指针类型,结构见头文件。 + + ##### 输出: +- 无 + + ##### 返回值: +- 无 + +##### 说明: + +- 必须在调用睡眠接口之前调用初始化接口 + +--------------------------------------------------------------------------------------------------------------------------- + +### 3.18 睡眠接口 + +##### 原型: + +``` +int get_sleep_time(gsensor_data_t gdata[], const int datalen, const sleep_time_t curtime, sleep_data_t *sdata); +``` + +##### 输入: + +- gdata,gsensor数组(gsensor数据结构在头文件中定义),采集的gsensor数据 +- datalen,整型,gdata长度(一般输入1s钟的长度,即60*fs) +- curtime,自定义类型,当前时间(精确到分钟) +- sdata, sleep_data指针类型,返回的时间数据 + + ##### 返回值: +- result,整型,0表示没有睡眠数据,1表示返回睡眠数据 + + ##### 说明: +- 该接口1分钟调用一次,每次传入1分钟的gsensor数据及当前时间; +- 该接口返回值为1时表示睡眠结束,可读取到睡眠数据;返回值为0,表示睡眠未结束,没有睡眠数据。 + +--------------------------------------------------------------------------------------------------------------------------- + + +### 3.19 云医链算法初始化接口 ##### 原型: @@ -513,7 +562,7 @@ void YYL_Init_PFE(unsigned char* buf, unsigned int len); --------------------------------------------------------------------------------------------------------------------------- -### 3.18 云医链算法输入接口 +### 3.20 云医链算法输入接口 ##### 原型: @@ -537,7 +586,7 @@ void YYL_Input_PFE(yylPFE_InputData_t *pInputData, int32_t hr); --------------------------------------------------------------------------------------------------------------------------- -### 3.19 云医链算法输出接口 +### 3.21 云医链算法输出接口 ##### 原型: @@ -562,7 +611,7 @@ yylPFE_OutputData * YYL_Output_PFE(int32_t *outputLen); --------------------------------------------------------------------------------------------------------------------------- -### 3.20 云医链算法结果清空接口 +### 3.22 云医链算法结果清空接口 ##### 原型: @@ -584,7 +633,7 @@ void YYL_Output_PFE_Array_Clear(void); --------------------------------------------------------------------------------------------------------------------------- -### 3.21 云医链算法版本获取接口 +### 3.23 云医链算法版本获取接口 ##### 原型: @@ -665,10 +714,18 @@ void test_algorithm() int fs = SAMPLERATE; int segdata[SAMPLERATE*SAMPLETIME]; const unsigned int seglen = SAMPLERATE * SAMPLETIME; - + + int count = 0; + sleep_time_t curtime; + int sleep_count = 0; + gsensor_data_t gdata[3000]; + const size_t datalen = 3000; + sleep_data_t sdata; + HAEMO: // 情绪算法初始化缓存 init_algorithm(buf, 8000); + init_sleep_data(&sdata); while(1) // 改为中断循环调用 { len = read_segment(fp, segdata, seglen); // 5s长度的数据 @@ -680,6 +737,31 @@ void test_algorithm() counter = 0; goto YYLPFE; // 得到数据后切换到中医算法 } + + curtime = time(year, month, day, hour, minute); // 伪代码,当前时间(精确到分钟) + if (get_sleep_time(gdata, datalen, curtime, &sdata)) + { + sleep_count++; + printf("begin_sleep_time: %d-%d-%d: %d-%d\n", + sdata.begin_sleep_time.year, + sdata.begin_sleep_time.month, + sdata.begin_sleep_time.day, + sdata.begin_sleep_time.hour, + sdata.begin_sleep_time.minute); + printf("end_sleep_time: %d-%d-%d: %d-%d\n", + sdata.end_sleep_time.year, + sdata.end_sleep_time.month, + sdata.end_sleep_time.day, + sdata.end_sleep_time.hour, + sdata.end_sleep_time.minute); + printf("total_sleep_time: %d M\n", sdata.total_sleep_time); + printf("sleep detail: \nstate count: %d\n", sdata.state_count); + for (int j = 0; j < sdata.state_count; j++) + { + printf("sleep state: %d - %d m\n", sdata.data[j].state, sdata.data[j].duration); + } + } + count++; counter++;