data_len_h = hx3695_read_reg(0x21);\r
data_len_l = hx3695_read_reg(0x20);\r
fifo_data_length = (((data_len_h&0x01)<<8)|data_len_l);\r
+ // printf("111 fifo data length %d %d %d\n", data_len_h, data_len_l, fifo_data_length);\r
+ // DEBUG_PRINTF("fifo_data_length: %d\r\n", fifo_data_length);\r
\r
- DEBUG_PRINTF("fifo_data_length: %d\r\n", fifo_data_length);\r
- \r
- if (fifo_data_length>FIFO_DATA_LENGTH)\r
- {\r
- fifo_data_length = FIFO_DATA_LENGTH;\r
- }\r
- \r
+ int threshold = 0;\r
+\r
+ if(work_mode_flag == WEAR_MODE)\r
+ {\r
+ threshold = (ppg_sensor_dat->led_activated)*(ppg_sensor_dat->fs/5)*40;\r
+ }\r
+ else\r
+ {\r
+ threshold = (ppg_sensor_dat->led_activated)*(ppg_sensor_dat->fs/5)*4;\r
+ }\r
+\r
+ // printf("threshold : %d\n",threshold);\r
+\r
+ if(fifo_data_length > threshold)\r
+ {\r
+ data_len_h = hx3695_read_reg(0x21);\r
+ data_len_l = hx3695_read_reg(0x20);\r
+ fifo_data_length = (((data_len_h&0x01)<<8)|data_len_l);\r
+ // printf("222 fifo data length again %d %d %d\n", data_len_h, data_len_l, fifo_data_length);\r
+ }\r
+\r
+ if (fifo_data_length>FIFO_DATA_LENGTH)\r
+ {\r
+ fifo_data_length = FIFO_DATA_LENGTH;\r
+ }\r
+ \r
if(fifo_data_length<2*ppg_sensor_dat->led_activated)\r
{\r
return 0;\r