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:
PoolAction
Synchronization 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 domainPoolPseudoMotor
software_synchronizer_initial_domain (
Optional
[Any
]) – (optional) - initial domain for software synchronizer, can be eitherTime
orPosition
- Return type:
SynchDescription

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

- class MultiSynchDescription(*args, **kwargs)[source]
Bases:
dict
Multiple synchronization descriptions. It is formed from pairs of
Synchronizer
names andSynchDescription
objects. A dictionary must be provided where keys are the synchronizer names as strings and values are either aSynchDescription
object or the equivalentList
.To assign a description to software synchronized elements, use the key
"software"
.- update(*args, **kwargs)[source]
Cast dictionary values to
SynchDescription
objects.
- 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
fromStr
to interpret the enumeration objects.