SmuView - a sigrok GUI for power supplies, multimeters and more - Page 1
Forum section: electronics / projects

author: knarfS
author_rank: Contributor
timestamp: February 18, 2020, 10:56:46 pm
content: Hi there,I'd like to present my open source project SmuView to you:https://sigrok.org/wiki/SmuViewhttps://github.com/knarfS/smuviewSmuView is a GUI for the sigrok library that supports a wide variety of analog devices like power supplies, electronic loads, multimeters, LCR meters and many more.SmuView can control devices and collect data from devices. It can manipulate (via math channels) and visualize the collected data.SmuView also has a python scripting extension to automate, setup and control complex or repetitive measurements, to process the incoming data and to create a standardized user interface for those measurements.The manual gives a nice overview of all features:https://knarfs.github.io/doc/smuview/0.0.4/manual.htmlYou can download AppImages for Linux and Windows installers here:https://github.com/knarfS/smuview/releases/At the moment not all power supplies are supported (these sigrok drivers need some work). You can find a list of all supported devices in the wiki (link above).I'm looking forward to your comments,Frank

author: knarfS
author_rank: Contributor
timestamp: March 02, 2020, 01:21:13 pm
content: A quick update for SmuView 0.0.4:Thanks to Christian F. (User Feuerwerk @ github), there is now a DMG for macOS >= 10.11 (El Capitan) available:https://github.com/knarfS/smuview/releases/tag/v0.0.4

author: jcfoto
author_rank: Contributor
timestamp: April 21, 2020, 05:09:29 pm
content: Hello, knarfS.Yesterday and today i tried to use smuview on sigrok base. I'm on Linux and tried to compile twice projects ... with permanents dependance librairies problems.After numbers cries and others, i'd seen your post on EEVblog, about Smuview without any installation : fantastic idea and work.So i'd uploaded file Smuview-0.0.4-x86_64.AppImage since your web sitehttps://github.com/knarfS/smuview/releases. But it's PULSEVIEW that arrive on my computer ... and it work fine with Openbench sniffer !!!I'm very happy to use PulseView and now, would try SmuView. Might you say me how try it in the same conditions : wythout compilation and installation ?Thank you.

author: knarfS
author_rank: Contributor
timestamp: April 22, 2020, 07:26:44 pm
content: Quote from: jcfoto on April 21, 2020, 05:09:29 pmThere are two ways to build SmuView:1. Using the all-in-one build script as described in the SmuView manual, chapter 2.1.2 (https://knarfs.github.io/doc/smuview/0.0.4/manual.html#_linux).2. Build everything (libserialport, libsigrok and SmuView) by yourself as described here:https://sigrok.org/wiki/Linux#Building_.28manually.29In any case, you have to install all dependencies for libserialport, libsigrok (with the C++ bindings) and SmuView (seehttps://sigrok.org/wiki/Building#Build_requirementsandhttps://sigrok.org/wiki/Linux#Building_.28manually.29) before building.If that isn't working, then please post some more infos, like distribution and build output.Quote from: jcfoto on April 21, 2020, 05:09:29 pmI just double checked the download (https://github.com/knarfS/smuview/releases/download/v0.0.4/SmuView-0.0.4-x86_64.AppImage) and it really contains SmuView (not PulseView). I don't know what happend or what you have downloaded but best thing would be that you try again

author: jcfoto
author_rank: Contributor
timestamp: April 23, 2020, 04:22:18 pm
content: Hello, knarfSThanks for your quickly answer. I live in natural site, have web with 2G and no physical line by cable ! Saturday, i'll go where GSM is better ( 3G - 20 km !!!) and retry to upload files as you said.Bests regards

author: jcfoto
author_rank: Contributor
timestamp: April 24, 2020, 04:04:10 pm
content: Hello, knarfS.I've downloaded Smuview today without any problem.I use Rigol's instruments ( power supply DP832 and scope DS2202) in, actualy, USB mode.My PC is on Ubnutu 18.04.3 and 2 screens.I've insered udev rules as you indicate for user's run and not only root for USB access.Launch SmuView, scan USB port and find my device OK. No Rigol's device in the menu's drivers but i use SCPI-PPS with success.SmuView is principal screen based width. Impossible to use on secondary screen ( no critical !).When SmuView is connected to Power supply, display of device commute at low frequencie and seems a blink on settings and validate chanel zones. ( excuse my very bad english !!!)Valide one or all outputs ( 3 on this device) is OK. The measurement zone display dont blink on the device . It's correct.Remote U/I and measurements :** CHANEL 1 - all is OK. no problem - Data can be controled with keyboard, slider ... Scope OK / Measurement OK** CHANEL 2 - Can only remote I - Array of tension have many 0 displayed but impossible to manage them - Scope don't display output state. Measurement OK** CHANEL 3 - Canot remote U/I - Array of tension have many 0 displayed and I is frozen. Impossible to manage them - Scope don't display output state. Measurement OK ( when i modifie with device' commands).First function i would use is transmit SCPI commands by command line on USB port. Is it possible with SmuView ?Thanks for your work what is OK for communication between a PC and device by USB port. For GUI, i'm not a good "test' man", but that you made is biiiiiiiiiig !Bests regards.

author: jcfoto
author_rank: Contributor
timestamp: April 24, 2020, 04:08:31 pm
content: I'd forgotten : device appears, in /dev directorie under the name -> usbtmc0 ...

author: knarfS
author_rank: Contributor
timestamp: April 29, 2020, 04:14:37 pm
content: Hey JC.Quote from: jcfoto on April 24, 2020, 04:04:10 pmGood to hear that it is working now.Quote from: jcfoto on April 24, 2020, 04:04:10 pmThat is a known problem: When you are using a device with much stuff to display (like your 3 channel power supply) or a small resolution/screen, then the SmuView window elements are overlapping or are outside of the screen.I added some improvements in the last two version, but there is still work to do.Quote from: jcfoto on April 24, 2020, 04:04:10 pmI was once told, that the DP832 is switching modes (visible as the flickering of the display as you described) when connected to SmuView. This is probably due to the implementation of the driver in libsigrok. Maybe this can be solved by someone who owns a Rigol power supply.Quote from: jcfoto on April 24, 2020, 04:04:10 pmThere was a bug in the scpi-pps driver in libsigrok (seehttps://sigrok.org/bugzilla/show_bug.cgi?id=1533) that was fixed a few days ago. That may solve this issues.Quote from: jcfoto on April 24, 2020, 04:04:10 pmThe whole communication with your Rigol power supply (via SCPI) is implemented in libsigrok in the scpi-pps driver. SmuView is utilizing libsigrok and its drivers to create a GUI for those devices.But you can control and automate measurements via SmuViews scripting extension (see chapter 7 in the SmuView manual).Thanks for your feedback!Edit: Typos

author: jcfoto
author_rank: Contributor
timestamp: April 30, 2020, 09:34:02 am
content: OK, Frank.Thousands of thanks. i'll use SmuView, my new friend !Jean

author: coromonadalix
author_rank: Super Contributor
timestamp: April 30, 2020, 05:11:38 pm
content: Just add an Hp Agilent Keysight 34401a and i'm happy

author: knarfS
author_rank: Contributor
timestamp: May 02, 2020, 12:42:51 am
content: Quote from: coromonadalix on April 30, 2020, 05:11:38 pmThere is already (basic) support for the 34401a in sigrok, but it was missing a wiki page. I just added a barebone page:https://sigrok.org/wiki/Agilent_34401A.Just select the scpi-dmm driver in the SmuView connection dialog and you are good to go

author: jcfoto
author_rank: Contributor
timestamp: May 04, 2020, 07:06:19 am
content: For transmit or receive SCPI sequences on USB port, it's very easy to do a little program ( few lines) in console mode when device make an /dev/usbtmcX file.

author: symp
author_rank: Contributor
timestamp: January 05, 2021, 05:57:51 am
content: Any chance of support for the Maynuo M9812 Electronic load?

author: knarfS
author_rank: Contributor
timestamp: January 05, 2021, 12:01:05 pm
content: Quote from: symp on January 05, 2021, 05:57:51 amThe Maynuo M9812 is already supported by libsigrok (https://sigrok.org/wiki/Maynuo_M9812) and can be connected to SmuView, but the driver needs some small modifications (adding a mutex to make the driver thread safe) to work correctly with SmuView. There are also some other enhancements that would be beneficial for the combination with SmuView.I'd be happy when someone would step up to make this driver work with SmuView. I can't do this without having that device next to me.Edit:For reference: Here I've added the mutex for an other modbus device:https://github.com/sigrokproject/libsigrok/commit/7c0891b0b82049b4cc3c0dd70b8483d037dab36fThe modifications to the Maynuo driver should be similar.

author: symp
author_rank: Contributor
timestamp: January 09, 2021, 07:11:51 am
content: Thanks for the very detailed reply knarfS.I have a couple of korad clone KA3005P power supplies from a company here in australia, wavecom, your software is years ahead of the 90's crap they supplied. The Idn response isCode:PS3005P V2.0What would be the best way to get the model supported in smuview?1. Forking libsigrok, adding it to src/hardware/korad-kaxxxxp/api.c and protocol.h, then submit a pull request back to libsigrok, then make and install smuview from your source once the pull is merged?2. Download your git, cmake, find api.c and protocol.h, add the model and make / install?Sorry for the stupid question, I'm a idiot tech just wanting to create current plots in a nice gui, not a programmerThanks in advanceEdit: I'm an idiot, read some more docs and discovered the force_detect scan option

author: knarfS
author_rank: Contributor
timestamp: January 17, 2021, 10:13:06 am
content: Hi symp,a week ago I released SmuView 0.0.5 which supports the sigrok feature force_detect (seehttps://sigrok.org/wiki/Connection_parameters#Forced_detection). Now you can connect to unsupported Korad power supplies by using an existing and matching (voltage and current range) model from the model array inkorad-kaxxxxp/api.c:Code:smuview -d korad-kaxxxxp:conn=/dev/ttyUSB0:force_detect=KORADKA3005PV2.0But of course it would be great to have your model directly supported in libsigrok. Therefore you have to add your device to themodelsarray and then make a PR over at github. But be aware, that some models have an additional byte trailing the device id string. You can test your change with sigrok-cli or of course with SmuView (both build against your patched libsigrok). You can find detailed build instructions for libsigrok, sigrok-cli and SmuView in the sigrok wiki:https://sigrok.org/wiki/Linux#Building_.28manually.29Alternativly you can send me the exact model id string (extracted with e.g. minicom, screen, Putty, ...), voltage/current range, model name, ect. and I can submit a commit to libsigrok.CheersFrankEdit: Doh, totally overlooked that you already discovered the force_detect feature

author: walter.aranda
author_rank: Contributor
timestamp: February 21, 2023, 04:56:06 pm
content: Hi Frank!First of all, thanks for your contribution to the community.I would like you to help me solve a problem with your program, I am currently with version 0.0.5. and a Fluke IR189USB cable to connect it to a Flukle 189, I have tried by various ways to make the device recognizable in Smuview (Windows 10) but it is not possible, maybe it is the driver used, which driver is the one that Smuview understands? Greetings

author: knarfS
author_rank: Contributor
timestamp: February 23, 2023, 12:09:13 pm
content: Hey Walter,SmuView version 0.0.5 is pretty old, I'd suggest to use the continuous build of SmuView to always get the latest features:https://github.com/knarfS/smuview/releases/tag/continuousUnfortunately, the continuous build isn't shown on SmuViews github start page.The latest version probably isn't solving your problem, so let's look into it:The SmuView Windows application doesn't print log messages when you starting from the console, therefore the best thing is, you download sigrok-cli0.7.2(note that sigrok-cli nightly builds aren't available at the momnet):https://sigrok.org/wiki/Downloads.sigrok-cli uses the exact same libsigrok driver as SmuView, so try to execute the following sigrok-cli command from the command line:Code:sigrok-cli --driver fluke-dmm:conn=COM0 -l 5 --showYou have to replaceCOM0with the COM-port your serial cable has registered as.The command above should show the available options for your device (--show) and will also print out a detailed log output (-l 5), which is needed to solve possible problems.You could also try to set the serial speed manually:Code:sigrok-cli --driver fluke-dmm:conn=COM0:serialcomm=9600/8n1 -l 5 --showWhen you've connected your device successfully with sigrok-cli, then connecting with SmuView should also work:Code:smuview --driver fluke-dmm:conn=COM0Hope this helpsFrank

author: deepfryed
author_rank: Unknown
timestamp: July 08, 2023, 11:52:46 pm
content: Hi Frank,Thanks for continuing to support this tool. I tried using it on the HP 34401A with usbgpib adapter (https://github.com/xyphro/UsbGpib) which exposes the DMM on a USBTMC interface. Reading and writing to the device file directly on Linux works but having trouble getting smuview (continuous build, SmuView-0.0.6-git-a5ffb66-x86_64.AppImage) to work. Please let me know if I'm doing something silly, I'm using the scpi-dmm device adapter.A sample of the error log during scanning at startupsr: scpi_usbtmc: USBTMC bulk out transfer error: LIBUSB_ERROR_TIMEOUT.sr: scpi_usbtmc: USBTMC bulk out transfer error: LIBUSB_ERROR_TIMEOUT.When device is found and added, but does not display any readings (see attachment)Configurable::init(): Init "HEWLETT-PACKARD 34401A" - key "Measured Quantity"Init channel "P1" , channel_start_timestamp = "2023.07.09 09:43:12.127"Start aquisition for "HEWLETT-PACKARD 34401A" , aquisition_start_timestamp_ = "2023.07.09 09:43:12.127"Init analog base signal "P1 [V DC]"Init analog time signal "P1 [V DC]" , signal_start_timestamp_ = "2023.07.09 09:43:12.127"HardwareChannel::push_sample_sr_analog(): "P1" - Signal was not found and was therefore created: "P1 [V DC]"Configurable::set_measured_quantity_config(): Set config key "Measured Quantity" to "Voltage AC"Configurable::set_measured_quantity_config(): Set config key "Measured Quantity" to 10000 , 1Configurable::set_container_config(): Set config key "Measured Quantity" to std::vector(0x1, 0x1)On switching from Voltage DC to ACsr: scpi_usbtmc: USBTMC bulk in transfer error: LIBUSB_ERROR_TIMEOUT.sr: scpi_usbtmc: USBTMC invalid bulk in header.sr: scpi_usbtmc: USBTMC invalid bulk in header.sr: scpi_usbtmc: USBTMC invalid bulk in header.sr: scpi_usbtmc: USBTMC invalid bulk in header.sr: scpi_usbtmc: USBTMC invalid bulk in header.sr: scpi_usbtmc: USBTMC invalid bulk in header.sr: scpi_usbtmc: USBTMC invalid bulk in header.

author: deepfryed
author_rank: Unknown
timestamp: July 09, 2023, 12:48:00 am
content: Ugh, looks like a sigrok error. I may have to investigate further when I have time. The cli reads measurement fine the first time, but doing it again results in an error. Disconnect and reconnecting, it works again.$ sigrok-cli -d scpi-dmm:conn=usbtmc/03eb.2065 --samples 5 -c measured_quantity=voltage/dcP1: 4.99998 V DCP1: 4.99998 V DCP1: 4.99998 V DCP1: 4.99998 V DCP1: 4.99998 V DC$ sigrok-cli -d scpi-dmm:conn=usbtmc/03eb.2065 --samples 5 -c measured_quantity=voltage/dcsr: scpi_usbtmc: USBTMC bulk in transfer error: LIBUSB_ERROR_TIMEOUT.sr: scpi_usbtmc: USBTMC bulk out transfer error: LIBUSB_ERROR_TIMEOUT.sr: scpi_usbtmc: USBTMC bulk out transfer error: LIBUSB_ERROR_TIMEOUT.sr: scpi_usbtmc: USBTMC bulk out transfer error: LIBUSB_ERROR_TIMEOUT.sr: scpi_usbtmc: USBTMC bulk out transfer error: LIBUSB_ERROR_TIMEOUT.sr: scpi_usbtmc: USBTMC bulk out transfer error: LIBUSB_ERROR_TIMEOUT.sr: scpi_usbtmc: USBTMC bulk out transfer error: LIBUSB_ERROR_TIMEOUT.sr: scpi_usbtmc: USBTMC bulk out transfer error: LIBUSB_ERROR_TIMEOUT.

author: alm
author_rank: Super Contributor
timestamp: July 09, 2023, 07:50:40 am
content: Sounds like a problem between the usbgpib adapter and the USBTMC driver in Sigrok to me. I remember having a somewhat similar problem with a NI GPIB-USB-B years ago with the linux-gpib driver locking up after a random amount of time and requiring unplugging and plugging back in. A linux-gpib developer commented that it would be hard to fix without knowing the exact sequence of commands that locked up the NI GPIB-USB-B, so I switched to Ethernet (VXI-11) based GPIB interfaces. But that was usually after hours of operation. This should be easier to troubleshoot since it happens quickly and deterministically.

author: deepfryed
author_rank: Unknown
timestamp: July 10, 2023, 01:24:25 am
content: I think it's a sigrok problem, the support for 34401a seems very sketchy. Last night I tried using sigrok-cli with RS232 and ran into another issue where there were post device initialisation errors.https://sigrok.org/bugzilla/show_bug.cgi?id=1547It's been open for a while now, I'll see if I can patch it locally and get Smuview to work. Otherwise, I'd just have to stick to my python scripts for now

author: deepfryed
author_rank: Unknown
timestamp: July 11, 2023, 11:22:48 am
content: I found the issue, SYST:LOC and SYST:REM commands are only valid in RS-232 mode. They should not be used in usbtmc connections that may potentially piggy back on the HPIB / IEEE-488.The RS-232 connections fail for a different reason, the post scan *OPC? command times out. I haven't been able to figure that one out, perhaps Frank may have some ideas or suggestions there.

author: alm
author_rank: Super Contributor
timestamp: July 11, 2023, 01:04:57 pm
content: Quote from: deepfryed on July 11, 2023, 11:22:48 amMakes sense in hindsight. GPIB has out-of-band signalling for local and remote, which RS-232 lacks. So they must have added these commands in RS-232 mode to emulate those GPIB signals.Quote from: deepfryed on July 11, 2023, 11:22:48 amDid you check if the 34401A expects hand shaking / flow control signals to be hooked up, and if the RS-232 interface and cable you're using implements those? It's not uncommon to only implement the RX/TX signals which is usually sufficient for more modern devices.

author: deepfryed
author_rank: Unknown
timestamp: July 11, 2023, 01:10:18 pm
content: Quote from: alm on July 11, 2023, 01:04:57 pmGood point, I haven't checked. But I have used the rs-232 usb cable with python and ruby serialport libraries, works fine out of the box there. I just had to explicitly set the SYST:REM first before issuing other commands.

author: Evi
author_rank: Regular Contributor
timestamp: August 09, 2023, 03:20:20 pm
content: Do not work with EBD-USB:device found and communication stopped.Zadig driver does not help.fa 05 00 00 00 00 00 00 05 f8 ..........fa 64 00 00 15 89 00 07 00 01 01 50 09 67 10 .d.........P.g.a0 1a 6b f8 ..k.fa 06 00 00 00 00 00 00 06 f8 ..........fa 05 00 00 00 00 00 00 05 f8 ..........fa 64 00 00 15 89 00 03 00 00 01 50 09 67 10 .d.........P.g.a0 1a 6e f8 fa 00 00 00 15 89 00 00 00 00 00 ..n............64 00 0a 00 00 1a e8 f8 fa 64 00 00 15 89 00 d........d.....06 00 01 01 50 09 67 10 a0 1a 6a f8 ....P.g...j.

author: alm
author_rank: Super Contributor
timestamp: August 09, 2023, 03:28:11 pm
content: Does the EBD-USB work with the Sigrok CLI? That would be the first thing I check to determine if it's a problem with Sigrok or SmuView.