epicsdev_osc_tektronix_mso
An EPICS PVAccess server for Tektronix MSO and DPO oscilloscopes, built with epicsdev.
Tested with:
- Tektronix MSO64B over TCP/IP
- Tektronix DPO2004B over USB
Features
- TCP/IP, USB, and GPIB connectivity through VISA
- Per-channel control and readback of key oscilloscope parameters
- Model-aware setup, including automatic channel-count handling
- Included generator for a basic Phoebus operator screen
Performance
Measured waveform-transfer performance:
| Oscilloscope | Connection | Throughput |
|---|---|---|
| MSO64B | TCP/IP SOCKET | ~1 million float32 samples/s |
| DPO2004B | USB | ~80,000 float32 samples/s |
Actual performance depends on the instrument, VISA backend, network, and waveform settings.
Requirements
Python 3.11 or later, p4p>=4.2.2, epicsdev>=3.0.1, numpy, pyvisa and a compatible VISA backend, such as pyvisa-py.
Installation
pip install epicsdev_osc_tektronix_mso
Running the server
Start the server with a VISA resource string:
python -m epicsdev_osc_tektronix_mso -r 'TCPIP::192.168.1.1::4000::SOCKET'
The default EPICS PV prefix will be: tektronix0:
Phoebus OPI
Generate a simple Phoebus oscilloscope screen:
cd opi
python generate_simplescope.py -t txMSO1 pva://tektronix0:
This creates opi/simplescope.bob.
Notes:
-
The
prefixargument determines the PV names used by widgets. -
The default prefix is
$(DEV):, allowing the screen to use Phoebus macros. -
Install the optional generator dependency if needed:
pip install phoebusgen
Connection notes
- For TCP/IP, VISA
INSTRresources are typically more reliable;SOCKETresources can provide faster large-waveform transfers. - USB connections can be slow and less reliable on older instruments.
Metadata
Release files for epicsdev_osc_tektronix_mso 3.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| epicsdev_osc_tektronix_mso-3.0.3.tar.gz | 123.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| epicsdev_osc_tektronix_mso-3.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 136.4 kB
Release files / epicsdev_osc_tektronix_mso-3.0.3.tar.gz
| Download URL | epicsdev_osc_tektronix_mso-3.0.3.tar.gz |
|---|---|
| Size | 123.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c47ee0806dacb636a39b3176db71c6d137176de72380db0836b6a907f90b908b
|
|
BLAKE2b-256 checksum How to use checksums |
004d67be0a424e2e45b58053320fdfd8c59c83459dee5379d8f57ffb17ad155e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.1
|
Release files / epicsdev_osc_tektronix_mso-3.0.3-py3-none-any.whl
| Download URL | epicsdev_osc_tektronix_mso-3.0.3-py3-none-any.whl |
|---|---|
| Size | 12.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7a439da8916f41be1c5702484cd1929c9d906e08b01ffb54baa085856eab67fb
|
|
BLAKE2b-256 checksum How to use checksums |
3878ecdac5b1e02a5088dc49fea8759643e6fc100691de2f99890d692b6fcabb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.1
|