Sequencer procedure

From SweepMe! Wiki
Revision as of 21:38, 19 October 2018 by Afischer (talk | contribs)
Jump to navigation Jump to search

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

Before you need to know what a Root-To-Leaf 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
           start()         -> for all items of the Root-To-Leaf: prepare something before value is applied
           apply()         -> for all items of the Root-To-Leaf: set the new value to a device if supported 
           reach()         -> for all items of the Root-To-Leaf: wait to reach the new value, start reaching a certain condition
           sleephold()     -> for all items of the Root-To-Leaf: sleep the hold time while the value is applied to the device
           trigger_ready() -> for all items of the Root-To-Leaf: make device ready to be triggered / check if reach was achieved
           trigger()       -> for all items of the Root-To-Leaf: trigger/initiate a measuement
           measure()       -> for all items of the Root-To-Leaf: ask/acquire data from buffer or start simple measurements
           call()          -> for all items of the Root-To-Leaf: read the results from the port buffer and return to SweepMe!
           process()       -> for all items of the Root-To-Leaf: use the chance to postprocess your data
           finish()        -> for all items of the Root-To-Leaf: clean up before the next measurement starts 
           sleepstop()     -> for all items of the Root-To-Leaf: 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