Monado OpenXR Runtime
Loading...
Searching...
No Matches
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 "util/u_file.h"
#include "math/m_api.h"
#include "xrt/xrt_byte_order.h"
#include "vp2_hid.h"
#include "vp2_config.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
 
#define VP2_CONFIG_FOLDER   "vive_pro_2"
 

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)
 
static int vp2_get_config_size (struct vp2_hid *vp2, size_t *out_size)
 
static int vp2_read_config (struct vp2_hid *vp2, char **out_config, size_t *out_size)
 
static int vp2_read_serial (struct vp2_hid *vp2, char *out, size_t out_size)
 
static int vp2_load_serial (struct vp2_hid *vp2)
 
static int vp2_load_config (struct vp2_hid *vp2)
 
static int vp2_send_noise_cancelling_commands (struct vp2_hid *vp2, const char **commands, size_t command_count)
 
static int vp2_enable_noise_cancelling (struct vp2_hid *vp2)
 
static int vp2_disable_noise_cancelling (struct vp2_hid *vp2)
 
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)
 
struct vp2_configvp2_get_config (struct vp2_hid *vpd)
 
const char * vp2_get_serial (struct vp2_hid *vp2)
 
int vp2_set_noise_cancelling (struct vp2_hid *vp2, bool enable)
 
float vp2_get_brightness (struct vp2_hid *vp2)
 
int vp2_set_brightness (struct vp2_hid *vp2, float brightness)
 
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