Customizable Simulator dashboards and telemetry data logger
- cli mode
- nuklear ui
- web ui
- framebuffer ui
- ncurses ui
- records telemetry sampled 4 times a second to database
-
Using SimSHMBridge
- Asseto Corsa
- Assetto Corsa Competizione
- Project Cars 2
- Automobilista 2
-
Using scs-sdk-plugin
- Euro Truck Simuator 2
- American Truck Simulator
- argtable2
- libconfig
- ncurses
- microhttpd
- libxdg
- uv
- hoel
- jansson
- GL
- GLU
- GLEW
- glfw
- freetype -- the rest are git submodules
- Nuklear
- fbgfx
- ctemplate
- slog
- simshmbridge
- simapi
This code depends on the shared memory data headers in the simapi repo. When pulling lastest if the submodule does not download run:
git submodule sync --recursive
git submodule update --init --recursive
Then to compile simply:
mkdir build; cd build
cmake ..
make
Once compiled copy conf files to ~/.config/simmonitor and data files to ~/.local/share/simmonitor.
CREATE DATABASE simmonitor;
psql -d simmonitor -f data/simmonitor-psql.sql
for postgres 15+
GRANT pg_read_all_data TO USER;
GRANT pg_write_all_data TO USER;
for postgres 15 and below
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO USER;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO USER;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA pbulic TO USER;
simmonitor play -u x
simmonitor play -u web
Options are curses, web, x, cli, fb
simmonitor play -u cli -m
simmonitor browse
Currently the browser is only in ncurses.
So far this is only tested with Assetto Corsa. For best results, it requires the CrewChief plugin. And for telemetry, the CrewChief plugin is a must.
mkdir build; cd build
make clean
CFLAGS=-fanalyzer cmake ..
make
cd build
valgrind -v --leak-check=full --show-leak-kinds=all --suppressions=../.valgrindrc ./simmonitor play
- much, much more