For full 360° orientation support without 'flipping' on one axis at around 180° (gimbal lock), ahrs_fusion_usb should be updated to use quaternion output, similar to ahrs_fusion_ble.
The Processing sketch will also need to be updated to work with Quaternions, since it currently expects Euler angle output.
An option to display Euler angles in the Serial Monitor should be maintained since Euler angles are far easier to understand for end users. However, the conversion from quat to Euler should happen at the last minute, and all internal math should be done using quaternions.
Description
For full 360° orientation support without 'flipping' on one axis at around 180° (gimbal lock),
ahrs_fusion_usb
should be updated to use quaternion output, similar toahrs_fusion_ble
.The Processing sketch will also need to be updated to work with Quaternions, since it currently expects Euler angle output.
Sketches to Change
Notes
An option to display Euler angles in the Serial Monitor should be maintained since Euler angles are far easier to understand for end users. However, the conversion from quat to Euler should happen at the last minute, and all internal math should be done using quaternions.