Hi everyone, I worked on BMX160 IMU last few days, Till now i am able to get Raw readings of it like ACC(X,Y,Z),GYRO (X,Y,Z)and MAG(X,Y,Z) sensor. I confirmed raw readings of ACC and GYRO are correct or not by placing sensor at rest state and then raw readings are came like acc: 0,0,-/+1 and gyro: 0,0,0.(datasheet page no:106) but i didnot find any thing which is related to confirm Raw MAG readings are correct or not? And also i converted Acc and Gyro raw readings in to gravity,m/s^2 by using below formulas, //Here 2 is for 2g and 32768 for 16 bit value because ACC raw data is in 16 bit value Ax = (acc_raw_x * 2)/32768; Ay = (acc_raw_y * 2)/32768; Az = (acc_raw_z * 2)/32768; //Here 250 is for 250dps and 32768 for 16 bit value because Gyro raw data is in 16 bit value Gx = (gyro_raw_x * 250)/32768; Gy = (gyro_raw_y * 250)/32768; Gz = (gyro_raw_z * 250)/32768; 1) Can you please help me to find MAG Raw data correct or not? 2) I am just reading raw data from six registers of MAG(0x04 -0x09)?is it correct? 3) In BMX160 Datasheet for reading MAG data procedure given like below attached imge 4) What is bmi160 API for doing above image task? i did not find any API in bmi160.c file like above image suggested ? 5) What king of fusion algorithm/filters can i use to find pitch,roll and yaw from above readings? Please help me to come out of this issue. Thank you, Amarr
... View more