17#define PSVR2_SLAM_INTERFACE 3
18#define PSVR2_SLAM_ENDPOINT 3
20#define PSVR2_GAZE_INTERFACE 5
21#define PSVR2_GAZE_ENDPOINT 0x85
23#define PSVR2_CAMERA_INTERFACE 6
24#define PSVR2_CAMERA_ENDPOINT 7
26#define PSVR2_STATUS_INTERFACE 7
27#define PSVR2_STATUS_ENDPOINT 8
29#define PSVR2_LD_INTERFACE 8
30#define PSVR2_LD_ENDPOINT 9
32#define PSVR2_RP_INTERFACE 9
33#define PSVR2_RP_ENDPOINT 10
35#define PSVR2_VD_INTERFACE 10
36#define PSVR2_VD_ENDPOINT 11
38#define USB_SLAM_XFER_SIZE 1024
39#define USB_STATUS_XFER_SIZE 1024
40#define USB_GAZE_XFER_SIZE 32768
41#define USB_CAM_MODE10_XFER_SIZE 1040640
42#define USB_CAM_MODE1_XFER_SIZE 819456
43#define USB_LD_XFER_SIZE 36944
44#define USB_RP_XFER_SIZE 821120
45#define USB_VD_XFER_SIZE 32768
47#define GYRO_SCALE (2000.0 / 32767.0)
48#define ACCEL_SCALE (4.0 * MATH_GRAVITY_M_S2 / 32767.0)
50#define IMU_FREQ 2000.0f
51#define IMU_PERIOD_NS ((time_duration_ns)(1000000000.0f / IMU_FREQ))
55 PSVR2_REPORT_ID_SET_PERIPHERAL = 0x8,
56 PSVR2_REPORT_ID_SET_CAMERA_MODE = 0xB,
57 PSVR2_REPORT_ID_SET_GAZE_STREAM = 0xC,
58 PSVR2_REPORT_ID_SET_GAZE_USER_CALIBRATION = 0xD,
59 PSVR2_REPORT_ID_SET_BRIGHTNESS = 0x12,
62enum psvr2_gaze_stream_subcommand
64 PSVR2_GAZE_STREAM_SUBCMD_ENABLE = 0x01,
65 PSVR2_GAZE_STREAM_SUBCMD_DISABLE = 0x02,
68enum psvr2_set_peripheral_subcommand
70 PSVR2_SET_PERIPHERAL_SUBCMD_MOTOR = 0x01,
75 PSVR2_CAMERA_MODE_OFF = 0,
77 PSVR2_CAMERA_MODE_BOTTOM_SBS_CROPPED = 1,
79 PSVR2_CAMERA_MODE_2 = 2,
81 PSVR2_CAMERA_MODE_3 = 3,
83 PSVR2_CAMERA_MODE_4 = 4,
85 PSVR2_CAMERA_MODE_400_200_DARK = 5,
87 PSVR2_CAMERA_MODE_EYE_CAMERAS = 6,
89 PSVR2_CAMERA_MODE_7 = 7,
91 PSVR2_CAMERA_MODE_8 = 8,
93 PSVR2_CAMERA_MODE_9 = 9,
95 PSVR2_CAMERA_MODE_10 = 0xa,
97 PSVR2_CAMERA_MODE_11 = 0xb,
100 PSVR2_CAMERA_MODE_12 = 0xc,
102 PSVR2_CAMERA_MODE_13 = 0xd,
104 PSVR2_CAMERA_MODE_14 = 0xe,
106 PSVR2_CAMERA_MODE_15 = 0xf,
109 PSVR2_CAMERA_MODE_BOTTOM_SBS_BC4 = 0x10,
128 uint8_t prox_sensor_flag;
129 uint8_t function_button;
133 uint8_t remainder[26];
145 uint8_t remainder[468];
153 uint8_t data[512 - 8];
156typedef uint32_t psvr2_eye_bool;
160 psvr2_eye_bool gaze_point_mm_valid;
163 psvr2_eye_bool gaze_direction_valid;
166 psvr2_eye_bool pupil_diameter_valid;
169 psvr2_eye_bool unk_bool_2;
172 psvr2_eye_bool unk_bool_3;
175 psvr2_eye_bool blink_valid;
176 psvr2_eye_bool blink;
181 psvr2_eye_bool gaze_point_valid;
184 psvr2_eye_bool normalized_gaze_valid;
187 psvr2_eye_bool is_valid;
190 psvr2_eye_bool unk_bool_7;
193 psvr2_eye_bool unk_bool_9;
211 psvr2_eye_bool unk_bool_1;
213 psvr2_eye_bool unk_bool_2;
214 psvr2_eye_bool unk_bool_3;
216 psvr2_eye_bool unk_bool_4;
217 psvr2_eye_bool unk_bool_5;
218 psvr2_eye_bool unk_bool_6;
219 psvr2_eye_bool unk_bool_7;
220 psvr2_eye_bool unk_bool_8;
224 psvr2_eye_bool unk_bool_9;
227 psvr2_eye_bool unk_bool_10;
247 uint8_t commit_hash[40];
253 __le32 recovery_version;
Little endian 32-bit float wrapper struct.
Definition xrt_byte_order.h:73
Definition xrt_byte_order.h:210
Definition xrt_byte_order.h:240
Definition psvr2_protocol.h:115
Definition psvr2_protocol.h:159
Definition psvr2_protocol.h:244
Definition psvr2_protocol.h:180
Definition psvr2_protocol.h:200
Definition psvr2_protocol.h:236
Definition psvr2_protocol.h:149
Definition psvr2_protocol.h:137
Definition psvr2_protocol.h:126