49 uint32_t last_sample_ticks;
56 uint16_t lens_separation;
63 bool disconnect_notified;
68 char hand_status[128];
69 char slam_status[128];
u_logging_level
Logging level enum.
Definition u_logging.h:45
int64_t timepoint_ns
Integer timestamp type.
Definition u_time.h:77
VIVE_VARIANT
Headset variant.
Definition vive_common.h:44
A IMU fusion specially made for 3dof devices.
Small utility for keeping track of the history of an xrt_space_relation, ie.
Wrapper around OS threading native functions.
Definition vive_lighthouse.h:89
Definition m_imu_3dof.h:35
Definition m_relation_history.cpp:49
Representing a single hid interface on a device.
Definition os_hid.h:29
A wrapper around a native mutex.
Definition os_threading.h:69
All in one helper that handles locking, waiting for change and starting a thread.
Definition os_threading.h:499
Draggable single precision float information.
Definition u_var.h:128
headset config.
Definition vive_config.h:133
Definition vive_device.h:34
struct xrt_pose P_imu_me
IMU to head/display/middle-of-eyes transform in OpenXR coords.
Definition vive_device.h:109
struct m_relation_history * relation_hist
Prediction.
Definition vive_device.h:83
struct vive_device::@208 tracking
Fields related to camera-based tracking (SLAM and hand tracking)
struct u_var_draggable_f32 tracked_offset_ms
Offset for tracked pose offsets (applies to both fusion and SLAM).
Definition vive_device.h:107
struct xrt_pose offset
Additional offset to apply to pose
Definition vive_device.h:121
struct vive_source * source
In charge of managing raw samples, redirects them for tracking.
Definition vive_device.h:115
bool imu2me
SLAM systems track the IMU pose, enabling this corrects it to middle of the eyes.
Definition vive_device.h:99
bool slam_enabled
Set at start. Whether the SLAM tracker was initialized.
Definition vive_device.h:93
struct m_imu_3dof i3dof
Main fusion calculator.
Definition vive_device.h:80
struct os_mutex mutex
Protects all members of the fusion substruct.
Definition vive_device.h:77
struct xrt_tracked_slam * slam
SLAM tracker.
Definition vive_device.h:90
struct xrt_pose pose
Last tracked pose.
Definition vive_device.h:118
bool slam_over_3dof
Whether to track the HMD with 6dof SLAM or fallback to the 3dof tracker.
Definition vive_device.h:112
bool hand_enabled
Set at start. Whether the hand tracker was initialized.
Definition vive_device.h:96
Manages the data streaming state related to a vive headset.
Definition vive_source.c:31
Summary of the status of various trackers.
Definition vive_device.h:132
bool hand_supported
Has Monado been built with the correct libraries to do optical hand tracking?
Definition vive_device.h:138
enum debug_tristate_option hand_wanted
If this is set to ON, we always do optical hand tracking even if controllers were found.
Definition vive_device.h:146
bool hand_enabled
Computed in target_builder_lighthouse.c based on the past three.
Definition vive_device.h:149
bool controllers_found
Did we find controllers?
Definition vive_device.h:141
A single HMD or input device.
Definition xrt_device.h:310
A pose composed of a position and orientation.
Definition xrt_defines.h:479
An adapter that wraps an external SLAM tracker to provide SLAM tracking.
Definition xrt_tracking.h:298
Basic logging functionality.
Time-keeping: a clock that is steady, convertible to system time, and ideally high-resolution.
Vive Lighthouse Watchman implementation.
Header defining an xrt display or controller device.
Header defining the tracking system integration in Monado.