Monado OpenXR Runtime
|
Shared functionality for HTC Vive and Valve Index driver and Lighthouse tracking using libsurvive drivers that supports the HTC Vive and Valve Index family of HMDs. More...
Files | |
file | vive_bindings.c |
Shared bindings structs for HTC Vive and Valve Index driver & Lighthouse tracking using libsurvive. | |
file | vive_bindings.h |
Shared bindings structs for HTC Vive and Valve Index driver & Lighthouse tracking using libsurvive. | |
file | vive_builder.c |
Builder helpers for Vive/Index devices. | |
file | vive_builder.h |
Builder helpers for Vive/Index devices. | |
file | vive_calibration.c |
Vive calibration getters. | |
file | vive_calibration.h |
Vive calibration getters. | |
file | vive_common.h |
Common things like defines for Vive and Index. | |
file | vive_config.c |
Vive json implementation. | |
file | vive_config.h |
vive json header | |
file | vive_poses.c |
Vive poses implementation. | |
file | vive_poses.h |
vive poses header | |
file | vive_tweaks.c |
Tweaks for various bits on Vive and Index headsets. | |
file | vive_tweaks.h |
Tweaks for various bits on Vive and Index headsets. | |
Data Structures | |
struct | index_camera |
A calibrated camera on an Index. More... | |
struct | lh_sensor |
A single lighthouse senosor point and normal, in IMU space. More... | |
struct | lh_model |
A lighthouse consisting of sensors. More... | |
struct | vive_config |
headset config. More... | |
struct | vive_controller_config |
Controller config. More... | |
Enumerations | |
enum | VIVE_VARIANT { VIVE_UNKNOWN = 0 , VIVE_VARIANT_VIVE , VIVE_VARIANT_PRO , VIVE_VARIANT_INDEX , VIVE_VARIANT_PRO2 } |
Headset variant. More... | |
enum | VIVE_CONTROLLER_VARIANT { CONTROLLER_VIVE_WAND , CONTROLLER_INDEX_LEFT , CONTROLLER_INDEX_RIGHT , CONTROLLER_TRACKER_GEN1 , CONTROLLER_TRACKER_GEN2 , CONTROLLER_TRACKER_GEN3 , CONTROLLER_TRACKER_TUNDRA , CONTROLLER_UNKNOWN } |
Controller variant. More... | |
Functions | |
xrt_result_t | vive_builder_estimate (struct xrt_prober *xp, bool have_6dof, bool have_hand_tracking, bool *out_valve_have_index, struct xrt_builder_estimate *out_estimate) |
Helper function to do an estimate of a system. More... | |
bool | vive_get_stereo_camera_calibration (const struct vive_config *d, struct t_stereo_camera_calibration **calibration_ptr_to_ref, struct xrt_pose *out_head_in_left_camera) |
Get a t_stereo_camera_calibration and xrt_pose from left camera to head translation. More... | |
void | vive_get_slam_cams_calib (const struct vive_config *d, struct t_slam_camera_calibration *out_calib0, struct t_slam_camera_calibration *out_calib1) |
Get a t_slam_camera_calibration one for each camera. More... | |
void | vive_get_imu_calibration (const struct vive_config *d, struct t_imu_calibration *out_calib) |
Get a t_imu_calibration for the IMU. More... | |
void | vive_get_slam_imu_calibration (const struct vive_config *d, struct t_slam_imu_calibration *out_calib) |
Get a t_slam_imu_calibration for the IMU. More... | |
bool | vive_config_parse (struct vive_config *d, char *json_string, enum u_logging_level log_level) |
Parse a headset config. More... | |
void | vive_config_teardown (struct vive_config *config) |
Free any allocated resources on this config. More... | |
bool | vive_config_parse_controller (struct vive_controller_config *d, char *json_string, enum u_logging_level log_level) |
Parse a controller config. More... | |
void | vive_tweak_fov (struct vive_config *config) |
Tweak the fov for the views on the given config, to make it better. More... | |
Shared functionality for HTC Vive and Valve Index driver and Lighthouse tracking using libsurvive drivers that supports the HTC Vive and Valve Index family of HMDs.
#include <auxiliary/vive/vive_config.h>
Controller variant.
enum VIVE_VARIANT |
#include <auxiliary/vive/vive_config.h>
Headset variant.
xrt_result_t vive_builder_estimate | ( | struct xrt_prober * | xp, |
bool | have_6dof, | ||
bool | have_hand_tracking, | ||
bool * | out_valve_have_index, | ||
struct xrt_builder_estimate * | out_estimate | ||
) |
#include <auxiliary/vive/vive_builder.h>
Helper function to do an estimate of a system.
References U_LOG_E, xrt_prober::xrt_prober_lock_list(), XRT_STRUCT_INIT, and XRT_SUCCESS.
bool vive_config_parse | ( | struct vive_config * | d, |
char * | json_string, | ||
enum u_logging_level | log_level | ||
) |
#include <auxiliary/vive/vive_config.h>
Parse a headset config.
bool vive_config_parse_controller | ( | struct vive_controller_config * | d, |
char * | json_string, | ||
enum u_logging_level | log_level | ||
) |
#include <auxiliary/vive/vive_config.h>
Parse a controller config.
void vive_config_teardown | ( | struct vive_config * | config | ) |
#include <auxiliary/vive/vive_config.h>
Free any allocated resources on this config.
void vive_get_imu_calibration | ( | const struct vive_config * | d, |
struct t_imu_calibration * | out_calib | ||
) |
#include <auxiliary/vive/vive_calibration.h>
Get a t_imu_calibration for the IMU.
References t_imu_calibration::accel, and t_inertial_calibration::transform.
Referenced by vive_get_slam_imu_calibration().
void vive_get_slam_cams_calib | ( | const struct vive_config * | d, |
struct t_slam_camera_calibration * | out_calib0, | ||
struct t_slam_camera_calibration * | out_calib1 | ||
) |
#include <auxiliary/vive/vive_calibration.h>
Get a t_slam_camera_calibration one for each camera.
Get a t_slam_camera_calibration one for each camera.
Referenced by valve_index_setup_visual_trackers().
void vive_get_slam_imu_calibration | ( | const struct vive_config * | d, |
struct t_slam_imu_calibration * | out_calib | ||
) |
#include <auxiliary/vive/vive_calibration.h>
Get a t_slam_imu_calibration for the IMU.
References IMU_FREQUENCY, and vive_get_imu_calibration().
Referenced by valve_index_setup_visual_trackers().
bool vive_get_stereo_camera_calibration | ( | const struct vive_config * | d, |
struct t_stereo_camera_calibration ** | calibration_ptr_to_ref, | ||
struct xrt_pose * | out_head_in_left_camera | ||
) |
#include <auxiliary/vive/vive_calibration.h>
Get a t_stereo_camera_calibration and xrt_pose from left camera to head translation.
References vive_config::valid.
Referenced by valve_index_setup_visual_trackers().
void vive_tweak_fov | ( | struct vive_config * | config | ) |
#include <auxiliary/vive/vive_tweaks.h>
Tweak the fov for the views on the given config, to make it better.
References ARRAY_SIZE.