I updated my repository with changes made in the endeavor of fixing the idle value problem:
- Changed from single to double precision in my final transform calculations.
- Parameterized enableIMU, allowing users to select the scale for gyro, accel, and mag.
- Added readGYR_SI, readACC_SI, readMAG_SI which returns the readings in SI units with double precision.
- Switched from large to small scale (for greater precision): 2000dps to 245dps and 16G to 2G.
I have noticed that compared to other LSM9DS1 boards, namely SparkFun's, a lot of the library functionality is missing, namely the use of interrupts. Using interrupts would be helpful as it would notify me when values above a threshold are available. Please refer to https://github.com/sparkfun/SparkFun_LSM9DS1_Arduino_Library/blob/master/examples/LSM9DS1_Interrupts/LSM9DS1_Interrupts.ino
But using interrupts would not necessarily remedy the fact that my idle values are what I would assume to be abnormally high, could you perhaps share what gyro readings you get while the board is idle?
- This reply was modified 2 years, 11 months ago by Tannz0rz.