Monado OpenXR Runtime
|
PlayStation Move motion controller prober and driver code. More...
#include "xrt/xrt_prober.h"
#include "xrt/xrt_tracking.h"
#include "os/os_threading.h"
#include "os/os_hid.h"
#include "os/os_time.h"
#include "math/m_api.h"
#include "math/m_imu_pre.h"
#include "tracking/t_imu.h"
#include "util/u_var.h"
#include "util/u_time.h"
#include "util/u_misc.h"
#include "util/u_debug.h"
#include "util/u_device.h"
#include "psmv_interface.h"
#include <stdio.h>
#include <math.h>
#include <assert.h>
Data Structures | |
struct | psmv_set_led |
Led setting packet. More... | |
struct | psmv_f32_wire |
Wire encoding of a single 32 bit float, "little" endian. More... | |
struct | psmv_vec3_f32_wire |
Wire encoding of three 32 bit float, "little" endian. More... | |
struct | psmv_u16_wire |
Wire encoding of a single 16 bit integer, little endian. More... | |
struct | psmv_vec3_u16_wire |
Wire encoding of three 16 bit integers, little endian. More... | |
struct | psmv_i16_wire |
Wire encoding of a single 16 bit integer, little endian. More... | |
struct | psmv_vec3_i16_wire |
Wire encoding of three 16 bit integers, little endian. More... | |
struct | psmv_calibration_part |
Part of a calibration data, multiple packets make up a single data packet. More... | |
struct | psmv_calibration_zcm1 |
Calibration data, multiple packets goes into this. More... | |
struct | psmv_parsed_calibration_zcm1 |
Parsed calibration data from a ZCM1 device. More... | |
struct | psmv_calibration_zcm2 |
Calibration data, multiple packets goes into this. More... | |
struct | psmv_parsed_calibration_zcm2 |
Parsed calibration data from a ZCM2 device. More... | |
struct | psmv_input_zcm1 |
Input package for ZCM1. More... | |
struct | psmv_input_zcm2 |
Input package for ZCM2. More... | |
struct | psmv_parsed_sample |
A parsed sample of accel and gyro. More... | |
struct | psmv_parsed_input |
A parsed input packet. More... | |
struct | psmv_device |
A single PlayStation Move Controller. More... | |
#define | PSMV_SPEW(p, ...) |
#define | PSMV_DEBUG(p, ...) |
#define | PSMV_ERROR(p, ...) |
#define | SET_INPUT(NAME) (psmv->base.inputs[PSMV_INDEX_##NAME].name = XRT_INPUT_PSMV_##NAME) |
enum | psmv_input_index { PSMV_INDEX_PS_CLICK, PSMV_INDEX_MOVE_CLICK, PSMV_INDEX_START_CLICK, PSMV_INDEX_SELECT_CLICK, PSMV_INDEX_SQUARE_CLICK, PSMV_INDEX_CROSS_CLICK, PSMV_INDEX_CIRCLE_CLICK, PSMV_INDEX_TRIANGLE_CLICK, PSMV_INDEX_TRIGGER_VALUE, PSMV_INDEX_BODY_CENTER_POSE, PSMV_INDEX_BALL_CENTER_POSE, PSMV_INDEX_BALL_TIP_POSE } |
Indices where each input is in the input list. More... | |
enum | psmv_button_bit { PSMV_BUTTON_BIT_MOVE_F2 = (1 << 6), PSMV_BUTTON_BIT_TRIGGER_F2 = (1 << 7), PSMV_BUTTON_BIT_PS = (1 << 8), PSMV_BUTTON_BIT_MOVE_F1 = (1 << 11), PSMV_BUTTON_BIT_TRIGGER_F1 = (1 << 12), PSMV_BUTTON_BIT_TRIANGLE = (1 << 20), PSMV_BUTTON_BIT_CIRCLE = (1 << 21), PSMV_BUTTON_BIT_CROSS = (1 << 22), PSMV_BUTTON_BIT_SQUARE = (1 << 23), PSMV_BUTTON_BIT_START = (1 << 27), PSMV_BUTTON_BIT_SELECT = (1 << 24), PSMV_BUTTON_BIT_MOVE_ANY, PSMV_BUTTON_BIT_TRIGGER_ANY } |
Mask for the button in the button uint32_t. More... | |
int | psmv_found (struct xrt_prober *xp, struct xrt_prober_device **devices, size_t num_devices, size_t index, cJSON *attached_data, struct xrt_device **out_xdevs) |
Probing function for the PS Move devices. More... | |
PlayStation Move motion controller prober and driver code.