Monado OpenXR Runtime
vive_source Struct Reference

Manages the data streaming state related to a vive headset. More...

Inheritance diagram for vive_source:
Collaboration diagram for vive_source:

Data Fields

struct xrt_frame_node node
 
enum u_logging_level log_level
 
struct xrt_frame_sink sbs_sink
 Intermediate sink for SBS frames. More...
 
struct xrt_imu_sink imu_sink
 Intermediate sink for IMU samples. More...
 
struct xrt_slam_sinks in_sinks
 Pointers to intermediate sinks. More...
 
struct xrt_slam_sinks out_sinks
 Pointers to downstream sinks. More...
 
bool timestamps_have_been_zero_until_now
 First v4l2 frames are zeroed. More...
 
bool waiting_for_first_nonempty_frame
 Whether the first good frame has been received. More...
 
struct u_deque_timepoint_ns frame_timestamps
 
struct os_mutex frame_timestamps_lock
 Queue of yet unused frame hw timestamps. More...
 
uint32_t last_frame_ticks
 Lock for accessing frame_timestamps. More...
 
timepoint_ns last_frame_ts_ns
 Last frame timestamp in device ticks. More...
 
time_duration_ns hw2mono
 Last frame timestamp in device nanoseconds. More...
 
time_duration_ns hw2v4l2
 Estimated offset from IMU to V4L2 clock. More...
 
- Data Fields inherited from xrt_frame_node
struct xrt_frame_nodenext
 
void(* break_apart )(struct xrt_frame_node *node)
 Called first in when the graph is being destroyed, remove any references frames and other objects and stop threads. More...
 
void(* destroy )(struct xrt_frame_node *node)
 Do the actual freeing of the objects. More...
 

Detailed Description

Manages the data streaming state related to a vive headset.

Field Documentation

◆ frame_timestamps_lock

struct os_mutex vive_source::frame_timestamps_lock

Queue of yet unused frame hw timestamps.

Referenced by vive_source_try_convert_v4l2_timestamp().

◆ hw2mono

time_duration_ns vive_source::hw2mono

Last frame timestamp in device nanoseconds.

Estimated offset from IMU to monotonic clock

◆ hw2v4l2

time_duration_ns vive_source::hw2v4l2

Estimated offset from IMU to V4L2 clock.

◆ imu_sink

struct xrt_imu_sink vive_source::imu_sink

Intermediate sink for IMU samples.

◆ in_sinks

struct xrt_slam_sinks vive_source::in_sinks

Pointers to intermediate sinks.

◆ last_frame_ticks

uint32_t vive_source::last_frame_ticks

Lock for accessing frame_timestamps.

◆ last_frame_ts_ns

timepoint_ns vive_source::last_frame_ts_ns

Last frame timestamp in device ticks.

◆ out_sinks

struct xrt_slam_sinks vive_source::out_sinks

Pointers to downstream sinks.

◆ sbs_sink

struct xrt_frame_sink vive_source::sbs_sink

Intermediate sink for SBS frames.

Referenced by vive_source_create().

◆ timestamps_have_been_zero_until_now

bool vive_source::timestamps_have_been_zero_until_now

First v4l2 frames are zeroed.

Referenced by vive_source_try_convert_v4l2_timestamp().

◆ waiting_for_first_nonempty_frame

bool vive_source::waiting_for_first_nonempty_frame

Whether the first good frame has been received.


The documentation for this struct was generated from the following file: