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