BMX055 Accelerometer Fast Compensation and Magnetometor Data Interpretation

Hello,

I'm using the BMX055 IMU in an accessory for motorcycles. I started testing the IMU in our first prototype and I'm successfully able to read the data of ACC, GYRO and MAG via I2C. 

However there are a couple of things that are not so clear to me:

1) I followed the procedure for the ACC fast compensation described at page 31-32 of the datasheet, that is:

     - set the g range to 2g (write 0x03 in register ACC 0x0F)

     -  Set offset target for x, y and z, that in my case are x=0, y=0 and z=1g (write 0x20 in register ACC 0x37)

     - Launch the calibration for x, y and z, that is, write in register ACC 0x36 the value 0x20, 0x40, 0x50, respectively

 but it seems that it has no effect. Am I doing something wrong?

2) I'm not sure how to interpret the X, Y, Z and RHALL data of the MAG for a compass-like application. Is there any data processing/compensation I need to do? I took a look at some drivers/APIs on GitHub and I noiticed that there is a compensation. The thing is that the registers used to get the compensation values appear to be marked as "reserved" on the datasheet. Could you please clarify that?

Thank you in  advance!

 

 

2 replies