26 struct libusb_context *usb_ctx;
29 uint32_t sensor_count;
36 enum rift_variant variant;
37 struct xrt_fs *frame_server;
39 struct libusb_device_handle *hid_dev;
45#define SIZE_ASSERT(type, size) \
46 static_assert(sizeof(type) == (size), "Size of " #type " is not " #size " bytes as was expected")
74#define CV1_CALIB_MAGIC 0xBAADF00DDEADD00D
75#define CV1_CALIB_SIZE 160
77enum rift_sensor_cv1_lens_type
79 RIFT_SENSOR_CV1_LENS_TYPE_RADTAN = 0x0,
80 RIFT_SENSOR_CV1_LENS_TYPE_KB_LEGACY = 0x1,
81 RIFT_SENSOR_CV1_LENS_TYPE_OLD_BA_REJECTED = 0x2,
82 RIFT_SENSOR_CV1_LENS_TYPE_RADTAN_RECIPROCAL = 0x3,
83 RIFT_SENSOR_CV1_LENS_TYPE_IDENTITY = 0x4,
84 RIFT_SENSOR_CV1_LENS_TYPE_KB_SPLINE = 0x5,
85 RIFT_SENSOR_CV1_LENS_TYPE_CV1 = 0x6,
86 RIFT_SENSOR_CV1_LENS_TYPE_OPAQUE_BLOB = 0x7,
93 uint8_t header_unk1[0x8];
95 __le32 payload_length;
96 uint8_t body[CV1_CALIB_SIZE - 0x20];
u_logging_level
Logging level enum.
Definition u_logging.h:45
int64_t time_duration_ns
Integer duration type in nanoseconds.
Definition u_time.h:88
#define container_of(ptr, type, field)
Get the holder from a pointer to a field.
Definition xrt_compiler.h:298
Wrapper around OS threading native functions.
Interface to Oculus Rift sensor probing/initialization.
Little endian 64-bit float wrapper struct.
Definition xrt_byte_order.h:142
All in one helper that handles locking, waiting for change and starting a thread.
Definition os_threading.h:500
Definition rift_sensor_internal.h:21
Definition rift_sensor_internal.h:90
Definition rift_sensor_internal.h:51
Definition rift_sensor_internal.h:35
Essential calibration data for a single camera, or single lens/sensor of a stereo camera.
Definition t_tracking.h:269
A interface object used for destroying a frame graph.
Definition xrt_frame.h:87
Frameserver that generates frames.
Definition xrt_frameserver.h:72
Endian-specific byte order defines.