/* This variable is used to save calibrated mag sensor parameters */\r
float caliMagPara[4] = {0.0f}; \r
/* convert the coordinate system */ \r
- acc_coordinate_raw_to_real(A_LAYOUT, acc_raw_data, acc_real_data); \r
- MMC_LOG("acc_coordinate_raw_to_real raw(%.02f,%.02f,%.02f) , real(%.02f,%.02f,%.02f)\r\n",\r
- acc_raw_data[0],acc_raw_data[1],acc_raw_data[2],\r
- acc_real_data[0],acc_real_data[1],acc_real_data[2]\r
- ); \r
- /* Get the MMC5603 mag raw data, unit is gauss */\r
+ acc_coordinate_raw_to_real(A_LAYOUT, acc_raw_data, acc_real_data); \r
+ // /* Get the MMC5603 mag raw data, unit is gauss */\r
MMC5603_GetData(mag_raw_data);\r
\r
/* Convert the coordinate system */ \r
mag_coordinate_raw_to_real(M_LAYOUT, mag_raw_data, mag_real_data); \r
- MMC_LOG("mag_coordinate_raw_to_real raw(%.02f,%.02f,%.02f) , real(%.02f,%.02f,%.02f)\r\n",\r
- mag_raw_data[0],mag_raw_data[1],mag_raw_data[2],\r
- mag_real_data[0],mag_real_data[1],mag_real_data[2]\r
- ); \r
-\r
/* Below functions are algorithm interface. \r
* input acc, mag data into algorithm\r
* make sure that acc and mag XYZ data meet the right-hand(right-front-up) coordinate system\r
*/\r
+\r
+ // MMC_LOG("acc_raw :%f %f %f mag_raw:%f %f %f \r\n",acc_real_data[0],acc_real_data[1],acc_real_data[2],mag_real_data[0],mag_real_data[1],mag_real_data[2]);\r
MainAlgorithmProcess(acc_real_data, mag_real_data, 1); \r
\r
/* Get calibrated mag data */\r
calMagZ = caliMag[2];\r
\r
\r
- /* Get orientation vector */\r
- if (GetCalOri(acc_real_data, caliMag, caliOri) == 1 )\r
- {\r
+ // MMC_LOG("calmag :%f %f %f \r\n",caliMag[0],caliMag[1],caliMag[2]);\r
\r
- /* Get the accuracy of the algorithm */\r
- iAccuracy = GetMagAccuracy();\r
- \r
- /* Get the fAzimuth Pitch Roll for the eCompass */\r
- fAzimuth = caliOri[0];\r
- fPitch = caliOri[1];\r
- fRoll = caliOri[2]; \r
- if(iAccuracy == 3){\r
- MMC_LOG("== Mag x %.02F,y %.02F , z %.02F\r\n",\r
- calMagX,//高斯X\r
- calMagY,//高斯Y\r
- calMagZ//高斯Z\r
- );\r
- MMC_LOG("iAccuracy %d== Acc Azimuth %.02F,Pitch %.02F , Roll %.02F\r\n", \r
- iAccuracy,//可信度\r
- fAzimuth, //水平方向角,左转右转\r
- fPitch,//上下俯仰角\r
- fRoll//左右翻滚角\r
- );\r
- }else{\r
- MMC_LOG("--iAccuracy %d < 3 skip\r\n", \r
- iAccuracy //可信度\r
- );\r
-\r
- MMC_LOG("--== Mag x %.02F,y %.02F , z %.02F\r\n",\r
- calMagX,//高斯X\r
- calMagY,//高斯Y\r
- calMagZ//高斯Z\r
- );\r
- MMC_LOG("--iAccuracy %d== Acc Azimuth %.02F,Pitch %.02F , Roll %.02F\r\n", \r
- iAccuracy,//可信度\r
- fAzimuth, //水平方向角,左转右转\r
- fPitch,//上下俯仰角\r
- fRoll//左右翻滚角\r
- );\r
- \r
- }\r
- }\r
+ GetCalOri(acc_real_data, caliMag, caliOri);\r
+ fAzimuth = caliOri[0];\r
+ fPitch = caliOri[1];\r
+ fRoll = caliOri[2]; \r
+ iAccuracy = GetMagAccuracy();\r
+\r
+ // MMC_LOG("fAzimuth =%f iAccuracy=%d\r\n",fAzimuth,iAccuracy); \r
\r
- \r
/* Get the SET Flag from algorithm */ \r
- if(GetMagSaturation()) \r
- {\r
- //MEMSIC_Magnetic_Sensor_SET(); //Do SET action\r
- MMC_LOG("Do SET action MMC5603_SET\r\n");\r
- MMC5603_SET();\r
- }\r
+ // if(GetMagSaturation()) \r
+ // {\r
+ // //MEMSIC_Magnetic_Sensor_SET(); //Do SET action\r
+ // MMC_LOG("Do SET action MMC5603_SET\r\n");\r
+ // MMC5603_SET();\r
+ // }\r
\r
/* Get corrected mag data */\r
save_flag = GetCalPara(caliMagPara);\r
clock_gettime(CLOCK_MONOTONIC, &time);\r
uint32_t _endTimestamp = (uint32_t ) time.tv_sec * SEC_TO_MILLISEC + time.tv_nsec / MILLISEC_TO_NANOSEC;\r
\r
- MMC_LOG("mmc5603_check cost %u\r\n",(_endTimestamp-_startTimestamp));\r
+ // MMC_LOG("mmc5603_check cost %u\r\n",(_endTimestamp-_startTimestamp));\r
return 0;\r
}\r
\r