controlsystem#

class ControlSystem[source]#

Bases: ElementHolder

Abstract class providing access to a control system float variable

create_bpm_aggregators(bpms)[source]#
create_magnet_hardware_aggregator(magnets)[source]#

When working in hardware space, 1 single power supply device per multipolar strength is required

create_magnet_strength_aggregator(magnets)[source]#
fill_device(elements)[source]#

Fill device of this control system with Element coming from the configuration file

Parameters:

elements (list[Element]) – List of elements coming from the configuration file to attach to this control system

abstractmethod get_aggregator()[source]#

Returns a new empty DeviceAccessList. If None is returned serialized readings/writtings are performed

abstractmethod get_device_access(ref)[source]#

Return a device reference for this control system. YAML element configuration passes opaque strings. Public Python APIs may also pass backend ConfigModel instances. Concrete backends own all lookup, parsing and DeviceAccess construction.

get_devices_access(refs)[source]#

Return a device reference for this control system. YAML element configuration passes opaque strings. Public Python APIs may also pass backend ConfigModel instances. Concrete backends own all lookup, parsing and DeviceAccess construction.

abstractmethod name()[source]#

Return control system name (i.e. live)

class ControlSystemAdapter[source]#

Bases: ControlSystem

Control system adapter class

get_aggregator()[source]#

Returns a new empty DeviceAccessList. If None is returned serialized readings/writtings are performed

get_device_access(ref)[source]#

Return a device reference for this control system. YAML element configuration passes opaque strings. Public Python APIs may also pass backend ConfigModel instances. Concrete backends own all lookup, parsing and DeviceAccess construction.

name()[source]#

Return control system name (i.e. live)