sampling and time-stamping of gpios 0-31 between 100,000 and 1,000,000 times per second.
provision of PWM on any number of the user gpios simultaneously.
provision of servo pulses on any number of the user gpios simultaneously.
callbacks when any of gpios 0-31 change state (callbacks receive the time of the event
accurate to a few microseconds).
notifications via pipe when any of gpios 0-31 change state.
callbacks at timed intervals.
reading/writing all of the gpios in a bank (0-31, 32-53) as a single operation.
individually setting gpio modes, reading and writing.
socket and pipe interfaces for the bulk of the functionality in addition to the
underlying C library calls.
the construction of arbitrary waveforms to give precise timing of output gpio
level changes (accurate to a few microseconds).
software serial links using any user gpio.
rudimentary permission control through the socket and pipe interfaces so users
can be prevented from "updating" inappropriate gpios.
creating and running scripts on the pigpio daemon.