Error message

Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in menu_set_active_trail() (line 2405 of /home/qx/drupal-7.58/includes/menu.inc).

DSO3000 Update

Contents: 

I have written Python tools to interface with the Agilent DSO3000-series oscilloscopes. This is an update of my previous work. As long as PyUSB is available, this should be cross-platform. Command-line and console programs are included, along with a DSO3000 class you can use to make automated data-collection scripts. There is now a screenshot program which uses PIL. I have also added a udev rules file (rigol-scope.rules) to be copied into /etc/udev/rules.d before the scope is connected to allow users in the plugdev group to access the scope.

The code is now available on github: https://github.com/cktben/dso3000

Curiously, the screenshots are of better quality than the scope's actual display. The display on my scope does not distinguish all the shading that is present in the screenshots. Also, it is possible to take a screenshot at the title screen during boot.

I found another minor bug in the firmware: if the scope is plugged in to a USB host which is powered but not enumerating devices (in my case, a single-board ARM that wasn't booting), the scope firmware hangs. The scope starts working again when the USB cable is unplugged.