poolsynchronization
This module is part of the Python Pool library. It defines the classes for the synchronization
Classes
|
PoolSynchronization

- class PoolSynchronization(main_element, name='Synchronization')[source]
Bases:
PoolActionSynchronization action.
It coordinates trigger/gate elements and software synchronizer.
- start_action(ctrls, multi_synch_description, moveable=None, software_synchronizer_initial_domain=None, *args, **kwargs)[source]
Start synchronization action.
- Parameters:
ctrls (
List) – list of enabled trigger/gate controllersmulti_synch_description (
MultiSynchDescription) – synchronization description for each synchronizer.moveable (
Union[PoolMotor,PoolPseudoMotor,None]) – (optional) moveable object used as the synchronization source in the Position domainPoolPseudoMotorsoftware_synchronizer_initial_domain (
Optional[Any]) – (optional) - initial domain for software synchronizer, can be eitherTimeorPosition
- Return type:
SynchDescription

- class SynchDescription(*args, **kwargs)[source]
Bases:
listSynchronization description. It is composed from groups - repetitions of equidistant synchronization events. Each group is described by
SynchParamparameters which may have values inSynchDomaindomains.- property repetitions
- property delay_time
- property active_time
- property total_time
- property passive_time
- property integration_time
MultiSynchDescription

- class MultiSynchDescription(*args, **kwargs)[source]
Bases:
dictMultiple synchronization descriptions. It is formed from pairs of
Synchronizernames andSynchDescriptionobjects. A dictionary must be provided where keys are the synchronizer names as strings and values are either aSynchDescriptionobject or the equivalentList.To assign a description to software synchronized elements, use the key
"software".- update(*args, **kwargs)[source]
Cast dictionary values to
SynchDescriptionobjects.
- static from_json(synch_description_json)[source]
JSON decode multi synchronization description data structure and return
MultiSynchDescription.- Parameters:
synch_description_json (
str) – json-like multiple synchronization description- Return type:
- Returns:
new multi synchronization description
Todo
At some point remove the backwards compatibility for memorized values created with Python 2. In Python 2 IntEnum was serialized to “<class>.<attr>” e.g. “SynchDomain.Time” and we were using a class method
fromStrto interpret the enumeration objects.