tm_devices: Test & Measurement Device Management¶
tm_devices
is a device management package which allows for better
control and usage of Test & Measurement devices in python scripts. This
is accomplished by using the
PyVISA package to manage
connections and communication with devices. tm_devices
gives users
access to a much higher level abstraction of device control by providing
access to device drivers with a complete Python API.
Dependencies¶
tm_devices
can be used without any external (non-python) dependencies
on any operating system thanks to the
PyVISA-py
VISA backend. However, in order to use any VISA functionality that
PyVISA-py does not implement, a third-party VISA backend such as
TekVISA
(>=4.2.0) or
NI-VISA
can be installed. tm_devices
will use an available VISA backend if one
is found and will fall back to using PyVISA-py if no other VISA backends
are installed.
Installation¶
pip install tm_devices
Basic Usage¶
Print Available VISA Devices¶
$ list-visa-resources
[
"TCPIP0::192.168.0.100::inst0::INSTR",
"ASRL4::INSTR"
]
Basic Script¶
from tm_devices import DeviceManager
with DeviceManager() as device_manager:
scope = device_manager.add_scope("192.168.0.100")
scope.query("*IDN?")
print(scope)
Supported Devices & Software Solutions¶
Tip
Hover over a link or icon to see its definition, or visit the Glossary to see definitions for all symbols and abbreviations.
Device Support Levels
Type | Series/Model | Command Type |
Basic Control |
Python API Validation Status |
---|---|---|---|---|
AFGs | AFG3000 | PI | ✅ | |
AFG31xxx | PI | ✅ | ||
AWGs | AWG5000 | PI | ✅ | |
AWG5200 | PI | ✅ | ||
AWG7000 | PI | ✅ | ✅ | |
AWG70000 | PI | ✅ | ✅ | |
Scopes | 2 Series MSO | PI | ✅ | ✅ |
3 Series MDO | PI | ✅ | ||
4 Series MSO | PI | ✅ | ✅ | |
4 Series B MSO | PI | ✅ | ✅ | |
5 Series MSO | PI | ✅ | ✅ | |
5 Series B MSO | PI | ✅ | ✅ | |
5 Series MSO (LP) | PI | ✅ | ✅ | |
6 Series MSO | PI | ✅ | ✅ | |
6 Series B MSO | PI | ✅ | ✅ | |
6 Series LPD | PI | ✅ | ✅ | |
MSO2000/B | PI | ✅ | ||
DPO2000/B | PI | ✅ | ||
MDO3000 | PI | ✅ | ✅ | |
MDO4000/B/C | PI | ✅ | ✅ | |
MSO4000/B | PI | ✅ | ✅ | |
DPO4000/B | PI | ✅ | ✅ | |
MSO5000/B | PI | ✅ | ✅ | |
DPO5000/B | PI | ✅ | ✅ | |
DPO7000/C | PI | ✅ | ✅ | |
DPO70000/C/D/DX/SX | PI | ✅ | ✅ | |
DSA70000/C/D | PI | ✅ | ✅ | |
MSO70000/C/DX | PI | ✅ | ✅ | |
TSOVu | PI | ✅ | ||
TekScope | PI | ✅ | ✅ | |
PSUs | 2200 | PI | ✅ | |
2220 | PI | ✅ | ||
2230 | PI | ✅ | ||
2231 | PI | ✅ | ||
2280S | PI | ✅ | ||
2281S | PI | ✅ | ||
SMUs | 24xx Standard | PI | ✅ | |
24xx Interactive | TSP | ✅ | ✅ | |
26xxB | TSP | ✅ | 🚧 | |
2636B | TSP | ✅ | ✅ | |
Model 2601B-PULSE | TSP | ✅ | ||
Model 2606B | TSP | ✅ | 🚧 | |
2651A | TSP | ✅ | ✅ | |
2657A | TSP | ✅ | ||
6430 (electrometer) | PI | ✅ | ||
6514 (electrometer) | PI | ✅ | ||
6517B (electrometer) | PI | ✅ | ||
MTs | TMT4 | API | ✅ | |
DMMs | DMM6500 | TSP | ✅ | |
DMM7510 | TSP | ✅ | ||
DMM7512 | TSP | ✅ | ||
DAQs | DAQ6510 | TSP | ✅ | |
SSs | 3706A | TSP | ✅ |
Software Solution Support Levels
Software Solution |
Command Type |
Basic Control |
Python API Validation Status |
---|---|---|---|
DPOJET | PI | ✅ | ✅ |
SourceXpress | PI | ✅ | ✅ |
Supported Connections¶
- REST API
- VISA (TekVISA, NI-VISA and PyVISA-py)
- TCPIP
- ASRL / Serial / RS-232 / RS-485
- SOCKET
- USBTMC (no PyVISA-py support)
- GPIB (no PyVISA-py support)
Documentation¶
See the full documentation at https://tm-devices.readthedocs.io/stable/
Maintainers¶
Before reaching out to any maintainers directly, please first check if your issue or question is already covered by any open issues. If the issue or question you have is not already covered, please file a new issue or start a discussion and the maintainers will review and respond there.
- tmdevicessupport@tektronix.com - For technical support and questions.
- opensource@tektronix.com - For open-source policy and license questions.
Contributing¶
Interested in contributing? Check out the contributing guidelines. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.
License¶
tm_devices
was created by Tektronix. It is licensed under the terms of
the Apache License 2.0.
Security¶
The signatures of the files uploaded to PyPI and each
GitHub Release can be verified using
the GitHub CLI attestation verify
command.
The artifact attestations can also be directly downloaded from the
GitHub repo attestations page if desired.
gh attestation verify --owner tektronix <file>
Credits¶
tm_devices
was created with
cookiecutter
and the py-pkgs-cookiecutter
template.