API util#
- class tango.ApiUtil#
This class allows you to access the tango synchronization model API. It is designed as a singleton. To get a reference to the singleton object you must do:
import tango apiutil = tango.ApiUtil.instance()
New in PyTango 7.1.3
- static cleanup() None #
cleanup () ->
None
Destroy the ApiUtil singleton instance. After calling cleanup(), any existing DeviceProxy, AttributeProxy, or Database objects become invalid and must be reconstructed.
- Returns:
None
New in PyTango 9.3.0
- get_asynch_cb_sub_model(self: tango._tango.ApiUtil) tango._tango.cb_sub_model #
get_asynch_cb_sub_model (self) ->
cb_sub_model
Get the asynchronous callback sub-model.
- Returns:
(cb_sub_model) the active asynchronous callback sub-model
New in PyTango 7.1.3
- get_asynch_replies(*args, **kwargs)#
Overloaded function.
get_asynch_replies(self: tango._tango.ApiUtil) -> None
get_asynch_replies(self) -> None
Fire callback methods for all asynchronous requests (command and attribute) which already have arrived replies. Returns immediately if no replies arrived or there are no asynchronous requests.
- return:
None
- Throws:
None, all errors are reported via the callback’s err/errors fields.
New in PyTango 7.1.3
get_asynch_replies(self: tango._tango.ApiUtil, arg0: int) -> None
get_asynch_replies(self, timeout: int) -> None
Fire callback methods for all asynchronous requests (command and attributes) with already arrived replies. Wait up to timeout milliseconds if some replies haven’t arrived yet. If timeout=0, waits until all requests receive a reply.
- param timeout:
(int) timeout in milliseconds
- return:
None
- Throws:
AsynReplyNotArrived
if some replies did not arrive in time. Other errors are reported via the callback’s err/errors fields.
New in PyTango 7.1.3
- static get_env_var(arg0: str) object #
get_env_var (name) ->
str
Return the environment variable for the given name.
- Parameters:
name – (str) Environment variable name
- Returns:
(str) The value of the environment variable
- get_ip_from_if(self: tango._tango.ApiUtil, arg0: tango._tango.StdStringVector) None #
get_ip_from_if (self, interface_name: str) ->
str
Get the IP address for the given network interface name.
- Parameters:
interface_name – (str) The name of the network interface
- Returns:
(str) IP address associated to that interface
- get_user_connect_timeout(self: tango._tango.ApiUtil) int #
get_user_connect_timeout (self) ->
int
Get the user connect timeout (in milliseconds).
- Returns:
(int) The timeout in milliseconds
- in_server(self: tango._tango.ApiUtil) bool #
in_server () ->
bool
Returns True if the current process is running a Tango device server.
- Returns:
(bool) True if running in a server, otherwise False
Added in version 10.0.0.
- static instance() tango._tango.ApiUtil #
instance () ->
ApiUtil
Returns the ApiUtil singleton instance.
- Returns:
(ApiUtil) a reference to the ApiUtil singleton object.
New in PyTango 7.1.3
- is_notifd_event_consumer_created(self: tango._tango.ApiUtil) bool #
is_notifd_event_consumer_created (self) ->
bool
Check if the notifd event consumer was created.
- Returns:
(bool) True if created, False otherwise
- is_zmq_event_consumer_created(self: tango._tango.ApiUtil) bool #
is_zmq_event_consumer_created (self) ->
bool
Check if the ZMQ event consumer was created.
- Returns:
(bool) True if created, False otherwise
- pending_asynch_call(self: tango._tango.ApiUtil, arg0: tango._tango.asyn_req_type) int #
pending_asynch_call (self, req) ->
int
Return the number of asynchronous pending requests (any device). The input parameter is an enumeration with three values: - POLLING - CALL_BACK - ALL_ASYNCH
- Parameters:
req – (asyn_req_type) asynchronous request type
- Returns:
(int) the number of pending requests for the given type
New in PyTango 7.1.3
- set_asynch_cb_sub_model(self: tango._tango.ApiUtil, arg0: tango._tango.cb_sub_model) None #
set_asynch_cb_sub_model (self, model) ->
None
Set the asynchronous callback sub-model between PULL_CALLBACK or PUSH_CALLBACK.
- Parameters:
model – (cb_sub_model) the callback sub-model
- Returns:
None
New in PyTango 7.1.3
Information classes#
See also [Event configuration information]
Attribute#
- class tango.AttributeAlarmInfo#
A structure containing available alarm information for an attribute with the following members:
- class tango.AttributeDimension#
A structure containing x and y attribute data dimensions with the following members:
- class tango.AttributeInfo#
A structure (inheriting from
DeviceAttributeConfig
) containing available information for an attribute with the following members:disp_level : (
DispLevel
) display level (OPERATOR, EXPERT)
Inherited members are:
name : (
str
) attribute namewritable : (
AttrWriteType
) write type (R, W, RW, R with W)data_format : (
AttrDataFormat
) data format (SCALAR, SPECTRUM, IMAGE)data_type : (
int
) attribute type (float, string,..)max_dim_x : (
int
) first dimension of attribute (spectrum or image attributes)max_dim_y : (
int
) second dimension of attribute(image attribute)description : (
int
) attribute descriptionlabel : (
str
) attribute label (Voltage, time, …)unit : (
str
) attribute unit (V, ms, …)standard_unit : (
str
) standard unitdisplay_unit : (
str
) display unitformat : (
str
) how to display the attribute value (ex: for floats could be ‘%6.2f’)min_value : (
str
) minimum allowed valuemax_value : (
str
) maximum allowed valuemin_alarm : (
str
) low alarm levelmax_alarm : (
str
) high alarm levelwritable_attr_name : (
str
) name of the writable attributeextensions : (
StdStringVector
) extensions (currently not used)
- class tango.AttributeInfoEx#
A structure (inheriting from
AttributeInfo
) containing available information for an attribute with the following members:alarms : object containing alarm information (see AttributeAlarmInfo).
events : object containing event information (see AttributeEventInfo).
sys_extensions : StdStringVector
Inherited members are:
name : (
str
) attribute namewritable : (
AttrWriteType
) write type (R, W, RW, R with W)data_format : (
AttrDataFormat
) data format (SCALAR, SPECTRUM, IMAGE)data_type : (
int
) attribute type (float, string,..)max_dim_x : (
int
) first dimension of attribute (spectrum or image attributes)max_dim_y : (
int
) second dimension of attribute(image attribute)description : (
int
) attribute descriptionlabel : (
str
) attribute label (Voltage, time, …)unit : (
str
) attribute unit (V, ms, …)standard_unit : (
str
) standard unitdisplay_unit : (
str
) display unitformat : (
str
) how to display the attribute value (ex: for floats could be ‘%6.2f’)min_value : (
str
) minimum allowed valuemax_value : (
str
) maximum allowed valuemin_alarm : (
str
) low alarm levelmax_alarm : (
str
) high alarm levelwritable_attr_name : (
str
) name of the writable attributeextensions : (
StdStringVector
) extensions (currently not used)disp_level : (
DispLevel
) display level (OPERATOR, EXPERT)
see also AttributeInfo
- class tango.DeviceAttributeConfig#
A base structure containing available information for an attribute with the following members:
name : (
str
) attribute namewritable : (
AttrWriteType
) write type (R, W, RW, R with W)data_format : (
AttrDataFormat
) data format (SCALAR, SPECTRUM, IMAGE)data_type : (
int
) attribute type (float, string,..)max_dim_x : (
int
) first dimension of attribute (spectrum or image attributes)max_dim_y : (
int
) second dimension of attribute(image attribute)description : (
int
) attribute descriptionlabel : (
str
) attribute label (Voltage, time, …)unit : (
str
) attribute unit (V, ms, …)standard_unit : (
str
) standard unitdisplay_unit : (
str
) display unitformat : (
str
) how to display the attribute value (ex: for floats could be ‘%6.2f’)min_value : (
str
) minimum allowed valuemax_value : (
str
) maximum allowed valuemin_alarm : (
str
) low alarm levelmax_alarm : (
str
) high alarm levelwritable_attr_name : (
str
) name of the writable attributeextensions : (
StdStringVector
) extensions (currently not used)
Command#
- class tango.DevCommandInfo#
A device command info with the following members:
cmd_name : (
str
) command namecmd_tag : command as binary value (for TACO)
in_type : (
CmdArgType
) input typeout_type : (
CmdArgType
) output typein_type_desc : (
str
) description of input typeout_type_desc : (
str
) description of output type
New in PyTango 7.0.0
- class tango.CommandInfo#
A device command info (inheriting from
DevCommandInfo
) with the following members:disp_level : (
DispLevel
) command display level
Inherited members are (from
DevCommandInfo
):cmd_name : (
str
) command namecmd_tag : (
str
) command as binary value (for TACO)in_type : (
CmdArgType
) input typeout_type : (
CmdArgType
) output typein_type_desc : (
str
) description of input typeout_type_desc : (
str
) description of output type
Other#
- class tango.DeviceInfo#
- A structure containing available information for a device with the”
following members:
Changed in version 10.0.0: Added version_info field
- class tango.LockerInfo#
A structure with information about the locker with the following members:
ll : (
tango.LockerLanguage
) the locker languageli : (pid_t / UUID) the locker id
locker_host : (
str
) the hostlocker_class : (
str
) the class
pid_t should be an int, UUID should be a tuple of four numbers.
New in PyTango 7.0.0
- class tango.PollDevice#
A structure containing PollDevice information with the following members:
Storage classes#
Attribute: DeviceAttribute#
- class tango.DeviceAttribute(da=None)#
This is the fundamental type for RECEIVING data from device attributes.
It contains several fields. The most important ones depend on the ExtractAs method used to get the value. Normally they are:
value : Normal scalar value or numpy array of values.
w_value : The write part of the attribute.
See other ExtractAs for different possibilities. There are some more fields, these really fixed:
name : (
str
)data_format : (
AttrDataFormat
) Attribute formatquality : (
AttrQuality
)time : (
TimeVal
)dim_x : (
int
) attribute dimension xdim_y : (
int
) attribute dimension yw_dim_x : (
int
) attribute written dimension xw_dim_y : (
int
) attribute written dimension yr_dimension : (
tuple
) Attribute read dimensions.w_dimension : (
tuple
) Attribute written dimensions.nb_read : (
int
) attribute read total lengthnb_written : (
int
) attribute written total length
- And two methods:
get_date
get_err_stack
- class ExtractAs#
Defines what will go into value field of DeviceAttribute, or what will Attribute.get_write_value() return… Not all the possible values are valid in all the cases.
Members:
Numpy : Value will be stored in [value, w_value]. If the attribute is an scalar, they will contain a value. If it’s an SPECTRUM or IMAGE it will be exported as a numpy array
ByteArray
Bytes
Tuple : Value will be stored in [value, w_value]. If the attribute is an scalar, they will contain a value. If it’s an SPECTRUM or IMAGE it will be exported as a tuple or tuple of tuples
List : Value will be stored in [value, w_value]. If the attribute is an scalar, they will contain a value. If it’s an SPECTRUM or IMAGE it will be exported as a list or list of lists
String : The data will be stored ‘as is’, the binary data as it comes from TangoC++ in ‘value’
Nothing
- property name#
- get_date(self: tango._tango.DeviceAttribute) tango._tango.TimeVal #
get_date (self) ->
TimeVal
Get the time at which the attribute was read by the server.
Note: It’s the same as reading the “time” attribute.
- Parameters:
None
- Return:
(
TimeVal
) The attribute read timestamp.
- get_err_stack(self: tango._tango.DeviceAttribute) DevErrorList #
get_err_stack (self) -> sequence<
DevError
>Returns the error stack reported by the server when the attribute was read.
- Parameters:
None
- Return:
(sequence<
DevError
>)
- set_w_dim_x(self: tango._tango.DeviceAttribute, arg0: int) None #
set_w_dim_x (self, val) ->
None
Sets the write value dim x.
- Parameters:
- val:
(
int
) new write dim x
- Return:
None
New in PyTango 8.0.0
- set_w_dim_y(self: tango._tango.DeviceAttribute, arg0: int) None #
set_w_dim_y (self, val) ->
None
Sets the write value dim y.
- Parameters:
- val:
(
int
) new write dim y
- Return:
None
New in PyTango 8.0.0
Command: DeviceData#
Device data is the type used internally by Tango to deal with command parameters and return values. You don’t usually need to deal with it, as command_inout will automatically convert the parameters from any other type and the result value to another type.
You can still use them, using command_inout_raw to get the result in a DeviceData.
You also may deal with it when reading command history.
- class tango.DeviceData#
This is the fundamental type for sending and receiving data from device commands. The values can be inserted and extracted using the insert() and extract() methods.
- extract(self: object, extract_as: tango._tango.ExtractAs = <ExtractAs.Numpy: 0>) object #
extract (self) ->
any
Get the actual value stored in the DeviceData.
- Parameters:
None
- Return:
Whatever is stored there, or None.
- get_type(self: tango._tango.DeviceData) tango._tango.CmdArgType #
get_type (self) ->
CmdArgType
This method returns the Tango data type of the data inside the DeviceData object.
- Parameters:
None
- Return:
The content arg type.
- insert(self: tango._tango.DeviceData, data_type: int, value: object) None #
insert (self, data_type, value) ->
None
Inserts a value in the DeviceData.
- Parameters:
- data_type:
- value:
(
any
) The value to insert
- Return:
Whatever is stored there, or None.
- is_empty(self: tango._tango.DeviceData) bool #
is_empty (self) ->
bool
It can be used to test whether the DeviceData object has been initialized or not.
- Parameters:
None
- Return:
True or False depending on whether the DeviceData object contains data or not.
History classes#
- class tango.DeviceAttributeHistory#
Bases:
DeviceAttribute
- has_failed(self: tango._tango.DeviceAttributeHistory) bool #
See DeviceAttribute
.
- class tango.DeviceDataHistory#
Bases:
DeviceData
- get_date(self: tango._tango.DeviceDataHistory) tango._tango.TimeVal #
- get_err_stack(self: tango._tango.DeviceDataHistory) DevErrorList #
- has_failed(self: tango._tango.DeviceDataHistory) bool #
See DeviceData
.