Sequencer procedure
Jump to navigation
Jump to search
This section provides an easy-to-understand overview of the functions executed in a SweepMe! Module. These functions are forwarded to a Driver if the Module can load drivers.
SweepMe! version 1.5.4 or higher
Sequencer Start
- connect() - For all items from root to leaf: get and open a port object to communicate with a device.
- initialize() - For all items from root to leaf: Set values and configurations for devices to prepare for measurement.
If a new branch is entered and the module was not part of the previous branch
- configure() - For all items from root to leaf: Set device configuration.
- poweron() - For all items from root to leaf: Powers on the device.
If an item of the sequencer starts its parameter variation
- signin() - Calls reconfigure() if needed. Can be used to perform actions before parameter variation starts.
For each measurement point
Each step is performed for all items from root to leaf before the next step is started:
- start() - Preparation before applying a new value.
- apply() - Only called if the sweep value changes: Sets a new value to a device .
- reach() - Only called if apply() was called: Wait to reach the new value or start reaching a certain condition
- sleephold() - Sleeps during hold time while set values are applied.
- adapt() - Adapts measurement devices to new conditions.
- adapt_ready() - Ensures all devices have adapted.
- trigger_ready() - Prepares devices to be triggered.
- trigger() - Deprecated, continued for a while.
- measure() - Initiates/Triggers a measurement.
- request_result() - Requests a result from the device buffer.
- read_result() - Reads a result from the port buffer.
- process_data() - Processes measured data after the measurement finishes.
- call() - Mandatory: Returns values to SweepMe! as defined by self.variables.
If an item of the sequencer finishes its parameter variation
- signout() - Optionally performs actions after parameter variation.
Leaving a branch and the module is not part of the next branch or run is stopped by error
- poweroff() - For all items from root to leaf: Switch off modules and devices.
- unconfigure() - For all items from root to leaf: Unconfigure modules and devices.
End of sequencer of run is stopped by error
- deinitialize() - For all items from root to leaf: Resets the status for any other user of the equipment.
- disconnect() - For all items from root to leaf: Closes the port object.
General rules
- At the beginning of a measurement, modules and drivers use connect and initialize. At the end deinitialize and [[disconnect] to bring the module or the driver back to an idle state and to close the connection.
- When a module gets active, i.e. it is part of an active branch, it runs configure and poweron. If a module is not active anymore it runs poweroff and reconfigure.
- At each measurement point, i.e. a combination of setpoint iteration steps of the all modules in a branch, a couple of functions are called to perform the measurement point such as start, apply, reach, adapt, measure, call to name the most important ones.