Monado OpenXR Runtime
Loading...
Searching...
No Matches
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.
 
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.
 
struct vive_sourcevive_source_create (struct xrt_frame_context *xfctx)
 Exported functions.
 
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

References xrt_prober::open_hid_interface, xrt_prober_device::product_id, U_LOG_E, and xrt_prober_device::vendor_id.

◆ 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

References xrt_prober_device::product_id, and U_LOG_E.

◆ vive_source_create()