README

PyTek provides a python API for interacting with Tektronix oscilloscopes over a serial interface. It currently supports some basic commands for the TDS3000 series of Digital Phosphor Oscilloscopes, especially capturing waveforms and screen shots from the device.

Note

Serial Port not Included

PyTek relies on a thirdparty serial port for communications, specifically one that matches the pyserial API. It is recommended that you simply use pyserial itself.

tl;dr

What?

A python package that gives you an API for interacting with supported Tektronix oscilloscopes over a serial interace.

Install?

$ pip install pytek

Or, from source:

$ python setup.py install

Serial?

We don’t provide a serial port implementation. We suggest, pyserial:

$ pip install pyserial

Examples?

>>> from serial import Serial
>>> from pytek import TDS3k
>>>
>>> port = Serial("COM1", 9600, timeout=1)
>>> tds = TDS3k(port)
>>>
>>>
>>> # Make the scope identify itself.
...
>>> tds.identify()
'TEKTRONIX,TDS 3034,0,CF:91.1CT FV:v2.11 TDS3GM:v1.00 TDS3FFT:v1.00 TDS3TRG:v1.00'
>>>
>>>
>>>
>>> # Capture waveform data
...
>>> waveform = tds.get_waveform(start=100, stop=109)
>>> waveform
<generator object <genexpr> at 0x0238B8A0>
>>
>>> for x,y in waveform:
...     print x, y
...
-0.0045 -0.16
-0.004499 -0.04
-0.004498 -0.04
-0.004497 -0.12
-0.004496 -0.12
-0.004495 -0.08
-0.004494 -0.12
-0.004493 -0.16
-0.004492 -0.2
-0.004491 -0.08
>>>
>>> tds.x_units()
's'
>>> tds.y_units()
'V'
>>>
>>>
>>>
>>> # Grab a screen shot (this will take a few minutes).
...
>>> ofile = open("screenshot.tiff", "wb")
>>> tds.screenshot(ofile, "tiff")
>>>
>>>
>>>
>>>
>>> #Fin.
...
>>> tds.close()
>>>

Dependencies?

You’ll need a serial port interface. See the “Serial?” section, above.

To build the sphinx docs from source (as is), you’ll need the `sphinx_rtd_theme`_:

$ pip install sphinx_rtd_theme

Extras?

PyTek package includes the following extras (optional installs):

serial
Adds pyserial package as a requirement, the recommended serial port interface.
docs
Adds `sphinx_rtd_theme`_ package as a requirement, needed for building sphinx docs.

Misc.

Contact Information

This project is currently hosted on bitbucket, at https://bitbucket.org/bmearns/pytek/. The primary author is Brian Mearns: you can contact Brian through bitbucket at https://bitbucket.org/bmearns.