Difference between revisions of "SmuView"
(Update Supported devices) |
(→Scripting extension: Update link to API documentation.) |
||
Line 84: | Line 84: | ||
'''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. | '''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 [https://knarfs.github.io/doc/smuview/0.0. | The API documentation can be found [https://knarfs.github.io/doc/smuview/0.0.5/python_bindings_api.html here]. | ||
The following short example connects the HP 3378A DMM via GPIB, reads a sample and creates the default tab for the device: | The following short example connects the HP 3378A DMM via GPIB, reads a sample and creates the default tab for the device: |
Revision as of 15:56, 12 May 2021
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.
Manual
Please refer to the SmuView manual for a lot more information.
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:
- Agilent N5700 series
- BK Precision 9310
- Chroma 61604
- Chroma 62000 series
- Conrad DIGI 35 CPU
- HP 661xC series
- HP 663xA series
- HP 663xB series
- HP 663xxA series
- Korad KAxxxxP series
- RDTech DPS series
- Rigol DP700 series
- Rigol DP800 series
- Philips/Fluke PM2800 series
- Rohde & Schwarz HMC8043
- Hameg / Rohde&Schwarz HMP4000 series
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:
- Multimeters
- LCR meters
- Sound level meters
- Thermometers
- Hygrometers
- Anemometers
- Light meters
- Energy meters
- Tachometers
- Scales
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)
Download
Binaries and source code tarballs are available here.
Git:
$ git clone https://github.com/knarfS/smuview.git
You can also browse the source code via github.
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.