SweepMe! combines the benefits of programs with a graphic user interface (GUI) that are easy to use with the benefits of programming languages that enable a high flexibility. Content that is added once to SweepMe! by skilled programmers can then be used by people with less experience in programming to perform measurements on a complex level. SweepMe! has two windows. The left window can be used to configure your measurement and contains the menu. The right window called "DockingStation" contains all plots and other widgets you can interact during a measurement.
'Programming' is done in the Sequencer tab where Modules can be placed by drag&drop. You can create complex nested tree-like structures with multiple branches. Almost any procedure can be understood and represented that way. Modules of the same type can be added multiple times.
Each Module that is added to the sequencer comes with an own GUI that allows to adjust it. There are different kinds of Modules. Basic Modules allow you to control the file generation of the measured data, doing repetitions, and to add some waiting time. Device Modules give you access to your measurement equipment by loading Device Classes. Whenever possible, Device Modules provide a common interface to a certain class of devices, e.g. SMU for source-measuring units, Spectrometer for spectrometers, Monochromator for monochromators and so on. Thus, the handling of the modules will be independent of the vendor. There also exist generic Device Modules that can be used implement devices that merely return values (e.g. a thermometer, a sensor, etc.) using Logger or where you mainly set a value (e.g. a motor, a signal, etc.) using Switch. Further Add-on Modules that are not part of the free main program can extend the functionality of SweepMe! in any direction.
Device Classes can be freely created and added to the program. They must be prorammed in a way to fit to a certain Device Module. A well-designed Device Class can be used via the respective Device Module for different measurement tasks and procedures. Because of that Device Classes can be used by all users and each equipment only needs to be included once. Device Classes can be versioned and shared via our SweepMe! server.
Features like saving data, plotting data, and creating settings are for each measurement procedure used in the same way. These features are optimized based on the feedback of all users and should be therefore convenient to use.