通过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

性能

因为我们是通过字符设备而不是通过 一些内存映射魔术,性能保证更低。这里有一些 测试结果:

DeviceSoftwareAchieved data rate (^{})
RPI3 BArch Linux ARM Linux 4.14.3713962

注意事项

  • 由于实现的数据速率是 方法的最大值下的速度低于。
    • 必要时提交问题报告。

示例

请参阅examples目录。

许可

这个项目是根据mit许可证授权的。 有关详细信息,请参见LICENSE.txt

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
插入表达式以完成JAVA语句块时出现语法错误   在linkedlist中的特定节点后插入java   java如何将参数传递给安卓 junit测试(参数化测试)   java在运行时将数据添加到片段中的RecyclerView,在该片段中,数据是在单独的片段中创建的   java apache CsrfPreventionFilter和404错误   java Ask是安卓 6.0的多重权限   java将字符串解析为Time并插入mysqldatabase   java扩展MyBatis映射器接口可能导致异常   java SparkSql不支持日期格式   在java中剪切字符串的一部分   将Java lambda的结果分配给字段   在Java中解析OCL?   java解析json到安卓中活动中的对象   用于时区转换的JavaAPI   在Oracle上建立与ESRI geodatabase直接连接的java在未处于调试模式时挂起   拆分文件时出错。使用Java8的xml文件   java eclipse jsp无颜色、代码完成和错误检测   java spring kafka侦听器在错误的位置查找ContainerProperty   java Springboot应用程序@EnableConfigServer无法在Eclipse中解析   当尝试使用ConstraintLayout将java视图添加到同一行时,java视图会被截断