Difference between revisions of "SmuView"

From sigrok
Jump to navigation Jump to search
m (Add Image)
(Move additional reference to manual)
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[File:Sv_with_load.png|thumb|320px|right|SmuView with a load (18-Jan-2019)]]
[[File:Sv_with_psu.png|thumb|320px|right|SmuView with a load (05-Jan-2020)]]


'''SmuView''' (sometimes abbreviated as "SV") is a Qt based GUI for power supplies, electronic loads and all sorts of measurement devices like multimeters, LCR meters, scales and so on.
'''SmuView''' (sometimes abbreviated as "SV") is a Qt based GUI for power supplies, electronic loads and all sorts of measurement devices like multimeters, LCR meters, scales and so on.
Line 9: Line 9:
* Remote control devices.
* Remote control devices.
* Data acquisition.
* Data acquisition.
* Multiple devices at the same time.
* Connect and use multiple devices at the same time.
* Math channels.
* Math channels to combine signals or manipulate signals.
* Data export as CSV.
* Restore previous layout settings for a device.  
* Data export as a CSV file.
* Python interface to script complex measurements with multiple devices.
* Change device settings (e.g. voltage output of a psu) periodically with a sequence table.


== Manual ==
Please have a look into the [https://knarfs.github.io/doc/smuview/continuous/manual.html SmuView manual] for a lot more information about all the available features and functions.


TODO
== Download ==
 
=== Continuous Release ===
 
The continuous release is a development snapshot of SmuView but is the recommended and always up-to-date download.
 
==== Linux AppImage binaries ====
 
The Linux AppImage are base on an Ubuntu 18.04 LTS and are available for i386 and x86_64 and can be found [https://github.com/knarfS/smuview/releases/tag/continuous '''here'''].
 
See also [[Linux#AppImage|Linux]] for more information.
 
==== Windows installers ====
 
The Windows installers require Windows XP or higher and can be found [https://github.com/knarfS/smuview/releases/tag/continuous '''here'''].
 
See also [[Windows#Windows_installers|Windows]] for more information.
 
==== macOS ====
 
The macOS DMG is 64-bit x86 only and requires macOS 10.13 High Sierra or higher and can be found [https://github.com/knarfS/smuview/releases/tag/continuous '''here'''].
 
See also [[Mac OS X]] for more information.
 
==== Manual ====
 
* [https://knarfs.github.io/doc/smuview/continuous/manual.html SmuView HTML manual]
* [https://knarfs.github.io/doc/smuview/continuous/manual.pdf SmuView PDF manual]
* [https://knarfs.github.io/doc/smuview/continuous/python_bindings_api.html SmuView Python bindings]
 
=== Stable Release 0.0.5 ===
 
==== Linux AppImage binaries ====
 
The Linux AppImage are base on an Ubuntu 16.04 LTS and are available for i386 and x86_64.
 
* [https://github.com/knarfS/smuview/releases/download/v0.0.5/SmuView-0.0.5-i686.AppImage SmuView-0.0.5-i686.AppImage] (32-bit)
* [https://github.com/knarfS/smuview/releases/download/v0.0.5/SmuView-0.0.5-x86_64.AppImage SmuView-0.0.5-x86_64.AppImage] (64-bit)
 
See also [[Linux#AppImage|Linux]] for more information.
 
==== Windows installers ====
 
The installers require Windows XP or higher and are available for 32-bit and 64-bit.
 
* [https://github.com/knarfS/smuview/releases/download/v0.0.5/SmuView-0.0.5-i686-installer.exe SmuView-0.0.5-i686-installer.exe] (32-bit)
* [https://github.com/knarfS/smuview/releases/download/v0.0.5/SmuView-0.0.5-x86_64-installer.exe SmuView-0.0.5-x86_64-installer.exe] (64-bit)
 
See also [[Windows#Windows_installers|Windows]] for more information.
 
==== macOS ====
 
The macOS DMG is 64-bit x86 only and requires macOS 10.9 Mavericks or higher:
 
* [https://github.com/knarfS/smuview/releases/download/v0.0.5/SmuView-0.0.5.dmg SmuView-0.0.5.dmg]
 
See also [[Mac OS X]] for more information.
 
==== Manual ====
 
* [https://knarfs.github.io/doc/smuview/0.0.5/manual.html SmuView HTML manual]
* [https://knarfs.github.io/doc/smuview/0.0.5/manual.pdf SmuView PDF manual]
* [https://knarfs.github.io/doc/smuview/0.0.5/python_bindings_api.html SmuView Python bindings]
 
=== Git ===
 
$ '''git clone https://github.com/knarfS/smuview.git'''
 
You can also [https://github.com/knarfS/smuview browse the source code] via github.


== Supported devices ==
== Supported devices ==
Line 27: Line 98:


These [[Supported_hardware#Power_supplies|power supplies]] should work:
These [[Supported_hardware#Power_supplies|power supplies]] should work:
* [[Agilent_N5700_series|Agilent N5700 series]]
* [[BK_Precision_9310|BK Precision 9310]]
* [[Chroma_61604|Chroma 61604]]
* [[Chroma_62000P_series|Chroma 62000 series]]
* [[Conrad_DIGI_35_CPU|Conrad DIGI 35 CPU]]
* [[Conrad_DIGI_35_CPU|Conrad DIGI 35 CPU]]
* [[HP_661xC_series|HP 661xC series]]
* [[HP_6632B|HP 663xA series]]
* [[HP_6632B|HP 663xB series]]
* [[HP_66312A|HP 663xxA series]]
* [[Korad_KAxxxxP_series|Korad KAxxxxP series]]
* [[Korad_KAxxxxP_series|Korad KAxxxxP series]]
* All power supplies the use the scpi-pps driver
* [[RDTech_DPS_series|RDTech DPS series]]
* [[Rigol_DP700_series|Rigol DP700 series]]
* [[Rigol_DP800_series|Rigol DP800 series]]
* [[Philips_PM2800_series|Philips/Fluke PM2800 series]]
* [[Rohde%26Schwarz_HMC_8043|Rohde & Schwarz HMC8043]]
* [[Rohde%26Schwarz_HMP_4000_series|Hameg / Rohde&Schwarz HMP4000 series]]


All other power supplies properly don't work. Please get in touch via github to add support.
All other power supplies probably don't work. Please get in touch via github to add support.


=== Electronic loads ===
=== Electronic loads ===
Line 38: Line 122:
* [[Arachnid_Labs_Reload_Pro|Arachnid Labs Re:load Pro]]
* [[Arachnid_Labs_Reload_Pro|Arachnid Labs Re:load Pro]]
* [[ZKETECH_EBD-USB|ZKETECH EBD-USB+]]
* [[ZKETECH_EBD-USB|ZKETECH EBD-USB+]]
* [[ITECH_IT8500_series|ITECH IT8500 series]]


All other loads properly don't work. Please get in touch via github to add support.
All other loads probably don't work. Please get in touch via github to add support.


=== Measurement devices ===
=== Measurement devices ===
Line 63: Line 148:
* [[Supported_hardware#Frequency_counters|Frequency counters]]
* [[Supported_hardware#Frequency_counters|Frequency counters]]


== Download ==
== Scripting extension ==
 
'''SmuView''' 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.


Binaries and source code tarballs are available [https://github.com/knarfS/smuview/releases here].
The API documentation can be found [https://knarfs.github.io/doc/smuview/0.0.5/python_bindings_api.html here].


Git:
The following short example connects the HP 3378A DMM via GPIB, reads a sample and creates the default tab for the device:
<small>
<source lang="python">
import smuview
import time


  $ '''git clone https://github.com/knarfS/smuview.git'''
  # Connect device.
dmm_dev = Session.connect_device("hp-3478a:conn=libgpib/hp3478a")[0]
# Sleep 1s to give the devices the chance to create signals
time.sleep(1)
# Get last sample from channel P1
sample = dmm_dev.channels()["P1"].actual_signal().get_last_sample(True)
print(sample)


You can also [https://github.com/knarfS/smuview browse the source code] via github.
# Add default tab for the DMM device.
UiProxy.add_device_tab(dmm_dev)
</source>
</small>


== Requirements ==
== Requirements ==
Line 92: Line 192:
== Roadmap ==
== Roadmap ==


* Support oscilloscopes [WIP].
* Export/Import for UserDevice layouts.
* Programmability via a flow diagram to do complex measurements.
* Programmability via a flow diagram to do complex measurements.
* Support oscilloscopes.
* Python interface.


== Resources ==
== Resources ==


* [https://github.com/knarfS/smuview SmuView on github]
* [https://github.com/knarfS/smuview SmuView on github]

Latest revision as of 16:36, 3 July 2021

SmuView with a load (05-Jan-2020)

SmuView (sometimes abbreviated as "SV") is a Qt based GUI for power supplies, electronic loads and all sorts of measurement devices like multimeters, LCR meters, scales and so on.

It is licensed under the terms of the GNU GPL, version 3 or later.

Features

  • Remote control devices.
  • Data acquisition.
  • Connect and use multiple devices at the same time.
  • Math channels to combine signals or manipulate signals.
  • Restore previous layout settings for a device.
  • Data export as a CSV file.
  • Python interface to script complex measurements with multiple devices.
  • Change device settings (e.g. voltage output of a psu) periodically with a sequence table.

Please have a look into the SmuView manual for a lot more information about all the available features and functions.

Download

Continuous Release

The continuous release is a development snapshot of SmuView but is the recommended and always up-to-date download.

Linux AppImage binaries

The Linux AppImage are base on an Ubuntu 18.04 LTS and are available for i386 and x86_64 and can be found here.

See also Linux for more information.

Windows installers

The Windows installers require Windows XP or higher and can be found here.

See also Windows for more information.

macOS

The macOS DMG is 64-bit x86 only and requires macOS 10.13 High Sierra or higher and can be found here.

See also Mac OS X for more information.

Manual

Stable Release 0.0.5

Linux AppImage binaries

The Linux AppImage are base on an Ubuntu 16.04 LTS and are available for i386 and x86_64.

See also Linux for more information.

Windows installers

The installers require Windows XP or higher and are available for 32-bit and 64-bit.

See also Windows for more information.

macOS

The macOS DMG is 64-bit x86 only and requires macOS 10.9 Mavericks or higher:

See also Mac OS X for more information.

Manual

Git

$ git clone https://github.com/knarfS/smuview.git

You can also browse the source code via github.

Supported devices

It is known that for controllable devices (like power supplies) a mutex has to be added in the corresponding libsigrok driver. If that mutex has not been added, you will notice the following behavior:

  • The device connects without problems and starts to acquire data.
  • When you change any property of the device (e.g. the set voltage of a power supply), SmuView crashes or some other strange behavior occurs.

Power supplies

These power supplies should work:

All other power supplies probably don't work. Please get in touch via github to add support.

Electronic loads

These electronic loads should work:

All other loads probably don't work. Please get in touch via github to add support.

Measurement devices

The following measurement device types should be supported:

Planned devices

This devices aren't supported yet, but maybe will be in the future:

Scripting extension

SmuView 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 API documentation can be found here.

The following short example connects the HP 3378A DMM via GPIB, reads a sample and creates the default tab for the device:

 import smuview
 import time

 # Connect device.
 dmm_dev = Session.connect_device("hp-3478a:conn=libgpib/hp3478a")[0]
 # Sleep 1s to give the devices the chance to create signals
 time.sleep(1)
 # Get last sample from channel P1
 sample = dmm_dev.channels()["P1"].actual_signal().get_last_sample(True)
 print(sample)

 # Add default tab for the DMM device.
 UiProxy.add_device_tab(dmm_dev)

Requirements

See Building#SmuView.

Building

See Linux#SmuView (or any other of the OS-specific instruction pages).

Additional notes:

  • Use PKG_CONFIG_PATH=/<prefix-of-libsigrok-installation>/lib/pkgconfig/ if libsigrok is installed to a non-standard prefix. See also Building#Installing_to_a_non-standard_directory_using_LD_LIBRARY_PATH for more details.
  • To change the install prefix: cmake -DCMAKE_INSTALL_PREFIX=<prefix-dir>/ ..
  • To show compiler arguments during the build: make VERBOSE=1
  • To make a non-stripped debug build cmake -DCMAKE_BUILD_TYPE=Debug ..
  • To disable -Werror: cmake -DDISABLE_WERROR=y ..
  • To build with clang: CXX=clang++ cmake ..

Roadmap

  • Support oscilloscopes [WIP].
  • Export/Import for UserDevice layouts.
  • Programmability via a flow diagram to do complex measurements.

Resources