PoolDevice
¶
Generic Tango Pool Device base classes
Classes
PoolDevice¶

-
class
PoolDevice
(dclass, name)[source]¶ Bases:
sardana.tango.core.SardanaDevice.SardanaDevice
Base Tango Pool device class
-
ExtremeErrorStates
= (tango._tango.DevState.FAULT, tango._tango.DevState.UNKNOWN)¶ list of extreme error states
-
BusyStates
= (tango._tango.DevState.MOVING, tango._tango.DevState.RUNNING)¶ list of busy states
-
BusyRetries
= 3¶ Maximum number of retries in a busy state
-
init
(name)[source]¶ initialize the device once in the object lifetime. Override when necessary but always call the method from your super class
:param
str
name: device name
-
property
pool_device
¶ The tango pool device
-
property
pool
¶ The sardana pool object
-
get_element
()[source]¶ Returns the underlying pool element object
- Returns
the underlying pool element object
- Return type
-
set_element
(element)[source]¶ Associates this device with the sardana element
- Parameters
element (
PoolElement
) – the sardana element
-
property
element
¶ The underlying sardana element
-
init_device
()[source]¶ Initialize the device. Called during startup after
init()
and every time the tangoInit
command is executed. Override when necessary but always call the method from your super class
-
delete_device
()[source]¶ Clean the device. Called during shutdown and every time the tango
Init
command is executed. Override when necessary but always call the method from your super class
-
is_Abort_allowed
()[source]¶ Returns True if it is allowed to execute the tango abort command
- Returns
True if it is allowed to execute the tango abort command or False otherwise
- Return type
-
is_Stop_allowed
()[source]¶ Returns True if it is allowed to execute the tango stop command
- Returns
True if it is allowed to execute the tango stop command or False otherwise
- Return type
-
is_Release_allowed
()[source]¶ Returns True if it is allowed to execute the tango release command
- Returns
True if it is allowed to execute the tango release command or False otherwise
- Return type
-
get_dynamic_attributes
()[source]¶ Returns the standard dynamic and fully dynamic attributes for this device. The return is a tuple of two dictionaries:
standard attributes: caseless dictionary with key being the attribute name and value is a tuple of attribute name(str), tango information, attribute information
dynamic attributes: caseless dictionary with key being the attribute name and value is a tuple of attribute name(str), tango information, attribute information
- tango information
seq<
CmdArgType
,AttrDataFormat
,AttrWriteType
>- attribute information
attribute information as returned by the sardana controller
- Returns
the standard dynamic and fully dynamic attributes
- Return type
seq<
CaselessDict
,CaselessDict
>
-
remove_unwanted_dynamic_attributes
(new_std_attrs, new_dyn_attrs)[source]¶ Removes unwanted dynamic attributes from previous device creation
-
add_dynamic_attribute
(attr_name, data_info, attr_info, read, write, is_allowed)[source]¶ Adds a single dynamic attribute
:param
str
attr_name: the attribute name :param data_info: tango attribute information :type data_info: seq<CmdArgType
,AttrDataFormat
,AttrWriteType
> :param attr_info: attribute information :param read: read method for the attribute :param write: write method for the attribute :param is_allowed: is allowed method
-
add_standard_attribute
(attr_name, data_info, attr_info, read, write, is_allowed)[source]¶ Adds a single standard dynamic attribute
:param
str
attr_name: the attribute name :param data_info: tango attribute information :type data_info: seq<CmdArgType
,AttrDataFormat
,AttrWriteType
> :param attr_info: attribute information :param read: read method for the attribute :param write: write method for the attribute :param is_allowed: is allowed method
-
read_DynamicAttribute
(attr)[source]¶ Generic read dynamic attribute. Default implementation raises
NotImplementedError
- Parameters
attr (
Attribute
) – attribute to be read- Raises
-
write_DynamicAttribute
(attr)[source]¶ Generic write dynamic attribute. Default implementation raises
NotImplementedError
- Parameters
attr (
Attribute
) – attribute to be written- Raises
-
is_DynamicAttribute_allowed
(req_type)[source]¶ Generic is dynamic attribute allowed. Default implementation calls
_is_allowed()
- Parameters
req_type – request type
-
dev_state
()[source]¶ Calculates and returns the device state. Called by Tango on a read state request.
- Returns
the device state
- Return type
DevState
-
dev_status
()[source]¶ Calculates and returns the device status. Called by Tango on a read status request.
- Returns
the device status
- Return type
-
wait_for_operation
()[source]¶ Waits for an operation to finish. It uses the maxumum number of retries. Sleeps 0.01s between retries.
- Raises
Exception
in case of a timeout
-
PoolDeviceClass¶

-
class
PoolDeviceClass
(name)[source]¶ Bases:
sardana.tango.core.SardanaDevice.SardanaDeviceClass
Base Tango Pool Device Class class
-
class_property_list
= {}¶ Sardana device class properties definition
See also
-
device_property_list
= {'Force_HW_Read': [tango._tango.CmdArgType.DevBoolean, 'Force a hardware read of value even when in operation (motion/acquisition', False], 'Id': [tango._tango.CmdArgType.DevLong64, 'Internal ID', 0]}¶ Sardana device properties definition
See also
-
cmd_list
= {'Abort': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']], 'Release': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']], 'Restore': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']], 'Stop': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']]}¶ Sardana device command definition
See also
-
attr_list
= {}¶ Sardana device attribute definition
See also
-
standard_attr_list
= {}¶
-
PoolElementDevice¶

-
class
PoolElementDevice
(dclass, name)[source]¶ Bases:
sardana.tango.pool.PoolDevice.PoolDevice
Base Tango Pool Element Device class
-
init_device
()[source]¶ Initialize the device. Called during startup after
init()
and every time the tangoInit
command is executed. Override when necessary but always call the method from your super class
-
delete_device
()[source]¶ Clean the device. Called during shutdown and every time the tango
Init
command is executed. Override when necessary but always call the method from your super class
-
read_Instrument
(attr)[source]¶ Read the value of the
Instrument
tango attribute. Returns the instrument full name or empty string if this element doesn’t belong to any instrument- Parameters
attr (
Attribute
) – tango instrument attribute
-
write_Instrument
(attr)[source]¶ Write the value of the
Instrument
tango attribute. Sets a new instrument full name or empty string if this element doesn’t belong to any instrument. The instrument must have been previously created.- Parameters
attr (
Attribute
) – tango instrument attribute
-
get_dynamic_attributes
()[source]¶ Override of
PoolDevice.get_dynamic_attributes
. Returns the standard dynamic and fully dynamic attributes for this device. The return is a tuple of two dictionaries:standard attributes: caseless dictionary with key being the attribute name and value is a tuple of attribute name(str), tango information, attribute information
dynamic attributes: caseless dictionary with key being the attribute name and value is a tuple of attribute name(str), tango information, attribute information
- tango information
seq<
CmdArgType
,AttrDataFormat
,AttrWriteType
>- attribute information
attribute information as returned by the sardana controller
- Returns
the standard dynamic and fully dynamic attributes
- Return type
seq<
CaselessDict
,CaselessDict
>
-
read_DynamicAttribute
(attr)[source]¶ Read a generic dynamic attribute. Calls the controller of this element to get the dynamic attribute value
- Parameters
attr (
Attribute
) – tango attribute
-
write_DynamicAttribute
(attr)[source]¶ Write a generic dynamic attribute. Calls the controller of this element to get the dynamic attribute value
- Parameters
attr (
Attribute
) – tango attribute
-
PoolElementDeviceClass¶

-
class
PoolElementDeviceClass
(name)[source]¶ Bases:
sardana.tango.pool.PoolDevice.PoolDeviceClass
Base Tango Pool Element Device Class class
-
device_property_list
= {'Axis': [tango._tango.CmdArgType.DevLong64, 'Axis in the controller', [0]], 'Ctrl_id': [tango._tango.CmdArgType.DevLong64, 'Controller ID', [0]], 'Force_HW_Read': [tango._tango.CmdArgType.DevBoolean, 'Force a hardware read of value even when in operation (motion/acquisition', False], 'Id': [tango._tango.CmdArgType.DevLong64, 'Internal ID', 0], 'Instrument_id': [tango._tango.CmdArgType.DevLong64, 'Controller ID', [0]]}¶ Sardana device properties definition
See also
-
attr_list
= {'Instrument': [[tango._tango.CmdArgType.DevString, tango._tango.AttrDataFormat.SCALAR, tango._tango.AttrWriteType.READ_WRITE], {'label': 'Instrument', 'Display level': tango._tango.DispLevel.EXPERT}], 'SimulationMode': [[tango._tango.CmdArgType.DevBoolean, tango._tango.AttrDataFormat.SCALAR, tango._tango.AttrWriteType.READ_WRITE], {'label': 'Simulation mode'}]}¶ Sardana device attribute definition
See also
-
cmd_list
= {'Abort': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']], 'Release': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']], 'Restore': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']], 'Stop': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']]}¶ Sardana device command definition
See also
-
PoolGroupDevice¶

-
class
PoolGroupDevice
(dclass, name)[source]¶ Bases:
sardana.tango.pool.PoolDevice.PoolDevice
Base Tango Pool Group Device class
PoolGroupDeviceClass¶

-
class
PoolGroupDeviceClass
(name)[source]¶ Bases:
sardana.tango.pool.PoolDevice.PoolDeviceClass
Base Tango Pool Group Device Class class
-
device_property_list
= {'Elements': [tango._tango.CmdArgType.DevVarStringArray, 'elements in the group', []], 'Force_HW_Read': [tango._tango.CmdArgType.DevBoolean, 'Force a hardware read of value even when in operation (motion/acquisition', False], 'Id': [tango._tango.CmdArgType.DevLong64, 'Internal ID', 0]}¶ Sardana device properties definition
See also
-
cmd_list
= {'Abort': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']], 'Release': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']], 'Restore': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']], 'Stop': [[tango._tango.CmdArgType.DevVoid, ''], [tango._tango.CmdArgType.DevVoid, '']]}¶ Sardana device command definition
See also
-
attr_list
= {'ElementList': [[tango._tango.CmdArgType.DevString, tango._tango.AttrDataFormat.SPECTRUM, tango._tango.AttrWriteType.READ, 4096]]}¶ Sardana device attribute definition
See also
-