mirror of
https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git
synced 2026-10-24 00:48:53 +03:00
Catch2 v3.x has API changes which needs to be addressed in the tests themselves, hence this changeset is to fix those. Signed-off-by: Khem Raj <raj.khem@gmail.com> Link: https://lore.kernel.org/r/20240531184223.3949069-1-raj.khem@gmail.com [Bartosz: added a version requirement (>= 3.0) for catch2 to configure.ac] Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
54 lines
2.1 KiB
Plaintext
54 lines
2.1 KiB
Plaintext
# SPDX-License-Identifier: CC-BY-SA-4.0
|
|
# SPDX-FileCopyrightText: 2017-2021 Bartosz Golaszewski <bartekgola@gmail.com>
|
|
|
|
TODO list for libgpiod
|
|
|
|
==========
|
|
|
|
This document contains the list of things I'd like to have in libgpiod before
|
|
declaring it "mostly feature-complete". If anyone wants to help, this can
|
|
serve as the starting point.
|
|
|
|
==========
|
|
|
|
* implement dbus API for controlling GPIOs
|
|
|
|
A common complaint from users about gpioset is that the state of a line is not
|
|
retained once the program exits. While this is precisely the way linux
|
|
character devices work, it's understandable that most users will want some
|
|
centralized way of controlling GPIOs - similar to how sysfs worked.
|
|
|
|
One of the possible solutions is a DBus API. We need a daemon exposing chips
|
|
and lines as dbus objects and allowing to control and inspect lines using
|
|
dbus methods and monitor them using signals.
|
|
|
|
As of writing of this document some of the work has already been done and the
|
|
skeleton of the dbus daemon written in C using GLib has already been developed
|
|
and is partially functional.
|
|
|
|
----------
|
|
|
|
* implement a simple daemon for controlling GPIOs in C together with a client
|
|
program
|
|
|
|
This is by far the lowest priority task. Similarly as with the dbus daemon:
|
|
the goal is to provide a centralized agent controlling GPIOs with a simple
|
|
interface consisting of a command line client communicating with the server
|
|
over unix sockets.
|
|
|
|
In this case however the goal is to have as few dependencies as possible. This
|
|
is because for some small systems dbus is overkill. Since we won't be using any
|
|
standardized protocol, it will take much more effort to implement it correctly.
|
|
|
|
----------
|
|
|
|
* improve gpioset --interactive tab completion
|
|
|
|
The existing tab completion uses libedit's readline emulation layer which
|
|
has a few limitations, including not being able to correctly handle quoted
|
|
line names and being disabled when stdin/stdout are not a tty (which makes
|
|
testing with gpio-tools-test.bash using coproc problematic).
|
|
|
|
One approach that could address both these problems is to bypass the readline
|
|
emulation and use the libedit API (histedit.h) directly.
|