Monado OpenXR Runtime
Loading...
Searching...
No Matches
pssense_protocol.h File Reference

PlayStation Sense controller prober and driver code. More...

#include "xrt/xrt_byte_order.h"
#include "math/m_api.h"
Include dependency graph for pssense_protocol.h:

Go to the source code of this file.

Data Structures

struct  pssense_input_report
 HID input report data packet. More...
 
struct  pssense_output_report
 HID output report data packet. More...
 
struct  pssense_feature_report
 HID output report data packet. More...
 

Macros

#define INPUT_REPORT_LENGTH   78
 
#define OUTPUT_REPORT_LENGTH   78
 
#define FEATURE_REPORT_LENGTH   64
 
#define CALIBRATION_DATA_LENGTH   116
 

Variables

const uint8_t INPUT_REPORT_ID = 0x31
 
const uint8_t OUTPUT_REPORT_ID = 0x31
 
const uint8_t OUTPUT_REPORT_TAG = 0x10
 
const uint8_t CALIBRATION_DATA_FEATURE_REPORT_ID = 0x05
 
const uint8_t CALIBRATION_DATA_PART_ID_1 = 0
 
const uint8_t CALIBRATION_DATA_PART_ID_2 = 0x81
 
const uint8_t INPUT_REPORT_CRC32_SEED = 0xa1
 
const uint8_t OUTPUT_REPORT_CRC32_SEED = 0xa2
 
const uint8_t FEATURE_REPORT_CRC32_SEED = 0xa3
 
const double PSSENSE_GYRO_SCALE_DEG = 180.0 / 1024
 Gyro read value range is +-32768.
 
const double PSSENSE_ACCEL_SCALE = MATH_GRAVITY_M_S2 / 4096
 Accelerometer read value range is +-32768 and covers +-8 g.
 
const uint8_t VIBRATE_ENABLE_BITS = 0x03
 Flag bits to enable setting vibration in an output report.
 
const uint8_t VIBRATE_MODE_HIGH_120HZ = 0x00
 Pure 120Hz vibration.
 
const uint8_t VIBRATE_MODE_LOW_60HZ = 0x20
 Pure 60Hz vibration.
 
const uint8_t VIBRATE_MODE_CLASSIC_RUMBLE = 0x40
 Emulates a legacy vibration motor.
 
const uint8_t VIBRATE_MODE_DIET_RUMBLE = 0x60
 Softer rumble emulation, like an engine running.
 
const uint8_t TRIGGER_FEEDBACK_ENABLE_BITS = 0x04
 Flag bits to enable setting trigger feedback in an output report.
 
const uint8_t TRIGGER_FEEDBACK_MODE_NONE = 0x00
 Clear the trigger feedback setting.
 
const uint8_t TRIGGER_FEEDBACK_MODE_CONSTANT = 0x01
 Constant resistance throughout the trigger movement.
 
const uint8_t TRIGGER_FEEDBACK_MODE_CATCH = 0x02
 A single point of resistance at the beginning of the trigger, right before the click flag is activated.
 
const uint8_t CHARGE_STATE_DISCHARGING = 0x00
 
const uint8_t CHARGE_STATE_CHARGING = 0x01
 
const uint8_t CHARGE_STATE_FULL = 0x02
 
const uint8_t CHARGE_STATE_ABNORMAL_VOLTAGE = 0x0A
 
const uint8_t CHARGE_STATE_ABNORMAL_TEMP = 0x0B
 
const uint8_t CHARGE_STATE_CHARGING_ERROR = 0x0F
 

Detailed Description

PlayStation Sense controller prober and driver code.

Author
Jarett Millard jaret.nosp@m.t.mi.nosp@m.llard.nosp@m.@gma.nosp@m.il.co.nosp@m.m
Beyley Cardellio ep1cm.nosp@m.1n10.nosp@m.n123@.nosp@m.gmai.nosp@m.l.com

Variable Documentation

◆ PSSENSE_ACCEL_SCALE

const double PSSENSE_ACCEL_SCALE = MATH_GRAVITY_M_S2 / 4096

Accelerometer read value range is +-32768 and covers +-8 g.

◆ PSSENSE_GYRO_SCALE_DEG

const double PSSENSE_GYRO_SCALE_DEG = 180.0 / 1024

Gyro read value range is +-32768.

◆ TRIGGER_FEEDBACK_ENABLE_BITS

const uint8_t TRIGGER_FEEDBACK_ENABLE_BITS = 0x04

Flag bits to enable setting trigger feedback in an output report.

◆ TRIGGER_FEEDBACK_MODE_CATCH

const uint8_t TRIGGER_FEEDBACK_MODE_CATCH = 0x02

A single point of resistance at the beginning of the trigger, right before the click flag is activated.

◆ TRIGGER_FEEDBACK_MODE_CONSTANT

const uint8_t TRIGGER_FEEDBACK_MODE_CONSTANT = 0x01

Constant resistance throughout the trigger movement.

◆ TRIGGER_FEEDBACK_MODE_NONE

const uint8_t TRIGGER_FEEDBACK_MODE_NONE = 0x00

Clear the trigger feedback setting.

◆ VIBRATE_ENABLE_BITS

const uint8_t VIBRATE_ENABLE_BITS = 0x03

Flag bits to enable setting vibration in an output report.

◆ VIBRATE_MODE_CLASSIC_RUMBLE

const uint8_t VIBRATE_MODE_CLASSIC_RUMBLE = 0x40

Emulates a legacy vibration motor.

◆ VIBRATE_MODE_DIET_RUMBLE

const uint8_t VIBRATE_MODE_DIET_RUMBLE = 0x60

Softer rumble emulation, like an engine running.

◆ VIBRATE_MODE_HIGH_120HZ

const uint8_t VIBRATE_MODE_HIGH_120HZ = 0x00

Pure 120Hz vibration.

◆ VIBRATE_MODE_LOW_60HZ

const uint8_t VIBRATE_MODE_LOW_60HZ = 0x20

Pure 60Hz vibration.