Changes in Version 1.5.6

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

Main

  • Python:Change to Python 3.9
  • Bitness:SweepMe! is now available in 32 bit and 64 bit versions and is installed in C:\Program Files (x86)\SweepMe! and C:\Program Files\SweepMe! respectively by default. Older instruments might run only with 32 bit, while some instruments nowadays need 64 bit to be able to support them. In general, 64bit is recommended whenever possible as it gives access to the whole memory and is more future proof.
  • Python packages:SweepMe! is now additionally shipped with the packages sqlalchemy, sqlite3, pandas, scikit-rf (skrf), and minimalmodbus
  • Python script tool:Via menu Tools -> Python scripts, one can run python scripts in SweepMe! for quickly testing instrument communication or other things that should run in the python environment that comes with SweepMe!.
  • Manager importGeneral revision of importing and handling managers in SweepMe!, such as SettingManager, OptionManager etc.
  • Standard settingThe standard setting is no longer an own setting file, but rather a path reference towards on of your settings.
  • Multiple instancesYou can now run measurements in multiple SweepMe! instances at the same time if the these instances do not access the same instruments. Please note that only the first instance can modify configuration files as needed to change options or profile settings.
  • DashboardFurther options for widgets that allows to fix whether they can be resized in width or height among other properties.
  • Import of modules and driversUsers with setups that have no internet connection can now import server versions of drivers and modules from downloaded files using the version manager.

pysweepme

  • PortManager:The port manager has been outsourced to pysweepme and is thus open-source now. It can also be used in CustomFunction scripts to get port instances that can be already open.
  • Ports:Support for Socket ports similar to existing GPIB, UBSTMC, TCPIP or COM port handling.

Modules

  • MakeFile:Further options allow to modify the file naming which makes it possible to repetitively write to the same file, e.g. when switching with a matrix.

Drivers

  • Additional Libraries:Because of the migration from Python 3.6 to Python 3.9 and the support for 32bit and 64bit, drivers now must come with a folder "libraries" that ships site packages for different python versions and bitnesses.
  • 32bit vs. 64 bit:Because SweepMe! now runs with 32bit or 64bit, drivers must be adapted as well.Thus, main.py files of drivers should contain code to load dlls depending from the bitness of the system.
  • ExceptionsInstead of returning False to stop a measurement, the new recommended way is to throw an exception with some text. SweepMe! will catch the exception, stop the measurement, and show the error message to the user. This way, drivers are more compatible with use of pysweepme.

Widgets

  • General:Most widgets now have a toolbar, e.g. to easily open the widget settings.
  • Plot:Multiple variables can be plotted at the same axis, e.g. to plot multiple sensor values and compare them. New line per value can now be done for each dimension individually.
  • Table:This new widget can be used to visualize last measured data in a table.

Developers

  • Shipping librariesDrivers and modules now need libs folders for different python versions and bitnesses in case they contain files that are compiled for a particular system.
  • LibraryBuilder2Packaging of libs folders for drivers is now simplified by defining a requirements.txt in a libraries folder of each driver or CustomFunction script.