#define AP_ENABLE_DML_SDO_LISTEN
-#define GSENSON_MSG_COUNT 15
+#define GSENSON_MSG_COUNT 16
static gsenson_t gxyz_t;
static uint8_t gsenson_falg=0;
float acc_y;
float acc_z;
};
-static struct AccelerationData rawdata[GSENSON_MSG_COUNT]; //自定义buffer,用来缓存sensor数据
+static struct AccelerationData rawdata[25]; //自定义buffer,用来缓存sensor数据
static int AccdataCount = 0; //fifo长度
void CWM_AP_dmlSensorDataOutput_listen(const dml_sensorData_t * pSdo)
{
- if(AccdataCount < GSENSON_MSG_COUNT)
+ if(AccdataCount < 25)
{
if (pSdo->validData & DML_SENSOR_DATA_VALID_DT)
{
scl.iData[0] = 1;
#ifdef AP_ENABLE_DML_SDO_LISTEN
scl.iData[2] = 2+16; //分离式DML
- CWM_CustomSensorInput_Fifo_Init(GSENSON_MSG_COUNT);
+ CWM_CustomSensorInput_Fifo_Init(25);
#else
scl.iData[1] = 18; //00000000000000000000000000010010 高位在前
#endif
#else
scl.iData[3] = 2;
scl.iData[4] = 1; //1 anytime 2 fifo
- scl.iData[6] = 25; //fifocount 先設定5 [1~25]
+ scl.iData[6] = GSENSON_MSG_COUNT; //fifocount 先設定5 [1~25]
scl.iData[8] = 26; // for st sensor(52Hz)
scl.iData[11] = 4; // G_INT_1
}\r
memset(gsensordata,0.0f,sizeof(gsenson_t) * 8);\r
\r
- // gsensor_get_n_data(8,gsensordata); \r
+ gsensor_get_n_data(8,gsensordata); \r
\r
+ for(ii=0; ii<*count; ii++)\r
+ {\r
+ if(gsensordata[ii].x == 0.0f && gsensordata[ii].y == 0.0f && gsensordata[ii].z == 0.0f)\r
+ {\r
+ timeout++;\r
+ if(timeout > 20)\r
+ {\r
+ do_cywee_service_check_msg(CYWEE_SERVICE_CMD_RESTART_ACC,NULL);\r
+ }\r
+ }\r
+ else\r
+ {\r
+ timeout = 0;\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].x * 4096 / 10;\r
+ gsen_fifo_y_send[ii] = gsensordata[ii].y * 4096 / 10;\r
+ gsen_fifo_z_send[ii] = gsensordata[ii].z * 4096 / 10;\r
+ }\r
+\r
+ // gsensor_get_n_data(8,gsensordata); \r
// for(ii=0; ii<*count; ii++)\r
// {\r
// if(gsensordata[ii].x == 0.0f && gsensordata[ii].y == 0.0f && gsensordata[ii].z == 0.0f)\r
// {\r
// timeout = 0;\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
+ // // 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
+ // if(ii < 9)\r
// {\r
// gsen_fifo_x_send[ii] = gsensordata[ii].x * 4096 / 10;\r
// gsen_fifo_y_send[ii] = gsensordata[ii].y * 4096 / 10;\r
// gsen_fifo_z_send[ii] = gsensordata[ii].z * 4096 / 10;\r
// }\r
\r
- gsensor_get_n_data(5,gsensordata); \r
- for(ii=0; ii<*count; ii++)\r
- {\r
- if(gsensordata[ii].x == 0.0f && gsensordata[ii].y == 0.0f && gsensordata[ii].z == 0.0f)\r
- {\r
- timeout++;\r
- if(timeout > 20)\r
- {\r
- do_cywee_service_check_msg(CYWEE_SERVICE_CMD_RESTART_ACC,NULL);\r
- }\r
- }\r
- else\r
- {\r
- timeout = 0;\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
- if(ii < 9)\r
- {\r
- gsen_fifo_x_send[ii] = gsensordata[ii/2].x * 4096 / 10;\r
- gsen_fifo_y_send[ii] = gsensordata[ii/2].y * 4096 / 10;\r
- gsen_fifo_z_send[ii] = gsensordata[ii/2].z * 4096 / 10;\r
- }\r
-\r
- // }\r
-\r
+ // }\r
+ // PRINT("hxdata:%d/%d %d %d %.3f %.3f %.3f %d\r\n" ,1+ii,*count,PPG_buf[ii],ir_buf[0],gsensordata[ii].x,gsensordata[ii].y,gsensordata[ii].z,ppg_s_data.green_cur);\r
//PRINT("hxdata:%d/%d %d %d %.3f %.3f %.3f %d\r\n" ,1+ii,*count,PPG_buf[ii],ir_buf[0],gsen_fifo_x_send[ii],gsen_fifo_y_send[ii],gsen_fifo_z_send[ii],ppg_s_data.green_cur);\r
//PRINT("hxdata:%d/%d %d %d %d %d %d %d\r\n" ,1+ii,*count,PPG_buf[ii],ir_buf[0],gsen_fifo_x_send[ii],gsen_fifo_y_send[ii],gsen_fifo_z_send[ii],ppg_s_data.green_cur);\r
//PRINT("hxdata:%d/%d %d %d %.3f %.3f %.3f %d\r\n" ,1+ii,*count,PPG_buf[ii],ir_buf[0],gsensordata[ii].x,gsensordata[ii].y,gsensordata[ii].z,ppg_s_data.green_cur);\r