From what I understand the 3 fields are in rad/sec. Which are great for tracking 3D motion, but not great for using on their own (without calibaration).
So the idea seems to be to generate a matrix using the Accel+Magnetic, but since that isn’t accurate, you use the gyroscope data to apply some correction to the data.
Has anyone got a class that manages this, or more information on how to do the actual correction to the Accel+Mag Matrix with the Orientation data?
Am I misunderstanding patterns here and can I use the Orientation sensor by itself, can it truly measure exact orientation or does it require the magnetic/accel to calibrate the system.
The matrices are destined to be used in a opengl camera.
I had put up some code on GitHub a while back which I use in my app. It uses a Kalman filter to fix jittery values. https://github.com/a85/MagCompass/blob/master/src/com/rickreation/magcompass/HomeActivity.java
You can also use the ROTATION_VECTOR sensor type to get exact orientation if it’s available. http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_ROTATION_VECTOR