Monado OpenXR Runtime
Data Fields
psmv_device Struct Reference

A single PlayStation Move Controller. More...

Collaboration diagram for psmv_device:
Collaboration graph
[legend]

Data Fields

struct xrt_device base
 
struct os_hid_devicehid
 
struct xrt_tracked_psmvball
 
struct os_thread_helper oth
 
struct {
   int64_t   resend_time
 
   struct xrt_colour_rgb_u8   led
 
   uint8_t   rumble
 
wants
 What should be set. More...
 
struct {
   struct xrt_colour_rgb_u8   led
 
   uint8_t   rumble
 
state
 What is currently set on the device. More...
 
struct {
   union {
      struct psmv_parsed_calibration_zcm1   zcm1
 
      struct psmv_parsed_calibration_zcm2   zcm2
 
   } 
 
   struct m_imu_pre_filter   prefilter
 
calibration
 
struct {
   struct os_mutex   lock
 Lock for last and fusion. More...
 
   struct psmv_parsed_input   last
 Last sensor read. More...
 
   struct {
      struct xrt_quat   rot
 
      struct xrt_vec3   rotvec
 
      struct imu_fusion *   fusion
 
      struct {
         struct xrt_vec3   accel
 
         struct xrt_vec3   gyro
 
      }   variance
 
   }   fusion
 
}; 
 
struct {
   struct xrt_vec3   accel
 Last adjusted accelerator value. More...
 
   struct xrt_vec3   gyro
 Last adjusted gyro value. More...
 
read
 
uint16_t pid
 
bool print_spew
 
bool print_debug
 
struct {
   bool   control
 
   bool   calibration
 
   bool   last_frame
 
   bool   fusion
 
gui
 

Detailed Description

A single PlayStation Move Controller.

A note about coordinate system. If you stand the controller in front of you so that the ball is pointing upward, buttons towards you. Then think of the ball as a head that is looking away from you. The buttons then are is it's back, the trigger the front.

Translated to axis that means the ball is on the Y+ axis, the buttons on the Z+ axis, the trigger on the Z- axis, the USB port on the Y- axis, the start button on the X+ axis, select button on the X- axis.

Field Documentation

◆ @49

struct { ... }

◆ accel

struct xrt_vec3 psmv_device::accel

Last adjusted accelerator value.

◆ ball

struct xrt_tracked_psmv* psmv_device::ball

◆ base

struct xrt_device psmv_device::base

◆ calibration [1/2]

struct { ... } psmv_device::calibration

◆ calibration [2/2]

bool psmv_device::calibration

◆ control

bool psmv_device::control

◆ fusion [1/3]

struct imu_fusion* psmv_device::fusion

◆ fusion [2/3]

struct { ... } psmv_device::fusion

◆ fusion [3/3]

bool psmv_device::fusion

◆ gui

struct { ... } psmv_device::gui

◆ gyro

struct xrt_vec3 psmv_device::gyro

Last adjusted gyro value.

◆ hid

struct os_hid_device* psmv_device::hid

◆ last

struct psmv_parsed_input psmv_device::last

Last sensor read.

◆ last_frame

bool psmv_device::last_frame

◆ led

struct xrt_colour_rgb_u8 psmv_device::led

◆ lock

struct os_mutex psmv_device::lock

Lock for last and fusion.

◆ oth

struct os_thread_helper psmv_device::oth

◆ pid

uint16_t psmv_device::pid

◆ prefilter

struct m_imu_pre_filter psmv_device::prefilter

◆ print_debug

bool psmv_device::print_debug

◆ print_spew

bool psmv_device::print_spew

◆ read

struct { ... } psmv_device::read

◆ resend_time

int64_t psmv_device::resend_time

◆ rot

struct xrt_quat psmv_device::rot

◆ rotvec

struct xrt_vec3 psmv_device::rotvec

◆ rumble

uint8_t psmv_device::rumble

◆ state

struct { ... } psmv_device::state

What is currently set on the device.

◆ variance

struct { ... } psmv_device::variance

◆ wants

struct { ... } psmv_device::wants

What should be set.

◆ zcm1

struct psmv_parsed_calibration_zcm1 psmv_device::zcm1

◆ zcm2

struct psmv_parsed_calibration_zcm2 psmv_device::zcm2

The documentation for this struct was generated from the following file: