updated readme to point to new supported sims chart

This commit is contained in:
Paul Dino Jones 2026-01-05 13:05:11 -05:00
parent 9194b7173b
commit 62bda5a58c
1 changed files with 14 additions and 97 deletions

111
README.md
View File

@ -8,17 +8,16 @@ _ / / / / /_/ / / / / /_/ / /__ / /_/ / /_/ // /_/ // __/
``` ```
Cross Platform device manager for driving and flight simulators, for use with common simulator software titles. Cross Platform device manager for driving and flight simulators, for use with common simulator software titles.
📚 **Documentation:** [spacefreak18.github.io/simapi/](https://spacefreak18.github.io/simapi/) 📚 **Usage Documentation:** [spacefreak18.github.io/simapi/](https://spacefreak18.github.io/simapi/)
## Features ## Features
- Updates at 60 frames per seconds. - Updates at 60 frames per seconds.
- Modular design for support with various titles and devices. - Modular design for support with various titles and devices.
- Supports bass shakers, tachometers, several wheels, simlights, simwind etc, through usb and arduino serial. - Supports bass shakers, tachometers, several wheels and pedals, simlights, simwind etc, through usb and arduino serial.
- Tachometer support is currently limited to the Revburner model. Supports existing revburner xml configuration files. - Tachometer support is currently limited to the Revburner model. Supports existing revburner xml configuration files.
- Includes utility to configure revburner tachometer - 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, simwind, and simhaptic effects for motors. - Can send data to any serial device. So far only tested with arduino. and ESP32. Includes sample arduino sketch for sim lights, simwind, and simhaptic effects for motors.
- Convincing shaker effects for noise tranducers for wheel slip, wheel lock, and abs, as well as engine rpm and gear shifts. - Convincing shaker effects for noise tranducers for wheel slip, wheel lock, and abs, as well as engine rpm and gear shifts.
- Choice of Portaudio or Pulseaudio (libpulse) backend.
## Quick Install ## Quick Install
@ -26,6 +25,8 @@ Cross Platform device manager for driving and flight simulators, for use with co
```bash ```bash
curl -fsSL https://raw.githubusercontent.com/Spacefreak18/monocoque/master/install.sh | bash curl -fsSL https://raw.githubusercontent.com/Spacefreak18/monocoque/master/install.sh | bash
``` ```
***AUR Package following git master:***
```https://aur.archlinux.org/packages/monocoque-git```
**Or download and review first:** **Or download and review first:**
```bash ```bash
@ -40,33 +41,15 @@ After installation, use the interactive manager:
monocoque-manager monocoque-manager
``` ```
**Supported Distributions:** **Supported Games**
- ✅ Arch Linux (with AUR support) [Supported Sims](https://spacefreak18.github.io/simapi/supportedsims)
- ✅ Debian/Ubuntu ***please note on Linux some titles will require a compatibility exe from simshmbridge to be setup. Please follow the linked Documentation
- ✅ Fedora/RHEL/CentOS for installation instructions***
- ✅ openSUSE
For manual installation or troubleshooting, see [HOW-TO-USE.md](HOW-TO-USE.md).
## Supported Games ( see [simapi](https://github.com/spacefreak18/simapi) for more details of what is supported from each sim ) ## Building
- Using [SimSHMBridge](https://github.com/spacefreak18/simshmbridge)
- Asseto Corsa
- Assetto Corsa Competizione
- Project Cars 2 (untested)
- Automobilista 2
- Using [scs-sdk-plugin](https://github.com/jackz314/scs-sdk-plugin/releases) ### Dependencies
- Euro Truck Simuator 2
- American Truck Simulator
- Using [rfactor 2 plugin](https://github.com/schlegp/rF2SharedMemoryMapPlugin_Wine)
- RFactor 2
- Using UDP
- Automobilista 2
- Project Cars 2 (untested)
## Dependencies
- libserialport - arduino serial devices - libserialport - arduino serial devices
- hidapi - usb hid devices - hidapi - usb hid devices
- portaudio - sound devices (haptic bass shakers) - portaudio - sound devices (haptic bass shakers)
@ -84,7 +67,6 @@ For manual installation or troubleshooting, see [HOW-TO-USE.md](HOW-TO-USE.md).
pacman -Syu git cmake pulse-native-provider libxdg-basedir libserialport libconfig libuv argtable hidapi lua pacman -Syu git cmake pulse-native-provider libxdg-basedir libserialport libconfig libuv argtable hidapi lua
``` ```
## 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: 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 sync --recursive
@ -98,69 +80,6 @@ cmake ..
make make
``` ```
to use the pulseaudio backend use this cmake command
```
cmake -DUSE_PULSEAUDIO=YES ..
```
## Bass Shaker Sound Devices
When using pulseaudio it is necesarry to provide a devid in the configuration. This command should list available sound cards with the "Name" being the "devid" needed in the monocoque config.
```
pactl list sinks | grep -E -i 'index:|name:' -A 4
```
One can generate sample sine waves at specific frequency on a specific channel on a specific sound card with this command (change -d to the Name of your desired target card and change 440 to any frequency)
```
ffmpeg -f lavfi -i "sine=f=440" -af "pan=7.1|c1=c0" -f wav pipe:1 | paplay --no-remap --no-remix -d alsa_output.pci-0000_00_1b.0.analog-stereo --volume=65536 -n "Monocoque" --stream-name="Haptic Test"
```
(BE CAREFUL!!! AS THIS SETS THE MAXIMUM STREAM VOLUME!!! the -n and --stream-name are optional but it helps you identify the stream in pavucontrol)
The channel map from the pactl command is the order of channels. Change c1 in this above command to the desired output channel.
The effects generated by monocoque should match the effects generated by this ffmpeg command. The frequency will differ slightly due to having to [fit in the buffer size](https://stackoverflow.com/questions/40078417/how-to-calculate-minimum-cycles-of-sine-wave-to-have-integer-n-cycles-in-a-buffe)
(monocoque lowers the target frequency until it fits in the audio buffer).
## Using Arduino Devices
Currently Monocoque supports simwind and shiftlights through the included arduino sketches which have been tested on Uno boards. The simwind controller requires a Motor shield.
There are included Makefiles for each controller. For now, the makefiles expect the device to be attached at /dev/ttyACM0. So unplug both controllers, and then plug in just the
controller you're updating to ensure the correct controller is at /dev/ttyACM0.
To compile and upload these sketches, the Makefiles use arduino-cli. Unfortunately it seems some distributions such as debian do not include this in the repositories. If this is
the case follow the install instructions here:
```
https://arduino.github.io/arduino-cli/0.35/installation/
```
You may have to download the core libraries, it will prompt you to do so if you do not have them and you go further
```
arduino-cli core install arduino:avr
```
Then for shiftlights navigate to included shiftlight directory ( be sure only the shiftlight controller is plugged into the machine and is available at /dev/ttyACM0 ) and
```
arduino-cli lib install FastLED
make
```
Then for simwind navigate to the included simwind directory ( be sure only the simwind controller is plugged into the machine and is available at /dev/ttyACM0 ) and
```
ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/adafruit/Adafruit_Motor_Shield_V2_Library.git
ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/adafruit/Adafruit_BusIO.git
make
```
### Uploading sketch to Arduino Uno
```
cd ../src/arduino/{simwind/shiftlights/simhaptic} # Depending on the controller you have.
make # Make sure serial connection is the same as on the host pc and it have the right group permission to access the device without root
```
### SimHaptic Ardunio Motor Connection
- Acc Pedal Motor to be connected to M1
- Brake Pedal Motor to be connected to M3
- you can actually connect the motors how you wish, but you'd have to make the appropriate changes to the config and to the arduino sketch.
## Getting car tyre diameter for rumbles to work
- User needs to start monocoque and drive the new car straight at 70 kmph and then stop steering, acc or brake input
## User Setup Guide ## User Setup Guide
See the dedicated [How To](HOW-TO-USE.md) for detailed instructions to set up and run 'monocoque` See the dedicated [How To](HOW-TO-USE.md) for detailed instructions to set up and run 'monocoque`
@ -169,6 +88,9 @@ See the dedicated [How To](HOW-TO-USE.md) for detailed instructions to set up an
./monocoque test -vv # Make sure that ~/.config/monocque/monocoque.config only contains the devices you have connected. ./monocoque test -vv # Make sure that ~/.config/monocque/monocoque.config only contains the devices you have connected.
``` ```
### Logs file location
`~/.cache/monocoque/*.log`
### Static Analysis ### Static Analysis
``` ```
mkdir build; cd build mkdir build; cd build
@ -183,15 +105,10 @@ See the dedicated [How To](HOW-TO-USE.md) for detailed instructions to set up an
valgrind -v --leak-check=full --show-leak-kinds=all --suppressions=../.valgrindrc ./monocoque play valgrind -v --leak-check=full --show-leak-kinds=all --suppressions=../.valgrindrc ./monocoque play
``` ```
### Logs file location
`~/.cache/monocoque/*.log`
## Join the Discussion ## Join the Discussion
[Sim Racing Matrix Space](https://matrix.to/#/#simracing:matrix.org) [Sim Racing Matrix Space](https://matrix.to/#/#simracing:matrix.org)
## ToDo ## ToDo
- add option to specify frame rate
- add ability to set frame rate per effect
- add frequency cap (low pass filter) to sound haptic effects - add frequency cap (low pass filter) to sound haptic effects
- add road and kerb sound haptic effects - add road and kerb sound haptic effects
- windows port - windows port