The garfield-pos project is an implementation of a stand-alone
interactive interface to the Garfield database backend.
It fetches input generated by multiple kbserver instances
(see kbserver/) such as Numpads and Barcode scanners, and
feeds that input to a state machine implementing basic
shopping cart and checkout functionalities.
The frontend/ folder contains the main logic implementation.
The kbserver/ folder contained the evdev input server, but the
project has since moved to its own repository (For further information,
consult the readme in there).
The displayd/ folder contains code for interfacing a vaccuum fluorescence
POS display (directly piping the frontend output to a serial port is also
A simplified graph of the state machine can be found in
flow.png, as well a more abstract system graph in system.png
The latest version of garfield-pos can be found at
See respective folders
- Compile the needed components (kbserver, frontend, displayd)
- Create configuration files for each component (see the respective
- Run the auxiliary providers (kbserver, displayd) first
- Then start the frontend instance