How can I get Z axis data in range of ±2500uT and LSB=1/16uT with 16 bits sample from the driver?
The problem is:
1/16uT means 4 bits of data
+/-2500uT means 13 bits of data
So total of 17 bits. From the IC register I get only 15 bits, and from the driver (The Z compensation function) I only get 16 bits...
How should I interpret the result from the driver function?
Solved! Go to Solution.
With the integer compensation functions, the maximum number that can be expressed due to the scaling factor is +/- 2048uT.
For the full range of the sensor, please enable the floating point calculations:
See also: https://github.com/BoschSensortec/BMM150-Sensor-API#example-for-reading-sensor-data---floating-point...