Future Controller Interface

Interfaces for SKA controller devices.

class ska_tango_base.future._controller_interface.ControllerInterface[source]

Bases: BaseInterface

Provides the Tango interface for an SKA controller devices.

MaxCapabilities: list[str]

List of maximum number of instances per capability type provided by this element.

_max_capabilities

Signal for the maximum capabilities of the device.

Write to this signal to signal a change in the maximum capabilities of the device.

maxCapabilities

The maximum capabilities of the device.

This should be set by subclasses of this interface by writing to _max_capabilities.

read_maxCapabilities() list[str] | tuple[list[str], float, AttrQuality][source]

Read the max capabilities of the device.

Subclasses can override this to change the behaviour of the maxCapabilities attribute.

is_maxCapabilities_allowed(attr: AttReqType) bool[source]

Check if the maxCapabilities can be read currently.

This can be overridden by subclasses to restrict when clients can access the attribute.

_available_capabilities

Signal for the available capabilities of the device.

Write to this signal to report a change in the available capabilities of the device.

availableCapabilities

The available capabilities of the device.

This should be set by subclasses of this interface by writing to _available_capabilities.

read_availableCapabilities() list[str] | tuple[list[str], float, AttrQuality][source]

Read the available capabilities of the device.

Subclasses can override this to change the behaviour of the availableCapabilities attribute.

is_availableCapabilities_allowed(attr: AttReqType) bool[source]

Check if the availableCapabilities can be read currently.

This can be overridden by subclasses to restrict when clients can access the attribute.

on_new_shared_bus() None[source]

Initialise the device.

IsCapabilityAchievable(argin: tuple[list[int], list[str]]) bool[source]

Check if provided capabilities can be achieved by the resource(s).

Subclasses should override execute_IsCapabilityAchievable() to change the behaviour of this command.

Parameters:

argin

An array consisting pair of

  • [nrInstances]: DevLong. Number of instances of the capability.

  • [Capability types]: DevString. Type of capability.

Returns:

True or False

execute_IsCapabilityAchievable(argin: tuple[list[int], list[str]]) bool[source]

Execute the IsCapabilityAchievable command.

Subclasses should override this to change the behaviour of the IsCapabilityAchievable command.