|
Monado OpenXR Runtime
|
Common implementation for WMR controllers, handling shared behaviour such as communication, configuration reading, IMU integration. More...
#include "os/os_threading.h"#include "math/m_imu_3dof.h"#include "util/u_device.h"#include "util/u_logging.h"#include "xrt/xrt_device.h"#include "wmr_controller_protocol.h"#include "wmr_config.h"
Go to the source code of this file.
Data Structures | |
| struct | wmr_controller_connection |
| A connection for communicating with the controller. More... | |
| struct | wmr_controller_base |
| Common base for all WMR controllers. More... | |
Functions | |
| static bool | wmr_controller_connection_send_bytes (struct wmr_controller_connection *wcc, const uint8_t *buffer, uint32_t buf_size) |
| static int | wmr_controller_connection_read_sync (struct wmr_controller_connection *wcc, uint8_t *buffer, uint32_t buf_size, int timeout_ms) |
| static void | wmr_controller_connection_disconnect (struct wmr_controller_connection *wcc) |
| bool | wmr_controller_base_init (struct wmr_controller_base *wcb, struct wmr_controller_connection *conn, enum xrt_device_type controller_type, enum u_logging_level log_level, u_device_destroy_function_t destroy_fn, struct xrt_fs *src) |
| void | wmr_controller_base_deinit (struct wmr_controller_base *wcb) |
| void | wmr_controller_base_handle_imu_sample (struct wmr_controller_base *wcb, uint64_t time_ns, uint64_t timestamp_ticks, const struct xrt_vec3 *acc, const struct xrt_vec3 *gyro) |
| Handle IMU sample after packet parsing. | |
| static void | wmr_controller_connection_receive_bytes (struct wmr_controller_connection *wcc, uint64_t time_ns, uint8_t *buffer, uint32_t buf_size) |
Common implementation for WMR controllers, handling shared behaviour such as communication, configuration reading, IMU integration.
| void wmr_controller_base_handle_imu_sample | ( | struct wmr_controller_base * | wcb, |
| uint64_t | time_ns, | ||
| uint64_t | timestamp_ticks, | ||
| const struct xrt_vec3 * | acc, | ||
| const struct xrt_vec3 * | gyro | ||
| ) |
Handle IMU sample after packet parsing.
References wmr_controller_base::base, wmr_controller_base::fusion, wmr_controller_base::last_angular_velocity, wmr_controller_base::last_imu_timestamp_ns, m_imu_3dof_update(), wmr_controller_base::source, and wmr_source_push_imu_packet().