Reverse-engineered documentation for PlayStation VR2.
The PlayStation VR2 uses its own "report" format using USB transfer control calls, with the following structure:
| Offset | Type/Size | Name |
|---|---|---|
0x00 |
UInt8 |
Report ID |
0x01 |
UInt8 |
Padding/Unused |
0x02 |
UInt16 |
Command |
0x04 |
UInt16 |
Payload Length |
0x06 |
UInt8[] (max size: 506) |
Payload |
- Interface 0 (Control)
- Interface 1 (Audio)
- Interface 3 (SLAM Tracking) - CaesarUsbThreadSlamTracking
- Interface 4 (Data)
- Interface 5 (Gaze) - CaesarUsbThreadGaze (implemented by PlayStation VR2 Toolkit)
- Interface 6 (Image) - CaesarUsbThreadImage
- Interface 7 (IMU/Status) - CaesarUsbThreadImuStatus
- Interface 8 (LED Detector) - CaesarUsbThreadLeddet
- Interface 9 (Relocalizer) - CaesarUsbThreadRelocPre
- Interface 10 (Generated Data) - CaesarUsbThreadGenData
- Interface 11 (SLAM Trace)
- Interface 12 (Log) - CaesarUsbThreadLog