Skip to main content
https://zenodo.org/badge/doi/10.5281/zenodo.17651.svg

TDTPy is a Python wrapper around Tucker-Davis Technologies ActiveX library [PDF link] (known as RPcoX) for communicating with their System 3 hardware (e.g. the RP2.1, RX6, RZ6, etc.).

In addition to the standard operations (loading circuits, configuring tags and reading/writing to hardware buffers), TDTPy offers a number of high-level features that are not included in the ActiveX library:

  • Handling type conversion between analog and digital units (e.g. converting seconds to number of DSP cycles based on the CPU frequency of the hardware).

  • Remote procedure call (RPC) server for allowing multiple processes and/or programs to communicate with the hardware across the same connection. The drivers provided by TDT do not handle concurrency issues. To handle these issues, we have created a RPC server that handles concurrency issues, allowing multiple programs to talk to the hardware simultaneously. The programs can either run on the same computer or on a separate computer.

  • If you use the RPC server, your client code can run on any platform (e.g. Mac OSX, Unix, Solaris, etc); however, the server must run on a Windows-based computer.

  • Simple reads and writes. The hardware buffers are implemented as “ring buffers” with various features such as multichannel storage and data compression. TDTPy automatically detects the configuration of the hardware buffer and returns a buffer object (DSPBuffer) that you can read/write to without having to deal with the intricacies of the hardware buffer itself.

  • Robust error handling. Some methods in the ActiveX library will fail silently (e.g. if you try to access a nonexistent tag, attempt to write more data than the hardware buffer can hold, or wire up a tag to a static port). When the RPvds circuit is first loaded to the hardware, TDTPy will inspect the microcode (i.e. the RPvds circuit) and store some information about the tags and buffers available. All subsequent operations are validated against this metadata before being passed to the ActiveX library. If an invalid operation is attempted, a DSPError is raised with the appropriate message.

The minimum required dependencies to run the software are:

  • Python >= 3.7

  • NumPy >= 1.8

  • pywin32

License

TDTPy is distributed under the BSD license.

Contributors

  • Brad Buran (New York University, Oregon Health & Science University)

  • Eric Larson (University of Washington)

  • Decibel Therapeutics, Inc.

Release files for TDTPy 0.10.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for TDTPy 0.10.4
File Size Uploaded
tdtpy-0.10.4.tar.gz 833.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for TDTPy 0.10.4
File Interpreter ABI Platform
TDTPy-0.10.4-py3-none-any.whl Python 3 none any Details

Total release size: 1.3 MB

Release files / tdtpy-0.10.4.tar.gz

Download URL tdtpy-0.10.4.tar.gz
Size 833.0 kB
Tags Source
SHA-256 checksum
How to use checksums
6d8eed0786fd2a7008b4e43dc764c3e8aa285212d96b8a1ab6b3cbe4a41e2574
BLAKE2b-256 checksum
How to use checksums
3004c2fea5632b9981393e46f49b8441ee08085ab8863f0c1f474ab4ef13c167
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / TDTPy-0.10.4-py3-none-any.whl

Download URL TDTPy-0.10.4-py3-none-any.whl
Size 496.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
93a49cb9c6e4813d2f18a4406a132b0cfb8792b10090996cb97545f20a029189
BLAKE2b-256 checksum
How to use checksums
4d639ef83e878a73edaef208e8bc4a26ced8105abf166ffdeb41c9d71a17b6d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.10.4 This release

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.4

1 release file

0.7.3

1 release file

0.7.2

1 release file

0.7

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page