|
Monado OpenXR Runtime
|
A IMU fusion specially made for 3dof devices. More...
#include "xrt/xrt_defines.h"
Go to the source code of this file.
Data Structures | |
| struct | m_imu_3dof |
Macros | |
| #define | M_IMU_3DOF_USE_GRAVITY_DUR_300MS (1 << 0) |
| #define | M_IMU_3DOF_USE_GRAVITY_DUR_20MS (1 << 1) |
Enumerations | |
| enum | m_imu_3dof_state { M_IMU_3DOF_STATE_START = 0 , M_IMU_3DOF_STATE_RUNNING = 1 } |
Functions | |
| void | m_imu_3dof_init (struct m_imu_3dof *f, int flags) |
| void | m_imu_3dof_reset (struct m_imu_3dof *f) |
| void | m_imu_3dof_close (struct m_imu_3dof *f) |
| void | m_imu_3dof_add_vars (struct m_imu_3dof *f, void *root, const char *prefix) |
| void | m_imu_3dof_update (struct m_imu_3dof *f, uint64_t timestamp_ns, const struct xrt_vec3 *accel, const struct xrt_vec3 *gyro) |
A IMU fusion specially made for 3dof devices.
| void m_imu_3dof_update | ( | struct m_imu_3dof * | f, |
| uint64_t | timestamp_ns, | ||
| const struct xrt_vec3 * | accel, | ||
| const struct xrt_vec3 * | gyro | ||
| ) |
Skip the first sample.
References m_imu_3dof::accel, m_imu_3dof::gyro, m_ff_vec3_f32_push(), xrt_quat::math_quat_from_angle_vector(), xrt_quat::math_quat_normalize(), xrt_quat::math_quat_rotate(), and m_imu_3dof::rot.