Kent Gibson

244
reputation
3
11

Author of the Linux GPIO userspace uAPI - the standard Linux GPIO interface used by modern GPIO libraries such as libgpiod. Contributor to libgpiod and author of Go and Rust equivalents.

An occasional Pi user since the original Pi and up to the Pi4, though now moving all GPIO related projects to other platforms and so no longer with any particular interest in the Pi.

I have endeavoured to provide useful answers to libgpiod related questions, since many of the answers found on this site are based on old information, opinion, speculation or are straight up incorrect. But, given the hostility towards both myself and libgpiod, and the unwillingness of the moderators to appropriately police the forum, I'm content to leave you lot to sort your shit out yourselves.

If you are looking for something beyond driving GPIO lines, such as PWM, SPI or I2C, then libgpiod will never provide that as basic GPIO is its sole function. In Linux those are handled by separate interfaces and so outside the scope of libgpiod. libgpiod might not behave in the ways you want either, such only allowing one process at a time to access a line, but its behaviour is as intended and is there because to do otherwise would conflict with requirements of other GPIO users. Whining that you don't like the way it works will not change that.

If libgpiod doesn't do it for you then you can always use lgpio, pinctrl or wiringPi or whatever floats your fruit bowl.