{ "info": { "author": "Brad Buran", "author_email": "bburan@alum.mit.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved", "Programming Language :: Python", "Topic :: Scientific/Engineering", "Topic :: System :: Hardware" ], "description": "=====\nTDTPy\n=====\n\n.. image:: https://zenodo.org/badge/doi/10.5281/zenodo.17651.svg \n :target: http://dx.doi.org/10.5281/zenodo.17651\n\nTDTPy is a Python wrapper around `Tucker-Davis Technologies`_ `ActiveX library`_\n[PDF link] (known as RPcoX) for communicating with their System 3 hardware (e.g.\nthe RP2.1, RX6, RZ6, etc.).\n\nIn addition to the standard operations (loading\ncircuits, configuring tags and reading/writing to hardware buffers), TDTPy\noffers a number of high-level features that are not included in the ActiveX\nlibrary:\n\n* **Handling type conversion** between analog and digital units (e.g. converting\n seconds to number of DSP cycles based on the CPU frequency of the hardware).\n* **Remote procedure call (RPC) server** for allowing multiple processes and/or programs\n to communicate with the hardware across the same connection. The drivers\n provided by TDT do not handle concurrency issues. To handle these issues, we\n have created a RPC server that handles concurrency issues, allowing multiple\n programs to talk to the hardware simultaneously. The programs can either run\n on the same computer or on a separate computer.\n* If you use the RPC server, your client code can run on **any platform** (e.g. Mac\n OSX, Unix, Solaris, etc); however, the server must run on a Windows-based\n computer.\n* **Simple reads and writes.** The hardware buffers are implemented as \"ring\n buffers\" with various features such as multichannel storage and data\n compression. TDTPy automatically detects the configuration of the hardware\n buffer and returns a buffer object (`DSPBuffer`) that you can read/write\n to without having to deal with the intricacies of the hardware buffer itself.\n* **Robust error handling.** Some methods in the ActiveX library will fail silently\n (e.g. if you try to access a nonexistent tag, attempt to write more data than\n the hardware buffer can hold, or wire up a tag to a static port). When the\n RPvds circuit is first loaded to the hardware, TDTPy will inspect the\n microcode (i.e. the RPvds circuit) and store some information about the tags\n and buffers available. All subsequent operations are validated against this\n metadata before being passed to the ActiveX library. If an invalid operation\n is attempted, a DSPError is raised with the appropriate message.\n\n.. _Tucker-Davis Technologies: http://www.tdt.com\n.. _System 3: http://www.tdt.com/products.htm \n.. _ActiveX library: http://www.tdt.com/T2Download/manuals/ActiveX_User_Reference.pdf\n\nThe minimum required dependencies to run the software are:\n\n - Python >= 2.7\n - NumPy >= 1.8\n - pywin32\n - six\n\nTDTPy is distributed under the BSD license.\n\nSource code: http://github.com/LABSN/tdtpy\n\nDocumentation: http://tdtpy.readthedocs.org\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://tdtpy.readthedocs.org", "keywords": "", "license": "BSD (3-clause)", "maintainer": "", "maintainer_email": "", "name": "TDTPy", "package_url": "https://pypi.org/project/TDTPy/", "platform": "", "project_url": "https://pypi.org/project/TDTPy/", "project_urls": { "Homepage": "http://tdtpy.readthedocs.org" }, "release_url": "https://pypi.org/project/TDTPy/0.7.4/", "requires_dist": null, "requires_python": "", "summary": "Module for communicating with TDT's System 3 hardware", "version": "0.7.4" }, "last_serial": 4761220, "releases": { "0.7": [ { "comment_text": "", "digests": { "md5": "27e075f2c4a711fd3e5aa828d7bec738", "sha256": "d5728fba4b48abb499422fb936dd1d7048fe3bbc57f0ef955083c543600ce207" }, "downloads": -1, "filename": "TDTPy-0.7.win32.exe", "has_sig": false, "md5_digest": "27e075f2c4a711fd3e5aa828d7bec738", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 553343, "upload_time": "2013-07-11T19:32:27", "url": "https://files.pythonhosted.org/packages/12/21/1417176a1e71cd340e52d4fedf6389a30f4aa7c4c498fbbb0f323b586ed5/TDTPy-0.7.win32.exe" }, { "comment_text": "", "digests": { "md5": "c01dd90abb7da1229289660b9be81665", "sha256": "3902eaaf16288b042e0058c85102e0aa3b75ee2190076bfbfb060e0e9381a6b4" }, "downloads": -1, "filename": "TDTPy-0.7.zip", "has_sig": false, "md5_digest": "c01dd90abb7da1229289660b9be81665", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 374161, "upload_time": "2013-07-11T19:31:59", "url": "https://files.pythonhosted.org/packages/40/95/91522d517dad83afd18240b76a48cdfaab711e210b22f532eb33668c1547/TDTPy-0.7.zip" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "2b70a98b2a39d6b36085969e96d252dc", "sha256": "b4c3301b80f583a509d5a87c4692106b186d8a34b330a5533dccdbc02375ac3c" }, "downloads": -1, "filename": "TDTPy-0.7.2.zip", "has_sig": false, "md5_digest": "2b70a98b2a39d6b36085969e96d252dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 378350, "upload_time": "2015-05-18T18:56:04", "url": "https://files.pythonhosted.org/packages/dc/b7/55daf1d3be0099b4b4af22c23309b6b9eed9cf7b5df9aab8476edc6eb545/TDTPy-0.7.2.zip" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "f358d2ee4906ba31d89f782c29a65733", "sha256": "73b37dbf47ad1978dc31811d77ade26b3d71d777f52d659a43f4e34d3e1c0843" }, "downloads": -1, "filename": "TDTPy-0.7.3.zip", "has_sig": false, "md5_digest": "f358d2ee4906ba31d89f782c29a65733", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 379086, "upload_time": "2016-06-28T01:55:37", "url": "https://files.pythonhosted.org/packages/7a/5e/6e3f7928070230582f9e2b1cd7a1e669b7ccd836260f74c11689fbade8cd/TDTPy-0.7.3.zip" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "55c69b871109b8d4f9663aabddbfd470", "sha256": "5fec4ffe141f9f126c5627e87a24e2a69c25873c19926b575df4c71b90e6ee58" }, "downloads": -1, "filename": "TDTPy-0.7.4.tar.gz", "has_sig": false, "md5_digest": "55c69b871109b8d4f9663aabddbfd470", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 345598, "upload_time": "2019-01-30T20:03:02", "url": "https://files.pythonhosted.org/packages/ae/be/e1b5133af6e47ec4676219862534e6e26585138519c9c816cb3e771b6633/TDTPy-0.7.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "55c69b871109b8d4f9663aabddbfd470", "sha256": "5fec4ffe141f9f126c5627e87a24e2a69c25873c19926b575df4c71b90e6ee58" }, "downloads": -1, "filename": "TDTPy-0.7.4.tar.gz", "has_sig": false, "md5_digest": "55c69b871109b8d4f9663aabddbfd470", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 345598, "upload_time": "2019-01-30T20:03:02", "url": "https://files.pythonhosted.org/packages/ae/be/e1b5133af6e47ec4676219862534e6e26585138519c9c816cb3e771b6633/TDTPy-0.7.4.tar.gz" } ] }