跳转到主要内容

Thorlabs APT协议的功能实现

项目描述

Thorlabs APT协议

Thorlabs APT协议的功能实现

输出消息

输出消息是顶级命名空间中的Python函数。每个函数都有与特定消息相关的参数,所有消息都有源和目标参数。函数名称从文档中的名称转换为小写,并省略了"MGMSG_"。这些函数返回字节,它们不通过传输层发送消息。

例如

>>> import thorlabs_apt_protocol as apt
>>> 
>>> apt.mot_move_home(source=1, dest=0x50 ,chan_ident=1)
b'C\x04\x01\x00P\x01'
>>> apt.mot_move_absolute(source=1, dest=0x50, chan_ident=1, position=2048)
b'S\x04\x06\x00\xd0\x01\x01\x00\x00\x08\x00\x00'

输入消息

还提供了允许将字节解析为字典的函数,但默认情况下不导入顶级命名空间。推荐的方法是使用提供的Unpacker对象。

该对象接受一个文件对象(如pyserial Serial实例)并提供一个生成器来解析传入的消息。如果没有提供文件对象,则使用内部BytesIO实例,并且可以通过feed方法提供字节。生成器产生namedtuple实例。

与pyserial一起使用

>>> import thorlabs_apt_protocol as apt
>>> import serial
>>> 
>>> port = serial.Serial("/dev/ttyUSB0", 115200, rtscts=True, timeout=0.1)
>>> port.rts = True
>>> port.reset_input_buffer()
>>> port.reset_output_buffer()
>>> port.rts = False
>>> port.write(apt.hw_no_flash_programming(source=1, dest=0x50))
>>> unpacker = apt.Unpacker(port)
>>> for msg in unpacker:
...     print(msg)
... 
>>> 

在Windows上,您必须切换驱动器设置才能使COM端口出现

在设备管理器中,右键单击APT设备(在USB设备下),然后转到 属性。在 高级 选项卡中,勾选名为 加载VCP 的复选框(VCP代表虚拟COM端口)。拔掉并重新插入USB线,以便加载COM端口。

如果未出现 高级 选项卡,我能够使用FTDI的FT_PROG。在不运行所有其他Thorlabs程序的情况下,单击 设备 > 扫描设备。查看提供的ID信息,以确保您正在编辑正确的设备。FTDI为多个制造商的多种设备提供串行通信,您可能有多台设备显示。在 硬件特定 下,取消勾选 加载D2XX 复选框。此复选框有点误导,因为它实际上意味着“仅加载 D2XX”,因为取消勾选时,D2XX驱动程序(Thorlabs提供的程序使用的)仍然加载,但VCP驱动程序也加载。单击 设备 > 编程

重新连接(拔掉并重新插入USB)后,应如上所示出现 高级 选项卡,但 加载VCP 驱动程序选项可能尚未勾选。

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

thorlabs-apt-protocol-29.0.0.tar.gz (24.3 kB 查看哈希值)

上传时间

构建分发

thorlabs_apt_protocol-29.0.0-py3-none-any.whl (22.4 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面