|
| 1 | +<p align="center"> |
| 2 | + <img src="./img/logo.png" alt="FH5 Telemetry Logo" width="200"> |
| 3 | +</p> |
| 4 | + |
| 5 | +<h1 align="center">FH5 Telemetry</h1> |
| 6 | + |
| 7 | +<p align="center"> |
| 8 | + View and analyze <strong>Forza Horizon 5</strong> telemetry data in real-time.<br> |
| 9 | + Use interactive graphs to fine tune your vehicle. |
| 10 | +</p> |
| 11 | + |
| 12 | +## 🧩 Features |
| 13 | + |
| 14 | +- 📡 **UDP Listener**: Captures raw data from FH5 over port `5607`. |
| 15 | +- 📊 **Live Graphs**: Real-time charts for engine, suspension, input, etc. |
| 16 | +- 💾 **CSV Logging**: Save sessions to file for playback and later review. |
| 17 | +- ⏪ **Replay Mode**: Open saved CSV files to view logged data with graph control. |
| 18 | +- 🔧 **User Controls**: Adjustable sample count, start/stop, open/clear logs, etc. |
| 19 | + |
| 20 | +## 📷 Preview |
| 21 | + |
| 22 | +<p align="center"> |
| 23 | + <img src="./img/preview.png" alt="FH5 Telemetry Preview" width="600"><br> |
| 24 | + <img src="./img/preview1.png" alt="FH5 Telemetry Preview 2" width="600"><br> |
| 25 | + <img src="./img/preview2.png" alt="FH5 Telemetry Preview 3" width="600"> |
| 26 | +</p> |
| 27 | + |
| 28 | +## 🚗 How It Works |
| 29 | + |
| 30 | +- FH5 sends telemetry packets over UDP (if enabled in the game's settings). |
| 31 | +- This app listens for those packets on **port 5607** and parses the raw binary. |
| 32 | +- Data is mapped into readable values (speed, throttle, suspension, input, etc.). |
| 33 | +- Graphs are updated 12.5x/sec (80ms intervals) with incoming data. |
| 34 | +- You can start/stop data logging to CSV for later analysis. |
| 35 | +- Use “Open Log” to load logged data and replay it with graph controls. |
| 36 | + |
| 37 | +## 🧑💻 Production |
| 38 | + |
| 39 | +### Download & Compile |
| 40 | + |
| 41 | +```bash |
| 42 | +git clone https://github.com/svxy/FH5-Telemetry.git |
| 43 | +cd fh5-telemetry |
| 44 | +pip install -r requirements.txt |
| 45 | +python main.py |
| 46 | +``` |
| 47 | + |
| 48 | +### Or Use the Executable |
| 49 | + |
| 50 | +> Download the `.exe` from the [Releases](https://github.com/svxy/FH5-Telemetry/releases/download/v1.0.0.5/FH5%20Telemetry.exe) page. |
| 51 | +
|
| 52 | +1. Launch FH5 and enable telemetry over port `5607` |
| 53 | +2. Open **FH5 Telemetry** |
| 54 | +3. Click **Start** to begin live monitoring |
| 55 | +4. Toggle **Start Data Log** to begin saving to CSV |
| 56 | +5. Click **Stop** to safely halt the session |
| 57 | +6. Use **Open Log** to load a saved `.csv` and view the replay |
| 58 | + |
| 59 | +## 💡 Tips |
| 60 | + |
| 61 | +- Adjust sample length in the center at the bottom. |
| 62 | +- You can visualize up to 8 telemetry streams per tab. |
| 63 | +- Charts auto-scale and update live unless paused. |
| 64 | +- You can clear logs with the "Clear Logs" button at the bottom. |
| 65 | + |
| 66 | +## 🛠 Requirements |
| 67 | + |
| 68 | +| Tool | Version | |
| 69 | +|----------|---------| |
| 70 | +| Python | 3.12+ | |
| 71 | +| PySide6 | 6.8.2.1+ | |
| 72 | +| auto-py-to-exe | 2.46.0+ | |
| 73 | +| pyinstaller | 6.15.0+ | |
| 74 | + |
| 75 | +To compile: |
| 76 | + |
| 77 | +```bash |
| 78 | +pip install auto-py-to-exe |
| 79 | +auto-py-to-exe |
| 80 | +``` |
| 81 | + |
| 82 | +- Use **one file**, **window based**, and **include icon (optional)**. |
| 83 | + |
| 84 | +## 👀 Credits |
| 85 | + |
| 86 | +- Original core UDP listener by [Jasperan](https://github.com/jasperan/forza-horizon-5-telemetry-listener) |
| 87 | +- UI concept inspired by **Snap-on Verus Edge** diagnostic interface |
| 88 | + |
| 89 | +## 📄 License |
| 90 | + |
| 91 | +This project is licensed under the **MIT License** - do whatever you want, just don't sue me. |
| 92 | + |
| 93 | +See [`LICENSE`](./LICENSE) for full details. |
| 94 | + |
| 95 | +## 🚀 Coming Soon |
| 96 | + |
| 97 | +- Torque conversion (not entirely accurate right now) |
| 98 | +- Fix for speed, suspension, and velocity charts (jittering at idle/standstill) |
| 99 | +- Input to choose port? |
| 100 | +- UI Improvements |
0 commit comments