使用libftdi的ftdi设备的pythonic接口

pylibftdi的Python项目详细描述


pylibftdi是使用libftdi的ftdi设备的最小pythonic接口。

Features:
  • Supports Python 2 and Python 3
  • Supports parallel and serial devices
  • Support for multiple devices
  • File-like interface wherever appropriate
  • Cross-platform
Limitations:
  • The API might change prior to reaching a 1.0 release.

用法

主接口是pylibftdi包中的Device类;这个 在相关FTDI设备(如UM232R)上提供串行访问,提供 类文件接口(读、写)。波特率由^{tt2}控制$ 财产

如果使用mode='t'(文本模式)创建设备实例,则read()和 write()可以使用给定的encoding(默认为拉丁语-1)。这不是 在Python2上有很大的不同(可以省略),但是允许 与在python 3中的设备之间传递unicode字符串的集成。

通过传递所需的设备序列号(如 字符串)在device_id参数中-这是两个参数中的第一个参数 device()和bitbangdevice()构造函数。或者设备“说明” 可以,如果按序列匹配,则将尝试匹配此 编号失败。

示例

>>> from pylibftdi import Device
>>>
>>> with Device(mode='t') as dev:
...     dev.baudrate = 115200
...     dev.write('Hello World')

bitbangdevice包装器提供对 通过portdirection属性进行操作。它们提供了 8位IO端口,包括所有相关的位操作,使事情变得简单。

>>> from pylibftdi import BitBangDevice
>>>
>>> with BitBangDevice('FTE00P4L') as bb:
...     bb.direction = 0x0F  # four LSB are output(1), four MSB are input(0)
...     bb.port |= 2         # set bit 1
...     bb.port &= 0xFE      # clear bit 0

支持许多外部设备和协议,包括 使用4位接口与HD44780 LCD接口。

历史和动机

这个包是使用ftdi的各种工作的结果。 设备,主要用于控制外部设备。其中一些 记录在codedstructure博客codedstructure.blogspot.com上

存在其他几个开源Python FTDI包装,每个可能都是 最适合一些项目。有些旨在紧密包装libftdi接口, 其他人使用ftdi自己的d2x驱动程序(ftd2xx)或通过 libusb或类似的(例如pyftdi)。

pylibftdi的目标是与libftdi合作,但是 高级Python接口。各种包装和实用工具 函数也是发行版的一部分;遵循python 包括电池的方法,有各种有趣的设备 支持出盒子-或至少很快会有!

计划

  • Add more examples: SPI devices, knight-rider effects, input devices, MIDI…
  • Perhaps add support for D2XX driver, though the name then becomes a slight liability ;)

许可证

版权所有(C)2010-2018 Ben Bass<;benbass@codedstructure.net>;

Pylibftdi是在麻省理工学院的许可下发布的;参见文件“license.txt” 供参考。

此处引用的所有商标均为其各自的财产 持有人。 libftdi本身是由intra2net公司开发的。与…无关 intra2net是声称的或暗示的,但我找到了他们的库 很有帮助,玩得很开心…

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

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException