Ir al contenido

PlayStation Vita

Status: implemented; la convención de ejes está pendiente de validación en Vita en vivo.

La Vita tiene una IMU completa de 6 ejes (accel de 3 ejes + gyro de 3 ejes), un buen tracker del nivel de la 3DS / Joy-Con 1. Como la 3DS, no puede controlarse desde un host, así que un homebrew transmite la IMU por UDP. Como la API de movimiento de la Vita ya devuelve floats calibrados, el wire lleva valores SI en f32 y omite todo el escalado de conteos raw.

Aspecto Valor
Protocolo UDP, el bridge se enlaza a 0.0.0.0:9306
Identidad IP del emisor (una Vita = un tracker)
Tasa ~100 Hz

Un puerto distinto del de la 3DS (9305) permite correr ambos a la vez.

Layout del paquete (24 bytes, little-endian f32)

Sección titulada «Layout del paquete (24 bytes, little-endian f32)»
Offset Campo Unidad
0x00 Accel X g
0x04 Accel Y g
0x08 Accel Z g
0x0C Gyro X rad/s
0x10 Gyro Y rad/s
0x14 Gyro Z rad/s

Sin header, sequence ni checksum - valida que length == 24 y descarta en caso contrario.

accel_m_s2 = accel_g × 9.80665; el gyro se pasa tal cual en rad/s. La convención de ejes es actualmente pass-through - confírmala en hardware (gravedad +Z con la pantalla hacia arriba, signo del gyro concordando con la rotación derivada del accel) y fija el remapeo una vez validado.

  • El formato del wire está definido por eimu, así que el companion debe coincidir con él exactamente.
  • Sin magnetómetro, batería ni rumble.
  • El Wi-Fi de la Vita es 2.4 GHz; la pérdida UDP se tolera.