Files
monocoque/README.md
T

70 lines
2.4 KiB
Markdown
Raw Normal View History

2022-10-31 15:11:02 +00:00
# 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)
2022-12-19 15:02:41 -05:00
- libenet - UDP support (not yet implemented)
2022-10-31 15:11:02 +00:00
- libxml2
- argtable2
- libconfig
2022-12-01 21:27:57 +00:00
- [slog](https://github.com/kala13x/slog) (static)
2023-05-17 16:00:26 +00:00
- [wine-linux-shm-adapter](https://github.com/spacefreak18/simshmbridge) - for sims that need shared memory mapping like AC.
2022-10-31 15:11:02 +00:00
- [simapi](https://github.com/spacefreak18/simapi)
## Building
This code depends on the shared memory data headers in the simapi [repo](https://github.com/spacefreak18/simapi). When pulling lastest if the submodule does not download run:
```
git submodule sync --recursive
git submodule update --init --recursive
```
2022-10-31 15:11:02 +00:00
Then to compile simply:
```
mkdir build; cd build
cmake ..
make
```
2022-10-31 15:11:02 +00:00
## Testing
2023-05-17 16:00:26 +00:00
### Setting up Your Arduino Device
2022-10-31 15:11:02 +00:00
### Static Analysis
```
mkdir build; cd build
make clean
2022-12-23 22:43:37 +00:00
cmake -Danalyze=on ..
2022-10-31 15:11:02 +00:00
make
```
### Valgrind
```
cd build
valgrind -v --leak-check=full --show-leak-kinds=all --suppressions=../.valgrindrc ./monocoque play
```
## ToDo
2022-12-01 21:27:57 +00:00
- windows port
2022-10-31 15:11:02 +00:00
- more memory testing
- move config code around
- cleanup tests which are basically just copies of the example from their respective projects
- much, much more