Sequencer procedure: Difference between revisions

From SweepMe! Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 2: Line 2:


SweepMe! version 1.5.4 or higher
SweepMe! version 1.5.4 or higher
Before you need to know what a [[Root-To-Leaf]] (branch) is.


     # at start of the sequencer
     # at start of the sequencer
Line 20: Line 18:
             [[start()]]          -> prepare something before value is applied
             [[start()]]          -> prepare something before value is applied
             ----------------------------------------------------------------------------------------------
             ----------------------------------------------------------------------------------------------
             [[apply()]]          -> set the new value to a device if supported  
             [[apply()]]          -> set the new value to a device if supported
             [[reach()]]          -> wait to reach the new value, start reaching a certain condition
             [[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
             wait hold time      -> sleep any hold time while the setvalues are applied
             ----------------------------------------------------------------------------------------------
             ----------------------------------------------------------------------------------------------
             [[adapt()]]          -> adapt the measurement devices to the new conditions
             [[adapt()]]          -> adapt the measurement devices to the new conditions
Line 35: Line 33:
             ----------------------------------------------------------------------------------------------
             ----------------------------------------------------------------------------------------------
             [[process_data()]]  -> process the measured data after the measurement itself has finished
             [[process_data()]]  -> process the measured data after the measurement itself has finished
             [[call()]]          -> '''mandatory''': return values to SweepMe!
             [[call()]]          -> '''mandatory''': return values to SweepMe! as defined by self.variables
             ----------------------------------------------------------------------------------------------
             ----------------------------------------------------------------------------------------------
             [[process()]]        -> deprecated: will be continued for a while
             [[process()]]        -> deprecated: will be continued for a while
             [[finish()]]        -> clean up before the next measurement starts  
             [[finish()]]        -> clean up before the next measurement starts  
             ----------------------------------------------------------------------------------------------
             ----------------------------------------------------------------------------------------------
             [[sleepstop()]]      -> sleep the stop time while the device is set to its idlevale
             wait stop time      -> deprecated from 1.5.5.: sleep any stop time while time while the devices are set to their idlevalues
        
        
         #  if a [[branch]] is left and the module is not part of the next branch
         #  if a [[branch]] is left and the module is not part of the next branch

Revision as of 13:18, 10 June 2020

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

SweepMe! version 1.5.4 or higher

   # 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 new branch is entered and the module was not part of the previous branch
       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
           ----------------------------------------------------------------------------------------------
           wait hold time       -> sleep any hold time while the setvalues are applied
           ----------------------------------------------------------------------------------------------
           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! as defined by self.variables
           ----------------------------------------------------------------------------------------------
           process()        -> deprecated: will be continued for a while
           finish()         -> clean up before the next measurement starts 
           ----------------------------------------------------------------------------------------------
           wait stop time       -> deprecated from 1.5.5.: sleep any stop time while time while the devices are set to their idlevalues
     
       #  if a branch is left and the module is not part of the next branch
       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