m_var_pitch = vec;
m_var_azimuth = vec;
- m_pitch_phase_compensation = 1;
- m_roll_phase_compensation = 1;
- m_azimuth_phase_compensation = 1;
m_magnetic_alignment_factor = 1;
m_gyro.m_time_stamp = 0;
orientation = quat2euler(quat_output);
- m_orientation.m_ang.m_vec[0] = orientation.m_ang.m_vec[0] * m_pitch_phase_compensation;
- m_orientation.m_ang.m_vec[1] = orientation.m_ang.m_vec[1] * m_roll_phase_compensation;
- m_orientation.m_ang.m_vec[2] = orientation.m_ang.m_vec[2] * m_azimuth_phase_compensation;
-
m_rot_matrix = quat2rot_mat(m_quat_driv);
quat_error = m_quat_aid * m_quat_driv;
time_update_gaming_rv();
measurement_update();
+
+ if (magnetic == NULL) {
+ m_quaternion = m_quat_gaming_rv;
+ } else {
+ m_quaternion = m_quat_9axis;
+ }
+
+ } else {
+ m_quaternion = m_quat_aid;
}
}
euler_angles<TYPE> m_orientation;
quaternion<TYPE> m_quat_9axis;
quaternion<TYPE> m_quat_gaming_rv;
+ quaternion<TYPE> m_quaternion;
TYPE m_gyro_dt;
- int m_pitch_phase_compensation;
- int m_roll_phase_compensation;
- int m_azimuth_phase_compensation;
int m_magnetic_alignment_factor;
orientation_filter();