我的问题是,我登记了IIO事件的上升和下降的门槛。我可以在events子文件夹中看到sysfs文件并读取它们,但是当我试图编写一个新的阈值时,它会说“权限被拒绝”。
以下设置:
static const struct iio_event_spec as6200_events[] = {
{
.type = IIO_EV_TYPE_THRESH,
.dir = IIO_EV_DIR_RISING,
.mask_separate = BIT(IIO_EV_INFO_VALUE),
}, {
.type = IIO_EV_TYPE_THRESH,
.dir = IIO_EV_DIR_FALLING,
.mask_separate = BIT(IIO_EV_INFO_VALUE),
}
};
static const struct iio_chan_spec as6200_channels[] = {
{
.type = IIO_TEMP,
.info_mask_separate = BIT(IIO_CHAN_INFO_RAW) |
BIT(IIO_CHAN_INFO_PROCESSED) |
BIT(IIO_CHAN_INFO_SCALE),
.info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SAMP_FREQ),
.event_spec = as6200_events,
.num_event_specs = ARRAY_SIZE(as6200_events),
}
};发布于 2018-07-12 09:36:44
解决这个问题的另一个解决方案是将libiio的网络和本地上下文结合起来。在本例中,将以适当的权限启动libiio守护进程,以便将其写入sysfs文件,然后用户应用程序将使用libiio网络上下文与此守护进程连接。
https://stackoverflow.com/questions/38739005
复制相似问题