SubarrayInterface Tango Device

Provides the Tango interface for an SKA subarray device.

This class extends ObsInterface with the standard subarray command set and long running command (LRC) support via LRCMixin, which supplies a TaskExecutor-backed task_executor and the associated LRC attributes.

Subclasses must override the execute_* methods for each command and apply the submit_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(). The started_* and completed_* callbacks on AbstractSubarrayInterface manage the command_in_progress portion of the observation state automatically when using submit_lrc_task().

Use AbstractSubarrayInterface directly only when you need to supply your own task_executor implementation (e.g. via ComponentManagerLRCMixin).

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]