No description
Find a file
Jan-Peter v. Hunnius 6732ff0199 refactor: split network config into game_host and listen_addr
Replace RUSTY_TELEMETRY_BIND with two env vars:
- RUSTY_TELEMETRY_GAME_HOST: IP of the machine running the sim (for
  KSUDP handshake target). Default: 127.0.0.1
- RUSTY_TELEMETRY_LISTEN: local address to bind for incoming feeds
  (Telemetry Tool, PCARS). Default: 0.0.0.0 (accept from any interface)

Both fall back to RUSTY_TELEMETRY_BIND for backward compatibility.
This enables running rusty-telemetry on a separate machine from the game.
2026-06-04 10:28:52 +02:00
src refactor: split network config into game_host and listen_addr 2026-06-04 10:28:52 +02:00
.gitignore feat: multi-port UDP listener with data dump 2026-06-03 11:50:06 +02:00
Cargo.lock refactor: TUI multi-feed monitor with binary parsers 2026-06-04 08:48:35 +02:00
Cargo.toml refactor: TUI multi-feed monitor with binary parsers 2026-06-04 08:48:35 +02:00
README.md feat: initial rusty-telemetry UDP listener 2026-06-01 15:13:13 +02:00

rusty-telemetry

Sim racing telemetry receiver and analyzer. Phase 1 provides a simple UDP listener that receives JSON telemetry frames and prints them to stdout.

Build and Run

cargo run

The listener binds to 0.0.0.0:5005 and expects UDP packets containing JSON with the following structure:

{
  "timestamp": 1716123456.789,
  "speed_kmh": 245.3,
  "rpm": 8750,
  "gear": 6,
  "throttle": 0.85,
  "brake": 0.0,
  "steering": 0.12,
  "g_forces": { "x": 0.5, "y": -0.2, "z": 1.0 },
  "wheel_slip": [0.1, 0.1, 0.0, 0.0],
  "suspension_travel": [0.15, 0.14, 0.16, 0.15],
  "lap_time": 85.234,
  "lap_count": 5
}

Press Ctrl+C to stop.

Testing

Send a test packet from another terminal:

echo '{"timestamp":1.0,"speed_kmh":100.0,"rpm":5000,"gear":3,"throttle":0.5,"brake":0.0,"steering":0.0,"g_forces":{"x":0.0,"y":0.0,"z":1.0},"wheel_slip":[0.0,0.0,0.0,0.0],"suspension_travel":[0.1,0.1,0.1,0.1],"lap_time":60.0,"lap_count":1}' | nc -u -w0 127.0.0.1 5005

Future Plans

  • Telemetry parsers for multiple sim formats
  • Persistent storage (SQLite or similar)
  • Real-time dashboard / web API
  • Lap analysis and comparison tools