On 06-01-22, 23:47, Kent Gibson wrote:
In case you are interested, the first pass of my take on a Rust GPIO library[1] has finally gotten to the point of being core feature complete, and may be usable, although it is sorely lacking any integration tests. And the documentation is still pretty light, or even non-existant for github. And the event interface is either polled or blocking - haven't gotten to an async interface yet.
Anyway, there are three crates there:
- gpiod-uapi provides a thin and safe wrapper around the ioctls and file reads, for both uAPI versions.
- gpiod provides a more idiomatic abstraction, and hides the uAPI version being used - unless you need v2 specific features.
- gpiodctl provides a binary that bundles all the gpio tools into one.
There are a couple of minimal example apps in the gpiod crate, in addition to the example that gpiodctl provides.
Cheers, Kent.
Nice stuff, thanks Kent for sharing that.
I may end up using the libgpiod wrappers though, since I have already done the development using it and it is going to be low maintenance work for me :)
But it is really nice to have raw ioctl interface too for the GPIO devices.