|
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.c |
| Common things like defines for Vive and Index. | |
| 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 , VIVE_VARIANT_BEYOND } |
| 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_common.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.