147 #define VIVE_SPEW(p, ...) \ 149 if (p->print_spew) { \ 150 fprintf(stderr, "%s - ", __func__); \ 151 fprintf(stderr, __VA_ARGS__); \ 152 fprintf(stderr, "\n"); \ 155 #define VIVE_DEBUG(p, ...) \ 157 if (p->print_debug) { \ 158 fprintf(stderr, "%s - ", __func__); \ 159 fprintf(stderr, __VA_ARGS__); \ 160 fprintf(stderr, "\n"); \ 164 #define VIVE_ERROR(...) \ 166 fprintf(stderr, "%s - ", __func__); \ 167 fprintf(stderr, __VA_ARGS__); \ 168 fprintf(stderr, "\n"); \ double acc_range
Definition: vive_device.h:68
A IMU fusion specially made for 3dof devices.
bool disconnect_notified
Definition: vive_device.h:127
A 3 element vector with single floats.
Definition: xrt_defines.h:133
enum VIVE_VARIANT variant
Definition: vive_device.h:56
A pose composed of a position and orientation.
Definition: xrt_defines.h:231
uint16_t ipd
Definition: vive_device.h:104
struct lh_sensor * sensors
Definition: vive_device.h:28
uint8_t hardware_version_major
Definition: vive_device.h:117
char * device_serial_number
Definition: vive_device.h:120
bool last
Definition: vive_device.h:132
uint16_t proximity
Definition: vive_device.h:106
A single lighthouse senosor point and normal, in IMU space.
Definition: vive_device.h:35
Definition: vive_device.h:51
VIVE_VARIANT
Definition: vive_device.h:43
uint32_t last_sample_time_raw
Definition: vive_device.h:67
A lighthouse consisting of sensors.
Definition: vive_device.h:26
uint64_t time_ns
Definition: vive_device.h:65
A quaternion with single floats.
Definition: xrt_defines.h:99
Wrapper around OS threading native functions.
Definition: vive_device.h:46
char * mb_serial_number
Definition: vive_device.h:118
struct os_hid_device * sensors_dev
Definition: vive_device.h:55
Definition: vive_device.h:45
Header defining a xrt HMD device.
uint8_t hardware_version_minor
Definition: vive_device.h:116
struct vive_device * vive_device_create(struct os_hid_device *mainboard_dev, struct os_hid_device *sensors_dev, enum VIVE_VARIANT variant)
Definition: vive_device.c:964
Definition: vive_device.h:48
Definition: vive_device.h:47
All in one helper that handles locking, waiting for change and starting a thread. ...
Definition: os_threading.h:151
bool print_spew
Definition: vive_device.h:125
uint32_t firmware_version
Definition: vive_device.h:113
uint8_t sequence
Definition: vive_device.h:66
uint32_t _pad0
Definition: vive_device.h:38
uint16_t gyro[3]
Definition: vive_protocol.h:210
Representing a single hid interface on a device.
Definition: os_hid.h:26
uint8_t button
Definition: vive_device.h:107
double persistence
Definition: vive_device.h:90
size_t num_sensors
Definition: vive_device.h:29
struct os_hid_device * mainboard_dev
Definition: vive_device.h:54
double gyro_range
Definition: vive_device.h:69
uint16_t lens_separation
Definition: vive_device.h:105
uint32_t display_firmware_version
Definition: vive_device.h:112
uint8_t hardware_revision
Definition: vive_device.h:114
uint16_t acc[3]
Definition: vive_protocol.h:209
bool print_debug
Definition: vive_device.h:126
uint16_t eye_target_width_in_pixels
Definition: vive_device.h:92
uint32_t _pad1
Definition: vive_device.h:40
A single HMD or input device.
Definition: xrt_device.h:202
uint16_t eye_target_height_in_pixels
Definition: vive_device.h:91
char * model_number
Definition: vive_device.h:119
Definition: m_imu_3dof.h:34
uint8_t hardware_version_micro
Definition: vive_device.h:115
bool calibration
Definition: vive_device.h:131
double lens_separation
Definition: vive_device.h:89