Changes in Version 1.5.5

This page summarizes new features and changes introduced in version 1.5.5 of SweepMe!

Main

  • Parameter system:The parameter system has been revised. A parameter manager stores alle available parameters for a certain key in the form „<label>_<module>_<unit>“. These keys can be used in curly brackets in line edit fields and are replace during readout. The widget ‚Parameters‘ presents the possible existings parameters.
  • In-line evaluation:Besides the replacement of parameters, curly brackets can also be used to do simple in-line calculations. If the content of the curly brackets is not a known parameter, an evaluation is done. For example { {my variable} * 2} would lead to a replacement of my variable (assuming it is defined) and then it will be multiplied by two. Everything outside curly brackets will not be evaluated.
  • Reconfigure:If parameters are used in line edit fields and SweepMe! detects a change of the replaced value during the measurement, „configure“ will be called again. Thus, parameter variations can be done that have not been possible by using the sweep mode.
  • Stop:The functionality „Stop“ that was present in the SweepEditor or as a module „Stop“ was removed. It was used to switch all instruments to a certain stop value inbetween two measurement points. However, the handling was unclear and not easy to explain. Also, not all modules/devices supported stop. Thus, we removed it. You can resemble the behavior by creating settings and parameter sweeps that go to a certain stop value after each applied value.
  • Hotkeys:Shortcuts like ‚Ctrl+Alt+R‘ can be used to run a measurement and ‚Ctrl+Alt+S‘ to stop it. You can now combine SweepMe! with a foot pedal controller to start measurements in a glove box.
  • Account:Using the menu of the version manger, you can now login to your account with SweepMe!. Then, further content can be downloaded, e.g. versions in the state ‚testing‘. We further plan, that user registering for private/non-commercial can use all content for free after login.
  • pysweepme:Parts of SweepMe! have been outsourced into an open-source package called ‚pysweepme‘. It includes the port handling and folder management. It can be used to quickly develop new device classes (drivers) or to create independent python programs that make use of the existing drivers.
  • Ports:Accompanied with pysweepme, we revised the port manager dialog. Showing sent and written commands in the Debug window can be switched on and off at any time. Only available GPIB ports are displayed.
  • Termination:If a Device Class used a while-loop which is not aborted by some condition, SweepMe! was freezing. The user is now asked whether the measurement should be terminated if it still runs several seconds after pressing the Stop-button.
  • Dashboard:The right main window „DockingStation“ is now called „Dashboard“. This change does not introduce any break, but will help to come closer to the wording used in the field of IoT where widgets are often arranged in dashboards. Widgets have now a right-click menu to rename or delete them where they are.
  • Dock widgets:Titles of the dock widgets of the dasbaord can be renamed.
  • Licenses:Licenses can now be deactivated, e.g. if one wants to switch from an older to a newer computer. The modules that have been acquired by the deactivated license will be removed.
  • Portable:Some people use many setups and want to have everything with them. This is why SweepMe! can be changed to ‚portable‘, using „Options“ or by removing the ‚installed.ini‘ from the installation. An installation on an USB stick will be by default portable.
  • Style:A qt style sheet (qss file) is used to load and modify the visual appearance of SweepMe!. Experienced users can modify this file to create a customized GUI.
  • Comments:A comment can be added to each module via the right-click menu of the sequencer item. It will be shown as the tooltip of this item. Html as well as plain text can be used.
  • Program files:SweepMe! Can now be installed to „C:\Program Files(x86)\...“ wihout interfering with missing admin rights. No files will be written anymore to the installation path.
  • Sweep editor:The column 'scaling' can be used set the scaling mode to replace the previous checkbox. Scaling modes 'Points (lin.)' and 'Points per dec.' added. A preview of the created values can be seen in a table via right-click menu.
  • Python packages:Scipy updated to version 1.3.3.
  • Versioning:SweepMe! comes with versioned modules and drivers to make clear which content is currently used and whether an update is needed.

Modules

  • Channel:Whenever an instrument has multiple channels, the channel was so far presented as multiple device classes of the same instrument with an ending that defines the channel. Modules that have device classes with multiple channels now have a new GUI field „Channel“ that can be used to define the channel. Changes are made in a way that old device classes still work, but plesae carefully check your settings. This change was made to reduce the number of shown device classes, improve the visibility of the channel parameter, and allow for a parameterization of the used channel without touching the device class.
  • Temperature:The module has been revised and old device classes have to be adapted again. It is now possible to have a sweep mode, e.g. to set a power instead of a temperature. Furthermore, the temperature unit can be changed in the GUI (if provided by the driver).
  • CustomFunction:A new „gui“-mode can be used to create GUI widgets that can be placed within the Dashboard. It allows you to create your very own widgets to display your data or to interact with the measurement.

Devices/Drivers

  • Driver:In future, we will probably replace the term „Device“ or „Device Class“ by „Driver“. Why? Device (Class) is a term from the early beginnings and it leads to confusion in the field of semiconductor industry where devices are rather the samples to be investigated. The term „Driver“ is more general and also comprises bindings to other things like software tools. For now, we still use the term „Device“, but we will increase the use of the term „Driver“ for Devices and Device Classes.
  • Reconfigure:A new function „reconfigure“ can be used. It is called if a property of the GUI has changed due to a parameter change. The default behavior is that 'get_GUIparameter' and 'configure' are called again. However, 'reconfigure' can be overwritten to only set the parameters again that have changed.

Widgets

  • Gauge:This new widget can be used to graphically visualize a value inbetween a minimum and maximum value.
  • Parameters:This new widget displays the parameters that are known to the system and that can be used within curly brackets {…} in line edit fields. Furthermore, the type and value of the parameter can be seen. The user can sort and filter the table.
  • Plot:The plotting speed is increased whenever the scales do not change by using blitting. The legend is now correctly filled with the sweep values of the modules that created the variation. The title of the dock widget is used for the thumbnail image. Colored stripes are shown at y (left) and z (right) axes if both are used. The line and marker properties can be set independently for the left and right axes.
  • Monitor:After the measurement, values are greyed out. Thus, it is indicated that they are not up to date, but still the user can read the last value.
  • General:The way how widgets are loaded has been unified which will make it easier to implement them. Feel free to suggest new ones that will be added to next version.