Protocol and library to control Gpios in Elk Audio OS devices, which provides an abstract interface for low level gpio control.
The protocol allows for describing various physical devices connected on the pins such as buttons, leds, pots etc, configuring their behavior and run time manipulation and querying of their values. This enables a high level program (such as sensei) to control gpios by communicating with the gpio protocol to with an low level program such as an embedded system which performs the gpio logic.
Real time safe header only library to perform low level gpio logic and communicate using the gpio protocol as per the specification (see docs).
This can be used as a bare metal application in an embedded device or as a standalone program and communicate with another program (such as sensei) which acts as the gpio protocol master.
Add the subdirectory gpio_protocol to your CMakeLists.txt
add_subdirectory(gpio_protocol)
To enable the client library pass -DGPIO_PROTOCOL_BUILD_CLIENT_LIB=TRUE
to your cmake.
You can also set the log level to info, warning or error by passing the cmake
option -DGPIO_LOG_LEVEL=< info, warning or error>
See the project SENSEI where this library is used to process gpio data from shift registers.
Copyright 2019 Modern Ancient Instruments Networked AB, dba Elk, Stockholm