Files
flippr-code/README.md
2024-02-17 16:17:10 +01:00

1.9 KiB

FlippR Driver

This is a driver written to control Zaccaria pinball machines from the 2nd Generation. It controls the hardware that can be found in the flippr-circuit repository.

An example game implementation for the Zaccaria Pinball Champ '82 can be found at flippr-game.

Build Instructions

By default a static library gets build together with a networking target which enables communication over a UNIX Socket, for possible games.

Dependencies

  • wiringPi 1
  • Boost: program_options thread timer chrono filesystem
  • libthread

Build

To build the flippr-driver library run the following commands:

$ cd flippr-code/FlippR-Driver/build
$ cmake ..
$ make

This will create you the static-library file: flippr-code/FlippR-Driver/bin/libFlippR-Driver.a

The library uses wiringPi Pin numbering important for the config files

We added a script /usr/bin/reset_flippr this can be found in the repo and must be chosen in /etc/rc.local. It prevents the solenois from burning!

Build Options

  • -DCROSS_COMPILE Cross compile for raspberry pi. Default: Off
  • -DBUILD_SHARED_LIB Build a shared library. Default: Off
  • -DENABLE_TESTING Enables Tests after build. Default: On
  • -DBUILD_NETWORKING Builds the networking target binary. Default: On
  • -DBUILD_CLI Build a basic TUI to control the flipper by hand. Default: Off

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


  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. ↩︎