Monado OpenXR Runtime
blubur_s1_internal.h
Go to the documentation of this file.
1
// Copyright 2025, Beyley Cardellio
2
// SPDX-License-Identifier: BSL-1.0
3
/*!
4
* @file
5
* @brief Internal Blubur S1 driver definitions.
6
* @author Beyley Cardellio <ep1cm1n10n123@gmail.com>
7
* @ingroup drv_blubur_s1
8
*/
9
10
#pragma once
11
12
#include "
os/os_hid.h
"
13
#include "
os/os_threading.h
"
14
15
#include "
util/u_distortion_mesh.h
"
16
#include "
util/u_logging.h
"
17
18
#include "
math/m_imu_3dof.h
"
19
#include "
math/m_relation_history.h
"
20
21
#include "
blubur_s1_interface.h
"
22
#include "
blubur_s1_protocol.h
"
23
24
25
struct
blubur_s1_hmd
26
{
27
struct
xrt_device
base;
28
29
enum
u_logging_level
log_level;
30
31
struct
u_poly_3k_eye_values
poly_3k_values[2];
32
33
struct
os_hid_device
*dev;
34
struct
os_thread_helper
thread
;
35
36
struct
m_imu_3dof
fusion_3dof;
37
38
uint16_t last_remote_timestamp_ms;
39
timepoint_ns
last_remote_timestamp_ns;
40
41
time_duration_ns
hw2mono;
42
int
hw2mono_samples;
43
44
struct
m_relation_history
*relation_history;
45
46
struct
os_mutex
input_mutex;
47
48
struct
49
{
50
enum
blubur_s1_status_bits status;
51
} input;
52
};
blubur_s1_interface.h
Interface to Blubur S1 driver code.
blubur_s1_protocol.h
Blubur S1 protocol definitions.
u_logging_level
u_logging_level
Logging level enum.
Definition:
u_logging.h:44
timepoint_ns
int64_t timepoint_ns
Integer timestamp type.
Definition:
u_time.h:70
time_duration_ns
int64_t time_duration_ns
Integer duration type in nanoseconds.
Definition:
u_time.h:81
m_imu_3dof.h
A IMU fusion specially made for 3dof devices.
m_relation_history.h
Small utility for keeping track of the history of an xrt_space_relation, ie.
os_hid.h
Wrapper around OS native hid functions.
os_threading.h
Wrapper around OS threading native functions.
blubur_s1_hmd
Definition:
blubur_s1_internal.h:26
m_imu_3dof
Definition:
m_imu_3dof.h:35
m_relation_history
Definition:
m_relation_history.cpp:49
os_hid_device
Representing a single hid interface on a device.
Definition:
os_hid.h:29
os_mutex
A wrapper around a native mutex.
Definition:
os_threading.h:55
os_thread_helper
All in one helper that handles locking, waiting for change and starting a thread.
Definition:
os_threading.h:465
thread
Definition:
u_worker.c:37
u_poly_3k_eye_values
Definition:
u_distortion_mesh.h:180
xrt_device
A single HMD or input device.
Definition:
xrt_device.h:282
u_distortion_mesh.h
Code to generate disortion meshes.
u_logging.h
Basic logging functionality.
drivers
blubur_s1
blubur_s1_internal.h
Generated by
1.9.4