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 () ->
NoneDestroy 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_modelGet the asynchronous callback sub-model.
- Returns:
the active asynchronous callback sub-model
- Return type:
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) ->
NoneFire 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.
- Returns:
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, timeout: typing.SupportsInt) -> None
get_asynch_replies (self, timeout: int) ->
NoneFire 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.
- Parameters:
timeout (int) – timeout in milliseconds
- Returns:
None
- Throws:
AsynReplyNotArrivedif 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(name: str) object¶
get_env_var (name) ->
strReturn the environment variable for the given name.
- Parameters:
name (str) – Environment variable name
- Returns:
The value of the environment variable
- Return type:
str
- get_ip_from_if(self: tango._tango.ApiUtil, interface_name: tango._tango.StdStringVector) None¶
get_ip_from_if (self, interface_name: str) ->
strGet the IP address for the given network interface name.
- Parameters:
interface_name (str) – The name of the network interface
- Returns:
IP address associated to that interface
- Return type:
str
- get_user_connect_timeout(self: tango._tango.ApiUtil) int¶
get_user_connect_timeout (self) ->
intGet the user connect timeout (in milliseconds).
- Returns:
The timeout in milliseconds
- Return type:
int
- in_server(self: tango._tango.ApiUtil) bool¶
in_server () ->
boolReturns True if the current process is running a Tango device server.
- Returns:
True if running in a server, otherwise False
- Return type:
bool
Added in version 10.0.0.
- static instance() tango._tango.ApiUtil¶
instance () ->
ApiUtilReturns 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) ->
boolCheck if the notifd event consumer was created.
- Returns:
True if created, False otherwise
- Return type:
bool
- is_zmq_event_consumer_created(self: tango._tango.ApiUtil) bool¶
is_zmq_event_consumer_created (self) ->
boolCheck if the ZMQ event consumer was created.
- Returns:
True if created, False otherwise
- Return type:
bool
- pending_asynch_call(self: tango._tango.ApiUtil, req: tango._tango.asyn_req_type) int¶
pending_asynch_call (self, req) ->
intReturn 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:
the number of pending requests for the given type
- Return type:
int
New in PyTango 7.1.3
- set_asynch_cb_sub_model(self: tango._tango.ApiUtil, model: tango._tango.cb_sub_model) None¶
set_asynch_cb_sub_model (self, model) ->
NoneSet 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:
min_alarm : (
str) low alarm levelmax_alarm : (
str) high alarm levelmin_warning : (
str) low warning levelmax_warning : (
str) high warning leveldelta_t : (
str) time deltadelta_val : (
str) value deltaextensions : (
StdStringVector) extensions (currently not used)
- class tango.AttributeDimension¶
A structure containing x and y attribute data dimensions with the following members:
dim_x : (
int) x dimensiondim_y : (
int) y dimension
- 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:
dev_class : (
str) device classserver_id : (
str) server IDserver_host : (
str) host nameserver_version : (
str) server versiondoc_url : (
str) document urlversion_info : (dict<str, str>) version info dict
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:
dev_name : (
str) device nameind_list : (sequence<
int>) index list
New in PyTango 7.0.0
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(*values)¶
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
- List = 4¶
- Numpy = 0¶
- String = 5¶
- Tuple = 3¶
- class except_flags(*values)¶
- get_date(self: tango._tango.DeviceAttribute) tango._tango.TimeVal¶
get_date (self) ->
TimeValGet 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) list[DevError]¶
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, val: SupportsInt) None¶
set_w_dim_x (self, val) ->
NoneSets 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, val: SupportsInt) None¶
set_w_dim_y (self, val) ->
NoneSets 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.
- class except_flags(*values)¶
- extract(self: object, extract_as: tango._tango.ExtractAs = ExtractAs.Numpy) object¶
extract (self) ->
anyGet 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) ->
CmdArgTypeThis 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: SupportsInt, value: object) None¶
insert (self, data_type, value) ->
NoneInserts 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) ->
boolIt 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_date (self) ->
TimeValGet record polling date
- Returns:
the date when the device server polling thread has executed the command
- Return type:
- get_err_stack(self: tango._tango.DeviceDataHistory) list[DevError]¶
get_err_stack (self) ->
DevErrorListGet record error stack
- Returns:
the error stack recorded by the device server polling thread in case of the command failed when it was invoked
- Return type:
DevErrorList
- has_failed(self: tango._tango.DeviceDataHistory) bool¶
has_failed (self) ->
boolCheck if the record was a failure
- Returns:
a boolean set to true if the record in the polling buffer was a failure
- Return type:
bool
See DeviceData.