Question
Problem with LSM303DLM compass
Posted on September 13, 2012 at 07:51
I am trying to calculate the heading of the 3 axis compass and stuck with this issue that I can't solve. when I read the compass output register viz.
0x03 (x_msb), 0x04 (x_lsb), 0x05 (z_msb), 0x06 (z_lsb), 0x07 (y_msb) and 0x08 (y_lsb). the x,y and z MSB values are not updated at all where as y and z LSB are updated as expected. I configured the CRA_REG_M (00h) to 0x10 for 30Hz ODR, MR_REG_M (02h) to 0x00 for continuous mode and CRB_REG_M (01h) to every possible value of (GN2,GN1,GN0) for all sensor rangebut had same result. I can't understand what the problem is, The I2C software seems to be fine as it works perfectly for accelerometer and gyro!!!!.did anyone come across this issue????sample output:Mxh=-16 Mxl=0 Myh=-1 Myl=35 Mzh=-1 Mzl=20Mxh=-16 Mxl=0 Myh=-1 Myl=35 Mzh=-1 Mzl=20Mxh=-16 Mxl=0 Myh=-1 Myl=35 Mzh=-1 Mzl=20Mxh=-16 Mxl=0 Myh=-1 Myl=35 Mzh=-1 Mzl=20Mxh=-16 Mxl=0 Myh=-1 Myl=35 Mzh=-1 Mzl=20Mxh=-16 Mxl=0 Myh=-1 Myl=35 Mzh=-1 Mzl=20Mxh=-16 Mxl=0 Myh=-1 Myl=35 Mzh=-1 Mzl=23Mxh=-16 Mxl=0 Myh=-1 Myl=35 Mzh=-1 Mzl=23please note the Mxh, Myh and Mzh won't buzz however I rotate or move the compass. #lsm303dlm