|
#define | S1_TRACE(d, ...) U_LOG_XDEV_IFL_T(&d->base, d->log_level, __VA_ARGS__) |
|
#define | S1_DEBUG(d, ...) U_LOG_XDEV_IFL_D(&d->base, d->log_level, __VA_ARGS__) |
|
#define | S1_DEBUG_HEX(d, data, data_size) U_LOG_XDEV_IFL_D_HEX(&d->base, d->log_level, data, data_size) |
|
#define | S1_INFO(d, ...) U_LOG_XDEV_IFL_I(&d->base, d->log_level, __VA_ARGS__) |
|
#define | S1_WARN(d, ...) U_LOG_XDEV_IFL_W(&d->base, d->log_level, __VA_ARGS__) |
|
#define | S1_ERROR(d, ...) U_LOG_XDEV_IFL_E(&d->base, d->log_level, __VA_ARGS__) |
|
#define | VIEW_SIZE (1440) |
|
#define | PANEL_WIDTH (VIEW_SIZE * 2) |
|
#define | READ_STRUCTURE(ctx, dst) read_into(ctx, dst, sizeof(*dst)) |
|
|
static struct blubur_s1_hmd * | blubur_s1_hmd (struct xrt_device *xdev) |
|
static void | blubur_s1_hmd_destroy (struct xrt_device *xdev) |
|
static xrt_result_t | blubur_s1_hmd_compute_poly_3k_distortion (struct xrt_device *xdev, uint32_t view, float u, float v, struct xrt_uv_triplet *out_result) |
|
static xrt_result_t | blubur_s1_hmd_compute_test_distortion (struct xrt_device *xdev, uint32_t view, float u, float v, struct xrt_uv_triplet *out_result) |
|
static xrt_result_t | blubur_s1_hmd_update_inputs (struct xrt_device *xdev) |
|
static xrt_result_t | blubur_s1_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 | blubur_s1_hmd_get_presence (struct xrt_device *xdev, bool *presence) |
|
static xrt_result_t | blubur_s1_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 void | blubur_s1_hmd_fill_in_poly_3k (struct blubur_s1_hmd *hmd) |
|
static void | read_into (struct read_context *ctx, void *dest, size_t size) |
|
static int32_t | sign21 (uint32_t v) |
| Sign-extend a 21-bit signed integer stored in a 32-bit unsigned integer. More...
|
|
static void | blubur_s1_decode_triad (const uint8_t b[8], int32_t out_xyz[3]) |
| Decode 3×21-bit ints from 8 bytes (little-endian packing) More...
|
|
static void | blubur_s1_decode_sample_pack (const uint8_t sample_pack[32], struct blubur_s1_decoded_sample out_samples[2]) |
|
static void | blubur_s1_convert_accel_sample (const int32_t in[3], struct xrt_vec3 *out) |
|
static void | blubur_s1_convert_gyro_sample (const int32_t in[3], struct xrt_vec3 *out) |
|
int | blubur_s1_hmd_tick (struct blubur_s1_hmd *hmd) |
|
static void * | blubur_s1_hmd_thread (void *ptr) |
|
struct blubur_s1_hmd * | blubur_s1_hmd_create (struct os_hid_device *dev, const char *serial) |
| Creates a Blubur S1 HMD device from an opened HID handle. More...
|
|
Implementation of Blubur S1 HMD driver.
- Author
- Beyley Cardellio ep1cm.nosp@m.1n10.nosp@m.n123@.nosp@m.gmai.nosp@m.l.com