Coder Social home page Coder Social logo

qrigol's Introduction

qrigol - A control program for the Rigol DS1xxxE series oscilloscopes

Copyright 2015 by Al Williams WD5GNR http://www.awce.com [email protected] All Rights Reserved

Platform: Linux

License: GPL2

Note: This program is not affiliated in any way with Rigol. Rigol is doubtless trademarked and it, along with other trademarks, are the property of their respective owners.

Features:

  • Uses USB communications with Scope
  • Allows keyboard to be unlocked so you can use both the panel and the software
  • Allows easy reading of all measurements as well as logging of all measurements
  • Control of common scope functions
  • Saves waveforms in CSV format
  • Integrates with external plot software like gnuplot to qtiplot
  • Diagnostic mode to send raw commands to scope

Known Limitations

  • Does not manage the display, digital features, or some basic setup items (not planned)
  • Does not handle Video or ALT trigger (Video would be easy to add; ALT is a lot of screens)
  • Does not always set limits correctly for some controls (will fix)
  • Some cosmetic defects on layouts (will fix)
  • Tab order and other keyboard usability features not right (will fix)
  • No Icon (will fix)
  • Not all tool tip help is in place (will fix)
  • No help system (will fix)
  • Does not do XY, Delayed, or Roll mode
  • Does not correctly handle floating point if your locale uses "," as a separator (will fix)

Binary packages

In the packages directory is a 64-bit DEB and RPM. This is currently at version 0.1 which is older than what you would get by cloning off of github and building.

Notes

If you have older firmware, read below. You need permissions on your scope's device (read below). To avoid confusion: the PC connects to the BACK of the Rigol scope, not the port in the front.

Screen Shots

The interface consists of tabs. This one lets you connect to the device and exercise basic control:

Screenshot

Here's the vertical tab:

Screenshot

The Horizontal tab:

Screenshot

The trigger tab mutates depending on the type of trigger (EDGE, PULSE, and SLOPE currently supported)

Screenshot

You can read all measurements and also log them to CSV format in a variety of way on demand or on a timer

Screenshot

This tab lets you export the data buffers or plot them with an external tool, including Open Logic Sniffer or Sigrok.

Screenshot

Building

Use QtCreator and load the .pro file as a project. Select a kit for your configuration and build.

Might work on Windows, although you'd almost surely have to change the port selection and there might be a few other things that don't work. No idea. Use Linux!

Permissions

You need to have read/write permissions on the usbtmc file you are using for your scope. One easy way to do this is to install sigrok which has definitions for many common scopes including your Rigol. The setup there puts read write permission in the plugdev group, so you need to be a member of that group. If your distribution's package of Sigrok doesn't include the udev setup, you might want to read this: http://sigrok.org/wiki/Fx2lafw#Install_the_udev_rules_file.

If you prefer, you can try the following file (save as /etc/udev/rules.d/40-rigol.rules)

ACTION!="add|change", GOTO="rigol_rules_end"
SUBSYSTEM!="usb|usbmisc|usb_device", GOTO="rigol_rules_end"

# Rigol DS1000 series
ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0588", MODE="664", GROUP="plugdev"

# Rigol DS2000 series
ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="04b0", MODE="664", GROUP="plugdev"

# Rigol DG4000 series
ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0641", MODE="664", GROUP="plugdev"

LABEL="rigol_rules_end"

After you fix udev, you need to restart udev (or reboot the PC if you are lazy). You probably need a command like "sudo /etc/init.d/udev restart"

Another alternative (not suggested) is to run the program as root. Or, issue "sudo chmod 666 /dev/usbtmc0" (using whatever number your device is in place of 0, of course). You'd have to do this on every reboot or put it (without the sudo) in local.rc or some other autostart location.

A Note About Firmware Versions

I tried to make the program compatible with the old and new format of data. However, there is at least one report of it not working on an old (pre 4.0) version of the firmware (in particular, the export functions will fail). Please report this behavior and I will send you a test version. I will remove this part of the README if and when this is resolved.

qrigol's People

Contributors

wd5gnr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.