diff --git a/README.md b/README.md index 30af9bb..c2b2662 100644 --- a/README.md +++ b/README.md @@ -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]] \ No newline at end of file + ### 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]]