#pragma once struct Vec3 { float x, y, z; }; struct ORI { float sinX, sinY, cosZ; // Earth's plane tilt float Pitch, Roll, Yaw; // Sovereign orientation (not Euler) float IneX, IneY, IneZ; // Inertial accelerations }; ORI WorkAccGyroMag(const Vec3 acc, const Vec3 gyr, const Vec3 mag, const float mag_shift, const float alpha); Vec3 RotateToZ(const Vec3 vec, bool Rev=false); void GoZero();