xmodem协议实现。

xmodem的Python项目详细描述


https://travis-ci.org/tehmaze/xmodem.png?branch=masterhttps://coveralls.io/repos/tehmaze/xmodem/badge.png

xmodem协议实现

文档可在http://packages.python.org/xmodem/

python包索引(pypi)页位于https://pypi.python.org/pypi/xmodem

使用量

创建一个函数来获取并将字符数据(放到 示例):

>>> import serial
>>> from xmodem import XMODEM
>>> ser = serial.Serial('/dev/ttyUSB0', timeout=0) # or whatever port you need
>>> def getc(size, timeout=1):
...     return ser.read(size) or None
...
>>> def putc(data, timeout=1):
...     return ser.write(data)  # note that this ignores the timeout
...
>>> modem = XMODEM(getc, putc)

现在,要上载文件,请使用send方法:

>>> stream = open('/etc/fstab', 'rb')
>>> modem.send(stream)

要下载文件,请使用recv方法:

>>> stream = open('output', 'wb')
>>> modem.recv(stream)

有关更多信息,请查看documentation

变化

0.4.5:
  • 错误修复:删除recv()中导致 在0.4.0版commit id9b03fc20中引入的断言错误,PR #29
0.4.4:
  • 错误修复:send()中的大文件传输更可能失败 小值^ {TT5}$:这个值应该是每一次的最大故障 已记录的块传输,但未正确执行为 传输总持续时间内允许的失败次数,PR #21
  • 错误修复:send(retry=n)recv(retry=n)应该重试n次 如文档所述,正在重试n - 1
0.4.3:
  • 错误修复:putc()回调是按系列调用的,对于 块传输期间的xmodem块头、数据和校验和。现在全部 三个数据块通过单个putc()调用发送。这解决了问题 当与微控制器或对定时敏感的设备集成时 流边界的问题,PR #19
0.4.2:
  • 错误修复:发布tarball中缺少文档文件 Issue #16
0.4.1
  • 错误修复:在NAK上的send()中重新传输,或之前的超时 重新传输(错误地)仅在垃圾字节上发生。 PR #12
0.4.0
  • 增强:对python 3的支持 PR #8
  • 错误修复:未正确重新协商xmodem.recv()中的CRC失败 PR #11

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

推荐PyPI第三方库


热门话题
java OnResizeListener或OnDrawListener或类似的东西   java Orika映射嵌套子列表   保存时java Heroku请求超时代码H12   数据库在Java中出现socket读取超时异常的原因是什么?   java如何更改来自Sqlite数据库的特定数据在Listview中的行颜色   java JAXB解组器无法正确处理XML中的列表   java Android日期时区让我抓狂   java不透明属性在Swing中如何工作?   eclipse从JavaEE代码生成流程图   java如何在Hibernate中从相关表中获取计数   java Glassfish部署了项目的依赖项库   java使内容适合JavaFx中的WebView   java不满意的链接错误libcrypto。所以1.0.0   循环中java数组的使用   java找出哪个包调用服务