Concept

From SweepMe! Wiki
Jump to navigation Jump to search

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 high flexibility. Content added to SweepMe! by skilled programmers can be used by people with less programming experience for complex measurements.

The SweepMe! GUI

SweepMe! has two windows. The left window configures your measurement and contains the menu. The right window, "Dashboard," displays plots and widgets for interaction during a measurement.

Procedures

'Programming' is done in the Sequencer tab where Modules can be placed via drag&drop to create measurement procedures. Each module corresponds to either a logical function, a measurement device, or any other hardware component. The modules act as for-loops over a defined parameter variation. With that, complex tree-like structures can be created by nesting modules into each other, creating branches and nested for-loops. Modules of the same type can even be added multiple times. Almost any procedure can be understood and represented that way. For example, a Temperature module varies temperatures, and an SMU module varies voltages. Nesting an SMU module into a Temperature module allows measuring temperature-dependent current-voltage curves.

Modules

Each Module added to the sequencer comes with its own GUI for configuration. There are different kinds of Modules: Basic Modules control file generation, repetitions, and waiting time. Device Modules give access to measurement equipment via Device Classes. Whenever possible, Device Modules provide a common interface to a certain group 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 hardware manufacturer. There also exist generic Device Modules that can be used to 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. Add-on Modules extend SweepMe!'s functionality.

Drivers

Drivers can be created and added to the program, designed to fit a specific "Device Module." Generalized drivers can be shared across users, ensuring each instrument needs inclusion only once. Drivers are versioned and shared via the SweepMe! server and are published as open-source on the [instrument-drivers repository]. Uploaded drivers get a webpage on [[1]] with details about the instrument, handling of the driver, and links to the manufacturer or manual. Feel free to contact us for additional information.

Widgets

After creating a measurement procedure, add widgets to display results during the run. For example, Plot draws graphs, and Monitor displays important values.

Features

Features like saving data, and creating settings are done 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.