I am developing an Android app that records the inertial data on a smartphone to then further processes it. Different Android devices have different behaviors depending on the firmware interfacing the inertial sensors to Android and that's crystal clear. One thing I cannot answer myself though is, how come only the moto g 2nd gen yet showed that when the app is recording I have significantly different numbers of sensors samples?
For example, few second of recording and I see:
~6000 samples for the gyro
~5200 samples for the acc
~2000 samples for the magnetometer
Assume as well that the activity I am recording affects all sensors at all time and hence I'd expect the onSensorChange function to be called evenly. That happens for every other smartphone I tried (5 or 6 different ones).
Any suggestions how come the magnetos mostly seem to not change values as often as the other sensors in order for the onSensorChange to record it?
The obvious answer is because of the firmware, but do you have any idea how to mitigate the effect I am seeing?
Thanks folks!