Monado OpenXR Runtime
|
Driver for the Oculus Rift. More...
#include "os/os_time.h"
#include "xrt/xrt_defines.h"
#include "xrt/xrt_device.h"
#include "rift_interface.h"
#include "rift_distortion.h"
#include "math/m_relation_history.h"
#include "math/m_clock_tracking.h"
#include "math/m_api.h"
#include "math/m_vec2.h"
#include "math/m_mathinclude.h"
#include "util/u_debug.h"
#include "util/u_device.h"
#include "util/u_distortion_mesh.h"
#include "util/u_logging.h"
#include "util/u_misc.h"
#include "util/u_time.h"
#include "util/u_var.h"
#include "util/u_visibility_mask.h"
#include "util/u_trace_marker.h"
#include "xrt/xrt_results.h"
#include <stdio.h>
#include <assert.h>
Macros | |
#define | HMD_TRACE(hmd, ...) U_LOG_XDEV_IFL_T(&hmd->base, hmd->log_level, __VA_ARGS__) |
#define | HMD_DEBUG(hmd, ...) U_LOG_XDEV_IFL_D(&hmd->base, hmd->log_level, __VA_ARGS__) |
#define | HMD_INFO(hmd, ...) U_LOG_XDEV_IFL_I(&hmd->base, hmd->log_level, __VA_ARGS__) |
#define | HMD_WARN(hmd, ...) U_LOG_XDEV_IFL_W(&hmd->base, hmd->log_level, __VA_ARGS__) |
#define | HMD_ERROR(hmd, ...) U_LOG_XDEV_IFL_E(&hmd->base, hmd->log_level, __VA_ARGS__) |
Functions | |
static int | rift_send_report (struct rift_hmd *hmd, uint8_t report_id, void *data, size_t data_length) |
static int | rift_get_report (struct rift_hmd *hmd, uint8_t report_id, uint8_t *out, size_t out_len) |
static int | rift_send_keepalive (struct rift_hmd *hmd) |
static int | rift_get_config (struct rift_hmd *hmd, struct rift_config_report *config) |
static int | rift_get_display_info (struct rift_hmd *hmd, struct rift_display_info_report *display_info) |
static int | rift_get_lens_distortion (struct rift_hmd *hmd, struct rift_lens_distortion_report *lens_distortion) |
static int | rift_set_config (struct rift_hmd *hmd, struct rift_config_report *config) |
static void | rift_hmd_destroy (struct xrt_device *xdev) |
static xrt_result_t | rift_hmd_get_tracked_pose (struct xrt_device *xdev, enum xrt_input_name name, int64_t at_timestamp_ns, struct xrt_space_relation *out_relation) |
static xrt_result_t | rift_hmd_get_view_poses (struct xrt_device *xdev, const struct xrt_vec3 *default_eye_relation, int64_t at_timestamp_ns, uint32_t view_count, struct xrt_space_relation *out_head_relation, struct xrt_fov *out_fovs, struct xrt_pose *out_poses) |
static xrt_result_t | rift_hmd_get_visibility_mask (struct xrt_device *xdev, enum xrt_visibility_mask_type type, uint32_t view_index, struct xrt_visibility_mask **out_mask) |
static float | rift_decode_fixed_point_uint16 (uint16_t value, uint16_t zero_value, int fractional_bits) |
static void | rift_parse_distortion_report (struct rift_lens_distortion_report *report, struct rift_lens_distortion *out) |
static void | rift_decode_sample (const uint8_t *in, int32_t *out) |
static void | rift_sample_to_imu_space (const int32_t *in, struct xrt_vec3 *out) |
static int | sensor_thread_tick (struct rift_hmd *hmd) |
static void * | sensor_thread (void *ptr) |
struct rift_hmd * | rift_hmd_create (struct os_hid_device *dev, enum rift_variant variant, char *device_name, char *serial_number) |
Driver for the Oculus Rift.
Based largely on simulated_hmd.c, with reference to the DK1/DK2 firmware and OpenHMD's rift driver.