使用 libgpiod 如何动态切换请求线路的方向?

Jo *_*xer 4 c++ linux gpio

我正在重写我的代码,从 sysfs 接口更改为 libgpiod。在请求一条线之后,方向是固定的,我需要弄清楚如何动态切换这条线的方向以在输入和输出之间进行更改。目前我看不到正确的方法,进一步的请求被拒绝。

当我以不同的方向进行请求-使用-释放-再次请求的循环时,这对我来说似乎是错误的开销。

我更喜欢有一个函数调用,它改变从内到外的方向,反之亦然。

有什么事情是我监督过的吗?

Jo *_*xer 5

我自己回答一下问题:

目前,在不释放线路的情况下,方向还不能改变。

我通过电子邮件直接从 libgpiod 的作者那里得到了这个:

...这是因为内核不允许在不释放线路的情况下改变方向。然而,这将在 Linux v5.5 中发生变化,因为引入此功能的补丁已经过审查并且正在等待合并。支持该功能的新版本 libgpiod 将在不久后发布。

最好的问候, 巴托斯·戈拉谢夫斯基