Migration guide: Difference between revisions

From SweepMe! Wiki
Jump to navigation Jump to search
Line 12: Line 12:


* SweepMe! 1.5.6 is now based on Python 3.9. Therefore, drivers that are based on pre-compiled python files won't work anymore. These drivers need to be re-packaged to also ship those pre-compiled files for Python 3.9. The LibraryBuilder 2 is a tool that can help to create a bundle of site-packages. In case you have problems, please contact us via support@sweep-me.net
* SweepMe! 1.5.6 is now based on Python 3.9. Therefore, drivers that are based on pre-compiled python files won't work anymore. These drivers need to be re-packaged to also ship those pre-compiled files for Python 3.9. The LibraryBuilder 2 is a tool that can help to create a bundle of site-packages. In case you have problems, please contact us via support@sweep-me.net
Custom drivers and [CustomFunction] script might need to be adapted. For example the function time.clock() is no longer available in Python 3.9 and can be replaced with time.time() or time.perf_counter().
 
* Because of the use of Python 3.9 in SweepMe! 1.5.6, custom drivers and [CustomFunction] script might need to be adapted. For example the function time.clock() is no longer available in Python 3.9 and can be replaced with time.time() or time.perf_counter().


* SweepMe! 1.5.6 will also be available as 64bit version. If you are using drivers that rely on 32bit-only dlls, you cannot use SweepMe! 64bit. Further, some drivers need to be updated to also load 64bit dlls or other 64bit libraries.
* SweepMe! 1.5.6 will also be available as 64bit version. If you are using drivers that rely on 32bit-only dlls, you cannot use SweepMe! 64bit. Further, some drivers need to be updated to also load 64bit dlls or other 64bit libraries.

Revision as of 08:12, 12 September 2024

Whenever a new version is released, there might be some changes needed to use your old settings and Drivers. Here, you can find instructions that are needed to be performed. In case you change to a new version by skipping a version, you might have to follow the instructions of the skipped versions as well.

Migration to version 1.5.6.x

  • Each upgrade version e.g. 1.5.5, or 1.5.6 and so on has an own version configuration file. It means you can select different driver and module version in each environment without destroying the selection of the other one.
  • SweepMe! 1.5.6 only comes with the most important modules. Many other modules can be installed on demand. Modules previously uploaded for 1.5.5 will not work with 1.5.6. You need to download the latest modules again.
  • SweepMe! 1.5.6 should be able to load 1.5.5 settings and run them. However, settings saved with 1.5.6 cannot be loaded with 1.5.5. Especially, the revised MakeFile module will store options that cannot be understood by 1.5.5. For the transition, we recommend to make some tests in 1.5.6 and save new settings with a new name first. Once 1.5.6. is stable, you should be able to simply resave your settings once with SweepMe! 1.5.6.
  • The MakeFile module has changed and now allows to get more control over file naming. The default options falls back to the handling as implemented in SweepMe! 1.5.6
  • SweepMe! 1.5.6 is now based on Python 3.9. Therefore, drivers that are based on pre-compiled python files won't work anymore. These drivers need to be re-packaged to also ship those pre-compiled files for Python 3.9. The LibraryBuilder 2 is a tool that can help to create a bundle of site-packages. In case you have problems, please contact us via support@sweep-me.net
  • Because of the use of Python 3.9 in SweepMe! 1.5.6, custom drivers and [CustomFunction] script might need to be adapted. For example the function time.clock() is no longer available in Python 3.9 and can be replaced with time.time() or time.perf_counter().
  • SweepMe! 1.5.6 will also be available as 64bit version. If you are using drivers that rely on 32bit-only dlls, you cannot use SweepMe! 64bit. Further, some drivers need to be updated to also load 64bit dlls or other 64bit libraries.
  • The standard setting is no longer an own setting file. Instead, it refers to a selected setting file. It means you need to get used to this new behavior.
  • Because SweepMe! 1.5.6 comes with Python 3.9, Windows 7 will be no longer supported!

Migration to version 1.5.5.x

  • 'Stop'-functionality was removed as the feature was difficult to explain and understand. In order to switch off all instruments and wait for certain time, we recommend to create a new branch in the sequencer that has just a Hold. You can also use modules like ReadValues or TableValues to create a list of values and hold times that are handed over to other modules to replace the 'Stop'-functionality.
  • All custom and setup-specific files are now stored outside the SweepMe! installation folder. It might be that some configurations need to be done again but so far it worked seamlessly.
  • Several Device modules have a field 'Channel' now in order to select the channel of the instrument. Thus, the static variable 'multichannel' of device classes ist deprecated and the field 'Device' is no longer used to select the channel. Old device classes still work, but setting that use device classes with channel have to reconfigured and resaved.
  • Parameters like "%Y%m%d" for year-month-day, do not exist anymore in 1.5.5. Instead you can use the parameter system. All available parameters are shown in the widget Parameters. For example, "%Y%m%d" is now "{Y}{m}{d}". Please check your setting and revise all fields accordingly.
  • The SweepEditor was revised. "Stop" was removed and different scaling modes can be selected. Your SweepEditor settings should work as they are. Please contact us if your SweepEditor was not restored as expected.

Migration to version 1.5.4.x

  • SweepScripts have been removed. Please use modules like ReadValues to load sweep values from an external file.

Migration to version 1.5.3.x

  • When using the installer, a path like "C:\SweepMe!\SweepM!x.x.x.x." will be suggested. Thus, different versions can be installed at the same time. However, please make sure that there is no old version in "C:\SweepMe!" that has not yet any version-related subfolder.
  • Setting are now stored in a public folder of the public user of the operating system. Copy your old settings from your previous version to the public settings folder that you can find via File -> Open Folder -> Settings
  • SweepScripts are now stored in a public folder of the public user of the operating system. Copy your old SweepScripts from your previous version to the public SweepScripts folder that you can find via File -> Open Folder -> Public
  • Calibration files, e.g. used for the Device Classes of the Spectrometer module, are now stored inside a public folder as well. Copy your calibrations to the folder 'CalibrationFiles' inside the public folder which can be found via File -> Open Folder -> Public.
  • Whenever Device Classes need external libraries such as dll files, they can be saved now in the folder 'ExternalLibraries' which can be found inside the public folder (File -> Open Folder -> Public)
  • Your measurement data will be saved now in the folder 'Measurement' located in the public folder (File -> Open Folder -> Public). Please renew any desktop link that you created to easily find your data.
  • The Module PlotData does not exist anymore and therefore will not be correctly. Plots are automatically updated whenever new data is available. If your settings use PlotData at the end of the sequencer, you will get an error message, but the rest of the setting should work as usual. If PlotData is used at a higher position of the sequencer, all following modules will not be loaded. At the moment, the only workaround is to open the setting and remove all used "PlotData" from where the sequencer is saved and move all following modules one level up.
  • The Module MakeFile now creates a header with three rows. When you load and evaluate your data later on, you might have to change your import filters and scripts. Please, find a guide how to import SweepMe! data here: Loading data files
  • Check your settings and renew them if needed.
  • Device Class development: It might be necessary to change the use of the function "set_GUIparameter". The dictionary which is returned by this function must now contain all keys related to GUI elements that should be enabled and a corresponding default values. Thus, users can see which parameters are supported by a Device Class.
  • Device Class development: In case your Device Class was developed for the Module Logger or Switch, the Parameters-Line is no longer available. Instead, you can dynamically create GUI elements yourself, just by returning keys and default values using "set_GUIparmeter"