Go to file
condaatje 9860139158
Update README.md
remove workaround in favour of default success
2023-09-29 12:14:08 -04:00
conf Major refactor. Adding sim wind 2023-05-17 15:56:57 +00:00
src Updating to latest simapi. Updating arduino sketches. Creating simlinks to simdata accordingly. 2023-07-17 03:42:34 +00:00
tests Updated to new release of simapi 2023-07-14 20:18:24 +00:00
udev Major refactor. Adding sim wind 2023-05-17 15:56:57 +00:00
.gitignore monocoque initial commit 2022-10-31 15:11:02 +00:00
.gitmodules Update .gitmodules 2023-09-29 12:12:47 -04:00
.valgrindrc monocoque initial commit 2022-10-31 15:11:02 +00:00
CMakeLists.txt Added static analysis 2022-12-23 22:43:37 +00:00
LICENSE.rst Moved to GPLv3 2022-12-23 22:42:37 +00:00
README.md Update README.md 2023-09-29 12:14:08 -04:00

README.md

Monocoque

___   |/  /____________________________________ ____  ______ 
__  /|_/ /_  __ \_  __ \  __ \  ___/  __ \  __ `/  / / /  _ \
_  /  / / / /_/ /  / / / /_/ / /__ / /_/ / /_/ // /_/ //  __/
/_/  /_/  \____//_/ /_/\____/\___/ \____/\__, / \__,_/ \___/ 
                                           /_/

Cross Platform device manager for driving and flight simulators, for use with common simulator software titles.

Features

  • Updates at 120 frames per seconds.
  • Modular design for support with various titles and devices.
  • Supports bass shakers, tachometers, simlights, simwind etc, through usb and arduino serial.
  • Tachometer support is currently limited to the Revburner model. Supports existing revburner xml configuration files.
  • Includes utility to configure revburner tachometer
  • Can send data to any serial device. So far only tested with arduino. Includes sample arduino sketch for sim lights.
  • The support for haptic bass shakers is limited and needs the most work. So far the engine rev is a simple sine wave, which I find convincing. The gear shift event works but not convincing enough for me.

Dependencies

  • libserialport - arduino serial devices
  • hidapi - usb hid devices
  • libusb - used by hidapi
  • portaudio - sound devices (haptic bass shakers)
  • libenet - UDP support (not yet implemented)
  • libxml2
  • argtable2
  • libconfig
  • slog (static)
  • wine-linux-shm-adapter - for sims that need shared memory mapping like AC.
  • simapi

Building

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

Testing

Setting up Your Arduino Device

Static Analysis

    mkdir build; cd build
    make clean
    cmake -Danalyze=on ..
    make

Valgrind

    cd build
    valgrind -v --leak-check=full --show-leak-kinds=all --suppressions=../.valgrindrc ./monocoque play

ToDo

  • windows port
  • more memory testing
  • move config code around
  • cleanup tests which are basically just copies of the example from their respective projects
  • much, much more