Monado OpenXR Runtime
vp2_hid.c File Reference

Implementation of the Vive Pro 2 HID interface. More...

#include "os/os_hid.h"
#include "os/os_time.h"
#include "util/u_logging.h"
#include "util/u_debug.h"
#include "util/u_misc.h"
#include "xrt/xrt_byte_order.h"
#include "vp2_hid.h"
Include dependency graph for vp2_hid.c:

Data Structures

struct  vp2_hid
 
struct  vp2_feature_header
 

Macros

#define VP2_TRACE(vp2, ...)   U_LOG_IFL_T(vp2->log_level, __VA_ARGS__)
 
#define VP2_DEBUG(vp2, ...)   U_LOG_IFL_D(vp2->log_level, __VA_ARGS__)
 
#define VP2_INFO(vp2, ...)   U_LOG_IFL_I(vp2->log_level, __VA_ARGS__)
 
#define VP2_WARN(vp2, ...)   U_LOG_IFL_W(vp2->log_level, __VA_ARGS__)
 
#define VP2_ERROR(vp2, ...)   U_LOG_IFL_E(vp2->log_level, __VA_ARGS__)
 
#define VP2_DATA_SIZE   64
 

Functions

static int vp2_write (struct vp2_hid *vp2, uint8_t id, const uint8_t *data, size_t size)
 
static int vp2_write_feature (struct vp2_hid *vp2, uint8_t id, uint16_t sub_id, const uint8_t *data, size_t size)
 
int vp2_set_resolution (struct vp2_hid *vp2, enum vp2_resolution resolution)
 
static int vp2_read (struct vp2_hid *vp2, uint8_t id, const uint8_t *prefix, size_t prefix_size, uint8_t *out_data, size_t out_size)
 
static int vp2_read_int (struct vp2_hid *vp2, const char *command, int *out_value)
 
static int vp2_read_ipd (struct vp2_hid *vp2, int *out, int *out_min, int *out_max, int *out_lap)
 
int vp2_hid_open (struct os_hid_device *hid_dev, struct vp2_hid **out_hid)
 
enum vp2_resolution vp2_get_resolution (struct vp2_hid *vp2)
 
void vp2_hid_destroy (struct vp2_hid *vp2)
 

Detailed Description

Implementation of the Vive Pro 2 HID interface.

Author
Beyley Cardellio ep1cm.nosp@m.1n10.nosp@m.n123@.nosp@m.gmai.nosp@m.l.com