Skip to content

pklaus/ds1054z

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Github pklaus/ds1054z PyPI Package

ds1054z

This package allows you to connect to your Rigol DS1054Z oscilloscope via Ethernet. It comes with a versatile command line tool.

Off course, you can also use it to control the scope with your own script by using the API this package has to offer.

While this software is named after the entry level oscilloscope DS1054Z, I believe there is no reason it wouldn't work with just any scope of the DS1000Z and MSO1000Z series by Rigol:

  • DS1054Z
  • DS1074Z
  • DS1104Z
  • DS1074Z-S
  • DS1104Z-S
  • MSO1074Z
  • MSO1104Z
  • MSO1074Z-S
  • MSO1104Z-S

Features

  • Discovering your scope via mDNS / DNS-SD
  • Saving Screenshots (incl. adjustable dimming of on-screen controls)
  • Running / stopping the scope
  • Acquiring waveforms
  • ... more to come!

Installation

The installation is dead simple:

pip install ds1054z[savescreen,discovery]

ds1054z depends on python-vxi11 which should automatically get installed along with itself.

For more information on the installation, please consult the installation section of the package documentation.

Recommended Firmware

Older versions of the oscilloscope's firmware have many issues. The VXI-11 connection could be unstable or commands might return unexpected data. Specifically, I'm recommending version 00.04.04.SP3 (alias 00.04.04.03.02) published on 2017-02-08.

Usage

Command Line Tool

This package installs a versatile command line (CLI) tool called ds1054z. You can use it to save the screen of your scope, for example:

ds1054z save-screen --overlay 0.6 192.168.0.23

As a result, a file like this will be saved to your current working directory:

oscilloscope screenshot

You can find out more ways to use the CLI tool with ds1054z --help or by reading the manual.

Developers

If you're into Python programming, use the DS1054Z class in your own code:

from ds1054z import DS1054Z

scope = DS1054Z('192.168.0.23')
print("Connected to: ", scope.idn)

print("Currently displayed channels: ", str(scope.displayed_channels))

Author

Resources