通过libgpiod使用用户空间gpio字符设备的apa102驱动程序
apa102-gpiod的Python项目详细描述
APA102_gpiod
一个python库,用于使用libgpiod
访问APA102
可寻址LED,
用于访问用户空间GPIO字符设备的库。
适用于需要驱动连接到不支持SPI的LED的情况
I/O行,或者当内核中的spi-gpio
驱动程序不可用时(例如:
pimoroni在主流发行版的默认内核上闪烁)
这个图书馆的使用可能受到
linux/Documentation/driver-api/gpio/drivers-on-gpio.rst
,所以去加压
覆盆子pi内核的开发要包含spi-gpio
,所以我们不必
使用自定义树外内核或evil bitbanging in userspace!
先决条件
- Linux内核>;=
4.8
libgpiod
>;=039b301b173c78664775d1ea93493825ef80c9d4
- python>;=
3.6
安装
libgpiod
https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/
- 配置时请记住
--enable-bindings-python
。
apa102_gpiod
pip install apa102_gpiod
测试
- 可以在
test
目录中找到测试。- 现在只有单元测试,欢迎更多的测试。
- 使用您喜爱的测试运行程序运行测试,或:
pip install setuptools
pip install pytest
python setup.py test
性能
因为我们是通过字符设备而不是通过 一些内存映射魔术,性能保证更低。这里有一些 测试结果:
Device | Software | Achieved data rate (^{ |
---|---|---|
RPI3 B | Arch Linux ARM Linux 4.14.37 | 13962 |
注意事项
- 由于实现的数据速率是
方法的最大值下的速度低于。
- 必要时提交问题报告。
示例
请参阅examples
目录。
许可
这个项目是根据mit许可证授权的。
有关详细信息,请参见LICENSE.txt
。