Deprecated the Fetch and Transform methods
ESDI
ESDI stands for "ESilva Desktop Interface" iirc, or "rAcElaBs aT hOmE"
This tool collects data from popular racing simulators (for now), to pass it to peripherals (or a peripheral, only made one so far). This is the currently available peripheral: CDashDisplay.
If anyone finds this project useful for anything at all it would be pretty cool. My main goal is to learn and have some fun.
Currently it can read from a .ibt file or live telemetry from iRacing.
It can only be ran from the terminal:
go run . offline -p <port> -i <ibt-file>

or to view the live data:
go run . live -p <port>
Games implemented so far:
Roadmap
- Implement the interface for a data source
- Configuration of the peripherals via ESDI
- Detection of the display
- LapTime Calculator
- A very long list useful stuff like flags, position, more info about other drivers, track conditions and so on so forth
- Telemetry analysis tool
- Better user interface
Development
Mockservers
To mock BeamNG.drive, I built
BeaMNGMockOg (should have though longer
about the name).
You create a recording by launching the BeamNG and then launching the mockserver with:
BeamNGMockOg record -a 127.0.0.1 -p 4443 -o output.bin.
To replay the recording:
BeamNGMockOg replay [--loop] -a 127.0.0.1 -p 4443 -i input.bin
Troubleshooting
Can't see BeamNG data coming through
Use, for example, tcpdump -i any udp port <port> -X to check if any data is available.
Debugging
Freezes:
Using delve:
- Launch Terminal1 with
dlv debug . --headless --listen=:2345 -- tui - Launch Terminal2 and connect to with with
dlv connect :2345 - Type
continueonto Terminal2 and go to Terminal1 to use the application normally until it hangs. - Go back to Terminal2 to and do a
Ctrl+cto capture the state and then check what went wrong by looking at thegoroutinesfor example.
pprof:
go tool pprof http://localhost:8001/debug/pprof/mutex- type
topto view the summary - type
webto view a graph version
- type
Shameless begging
Hey, doesn't hurt to try, its free either way: Buy me a coffee!