Update README.md

This commit is contained in:
Jonas Zeunert
2024-02-25 13:23:37 +01:00
parent 4aae0fadf2
commit 8f314b9ed6

View File

@@ -3,6 +3,8 @@ This is a driver written to control Zaccaria pinball machines from the 2nd Gener
An example game implementation for the Zaccaria Pinball Champ '82 can be found at [[flippr-game|https://gitlab.rhetenor.de/rhetenor/flippr-game]].
## Architecture
## Build Instructions
By default a static library gets build together with a networking target which enables communication over a UNIX Socket, for possible games.
@@ -14,6 +16,7 @@ By default a static library gets build together with a networking target which e
### Build
To build the flippr-driver library run the following commands:
```sh1
$ mkdir flippr-code/Flippr-Driver/build
$ cd flippr-code/FlippR-Driver/build
$ cmake ..
$ make
@@ -34,4 +37,19 @@ We added a script /usr/bin/reset_flippr this can be found in the repo and must b
[^1]: Please note that wiringPi is deprecated and might not work on future releases of raspbian and most probably not on a Raspberry Pi5 and future versions.
## Usage
When build with the networking target, the driver is accessible via a simple REST API. An example connector writtin in Python can be found in the TUI [[FlippR_Networking.py|https://gitlab.rhetenor.de/rhetenor/flippr-code/src/branch/master/cli/FlippR_Networking.py]]
### Configuration
The driver must be configured according to your needs and machine through JSON files.
Exemplary Files that describe this can be found in [[json_example|https://gitlab.rhetenor.de/rhetenor/flippr-code/src/branch/master/FlippR-Driver/contrib/json_example]].
The Readme there contains all necessary information about the specific files.
### Networking
When built with the networking target (default), the driver is accessible via two UNIX Domain Socket through a simple REST API.
The sockets can be found either in the folder specified through the env variable `XDG_RUNTIME_DIR` or if it is not set in `/tmp`.
The sockets are:
* `S.flippR_driver.in`: All input events that occure on the pinball machine get pushed there.
* `S.flippr_driver.out`: With this socket the driver can be controlled.
An example connector writtin in Python can be found in the TUI [[FlippR_Networking.py|https://gitlab.rhetenor.de/rhetenor/flippr-code/src/branch/master/cli/FlippR_Networking.py]]