How eevee12312/car_ecu works
This repository is a Python VR38DETT vehicle simulator with a real-time joystick-driven run loop, engine audio, telemetry dashboards, and a separate dyno/tuning toolset. The principal workflow is driver input → engine and vehicle simulation → live telemetry, sound, and benchmark logging. The excerpts show the simulation and UI responsibilities, but not enough of the socket protocol or every runtime call site to map all connections confidently; the graph omits uncertain wiring.
Main entry points: dyno.py Dyno Simulator · throttle.py Vehicle Model · engine_sound_mine.py Engine Audio · main.py ECU Dashboard
Components 17
Driving Simulation
- Joystick Loop
throttle.py - Vehicle Model
throttle.py - Run Benchmarks
throttle.py - Run Log
log.txt
Telemetry and Audio
- Engine Audio
engine_sound_mine.py - Audio Samples
sounds - ECU Dashboard
main.py - Gauge Widgets
tachometer.py - Live Dyno Dashboard
dyno/tuner.py - Telemetry Receiver
dyno/tuner.py
Dyno and Tuning
- Dyno Simulator
dyno/dyno.py - Map Editors
dyno/tuner.py - Dyno Graphs
dyno/dyno_graph.py - Tuning Assistant
dyno/dyno_graph.py
Tune Profiles
- Tune Configurations
dyno - Engine Profiles
dyno/engine_profiles.json
Other components
- Driver
Connections 15
- Driver → Joystick Loop: controls
- Joystick Loop → Vehicle Model: updates state
- Joystick Loop → Engine Audio: starts audio
- Vehicle Model → Run Benchmarks: records run
- Run Benchmarks → Run Log: logs results
- Engine Audio → Audio Samples: loads samples
- Vehicle Model → ECU Dashboard: sends telemetry
- ECU Dashboard → Gauge Widgets: updates gauges
- Vehicle Model → Telemetry Receiver: streams telemetry
- Telemetry Receiver → Live Dyno Dashboard: dispatches data
- Dyno Simulator → Tune Configurations: loads tune
- Dyno Simulator → Engine Profiles: loads profile
- Dyno Simulator → Dyno Graphs: supplies results
- Dyno Simulator → Tuning Assistant: supplies results
- Map Editors → Live Dyno Dashboard: publishes map data