跳转到主要内容

用于与TDT的System 3硬件通信的模块

项目描述

https://zenodo.org/badge/doi/10.5281/zenodo.17651.svg

TDTPy是Python的包装器,围绕Tucker-Davis TechnologiesActiveX库 [PDF链接](称为RPcoX)进行,用于与其System 3硬件(例如RP2.1、RX6、RZ6等)通信。

除了标准操作(加载电路、配置标签以及读取/写入硬件缓冲区)外,TDTPy还提供了一些高级功能,这些功能不包括在ActiveX库中。

  • 处理模拟和数字单位之间的类型转换(例如,根据硬件的CPU频率将秒转换为DSP周期数)。

  • 远程过程调用(RPC)服务器 允许多个进程和/或程序通过相同的连接与硬件进行通信。TDT提供的驱动程序不处理并发问题。为了处理这些问题,我们创建了一个RPC服务器,该服务器可以处理并发问题,允许多个程序同时与硬件通信。程序可以运行在同一台计算机上或不同的计算机上。

  • 如果您使用RPC服务器,您的客户端代码可以在任何平台(例如Mac OSX、Unix、Solaris等)上运行;然而,服务器必须在基于Windows的计算机上运行。

  • 简单的读取和写入。 硬件缓冲区作为“环形缓冲区”实现,具有多通道存储和数据压缩等各项功能。TDTPy自动检测硬件缓冲区的配置,并返回一个缓冲区对象(DSPBuffer),您可以直接读取/写入,而无需处理硬件缓冲区的复杂性。

  • 健壮的错误处理。 ActiveX库中的一些方法会静默失败(例如,如果您尝试访问一个不存在的标签,尝试写入超过硬件缓冲区可以容纳的数据,或将标签连接到一个静态端口)。当RPvds电路首次加载到硬件中时,TDTPy将检查微代码(即RPvds电路)并存储有关标签和缓冲区的信息。所有后续操作在传递给ActiveX库之前都会与这些元数据进行验证。如果尝试了无效的操作,将引发一个带有适当消息的DSPError。

运行该软件所需的最小依赖项包括

  • Python >= 3.7

  • NumPy >= 1.8

  • pywin32

许可证

TDTPy在BSD许可下分发。

贡献者

  • Brad Buran(纽约大学,俄勒冈健康与科学大学)

  • Eric Larson(华盛顿大学)

  • Decibel Therapeutics,Inc.

项目详情


下载文件

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

源分布

tdtpy-0.10.4.tar.gz (833.0 kB 查看哈希值)

上传时间

构建分布

TDTPy-0.10.4-py3-none-any.whl (496.7 kB 查看哈希值)

上传时间 Python 3

由以下支持

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