OCP Quickstart
Use this quickstart after video is working. It proves that OdenVR can send operator input to Oden Streamer and that a vehicle-side process can receive the values.
What you will run
-
OdenVR with Oden Control Pipeline enabled.
-
Oden Streamer or Oden Fleet Streamer with Oden Control Pipeline enabled.
-
A gamepad on the operator computer.
-
A vehicle-side TCP client connected to
127.0.0.1:4000that prints received JSON control values.
Steps
-
Connect OdenVR to the vehicle and verify live video.
-
Enable the Oden Control Pipeline plugin on both sides.
-
Connect a gamepad to the operator computer.
-
Start the vehicle-side TCP print client on the vehicle computer.
-
Move the gamepad sticks and press buttons.
-
Confirm that the terminal prints changing
controllervalues. -
Confirm that OCP faults are clear or explainable.
The TCP protocol is 4-byte little-endian length followed by UTF-8 JSON.
The vehicle-side client must echo ack_time and ack_time_mac in its response so latency measurement stays closed.
For the full vehicle-side implementation details and a Rust example, see Vehicle-Side Control.
Expected output
A working terminal client should show repeated OCP control messages with:
-
controller.buttons -
controller.axes -
telemetry.latency -
telemetry.fault -
ack_time -
ack_time_mac
If no messages arrive, check that the vehicle-side client is connected to the Streamer host and port, OCP is enabled, and the Player is connected to the vehicle.