Sequencer procedure: Difference between revisions

From SweepMe! Wiki
Jump to navigation Jump to search
(Rewrite for quality and clarity)
mNo edit summary
Line 3: Line 3:
SweepMe! version 1.5.4 or higher
SweepMe! version 1.5.4 or higher


'''Sequencer Start'''
'''Sequencer Start:'''


* [[connect()]] - For all items from root to leaf: get and open a port object to communicate with a device.
* [[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.
* [[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'''
'''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.
* [[configure()]] - For all items from root to leaf: Set device configuration.
* [[poweron()]] - For all items from root to leaf: Powers on the device.
* [[poweron()]] - For all items from root to leaf: Powers on the device.


'''If an item of the sequencer starts its parameter variation'''
'''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.
* [[signin()]] - Calls reconfigure() if needed. Can be used to perform actions before parameter variation starts.


'''For each measurement point'''
'''For each measurement point:'''


Each step is performed for all items from root to leaf before the next step is started:
Each step is performed for all items from root to leaf before the next step is started:
Line 42: Line 42:
* [[finish()]] - Cleans up before the next measurement.
* [[finish()]] - Cleans up before the next measurement.


'''If an item of the sequencer finishes its parameter variation'''
'''If an item of the sequencer finishes its parameter variation:'''
* [[signout()]] - Optionally performs actions after 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'''
'''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.  
* [[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.  
* [[unconfigure()]] - For all items from root to leaf: Unconfigure modules and devices.  

Revision as of 10:47, 15 February 2024

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.



  • process_data() - Processes measured data after the measurement finishes.
  • call() - Mandatory: Returns values to SweepMe! as defined by self.variables.

  • process() - Deprecated, continued for a while.
  • finish() - Cleans up before the next measurement.

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.