Monado OpenXR Runtime
HTC Vive and Valve Index driver

Driver for the HTC Vive and Valve Index family of HMDs. More...

Collaboration diagram for HTC Vive and Valve Index driver:

Files

file  vive.h
 Common vive header.
 
file  vive_controller.h
 Interface to HTC Vive and Valve Index driver.
 
file  vive_device.c
 Vive device implementation.
 
file  vive_device.h
 vive device header
 
file  vive_lighthouse.c
 Vive Lighthouse Watchman implementation.
 
file  vive_lighthouse.h
 Vive Lighthouse Watchman implementation.
 
file  vive_prober.c
 drv_vive prober code.
 
file  vive_prober.h
 Interface to HTC Vive and Valve Index driver.
 
file  vive_protocol.c
 Vive USB HID reports.
 
file  vive_protocol.h
 Vive USB HID reports.
 
file  vive_source.c
 Interface for vive data sources.
 
file  vive_source.h
 Interface for vive data sources.
 

Data Structures

struct  vive_controller_device
 A Vive Controller device, representing just a single controller. More...
 

Enumerations

enum  watchman_gen { WATCHMAN_GEN1 , WATCHMAN_GEN2 , WATCHMAN_GEN_UNKNOWN }
 Driver for the HTC Vive and Valve Index controllers. More...
 

Functions

int vive_found (struct xrt_prober *xp, struct xrt_prober_device **devices, size_t device_count, size_t index, cJSON *attached_data, struct vive_tracking_status tstatus, struct vive_source *vs, struct vive_config **out_vive_config, struct xrt_device **out_xdev)
 Probing function for Vive devices. More...
 
int vive_controller_found (struct xrt_prober *xp, struct xrt_prober_device **devices, size_t device_count, size_t index, cJSON *attached_data, struct xrt_device **out_xdevs)
 Probing function for HTC Vive and Valve Index controllers. More...
 
struct vive_sourcevive_source_create (struct xrt_frame_context *xfctx)
 Exported functions. More...
 
void vive_source_push_imu_packet (struct vive_source *vs, uint32_t age, timepoint_ns t, struct xrt_vec3 a, struct xrt_vec3 g)
 
void vive_source_push_frame_ticks (struct vive_source *vs, timepoint_ns ticks)
 
void vive_source_hook_into_sinks (struct vive_source *vs, struct xrt_slam_sinks *sinks)
 

Detailed Description

Driver for the HTC Vive and Valve Index family of HMDs.

Vive data sources.

Enumeration Type Documentation

◆ watchman_gen

#include <drivers/vive/vive_controller.h>

Driver for the HTC Vive and Valve Index controllers.

Function Documentation

◆ vive_controller_found()

int vive_controller_found ( struct xrt_prober xp,
struct xrt_prober_device **  devices,
size_t  device_count,
size_t  index,
cJSON *  attached_data,
struct xrt_device **  out_xdevs 
)

#include <drivers/vive/vive_prober.h>

Probing function for HTC Vive and Valve Index controllers.

See also
xrt_prober_found_func_t

◆ vive_found()

int vive_found ( struct xrt_prober xp,
struct xrt_prober_device **  devices,
size_t  device_count,
size_t  index,
cJSON *  attached_data,
struct vive_tracking_status  tstatus,
struct vive_source vs,
struct vive_config **  out_vive_config,
struct xrt_device **  out_xdev 
)

#include <drivers/vive/vive_prober.h>

Probing function for Vive devices.

See also
xrt_prober_found_func_t

◆ vive_source_create()

struct vive_source* vive_source_create ( struct xrt_frame_context xfctx)