|
libbgpiod
0.3.1
basic/bloodnok gpio library
|
The basic/bloodnok gpio device library.
This library was created by the author while trying to use libgpiod to manage graceful system shutdown of a single-board computer with a custom UPS-like power supply.
An unfortunate kernel-build problem (affecting the edge-detection API) in the then current version of raspbian led him to believe that either the documentation was incorrect or that there was a subtle bug in the library. Looking at the library code and its system calls, he discovered that libgpiod was (then) using deprecated (V1) system calls. This and frustration with the documentation led him to decide to create libbgpiod.
That the edge-detection issue with libgpiod was a kernel-build problem only became apparent during libbgpiod development when the author realised that his new library had exactly the same issue.
Although a new raspbian build resolved this, and shortly after this an updated libgpiod was released using V2 system calls, the impetus to create a new, simpler library had become too great and it was easier to complete and release libbgpiod than to change direction with the power controller project TODO: LINK.
libbgpiod aims to be a simpler, easier to use, and better documented gpio device library than libgpiod. It provides equivalent command-line tools, as well as more extensive documentation and simplified working code examples.
It does not aim to be compatible with libgpiod, trying instead to make a simple, clean and well-documented API. Note that it is intended for use from C and has no C++ or other aspirations.
The author makes no claims of succeeding in these aims.
This is an alpha release. Documentation and testing are still not complete. It seems to work though, and is in use for TODO: LINK.
It's GPLv3. There is a LICENSE file in the root directory.