Skip to main content

Rigol 800 control library (unofficial)

Project description

Rigol DHOxxx oscilloscope Python library (unofficial)

Based completely on https://github.com/tspspi/pymso5000/tree/master by tspspi

A Rigol DHO800 setup

A simple Python library and utility to control and query data from Rigol DHOxxx oscilloscopes (not supporting all features of the oscilloscope, work in progress). This library implements the Oscilloscope class from the pylabdevs package which exposes the public interface.

Installing

There is a PyPi package that can be installed using

pip install pydho800

Simple example to fetch waveforms:

from dho800.dho800 import DHO800

with DHO800(address = "10.0.0.123") as dho:
   print(f"Identify: {dho.identify()}")

   dho.set_channel_enable(0, True)
   dho.set_channel_enable(1, True)

   data = dho.query_waveform((0, 1))
   print(data)

   import matplotlib.pyplot as plt
   plt.plot(data['x'], data['y0'], label = "Ch1")
   plt.plot(data['x'], data['y1'], label = "Ch2")
   plt.show()

Note that numpy usage is optional for this implementation. One can enable numpy support using useNumpy = True in the constructor.

Querying additional statistics

This module allows - via the pylabdevs base class to query additional statistics:

  • mean Calculates the mean values and standard deviations
    • A single value for each channels mean at ["means"]["yN_avg"] and a single value for each standard deviation at ["means"]["yN_std"] where N is the channel number
  • fft runs Fourier transform on all queried traces
    • The result is stored in ["fft"]["yN"] (complex values) and in ["fft"]["yN_real"] for the real valued Fourier transform. Again N is the channel number
  • ifft runs inverse Fourier transform on all queried traces
    • Works as fft but runs the inverse Fourier transform and stores its result in ifft instead of fft
  • correlate calculates the correlation between all queried waveform pairs.
    • The result of the correlations are stored in ["correlation"]["yNyM"] for the correlation between channels M and N
  • autocorrelate performs calculation of the autocorrelation of each queried channel.
    • The result of the autocorrelation is stored in ["autocorrelation"]["yN"] for channel N

To request calculation of statistics pass the string for the desired statistic or a list of statistics to the stats parameter of query_waveform:

with DHO800(address = "10.0.0.123") as dho:
	data = dho.query_waveform((1,2), stats = [ 'mean', 'fft' ])

Supported methods

More documentation in progress ...

  • identify()
  • Connection management (when not using with context management):
    • connect()
    • disconnect()
  • set_channel_enable(channel, enabled)
  • is_channel_enabled(channel)
  • set_sweep_mode(mode)
  • get_sweep_mode()
  • set_trigger_mode(mode)
  • get_trigger_mode()
  • force_trigger()
  • set_timebase_mode(mode)
  • get_timebase_mode()
  • set_run_mode(mode)
  • get_run_mode()
  • set_timebase_scale(secondsPerDivision)
  • get_timebase_scale()
  • set_channel_coupling(channel, couplingMode)
  • get_channel_coupling(channel)
  • set_channel_probe_ratio(channel, ratio)
  • get_channel_probe_ratio(channel)
  • set_channel_scale(channel, scale)
  • get_channel_scale(channel)
  • query_waveform(channel, stats = None)
  • off()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydho800-0.0.4.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pydho800-0.0.4-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file pydho800-0.0.4.tar.gz.

File metadata

  • Download URL: pydho800-0.0.4.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for pydho800-0.0.4.tar.gz
Algorithm Hash digest
SHA256 d430849abf75595bc8cca039cc5877a636ce569eab1e0a3cc581e3877352e9e5
MD5 ca1d17e4cc70d263d46bf878bc84e6ff
BLAKE2b-256 a69d9a7a658b81d1b56acb0d5082788358c94c419b2545ef499001f73e476d95

See more details on using hashes here.

File details

Details for the file pydho800-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: pydho800-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for pydho800-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5ca95ad8d50e1863891c1ef919d6110c2919e685887f7044ffed086593dd02c6
MD5 e06f4010e97c1511611e453a99fdf549
BLAKE2b-256 2f3cd98dad4b417432afb438be4a886da9ea7b52fd267931179dde96751d921d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page