工具/软件:Linux
我有一个通过 SPI 协议连接的 ads8688。
它显示在/sys/buses/iio/devices/iio:device0中
我可以运行 IIO_info、它会显示器件条目
Prompt (提示)">IIO_info Library version (IIO_info 库版本):0.7 (git tag:v0.7) 使用本地后端创建 IIO 上下文。 后端版本:0.7 (git tag:v0.7) 后端描述字符串:Linux arm 4.9.10-bone4 #1 Thu Febe 16 19:35:11 UTC 2017 armv7l IIO 上下文具有1个器件: IIO:device0:ads8688 8个通道找到: voltage6:(输入) 5个通道特定属性找到: attr0:attrs 值:attr0:tr 0.887原始值:0:attrs 值:0.320 -32768 属性3:offset_available 值:-32768 0 属性4:scale_available 值:0.312504320 0.156254208 0.078127104 voltage4:(输入) 5个通道特定属性找到: atage0:-32768 attr 1:原始值:396254208 voltr 2:scale value:0.327504320 tr 0:–327432080 attr0:0.320_trl (输入) 找到5个通道特定属性: 属性0:比例值:0.312504320 属性1:原始值:48303 属性2:偏移值:-32768 属性3:offset_available 值:-32768 0 属性4:比例可用值:0.312504320 0.156254208 0.078127104 属性 tage3:0.3125015:输入数据 0:特定通道属性0:0.3201:输入数据0 32726 属性2:偏移值:-32768 属性3:offset_available 值:-32768 0 属性4:scale_available 值:0.312504320 0.156254208 0.078127104 voltage7:(输入) [...]
这很正常、我可以从通道0读取电压、如您在上面所见。
但是、我找不到我想要查找的一些文件夹、用于启用/禁用通道的文件夹、缓冲区等
无论如何、我尝试使用 IIO 工具从器件中读取数据、但我得到了...
BS@ARM:~$ IIO_readdev IIO:device0
无法分配缓冲区:参数无效
调用 IIO_DEVICE_CREATE 缓冲区时,我使用自己的代码获得相同的结果:它在--EINVAL 时失败(无效参数)。
在进一步检查 libiio 代码后、我认为 IIO_DEVICE_GET_SAMPLE_SIZE 结果是故障的原因、因此我做了更多的测试...
调用 ICO_DEVICE_GET_SAMPLE_SIZE (dev)将返回0,并将 errno 设置为:13 (拒绝权限)(如果您不是 root 用户);如果您以 root 用户身份运行,则将错误设置为2 (无此类文件或目录)。
为了创建缓冲区、IIO_DEVICE_GET_SAMPLE_SIZE 必须大于零。
我认为这是 ti_ads8688.c 驱动程序中的缺陷或问题。 是否有更新的 ti_ads8688.c 驱动程序、我可以尝试更新它的任何计划?