In the preceding recipe, we learned how to access the RTC using the ioctl API. Can we use it to control GPIO pins as well? The answer is yes. Recently, a generic GPIO driver was added to Linux, along with a user-space library, libgpiod, to simplify access to devices connected to GPIO by adding a convenience layer on top of the generic ioctl API. This interface allows embedded developers to manage their devices on any Linux-based platform without writing device drivers. Additionally, it provides bindings for C++ out of the box.
As a result, the wiringPi library has been deprecated, despite still being widely used because of its easy-to-use interface.
In this recipe, we will learn how to use the libgpiod C++ bindings. We are going to use the same LED blinking example to see the differences and similarities in the wiringPi and libgpiod...