How cs10101/f1_25_telemetry works
This is an F1 25 telemetry listener and session-analysis toolkit. The main workflow receives game UDP packets, parses selected packet types into live lap/car displays and a shared state, and can write session CSV data for later analysis. A separate listener reports packet IDs and sizes. Analysis scripts cover track maps, speed, lap deltas, DRS, multi-lap timing, and tyre degradation; several of those files are empty in the supplied excerpt, so their wiring is not inferred.
Main entry points: live_telemetry.py Live listener · recorder.py Session recorder · plot_track.py Track plots · plot_speed.py Speed comparison
Components 15
Telemetry Ingest
- Live listener
live_telemetry.py - Packet parser
live_telemetry.py - Packet monitor
udp_listner.py
Live Session
- Telemetry state
telemetry/state.py - Pit wall dashboard
live_telemetry.py - Session recorder
telemetry/recorder.py - Session CSV
Session Analysis
- Track plots
analysis/plot_track.py - Speed comparison
analysis/plot_speed.py - Fastest lap delta
analysis/delta_to_fastest_lap.py - DRS usage
analysis/plot_DRS_usage.py - Multi-lap timing
analysis/time_over_multi_laps.py - Tyre degradation
analysis/tyre_deg_over_time.py - Speed-colored track
analysis/coloured_track_by_speed.py
Other components
- F1 25 game
Connections 14
- F1 25 game → Live listener: sends UDP
- F1 25 game → Packet monitor: sends UDP
- Live listener → Packet parser: dispatches packets
- Packet parser → Telemetry state: updates
- Packet parser → Pit wall dashboard: refreshes
- Live listener → Session recorder: starts recording
- Session recorder → Session CSV: writes rows
- Track plots → Session CSV: reads samples
- Speed comparison → Session CSV: reads samples
- Fastest lap delta → Session CSV: analyzes laps
- DRS usage → Session CSV: analyzes DRS
- Multi-lap timing → Session CSV: analyzes laps
- Tyre degradation → Session CSV: analyzes tyres
- Speed-colored track → Session CSV: reads samples