SubarrayInterface Tango Device
Provides the Tango interface for an SKA subarray device.
This class extends
ObsInterfacewith the standard subarray command set and long running command (LRC) support viaLRCMixin, which supplies aTaskExecutor-backedtask_executorand the associated LRC attributes.Subclasses must override the
execute_*methods for each command and apply thesubmit_lrc_task()decorator to make them long running commands.Observation state is driven by writing to the signals inherited from
ObsInterface, primarily via_update_obs_state(). Thestarted_*andcompleted_*callbacks onAbstractSubarrayInterfacemanage thecommand_in_progressportion of the observation state automatically when usingsubmit_lrc_task().Use
AbstractSubarrayInterfacedirectly only when you need to supply your owntask_executorimplementation (e.g. viaComponentManagerLRCMixin).
Properties
- SubarrayInterface.CapabilityTypes
Types of capability supported by this subarray.
- Data type:
DevVarStringArray
- SubarrayInterface.LoggingLevelDefault
Default logging level at device startup.
- Data type:
DevUShort
- Default value:
4
- SubarrayInterface.LoggingTargetsDefault
Default logging targets at device startup.
- Data type:
DevVarStringArray
- Default value:
[‘tango::logger’]
- SubarrayInterface.SubID
Unique identifier for this subarray.
- Data type:
DevString
Attributes
- SubarrayInterface.State
The operational state of the device as enumeration.
- Access:
READ
- Data type:
DevState
- Data format:
SCALAR
- SubarrayInterface.Status
More detailed textual information about the device’s status.
- Access:
READ
- Data type:
DevString
- Data format:
SCALAR
- SubarrayInterface.activationTime
The time of activation in seconds since Unix epoch.
- Access:
READ
- Data type:
DevDouble
- Data format:
SCALAR
- Unit:
s
- SubarrayInterface.adminMode
The Admin Mode of the device.
Set by a client to mark the device for science or only engineering.
- Access:
READ_WRITE
- Data type:
DevEnum
- Data format:
SCALAR
- SubarrayInterface.assignedResources
The resources assigned to the device.
- Access:
READ
- Data type:
DevString
- Data format:
SPECTRUM
- Max_dim_x:
512
- SubarrayInterface.buildState
Read the Build State of the device.
- Access:
READ
- Data type:
DevString
- Data format:
SCALAR
- SubarrayInterface.commandedObsState
The last commanded stable Observation State of the device.
Initial value is EMPTY. The only stable states it can change to are EMPTY, IDLE, READY or ABORTED, following the start of any state transition command.
- Access:
READ
- Data type:
DevEnum
- Data format:
SCALAR
- SubarrayInterface.configurationDelayExpected
The expected configuration delay of the device in seconds.
- Access:
READ
- Data type:
DevUShort
- Data format:
SCALAR
- Unit:
seconds
- SubarrayInterface.configurationProgress
The percentage configuration progress of the device.
- Access:
READ
- Data type:
DevUShort
- Data format:
SCALAR
- Unit:
%
- SubarrayInterface.configuredCapabilities
The configured capabilities of the device.
For example, [“Correlators:512”, “PssBeams:4”, “PstBeams:4”, “VlbiBeams:0”].
- Access:
READ
- Data type:
DevString
- Data format:
SPECTRUM
- Max_dim_x:
10
- SubarrayInterface.healthInfo
Read the Health Info of the device.
It provides an explanation for the currently reported Health State
- Access:
READ
- Data type:
DevString
- Data format:
SPECTRUM
- Max_dim_x:
256
- SubarrayInterface.healthState
Read the Health State of the device.
It interprets the current device condition and condition of all managed devices to set this.
- Access:
READ
- Data type:
DevEnum
- Data format:
SCALAR
- SubarrayInterface.loggingLevel
Read the logging level of the device.
Initialises to LoggingLevelDefault on startup. See
LoggingLevel- Access:
READ_WRITE
- Data type:
DevEnum
- Data format:
SCALAR
- SubarrayInterface.loggingTargets
Read the additional logging targets of the device.
Note that this excludes the handlers provided by the ska_ser_logging library defaults - initialises to LoggingTargetsDefault on startup.
- Access:
READ_WRITE
- Data type:
DevString
- Data format:
SPECTRUM
- Max_dim_x:
4
- SubarrayInterface.longRunningCommandIDsInQueue
A Tango attribute backed by a software signal.
- Access:
READ
- Data type:
DevString
- Data format:
SPECTRUM
- Max_dim_x:
66
- SubarrayInterface.longRunningCommandInProgress
A Tango attribute backed by a software signal.
- Access:
READ
- Data type:
DevString
- Data format:
SPECTRUM
- Max_dim_x:
2
- SubarrayInterface.longRunningCommandProgress
A Tango attribute backed by a software signal.
- Access:
READ
- Data type:
DevString
- Data format:
SPECTRUM
- Max_dim_x:
4
- SubarrayInterface.longRunningCommandResult
A Tango attribute backed by a software signal.
- Access:
READ
- Data type:
DevString
- Data format:
SPECTRUM
- Max_dim_x:
2
- SubarrayInterface.longRunningCommandStatus
A Tango attribute backed by a software signal.
- Access:
READ
- Data type:
DevString
- Data format:
SPECTRUM
- Max_dim_x:
132
- SubarrayInterface.longRunningCommandsInQueue
A Tango attribute backed by a software signal.
- Access:
READ
- Data type:
DevString
- Data format:
SPECTRUM
- Max_dim_x:
66
- SubarrayInterface.lrcExecuting
A list of info JSON blobs of the currently executing commands.
- Access:
READ
- Data type:
DevString
- Data format:
SPECTRUM
- Max_dim_x:
2
- SubarrayInterface.lrcFinished
A list of info JSON blobs of the finished long running commands.
- Access:
READ
- Data type:
DevString
- Data format:
SPECTRUM
- Max_dim_x:
100
- SubarrayInterface.lrcProtocolVersions
Return supported protocol versions.
- Access:
READ
- Data type:
DevLong64
- Data format:
SPECTRUM
- Max_dim_x:
2
- SubarrayInterface.lrcQueue
A list of info JSON blobs of the commands in queue.
- Access:
READ
- Data type:
DevString
- Data format:
SPECTRUM
- Max_dim_x:
32
- SubarrayInterface.obsState
The Observation State of the device.
- Access:
READ
- Data type:
DevEnum
- Data format:
SCALAR
- SubarrayInterface.versionId
Read the Version Id of the device.
- Access:
READ
- Data type:
DevString
- Data format:
SCALAR
Commands
- SubarrayInterface.Abort() DevVarLongStringArray
Abort any executing long running command(s) and empty the queue.
- Returns:
[ResultCode.STARTED][Command ID]
- SubarrayInterface.AssignResources(DevString) DevVarLongStringArray
Assign resources to this subarray.
- Parameter:
The resources to be assigned
- Returns:
[ResultCode][Status message or command ID]
- SubarrayInterface.CheckLongRunningCommandStatus(DevString) DevString
Check the status of a long running command by ID.
- Returns:
Status of the asynchronous task.
- SubarrayInterface.Configure(DevString) DevVarLongStringArray
Configure the capabilities of this subarray.
- Parameter:
The scan configuration specification
- Returns:
[ResultCode][Status message or command ID]
- SubarrayInterface.End() DevVarLongStringArray
End the scan block of this subarray.
- Returns:
[ResultCode][Status message or command ID]
- SubarrayInterface.EndScan() DevVarLongStringArray
End the current scan with this subarray.
- Returns:
[ResultCode][Status message or command ID]
- SubarrayInterface.GetVersionInfo() DevVarStringArray
Get the version information of the device.
- Returns:
The device class name and its package information.
- SubarrayInterface.Init() DevVoid
Reinitialise the Tango device.
- SubarrayInterface.ReleaseAllResources() DevVarLongStringArray
Release all resources to tear down to an empty subarray.
- Returns:
[ResultCode][Status message or command ID]
- SubarrayInterface.ReleaseResources(DevString) DevVarLongStringArray
Delta release of assigned resources from this subarray.
- Parameter:
The resources to be released
- Returns:
[ResultCode][Status message or command ID]
- SubarrayInterface.Restart() DevVarLongStringArray
Restart the subarray by deconfiguring and releasing all resources.
- Returns:
[ResultCode][Status message or command ID]
- SubarrayInterface.Scan(DevString) DevVarLongStringArray
Start scanning with this configured subarray.
- Parameter:
The per-scan configuration
- Returns:
[ResultCode][Status message or command ID]