Table Of Contents

Previous topic

The Tango Device Server Python API

Next topic

DeviceClass

This Page

Device classes

DeviceImpl

class PyTango.DeviceImpl

Base class for all TANGO device. This class inherits from CORBA classes where all the network layer is implemented.

add_attribute(attr, r_meth=None, w_meth=None, is_allo_meth=None)

add_attribute (self, attr, r_meth=None, w_meth=None, is_allo_meth=None) -> None

Add a new attribute to the device attribute list. Please, note that if you add an attribute to a device at device creation time, this attribute will be added to the device class attribute list. Therefore, all devices belonging to the same class created after this attribute addition will also have this attribute.
Parameters:

attr : (Attr) the new attribute to be added to the list. r_meth : (callable) the read method to be called on a read request w_meth : (callable) th write method to be called on a write request (if attr is writable) is_allo_meth: (callable) the method that is called to check if it is possible to access

the attribute or not

Return:

None

Throws:

DevFailed

append_status()

append_status (self, status, new_line=False) -> None

Appends a string to the device status.
Parameters:status : (str) the string to be appened to the device status new_line : (bool) If true, appends a new line character before the string. Default is False
Return:None
debug_stream(*msg)

debug_stream (self, *msg) -> None

Sends the given message to the tango debug stream.
Parameters:
msg:(str) the message to be sent to the debug stream
Return:

None

dev_state()

dev_state (self) -> DevState

Get device state. Default method to get device state. The behaviour of this method depends on the device state. If the device state is ON or ALARM, it reads the attribute(s) with an alarm level defined, check if the read value is above/below the alarm and eventually change the state to ALARM, return the device state. For all th other device state, this method simply returns the state This method can be redefined in sub-classes in case of the default behaviour does not fullfill the needs.
Parameters:None
Return:(DevState) the device state
Throws:DevFailed - If it is necessary to read attribute(s) and a problem occurs during the reading
dev_status()

dev_status (self) -> str

Get device status. Default method to get device status. It returns the contents of the device dev_status field. If the device state is ALARM, alarm messages are added to the device status. This method can be redefined in sub-classes in case of the default behaviour does not fullfill the needs.
Parameters:None
Return:(str) the device status
Throws:DevFailed - If it is necessary to read attribute(s) and a problem occurs during the reading
error_stream(*msg)

error_stream (self, *msg) -> None

Sends the given message to the tango error stream.
Parameters:
msg:(str) the message to be sent to the error stream
Return:

None

fatal_stream(*msg)

fatal_stream (self, *msg) -> None

Sends the given message to the tango fatal stream.
Parameters:
msg:(str) the message to be sent to the fatal stream
Return:

None

get_device_attr()

get_device_attr (self) -> MultiAttribute

Get device multi attribute object.
Parameters:None
Return:(MultiAttribute) the device’s MultiAttribute object
get_device_properties(ds_class=None)

get_device_properties (self, ds_class = None) -> None

Utility method that fetches all the device properties from the database and converts them into members of this DeviceImpl.
Parameters:
ds_class:(DeviceClass) the DeviceClass object. Optional. Default value is None meaning that the corresponding DeviceClass object for this DeviceImpl will be used
Return:

None

Throws:

DevFailed

get_logger()

get_logger (self) -> Logger

Returns the Logger object for this device
Parameters:None
Return:(Logger) the Logger object for this device
get_name()

get_name (self) -> (str)

Get a COPY of the device name.
Parameters:None
Return:(str) the device name
get_prev_state()

get_prev_state (self) -> DevState

Get a COPY of the device’s previous state.
Parameters:None
Return:(DevState) the device’s previous state
get_state()

get_state (self) -> DevState

Get a COPY of the device state.
Parameters:None
Return:(DevState) Current device state
get_status()

get_status (self, ) -> str

Get a COPY of the device status.
Parameters:None
Return:(str) the device status
info_stream(*msg)

info_stream (self, *msg) -> None

Sends the given message to the tango info stream.
Parameters:
msg:(str) the message to be sent to the info stream
Return:

None

init_device()

init_device (self) -> None

Intialise a device.
Parameters:None
Return:None
push_archive_event()

push_archive_event (self, attr_name) -> None

push_archive_event (self, attr_name, except) -> None

push_archive_event (self, attr_name, data, dim_x = 1, dim_y = 0) -> None

push_archive_event (self, attr_name, str_data, data) -> None

push_archive_event (self, attr_name, data, time_stamp, quality, dim_x = 1, dim_y = 0) -> None

push_archive_event (self, attr_name, str_data, data, time_stamp, quality) -> None

Push an archive event for the given attribute name. The event is pushed to the notification daemon.
Parameters:
attr_name:(str) attribute name
data:the data to be sent as attribute event data. Data must be compatible with the attribute type and format. for SPECTRUM and IMAGE attributes, data can be any type of sequence of elements compatible with the attribute type
str_data:(str) special variation for DevEncoded data type. In this case ‘data’ must also be a str.
except:(DevFailed) Instead of data, you may want to send an exception.
dim_x:(int) the attribute x length. Default value is 1
dim_y:(int) the attribute y length. Default value is 0
time_stamp:(double) the time stamp
quality:(AttrQuality) the attribute quality factor
Throws:

DevFailed If the attribute data type is not coherent.

push_change_event()

push_change_event (self, attr_name) -> None

push_change_event (self, attr_name, except) -> None

push_change_event (self, attr_name, data, dim_x = 1, dim_y = 0) -> None

push_change_event (self, attr_name, str_data, data) -> None

push_change_event (self, attr_name, data, time_stamp, quality, dim_x = 1, dim_y = 0) -> None

push_change_event (self, attr_name, str_data, data, time_stamp, quality) -> None

Push a change event for the given attribute name. The event is pushed to the notification daemon.

Parameters:
attr_name:(str) attribute name
data:the data to be sent as attribute event data. Data must be compatible with the attribute type and format. for SPECTRUM and IMAGE attributes, data can be any type of sequence of elements compatible with the attribute type
str_data:(str) special variation for DevEncoded data type. In this case ‘data’ must also be a str.
except:(DevFailed) Instead of data, you may want to send an exception.
dim_x:(int) the attribute x length. Default value is 1
dim_y:(int) the attribute y length. Default value is 0
time_stamp:(double) the time stamp
quality:(AttrQuality) the attribute quality factor
Throws:

DevFailed If the attribute data type is not coherent.

push_data_ready_event()

push_data_ready_event (self, attr_name, counter = 0) -> None

Push a data ready event for the given attribute name. The event is pushed to the notification daemon.

The method needs only the attribue name and an optional “counter” which will be passed unchanged within the event

Parameters:
attr_name:(str) attribute name
counter:(int) the user counter
Return:

None

Throws:

DevFailed If the attribute name is unknown.

push_event()

push_event (self, attr_name, filt_names, filt_vals) -> None

push_event (self, attr_name, filt_names, filt_vals, data, dim_x = 1, dim_y = 0) -> None

push_event (self, attr_name, filt_names, filt_vals, str_data, data) -> None

push_event (self, attr_name, filt_names, filt_vals, data, time_stamp, quality, dim_x = 1, dim_y = 0) -> None

push_event (self, attr_name, filt_names, filt_vals, str_data, data, time_stamp, quality) -> None

Push a user event for the given attribute name. The event is pushed to the notification daemon.
Parameters:
attr_name:(str) attribute name
filt_names:(sequence<str>) the filterable fields name
filt_vals:(sequence<double>) the filterable fields value
data:the data to be sent as attribute event data. Data must be compatible with the attribute type and format. for SPECTRUM and IMAGE attributes, data can be any type of sequence of elements compatible with the attribute type
str_data:(str) special variation for DevEncoded data type. In this case ‘data’ must also be a str.
dim_x:(int) the attribute x length. Default value is 1
dim_y:(int) the attribute y length. Default value is 0
time_stamp:(double) the time stamp
quality:(AttrQuality) the attribute quality factor
Throws:

DevFailed If the attribute data type is not coherent.

py_exec_wir(dev, name, in_par=None)
for internal usage only
register_signal()

register_signal (self, signo) -> None

Register a signal. Register this device as device to be informed when signal signo is sent to to the device server process
Parameters:
signo:(int) signal identifier
Return:

None

remove_attribute(attr_name)

remove_attribute (self, attr_name) -> None

Remove one attribute from the device attribute list.
Parameters:
attr_name:(str) attribute name
Return:

None

Throws:

DevFailed

set_archive_event()

set_archive_event (self, attr_name, implemented, detect=True) -> None

Set an implemented flag for the attribute to indicate that the server fires archive events manually, without the polling to be started. If the detect parameter is set to true, the criteria specified for the archive event are verified and the event is only pushed if they are fullfilled. If detect is set to false the event is fired without any value checking!
Parameters:
attr_name:(str) attribute name
implemented:(bool) True when the server fires change events manually.
detect:(bool) Triggers the verification of the change event properties when set to true. Default value is true.
Return:

None

set_change_event()

set_change_event (self, attr_name, implemented, detect=True) -> None

Set an implemented flag for the attribute to indicate that the server fires change events manually, without the polling to be started. If the detect parameter is set to true, the criteria specified for the change event are verified and the event is only pushed if they are fullfilled. If detect is set to false the event is fired without any value checking!
Parameters:
attr_name:(str) attribute name
implemented:(bool) True when the server fires change events manually.
detect:(bool) Triggers the verification of the change event properties when set to true. Default value is true.
Return:

None

set_state()

set_state (self, new_state) -> None

Set device state.
Parameters:
new_state:(DevState) the new device state
Return:

None

set_status()

set_status (self, new_status) -> None

Set device status.
Parameters:
new_status:(str) the new device status
Return:

None

unregister_signal()

unregister_signal (self, signo) -> None

Unregister a signal. Unregister this device as device to be informed when signal signo is sent to to the device server process
Parameters:
signo:(int) signal identifier
Return:

None

warn_stream(*msg)

warn_stream (self, *msg) -> None

Sends the given message to the tango warn stream.
Parameters:
msg:(str) the message to be sent to the warn stream
Return:

None

Device_2Impl

class PyTango.Device_2Impl

Bases: PyTango._PyTango.DeviceImpl

add_attribute(attr, r_meth=None, w_meth=None, is_allo_meth=None)

add_attribute (self, attr, r_meth=None, w_meth=None, is_allo_meth=None) -> None

Add a new attribute to the device attribute list. Please, note that if you add an attribute to a device at device creation time, this attribute will be added to the device class attribute list. Therefore, all devices belonging to the same class created after this attribute addition will also have this attribute.
Parameters:

attr : (Attr) the new attribute to be added to the list. r_meth : (callable) the read method to be called on a read request w_meth : (callable) th write method to be called on a write request (if attr is writable) is_allo_meth: (callable) the method that is called to check if it is possible to access

the attribute or not

Return:

None

Throws:

DevFailed

append_status()

append_status (self, status, new_line=False) -> None

Appends a string to the device status.
Parameters:status : (str) the string to be appened to the device status new_line : (bool) If true, appends a new line character before the string. Default is False
Return:None
debug_stream(*msg)

debug_stream (self, *msg) -> None

Sends the given message to the tango debug stream.
Parameters:
msg:(str) the message to be sent to the debug stream
Return:

None

dev_state()

dev_state (self) -> DevState

Get device state. Default method to get device state. The behaviour of this method depends on the device state. If the device state is ON or ALARM, it reads the attribute(s) with an alarm level defined, check if the read value is above/below the alarm and eventually change the state to ALARM, return the device state. For all th other device state, this method simply returns the state This method can be redefined in sub-classes in case of the default behaviour does not fullfill the needs.
Parameters:None
Return:(DevState) the device state
Throws:DevFailed - If it is necessary to read attribute(s) and a problem occurs during the reading
dev_status()

dev_status (self) -> str

Get device status. Default method to get device status. It returns the contents of the device dev_status field. If the device state is ALARM, alarm messages are added to the device status. This method can be redefined in sub-classes in case of the default behaviour does not fullfill the needs.
Parameters:None
Return:(str) the device status
Throws:DevFailed - If it is necessary to read attribute(s) and a problem occurs during the reading
error_stream(*msg)

error_stream (self, *msg) -> None

Sends the given message to the tango error stream.
Parameters:
msg:(str) the message to be sent to the error stream
Return:

None

fatal_stream(*msg)

fatal_stream (self, *msg) -> None

Sends the given message to the tango fatal stream.
Parameters:
msg:(str) the message to be sent to the fatal stream
Return:

None

get_device_attr()

get_device_attr (self) -> MultiAttribute

Get device multi attribute object.
Parameters:None
Return:(MultiAttribute) the device’s MultiAttribute object
get_device_properties(ds_class=None)

get_device_properties (self, ds_class = None) -> None

Utility method that fetches all the device properties from the database and converts them into members of this DeviceImpl.
Parameters:
ds_class:(DeviceClass) the DeviceClass object. Optional. Default value is None meaning that the corresponding DeviceClass object for this DeviceImpl will be used
Return:

None

Throws:

DevFailed

get_logger()

get_logger (self) -> Logger

Returns the Logger object for this device
Parameters:None
Return:(Logger) the Logger object for this device
get_name()

get_name (self) -> (str)

Get a COPY of the device name.
Parameters:None
Return:(str) the device name
get_prev_state()

get_prev_state (self) -> DevState

Get a COPY of the device’s previous state.
Parameters:None
Return:(DevState) the device’s previous state
get_state()

get_state (self) -> DevState

Get a COPY of the device state.
Parameters:None
Return:(DevState) Current device state
get_status()

get_status (self, ) -> str

Get a COPY of the device status.
Parameters:None
Return:(str) the device status
info_stream(*msg)

info_stream (self, *msg) -> None

Sends the given message to the tango info stream.
Parameters:
msg:(str) the message to be sent to the info stream
Return:

None

init_device()

init_device (self) -> None

Intialise a device.
Parameters:None
Return:None
push_archive_event()

push_archive_event (self, attr_name) -> None

push_archive_event (self, attr_name, except) -> None

push_archive_event (self, attr_name, data, dim_x = 1, dim_y = 0) -> None

push_archive_event (self, attr_name, str_data, data) -> None

push_archive_event (self, attr_name, data, time_stamp, quality, dim_x = 1, dim_y = 0) -> None

push_archive_event (self, attr_name, str_data, data, time_stamp, quality) -> None

Push an archive event for the given attribute name. The event is pushed to the notification daemon.
Parameters:
attr_name:(str) attribute name
data:the data to be sent as attribute event data. Data must be compatible with the attribute type and format. for SPECTRUM and IMAGE attributes, data can be any type of sequence of elements compatible with the attribute type
str_data:(str) special variation for DevEncoded data type. In this case ‘data’ must also be a str.
except:(DevFailed) Instead of data, you may want to send an exception.
dim_x:(int) the attribute x length. Default value is 1
dim_y:(int) the attribute y length. Default value is 0
time_stamp:(double) the time stamp
quality:(AttrQuality) the attribute quality factor
Throws:

DevFailed If the attribute data type is not coherent.

push_change_event()

push_change_event (self, attr_name) -> None

push_change_event (self, attr_name, except) -> None

push_change_event (self, attr_name, data, dim_x = 1, dim_y = 0) -> None

push_change_event (self, attr_name, str_data, data) -> None

push_change_event (self, attr_name, data, time_stamp, quality, dim_x = 1, dim_y = 0) -> None

push_change_event (self, attr_name, str_data, data, time_stamp, quality) -> None

Push a change event for the given attribute name. The event is pushed to the notification daemon.

Parameters:
attr_name:(str) attribute name
data:the data to be sent as attribute event data. Data must be compatible with the attribute type and format. for SPECTRUM and IMAGE attributes, data can be any type of sequence of elements compatible with the attribute type
str_data:(str) special variation for DevEncoded data type. In this case ‘data’ must also be a str.
except:(DevFailed) Instead of data, you may want to send an exception.
dim_x:(int) the attribute x length. Default value is 1
dim_y:(int) the attribute y length. Default value is 0
time_stamp:(double) the time stamp
quality:(AttrQuality) the attribute quality factor
Throws:

DevFailed If the attribute data type is not coherent.

push_data_ready_event()

push_data_ready_event (self, attr_name, counter = 0) -> None

Push a data ready event for the given attribute name. The event is pushed to the notification daemon.

The method needs only the attribue name and an optional “counter” which will be passed unchanged within the event

Parameters:
attr_name:(str) attribute name
counter:(int) the user counter
Return:

None

Throws:

DevFailed If the attribute name is unknown.

push_event()

push_event (self, attr_name, filt_names, filt_vals) -> None

push_event (self, attr_name, filt_names, filt_vals, data, dim_x = 1, dim_y = 0) -> None

push_event (self, attr_name, filt_names, filt_vals, str_data, data) -> None

push_event (self, attr_name, filt_names, filt_vals, data, time_stamp, quality, dim_x = 1, dim_y = 0) -> None

push_event (self, attr_name, filt_names, filt_vals, str_data, data, time_stamp, quality) -> None

Push a user event for the given attribute name. The event is pushed to the notification daemon.
Parameters:
attr_name:(str) attribute name
filt_names:(sequence<str>) the filterable fields name
filt_vals:(sequence<double>) the filterable fields value
data:the data to be sent as attribute event data. Data must be compatible with the attribute type and format. for SPECTRUM and IMAGE attributes, data can be any type of sequence of elements compatible with the attribute type
str_data:(str) special variation for DevEncoded data type. In this case ‘data’ must also be a str.
dim_x:(int) the attribute x length. Default value is 1
dim_y:(int) the attribute y length. Default value is 0
time_stamp:(double) the time stamp
quality:(AttrQuality) the attribute quality factor
Throws:

DevFailed If the attribute data type is not coherent.

py_exec_wir(dev, name, in_par=None)
for internal usage only
register_signal()

register_signal (self, signo) -> None

Register a signal. Register this device as device to be informed when signal signo is sent to to the device server process
Parameters:
signo:(int) signal identifier
Return:

None

remove_attribute(attr_name)

remove_attribute (self, attr_name) -> None

Remove one attribute from the device attribute list.
Parameters:
attr_name:(str) attribute name
Return:

None

Throws:

DevFailed

set_archive_event()

set_archive_event (self, attr_name, implemented, detect=True) -> None

Set an implemented flag for the attribute to indicate that the server fires archive events manually, without the polling to be started. If the detect parameter is set to true, the criteria specified for the archive event are verified and the event is only pushed if they are fullfilled. If detect is set to false the event is fired without any value checking!
Parameters:
attr_name:(str) attribute name
implemented:(bool) True when the server fires change events manually.
detect:(bool) Triggers the verification of the change event properties when set to true. Default value is true.
Return:

None

set_change_event()

set_change_event (self, attr_name, implemented, detect=True) -> None

Set an implemented flag for the attribute to indicate that the server fires change events manually, without the polling to be started. If the detect parameter is set to true, the criteria specified for the change event are verified and the event is only pushed if they are fullfilled. If detect is set to false the event is fired without any value checking!
Parameters:
attr_name:(str) attribute name
implemented:(bool) True when the server fires change events manually.
detect:(bool) Triggers the verification of the change event properties when set to true. Default value is true.
Return:

None

set_state()

set_state (self, new_state) -> None

Set device state.
Parameters:
new_state:(DevState) the new device state
Return:

None

set_status()

set_status (self, new_status) -> None

Set device status.
Parameters:
new_status:(str) the new device status
Return:

None

unregister_signal()

unregister_signal (self, signo) -> None

Unregister a signal. Unregister this device as device to be informed when signal signo is sent to to the device server process
Parameters:
signo:(int) signal identifier
Return:

None

warn_stream(*msg)

warn_stream (self, *msg) -> None

Sends the given message to the tango warn stream.
Parameters:
msg:(str) the message to be sent to the warn stream
Return:

None

Device_3Impl

class PyTango.Device_3Impl

Bases: PyTango._PyTango.Device_2Impl

add_attribute(attr, r_meth=None, w_meth=None, is_allo_meth=None)

add_attribute (self, attr, r_meth=None, w_meth=None, is_allo_meth=None) -> None

Add a new attribute to the device attribute list. Please, note that if you add an attribute to a device at device creation time, this attribute will be added to the device class attribute list. Therefore, all devices belonging to the same class created after this attribute addition will also have this attribute.
Parameters:

attr : (Attr) the new attribute to be added to the list. r_meth : (callable) the read method to be called on a read request w_meth : (callable) th write method to be called on a write request (if attr is writable) is_allo_meth: (callable) the method that is called to check if it is possible to access

the attribute or not

Return:

None

Throws:

DevFailed

always_executed_hook()

always_executed_hook (self) -> None

Hook method. Default method to implement an action necessary on a device before any command is executed. This method can be redefined in sub-classes in case of the default behaviour does not fullfill the needs
Parameters:None
Return:None
Throws:DevFailed This method does not throw exception but a redefined method can.
append_status()

append_status (self, status, new_line=False) -> None

Appends a string to the device status.
Parameters:status : (str) the string to be appened to the device status new_line : (bool) If true, appends a new line character before the string. Default is False
Return:None
debug_stream(*msg)

debug_stream (self, *msg) -> None

Sends the given message to the tango debug stream.
Parameters:
msg:(str) the message to be sent to the debug stream
Return:

None

dev_state()

dev_state (self) -> DevState

Get device state. Default method to get device state. The behaviour of this method depends on the device state. If the device state is ON or ALARM, it reads the attribute(s) with an alarm level defined, check if the read value is above/below the alarm and eventually change the state to ALARM, return the device state. For all th other device state, this method simply returns the state This method can be redefined in sub-classes in case of the default behaviour does not fullfill the needs.
Parameters:None
Return:(DevState) the device state
Throws:DevFailed - If it is necessary to read attribute(s) and a problem occurs during the reading
dev_status()

dev_status (self) -> str

Get device status. Default method to get device status. It returns the contents of the device dev_status field. If the device state is ALARM, alarm messages are added to the device status. This method can be redefined in sub-classes in case of the default behaviour does not fullfill the needs.
Parameters:None
Return:(str) the device status
Throws:DevFailed - If it is necessary to read attribute(s) and a problem occurs during the reading
error_stream(*msg)

error_stream (self, *msg) -> None

Sends the given message to the tango error stream.
Parameters:
msg:(str) the message to be sent to the error stream
Return:

None

fatal_stream(*msg)

fatal_stream (self, *msg) -> None

Sends the given message to the tango fatal stream.
Parameters:
msg:(str) the message to be sent to the fatal stream
Return:

None

get_device_attr()

get_device_attr (self) -> MultiAttribute

Get device multi attribute object.
Parameters:None
Return:(MultiAttribute) the device’s MultiAttribute object
get_device_properties(ds_class=None)

get_device_properties (self, ds_class = None) -> None

Utility method that fetches all the device properties from the database and converts them into members of this DeviceImpl.
Parameters:
ds_class:(DeviceClass) the DeviceClass object. Optional. Default value is None meaning that the corresponding DeviceClass object for this DeviceImpl will be used
Return:

None

Throws:

DevFailed

get_logger()

get_logger (self) -> Logger

Returns the Logger object for this device
Parameters:None
Return:(Logger) the Logger object for this device
get_name()

get_name (self) -> (str)

Get a COPY of the device name.
Parameters:None
Return:(str) the device name
get_prev_state()

get_prev_state (self) -> DevState

Get a COPY of the device’s previous state.
Parameters:None
Return:(DevState) the device’s previous state
get_state()

get_state (self) -> DevState

Get a COPY of the device state.
Parameters:None
Return:(DevState) Current device state
get_status()

get_status (self, ) -> str

Get a COPY of the device status.
Parameters:None
Return:(str) the device status
info_stream(*msg)

info_stream (self, *msg) -> None

Sends the given message to the tango info stream.
Parameters:
msg:(str) the message to be sent to the info stream
Return:

None

push_archive_event()

push_archive_event (self, attr_name) -> None

push_archive_event (self, attr_name, except) -> None

push_archive_event (self, attr_name, data, dim_x = 1, dim_y = 0) -> None

push_archive_event (self, attr_name, str_data, data) -> None

push_archive_event (self, attr_name, data, time_stamp, quality, dim_x = 1, dim_y = 0) -> None

push_archive_event (self, attr_name, str_data, data, time_stamp, quality) -> None

Push an archive event for the given attribute name. The event is pushed to the notification daemon.
Parameters:
attr_name:(str) attribute name
data:the data to be sent as attribute event data. Data must be compatible with the attribute type and format. for SPECTRUM and IMAGE attributes, data can be any type of sequence of elements compatible with the attribute type
str_data:(str) special variation for DevEncoded data type. In this case ‘data’ must also be a str.
except:(DevFailed) Instead of data, you may want to send an exception.
dim_x:(int) the attribute x length. Default value is 1
dim_y:(int) the attribute y length. Default value is 0
time_stamp:(double) the time stamp
quality:(AttrQuality) the attribute quality factor
Throws:

DevFailed If the attribute data type is not coherent.

push_change_event()

push_change_event (self, attr_name) -> None

push_change_event (self, attr_name, except) -> None

push_change_event (self, attr_name, data, dim_x = 1, dim_y = 0) -> None

push_change_event (self, attr_name, str_data, data) -> None

push_change_event (self, attr_name, data, time_stamp, quality, dim_x = 1, dim_y = 0) -> None

push_change_event (self, attr_name, str_data, data, time_stamp, quality) -> None

Push a change event for the given attribute name. The event is pushed to the notification daemon.

Parameters:
attr_name:(str) attribute name
data:the data to be sent as attribute event data. Data must be compatible with the attribute type and format. for SPECTRUM and IMAGE attributes, data can be any type of sequence of elements compatible with the attribute type
str_data:(str) special variation for DevEncoded data type. In this case ‘data’ must also be a str.
except:(DevFailed) Instead of data, you may want to send an exception.
dim_x:(int) the attribute x length. Default value is 1
dim_y:(int) the attribute y length. Default value is 0
time_stamp:(double) the time stamp
quality:(AttrQuality) the attribute quality factor
Throws:

DevFailed If the attribute data type is not coherent.

push_data_ready_event()

push_data_ready_event (self, attr_name, counter = 0) -> None

Push a data ready event for the given attribute name. The event is pushed to the notification daemon.

The method needs only the attribue name and an optional “counter” which will be passed unchanged within the event

Parameters:
attr_name:(str) attribute name
counter:(int) the user counter
Return:

None

Throws:

DevFailed If the attribute name is unknown.

push_event()

push_event (self, attr_name, filt_names, filt_vals) -> None

push_event (self, attr_name, filt_names, filt_vals, data, dim_x = 1, dim_y = 0) -> None

push_event (self, attr_name, filt_names, filt_vals, str_data, data) -> None

push_event (self, attr_name, filt_names, filt_vals, data, time_stamp, quality, dim_x = 1, dim_y = 0) -> None

push_event (self, attr_name, filt_names, filt_vals, str_data, data, time_stamp, quality) -> None

Push a user event for the given attribute name. The event is pushed to the notification daemon.
Parameters:
attr_name:(str) attribute name
filt_names:(sequence<str>) the filterable fields name
filt_vals:(sequence<double>) the filterable fields value
data:the data to be sent as attribute event data. Data must be compatible with the attribute type and format. for SPECTRUM and IMAGE attributes, data can be any type of sequence of elements compatible with the attribute type
str_data:(str) special variation for DevEncoded data type. In this case ‘data’ must also be a str.
dim_x:(int) the attribute x length. Default value is 1
dim_y:(int) the attribute y length. Default value is 0
time_stamp:(double) the time stamp
quality:(AttrQuality) the attribute quality factor
Throws:

DevFailed If the attribute data type is not coherent.

py_exec_wir(dev, name, in_par=None)
for internal usage only
read_attr_hardware()

read_attr_hardware (self, attr_list) -> None

Read the hardware to return attribute value(s). Default method to implement an action necessary on a device to read the hardware involved in a a read attribute CORBA call. This method must be redefined in sub-classes in order to support attribute reading
Parameters:
attr_list : (sequence<int>) list of indices in the device object attribute vector

of an attribute to be read.

Return:

None

Throws:

DevFailed This method does not throw exception but a redefined method can.

register_signal()

register_signal (self, signo) -> None

Register a signal. Register this device as device to be informed when signal signo is sent to to the device server process
Parameters:
signo:(int) signal identifier
Return:

None

remove_attribute(attr_name)

remove_attribute (self, attr_name) -> None

Remove one attribute from the device attribute list.
Parameters:
attr_name:(str) attribute name
Return:

None

Throws:

DevFailed

set_archive_event()

set_archive_event (self, attr_name, implemented, detect=True) -> None

Set an implemented flag for the attribute to indicate that the server fires archive events manually, without the polling to be started. If the detect parameter is set to true, the criteria specified for the archive event are verified and the event is only pushed if they are fullfilled. If detect is set to false the event is fired without any value checking!
Parameters:
attr_name:(str) attribute name
implemented:(bool) True when the server fires change events manually.
detect:(bool) Triggers the verification of the change event properties when set to true. Default value is true.
Return:

None

set_change_event()

set_change_event (self, attr_name, implemented, detect=True) -> None

Set an implemented flag for the attribute to indicate that the server fires change events manually, without the polling to be started. If the detect parameter is set to true, the criteria specified for the change event are verified and the event is only pushed if they are fullfilled. If detect is set to false the event is fired without any value checking!
Parameters:
attr_name:(str) attribute name
implemented:(bool) True when the server fires change events manually.
detect:(bool) Triggers the verification of the change event properties when set to true. Default value is true.
Return:

None

set_state()

set_state (self, new_state) -> None

Set device state.
Parameters:
new_state:(DevState) the new device state
Return:

None

set_status()

set_status (self, new_status) -> None

Set device status.
Parameters:
new_status:(str) the new device status
Return:

None

signal_handler()

signal_handler (self, signo) -> None

Signal handler. The method executed when the signal arrived in the device server process. This method is defined as virtual and then, can be redefined following device needs.
Parameters:
signo:(int) the signal number
Return:

None

Throws:

DevFailed This method does not throw exception but a redefined method can.

unregister_signal()

unregister_signal (self, signo) -> None

Unregister a signal. Unregister this device as device to be informed when signal signo is sent to to the device server process
Parameters:
signo:(int) signal identifier
Return:

None

warn_stream(*msg)

warn_stream (self, *msg) -> None

Sends the given message to the tango warn stream.
Parameters:
msg:(str) the message to be sent to the warn stream
Return:

None

write_attr_hardware()

write_attr_hardware (self) -> None

Write the hardware for attributes. Default method to implement an action necessary on a device to write the hardware involved in a a write attribute. This method must be

redefined in sub-classes in order to support writable attribute
Parameters:
attr_list : (sequence<int>) list of indices in the device object attribute vector

of an attribute to be written.

Return:

None

Throws:

DevFailed This method does not throw exception but a redefined method can.

Device_4Impl

class PyTango.Device_4Impl

Bases: PyTango._PyTango.Device_3Impl

add_attribute(attr, r_meth=None, w_meth=None, is_allo_meth=None)

add_attribute (self, attr, r_meth=None, w_meth=None, is_allo_meth=None) -> None

Add a new attribute to the device attribute list. Please, note that if you add an attribute to a device at device creation time, this attribute will be added to the device class attribute list. Therefore, all devices belonging to the same class created after this attribute addition will also have this attribute.
Parameters:

attr : (Attr) the new attribute to be added to the list. r_meth : (callable) the read method to be called on a read request w_meth : (callable) th write method to be called on a write request (if attr is writable) is_allo_meth: (callable) the method that is called to check if it is possible to access

the attribute or not

Return:

None

Throws:

DevFailed

always_executed_hook()

always_executed_hook (self) -> None

Hook method. Default method to implement an action necessary on a device before any command is executed. This method can be redefined in sub-classes in case of the default behaviour does not fullfill the needs
Parameters:None
Return:None
Throws:DevFailed This method does not throw exception but a redefined method can.
append_status()

append_status (self, status, new_line=False) -> None

Appends a string to the device status.
Parameters:status : (str) the string to be appened to the device status new_line : (bool) If true, appends a new line character before the string. Default is False
Return:None
debug_stream(*msg)

debug_stream (self, *msg) -> None

Sends the given message to the tango debug stream.
Parameters:
msg:(str) the message to be sent to the debug stream
Return:

None

dev_state()

dev_state (self) -> DevState

Get device state. Default method to get device state. The behaviour of this method depends on the device state. If the device state is ON or ALARM, it reads the attribute(s) with an alarm level defined, check if the read value is above/below the alarm and eventually change the state to ALARM, return the device state. For all th other device state, this method simply returns the state This method can be redefined in sub-classes in case of the default behaviour does not fullfill the needs.
Parameters:None
Return:(DevState) the device state
Throws:DevFailed - If it is necessary to read attribute(s) and a problem occurs during the reading
dev_status()

dev_status (self) -> str

Get device status. Default method to get device status. It returns the contents of the device dev_status field. If the device state is ALARM, alarm messages are added to the device status. This method can be redefined in sub-classes in case of the default behaviour does not fullfill the needs.
Parameters:None
Return:(str) the device status
Throws:DevFailed - If it is necessary to read attribute(s) and a problem occurs during the reading
error_stream(*msg)

error_stream (self, *msg) -> None

Sends the given message to the tango error stream.
Parameters:
msg:(str) the message to be sent to the error stream
Return:

None

fatal_stream(*msg)

fatal_stream (self, *msg) -> None

Sends the given message to the tango fatal stream.
Parameters:
msg:(str) the message to be sent to the fatal stream
Return:

None

get_device_attr()

get_device_attr (self) -> MultiAttribute

Get device multi attribute object.
Parameters:None
Return:(MultiAttribute) the device’s MultiAttribute object
get_device_properties(ds_class=None)

get_device_properties (self, ds_class = None) -> None

Utility method that fetches all the device properties from the database and converts them into members of this DeviceImpl.
Parameters:
ds_class:(DeviceClass) the DeviceClass object. Optional. Default value is None meaning that the corresponding DeviceClass object for this DeviceImpl will be used
Return:

None

Throws:

DevFailed

get_logger()

get_logger (self) -> Logger

Returns the Logger object for this device
Parameters:None
Return:(Logger) the Logger object for this device
get_name()

get_name (self) -> (str)

Get a COPY of the device name.
Parameters:None
Return:(str) the device name
get_prev_state()

get_prev_state (self) -> DevState

Get a COPY of the device’s previous state.
Parameters:None
Return:(DevState) the device’s previous state
get_state()

get_state (self) -> DevState

Get a COPY of the device state.
Parameters:None
Return:(DevState) Current device state
get_status()

get_status (self, ) -> str

Get a COPY of the device status.
Parameters:None
Return:(str) the device status
info_stream(*msg)

info_stream (self, *msg) -> None

Sends the given message to the tango info stream.
Parameters:
msg:(str) the message to be sent to the info stream
Return:

None

push_archive_event()

push_archive_event (self, attr_name) -> None

push_archive_event (self, attr_name, except) -> None

push_archive_event (self, attr_name, data, dim_x = 1, dim_y = 0) -> None

push_archive_event (self, attr_name, str_data, data) -> None

push_archive_event (self, attr_name, data, time_stamp, quality, dim_x = 1, dim_y = 0) -> None

push_archive_event (self, attr_name, str_data, data, time_stamp, quality) -> None

Push an archive event for the given attribute name. The event is pushed to the notification daemon.
Parameters:
attr_name:(str) attribute name
data:the data to be sent as attribute event data. Data must be compatible with the attribute type and format. for SPECTRUM and IMAGE attributes, data can be any type of sequence of elements compatible with the attribute type
str_data:(str) special variation for DevEncoded data type. In this case ‘data’ must also be a str.
except:(DevFailed) Instead of data, you may want to send an exception.
dim_x:(int) the attribute x length. Default value is 1
dim_y:(int) the attribute y length. Default value is 0
time_stamp:(double) the time stamp
quality:(AttrQuality) the attribute quality factor
Throws:

DevFailed If the attribute data type is not coherent.

push_change_event()

push_change_event (self, attr_name) -> None

push_change_event (self, attr_name, except) -> None

push_change_event (self, attr_name, data, dim_x = 1, dim_y = 0) -> None

push_change_event (self, attr_name, str_data, data) -> None

push_change_event (self, attr_name, data, time_stamp, quality, dim_x = 1, dim_y = 0) -> None

push_change_event (self, attr_name, str_data, data, time_stamp, quality) -> None

Push a change event for the given attribute name. The event is pushed to the notification daemon.

Parameters:
attr_name:(str) attribute name
data:the data to be sent as attribute event data. Data must be compatible with the attribute type and format. for SPECTRUM and IMAGE attributes, data can be any type of sequence of elements compatible with the attribute type
str_data:(str) special variation for DevEncoded data type. In this case ‘data’ must also be a str.
except:(DevFailed) Instead of data, you may want to send an exception.
dim_x:(int) the attribute x length. Default value is 1
dim_y:(int) the attribute y length. Default value is 0
time_stamp:(double) the time stamp
quality:(AttrQuality) the attribute quality factor
Throws:

DevFailed If the attribute data type is not coherent.

push_data_ready_event()

push_data_ready_event (self, attr_name, counter = 0) -> None

Push a data ready event for the given attribute name. The event is pushed to the notification daemon.

The method needs only the attribue name and an optional “counter” which will be passed unchanged within the event

Parameters:
attr_name:(str) attribute name
counter:(int) the user counter
Return:

None

Throws:

DevFailed If the attribute name is unknown.

push_event()

push_event (self, attr_name, filt_names, filt_vals) -> None

push_event (self, attr_name, filt_names, filt_vals, data, dim_x = 1, dim_y = 0) -> None

push_event (self, attr_name, filt_names, filt_vals, str_data, data) -> None

push_event (self, attr_name, filt_names, filt_vals, data, time_stamp, quality, dim_x = 1, dim_y = 0) -> None

push_event (self, attr_name, filt_names, filt_vals, str_data, data, time_stamp, quality) -> None

Push a user event for the given attribute name. The event is pushed to the notification daemon.
Parameters:
attr_name:(str) attribute name
filt_names:(sequence<str>) the filterable fields name
filt_vals:(sequence<double>) the filterable fields value
data:the data to be sent as attribute event data. Data must be compatible with the attribute type and format. for SPECTRUM and IMAGE attributes, data can be any type of sequence of elements compatible with the attribute type
str_data:(str) special variation for DevEncoded data type. In this case ‘data’ must also be a str.
dim_x:(int) the attribute x length. Default value is 1
dim_y:(int) the attribute y length. Default value is 0
time_stamp:(double) the time stamp
quality:(AttrQuality) the attribute quality factor
Throws:

DevFailed If the attribute data type is not coherent.

py_exec_wir(dev, name, in_par=None)
for internal usage only
read_attr_hardware()

read_attr_hardware (self, attr_list) -> None

Read the hardware to return attribute value(s). Default method to implement an action necessary on a device to read the hardware involved in a a read attribute CORBA call. This method must be redefined in sub-classes in order to support attribute reading
Parameters:
attr_list : (sequence<int>) list of indices in the device object attribute vector

of an attribute to be read.

Return:

None

Throws:

DevFailed This method does not throw exception but a redefined method can.

register_signal()

register_signal (self, signo) -> None

Register a signal. Register this device as device to be informed when signal signo is sent to to the device server process
Parameters:
signo:(int) signal identifier
Return:

None

remove_attribute(attr_name)

remove_attribute (self, attr_name) -> None

Remove one attribute from the device attribute list.
Parameters:
attr_name:(str) attribute name
Return:

None

Throws:

DevFailed

set_archive_event()

set_archive_event (self, attr_name, implemented, detect=True) -> None

Set an implemented flag for the attribute to indicate that the server fires archive events manually, without the polling to be started. If the detect parameter is set to true, the criteria specified for the archive event are verified and the event is only pushed if they are fullfilled. If detect is set to false the event is fired without any value checking!
Parameters:
attr_name:(str) attribute name
implemented:(bool) True when the server fires change events manually.
detect:(bool) Triggers the verification of the change event properties when set to true. Default value is true.
Return:

None

set_change_event()

set_change_event (self, attr_name, implemented, detect=True) -> None

Set an implemented flag for the attribute to indicate that the server fires change events manually, without the polling to be started. If the detect parameter is set to true, the criteria specified for the change event are verified and the event is only pushed if they are fullfilled. If detect is set to false the event is fired without any value checking!
Parameters:
attr_name:(str) attribute name
implemented:(bool) True when the server fires change events manually.
detect:(bool) Triggers the verification of the change event properties when set to true. Default value is true.
Return:

None

set_state()

set_state (self, new_state) -> None

Set device state.
Parameters:
new_state:(DevState) the new device state
Return:

None

set_status()

set_status (self, new_status) -> None

Set device status.
Parameters:
new_status:(str) the new device status
Return:

None

signal_handler()

signal_handler (self, signo) -> None

Signal handler. The method executed when the signal arrived in the device server process. This method is defined as virtual and then, can be redefined following device needs.
Parameters:
signo:(int) the signal number
Return:

None

Throws:

DevFailed This method does not throw exception but a redefined method can.

unregister_signal()

unregister_signal (self, signo) -> None

Unregister a signal. Unregister this device as device to be informed when signal signo is sent to to the device server process
Parameters:
signo:(int) signal identifier
Return:

None

warn_stream(*msg)

warn_stream (self, *msg) -> None

Sends the given message to the tango warn stream.
Parameters:
msg:(str) the message to be sent to the warn stream
Return:

None

write_attr_hardware()

write_attr_hardware (self) -> None

Write the hardware for attributes. Default method to implement an action necessary on a device to write the hardware involved in a a write attribute. This method must be

redefined in sub-classes in order to support writable attribute
Parameters:
attr_list : (sequence<int>) list of indices in the device object attribute vector

of an attribute to be written.

Return:

None

Throws:

DevFailed This method does not throw exception but a redefined method can.

DServer

class PyTango.DServer
Bases: PyTango._PyTango.Device_4Impl