Monado OpenXR Runtime
|
A IMU fusion specially made for 3dof devices. More...
#include "util/u_misc.h"
#include "util/u_var.h"
#include "math/m_api.h"
#include "math/m_filter_fifo.h"
#include "math/m_imu_3dof.h"
#include "math/m_vec3.h"
#include "math/m_mathinclude.h"
#include <stdio.h>
#include <assert.h>
Macros | |
#define | DUR_1S_IN_NS (1000 * 1000 * 1000) |
#define | DUR_300MS_IN_NS (300 * 1000 * 1000) |
#define | DUR_20MS_IN_NS (20 * 1000 * 1000) |
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) |
static void | gravity_correction (struct m_imu_3dof *f, uint64_t timestamp_ns, const struct xrt_vec3 *accel, const struct xrt_vec3 *gyro, double dt, float gyro_length) |
static void | gyro_biasing (struct m_imu_3dof *f, uint64_t timestamp_ns) |
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.