Sequencer procedure

From SweepMe! Wiki
Jump to: navigation, search

The following gives an overview of the functions that are called in a Device Class in the sequencer procedure.

SweepMe! version 1.5.2.4 or higher

Before you need to know what a Root-To-Leaf (branch) is.

   # at start of the sequencer
   connect()     -> for all items: get and open a port object to communicate with a device
   initialize()  -> for all items: set all value and configurations to make the device ready for a measurement
   
       # if a item of the sequencer starts its parameter variation
       signin()  -> does nothing, but can be used to do something before the parameter variation starts
       
       # if a Root-To-Leaf is entered
       configure()  -> changes the configuration of the device
       poweron()    -> switches the device on
   
           # if a leaf of a Root-To-Leaf is reached
           # each function is done for all items of the branch before the next function is performed: 
           start()          -> prepare something before value is applied
           ----------------------------------------------------------------------------------------------
           apply()          -> set the new value to a device if supported 
           reach()          -> wait to reach the new value, start reaching a certain condition
           ----------------------------------------------------------------------------------------------
           sleephold()      -> sleep the hold time while the value is applied to the device
           ----------------------------------------------------------------------------------------------
           adapt()          -> adapt the measurement devices to the new conditions
           adapt_ready()    -> make sure all device have adapted to the new conditions
           trigger_ready()  -> make devices ready to be triggered
           trigger()        -> deprecated: will be continued for a while
           ----------------------------------------------------------------------------------------------
           measure()        -> initiate/trigger a measurement, nothing else
           request_result() -> request a result from the device buffer
           read_result()    -> read a result from the port buffer
           ----------------------------------------------------------------------------------------------
           process_data()   -> process the measured data after the measurement itself has finished
           call()           -> mandatory: return values to SweepMe!
           ----------------------------------------------------------------------------------------------
           process()        -> deprecated: will be continued for a while
           finish()         -> clean up before the next measurement starts 
           ----------------------------------------------------------------------------------------------
           sleepstop()      -> sleep the stop time while the device is set to its idlevale
     
       # if a Root-To-Leaf is left
       poweroff()      -> for all items: switches the device off
       unconfigure()   -> set value to idlevalue and apply() it
       
       # if a item of the sequencer finishs its parameter variation
       signout()  -> does nothing, but can be used to do something after the parameter variation
   
   # at end for all items of the sequencer
   deinitialize()   -> for all items: reset the status for any other user of the equipment
   disconnect()     -> for all items: closes the port object