- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个问题,我为上升和下降阈值注册了 IIO 事件。我可以在事件子文件夹中看到 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),
}
};
最佳答案
finding: it works when I change the permissions of the
in_temp_thresh_rising_value
file to666
viasudo
. But why is it not created with this permissions via IIO subsystem?
这是 sysfs 文件的常见做法,因为写入这些文件会改变系统的行为,甚至危及或破坏系统。因此,如果您想写入这些文件,您应该从 root 执行,或者将您的用户添加到相应的组,或者更改该文件模式(通过 udev 规则或手动)。
这是在 IIO 代码中是如何完成的:
iio_ev_type_text
、iio_ev_dir_text
和 iio_ev_info_text
iio_device_add_event()
-> __iio_add_chan_devattr()
-> __iio_device_attr_init()
正在 __iio_device_attr_init() 中设置 sysfs 节点的文件模式:
用于阅读:dev_attr->attr.mode |= S_IRUGO;
S_IRUGO
允许读取用户用户,G组和其他其他人)用于写入:dev_attr->attr.mode |= S_IWUSR;
S_IWUSR
只允许文件所有者写入,即 root)关于Linux 内核 IIO 事件 sysfs 文件只可读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38739005/
我正在尝试使用来自 ADC channel 的原始值。在我的应用程序中,我这样做: open("/sys/bus/iio/devices/iio\:device1/in_voltage_1", O_R
我正在为 ADC ADS1243 开发 Linux 驱动程序并使用 IIO 框架。我想添加功能以从 ADC 读取数据并将其存储到 IIO 缓冲区。 我添加了 iio_triggered_buffer_
我在 iio 驱动程序中使用名为 LSM6DSL 的 IMU 传感器。如果我使用以下命令显示原始值,它们就可以正常工作: cat /sys/bus/iio/devices/iio:device0/in
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我正在尝试从 C 代码读取以下文件。 文件:/sys/bus/iio/devices/iio\:device0/in_voltage7_raw 但是我得到的文件指针是-1。 使用 cat 命令,它能够
我正在使用 MPU-9250 Invensense 传感器,它的驱动程序来自 android 内核并与 linux 内核集成。驱动程序对内核和节点进行了一些修改,/dev/iio:\device0,并
我对 Linux 设备驱动程序一窍不通。 我有一个 IIO 驱动程序(用于 OPT3001 环境光传感器),在 I2C 总线上运行,已在内核(3.18 版)中成功编译。修改设备树以匹配驱动程序中存在的
我正在使用来自用户空间的 IIO 驱动程序来读取 ADC (AD7924) 的值。我已经完成了触发采集工作的所有步骤(创建触发器、分配它、启用 ADC channel 、设置缓冲区的大小并启用它)。这
我正在尝试将 LSM330 加速度计/陀螺仪模块连接到 i.MX6 板上。模块连接到I2C总线,设备树文件相关部分如下: &i2c1 { clock-frequency = ; pin
我为 ADC 模块编写了一个驱动程序,它是 IIO 子系统的一部分。它读取连接到特定 channel 的各种硬件外设的电压,这些电压只能从 sysfs 读取。 我的问题是,我的充电驱动程序也想从 AD
我有一个问题,我为上升和下降阈值注册了 IIO 事件。我可以在事件子文件夹中看到 sysfs 文件并可以读取它们,但是当我尝试写入新阈值时,它显示“权限被拒绝”。 以下设置: static const
我正在开发的驱动程序有许多我希望用户能够更改的设置,这些设置并不真正适合 IIO 框架。例如,在我的读取函数中使用 IIO_CHAN_INFO_SAMP_FREQ 枚举会在/sys/bus/iio/d
我第三次在运行 VMWare 的 Windows 10 机器上重新安装 Ubuntu 20.04,同时尝试使用 PlutoSDR gr_iio block 安装 GNU Radio Companion
我是一名优秀的程序员,十分优秀!