/* Updates the fusion calculation with a new gyro data.  */
void IMU_fuseGyroUpdate(IMU_SensorFusion *f, float gvec[3])
/* Updates the fusion calculation with a new gyro data.  */
void IMU_fuseGyroUpdate(IMU_SensorFusion *f, float gvec[3])
{
   float dgvec[3];
   float rgvec[3];
   IMU_vectorScalarMultiplication( dgvec, gvec, f->gDeltaTimeScale );
   IMU_vectorAdd( rgvec, dgvec, f->angleCorrection );
   IMU_dcmRotate   ( f->dcm, rgvec );
   IMU_dcmNormalize( f->dcm );
   IMU_dcmGetAngles( f->dcm, f->orientation );
   return;
}