void tilt_compensate(float in[4], float tilt[4], float out[4]){ float tiltConjugate[4]; float tempQ[4]; quaternionConjugate(tilt, tiltConjugate); quaternionMultiply(in, tiltConjugate, tempQ); quaternionMultiply(tilt, tempQ, out); }
void tilt_compensate(quaternion_t magQ, quaternion_t unfusedQ) { quaternion_t unfusedConjugateQ; quaternion_t tempQ; quaternionConjugate(unfusedQ, unfusedConjugateQ); quaternionMultiply(magQ, unfusedConjugateQ, tempQ); quaternionMultiply(unfusedQ, tempQ, magQ); }