encoded_hrm[7] = (uint8_t)((ir_buf[ii] & 0xFF00) >> 8); //ir原始数据\r
encoded_hrm[8] = (uint8_t)(ir_buf[ii] & 0xFF); //ir原始数据\r
\r
- encoded_hrm[9] = (uint8_t)((1234&0xFF00)>>8);//模拟x,1234换成填入自己的x数据\r
- encoded_hrm[10] = (uint8_t)(1234&0xFF);\r
- encoded_hrm[11] = (uint8_t)((-1234&0xFF00)>>8);//模拟y,-1234换成填入自己的y数据\r
- encoded_hrm[12] = (uint8_t)(-1234&0xFF);\r
- encoded_hrm[13] = (uint8_t)((3987&0xFF00)>>8);//模拟z,3987换成填入自己的z数据\r
- encoded_hrm[14] = (uint8_t)(3987&0xFF); \r
+ encoded_hrm[9] = (uint8_t)((gsen_fifo_x_send[ii]&0xFF00)>>8);//模拟x,1234换成填入自己的x数据\r
+ encoded_hrm[10] = (uint8_t)(gsen_fifo_x_send[ii]&0xFF);\r
+ encoded_hrm[11] = (uint8_t)((gsen_fifo_y_send[ii]&0xFF00)>>8);//模拟y,-1234换成填入自己的y数据\r
+ encoded_hrm[12] = (uint8_t)(gsen_fifo_y_send[ii]&0xFF);\r
+ encoded_hrm[13] = (uint8_t)((gsen_fifo_z_send[ii]&0xFF00)>>8);//模拟z,3987换成填入自己的z数据\r
+ encoded_hrm[14] = (uint8_t)(gsen_fifo_z_send[ii]&0xFF); \r
\r
encoded_hrm[15] = ppg_s_data.green_cur;//绿灯电流\r
encoded_hrm[16] = ppg_s_data.ir_cur;//红外电流\r
PRINT("*count[%d] \r\n",*count);\r
if(*count < 10)\r
{\r
- for(ii=0; ii<*count; ii++)\r
- {\r
- gsen_fifo_x_send[ii] = gsen_fifo_x[32-*count+ii];\r
- gsen_fifo_y_send[ii] = gsen_fifo_y[32-*count+ii];\r
- gsen_fifo_z_send[ii] = gsen_fifo_z[32-*count+ii];\r
- PRINT("hxdata:%d/%d %d %d %d %d %d %d\r\n",\r
- 1+ii,*count,red_buf[ii],ir_buf[ii],green_buf[ii],gsen_fifo_x[ii],gsen_fifo_y[ii],gsen_fifo_z[ii]);\r
+ gsensor_get_n_data(8,gsensordata);\r
+ for(ii=0; ii<*count; ii++)\r
+ {\r
+ if(ii == 8)\r
+ {\r
+ gsen_fifo_x_send[ii] = gsen_fifo_x_send[ii - 1];\r
+ gsen_fifo_y_send[ii] = gsen_fifo_y_send[ii - 1];\r
+ gsen_fifo_z_send[ii] = gsen_fifo_z_send[ii - 1];\r
+ }\r
+ else\r
+ {\r
+ // gsen_fifo_x_send[ii] = (gsensordata[ii*2].x + gsensordata[2*ii + 1].x)/2;\r
+ // gsen_fifo_y_send[ii] = (gsensordata[ii*2].y + gsensordata[2*ii + 1].y)/2;\r
+ // gsen_fifo_z_send[ii] = (gsensordata[ii*2].z + gsensordata[2*ii + 1].z)/2;\r
+ gsen_fifo_x_send[ii] = gsensordata[ii].x * 2048;\r
+ gsen_fifo_y_send[ii] = gsensordata[ii].y * 2048;\r
+ gsen_fifo_z_send[ii] = gsensordata[ii].z * 2048;\r
+ }\r
+ PRINT("hxdata:%d/%d %d %d %d %d %d %d\r\n",\r
+ 1+ii,*count,red_buf[ii],ir_buf[ii],green_buf[ii],gsen_fifo_x_send[ii],gsen_fifo_y_send[ii],gsen_fifo_z_send[ii]);\r
//printf("FFF==>spo2 red_buf : %d, %d, %d, %d \n", 1+ii, *count, red_buf[ii], ir_buf[0]);\r
- \r
-\r
- }\r
+ }\r
\r
// ft_ppg_iir = spo2_s_dat.red_data[0];\r
// hx3695_factory_test_process(NULL, APP_FACTORY_TEST_SPO2_START, &ft_ppg_iir);\r
spo2_alg_results = tyhx_spo2_alg_get_results();\r
//------------------------adjust-------------------\r
DEBUG_PRINTF("block_cnt: %d, data_cnt:%d, hr_result:%d,ir_quality:%d,motion:%d,poor_signal:%d,reliable_score_result:%d,screen_up:%d,spo2_result:%d\r\n",spo2_alg_results.block_cnt,spo2_alg_results.data_cnt,spo2_alg_results.hr_result,spo2_alg_results.ir_quality,spo2_alg_results.motion,spo2_alg_results.poor_signal,spo2_alg_results.reliable_score_result,spo2_alg_results.screen_up,spo2_alg_results.spo2_result);\r
-\r
+ \r
hrsresult.lastestspo2 = spo2_alg_results.spo2_result;\r
-\r
if(hrsresult.lastestspo2 > 0)\r
ble_spo2_flag = 1;\r
// if(hrsresult.lastestspo2)\r
hx3695_msg_callback_t func = hx3695_get_send_msg_callback_func();\r
if(func != NULL)\r
{\r
+ hrsresult.wearstatus = spo2_wear_status;\r
func(HX3695_MSG_TYPE_WEARSTAT_UPDATE,&hrsresult,sizeof(FT_CUSTOM_RESULTS_t));\r
func(HX3695_MSG_TYPE_SPO2_UPDATE,&hrsresult,sizeof(FT_CUSTOM_RESULTS_t));\r
}\r
encoded_hrm[9] = (uint8_t)((gdiff[0]&0xFF00)>>8);//sar diff\r
encoded_hrm[10] = (uint8_t)(gdiff[0]&0xFF);\r
#else\r
- encoded_hrm[9] = (uint8_t)((1234&0xFF00)>>8);//模拟x\r
- encoded_hrm[10] = (uint8_t)(1234&0xFF);\r
+ encoded_hrm[9] = (uint8_t)((gsen_fifo_x_send[ii]&0xFF00)>>8);//模拟x\r
+ encoded_hrm[10] = (uint8_t)(gsen_fifo_x_send[ii]&0xFF);\r
#endif\r
\r
- encoded_hrm[11] = (uint8_t)((-1234&0xFF00)>>8);//模拟y\r
- encoded_hrm[12] = (uint8_t)(-1234&0xFF);\r
- encoded_hrm[13] = (uint8_t)((3987&0xFF00)>>8);//模拟z\r
- encoded_hrm[14] = (uint8_t)(3987&0xFF); \r
+ encoded_hrm[11] = (uint8_t)((gsen_fifo_y_send[ii]&0xFF00)>>8);//模拟y\r
+ encoded_hrm[12] = (uint8_t)(gsen_fifo_y_send[ii]&0xFF);\r
+ encoded_hrm[13] = (uint8_t)((gsen_fifo_z_send[ii]&0xFF00)>>8);//模拟z\r
+ encoded_hrm[14] = (uint8_t)(gsen_fifo_z_send[ii]&0xFF); \r
\r
encoded_hrm[15] = cal.R_LED;\r
encoded_hrm[16] = cal.IR_LED1;\r