PSS Ctrl Pipeline Tango Device

class ska_pss_lmc.pipeline.pipeline_ctrl_device.PipelineCtrlDevice(*args, **kwargs)

Bases: CspSubElementObsDevice

PSS Pipeline Control Tango device.

Device Properties:

NodeIP
  • The IP address of the PSS node where the cheetah pipeline will be running

  • Type:’DevString

PipelineName
  • The pipeline name

  • Type:’DevString’

CheetahOutputFile
  • The filename where cheetah stdout adn stderr will be stored

  • Type:’DevString’

CheetahConfigFile
  • The filename where cheetah input configuration data will be stored

  • Type:’DevString’

CheetahExecutable
  • A string containing the command script to execute Cheetah

  • Type:’DevString’

CheetahUserPasswd
  • A Tuple containing the username and password for the remote connection to Cheetah

  • Type: (‘DevString’, )

_init_state_model()

Override base method.

Configure some device attributes to push events from the code.

Return type

None

create_component_manager()

Create and return the Pss Pipeline Control Component Manager.

Return type

PipelineCtrlComponentManager

_component_state_changed(fault=False, power=None, configured=None, scanning=None, obsfault=None, **kwargs)

Update the state of the controlled component.

The device reports only a sub-set of the possible states of the controlled component (cheetah pipeline). These are:

  • DISABLE: the device is not trying to connect to the component (default state at device startup)

  • UNKNOWN: the devices trying to connect to the PSS node where the software component will be running but the connection is not established

  • ON: the device is connected with the PSS node; the software component might or not be in running.

  • FAULT: the controlled component is experiencing a fault condition

Return type

None

_force_transition_to_obs_state(obs_state)

Force the observing state machine to a state.

Use the state machine auto transitions to force the transition to a not allowed state.

Parameters

obs_state (ObsState) – the desired observing state

Return type

None

_communication_state_changed(communication_state)

Update the PipelineCtrlDevice communication status.

Parameters

communication_state (CommunicationStatus) – the status of communication with the controlled component (cheetah pipeline)

Return type

None

update_attribute(attribute_name, attribute_value)

General method invoked to push an event on a device attribute.

Parameters
  • attribute_name (str) – the TANGO attribute name

  • attribute_value (Any) – the attribute value

Return type

None

class InitCommand(*args, **kwargs)

Bases: InitCommand

Class that implements device initialisation for the device.

do()

Initialise the attributes and properties of the device.

Return type

Tuple[ResultCode, str]

Returns

A tuple containing a return code and a string message indicating status. The message is for information purpose only.

class CheckLongRunningCommandStatusCommand(*args: Any, **kwargs: Any)

Bases: FastCommand

The command class for the CheckLongRunningCommandStatus command.

do(argin)

Determine the status of the command ID passed in, if any.

  • Check command_result to see if it’s finished.

  • Check command_status to see if it’s in progress

  • Check command_ids_in_queue to see if it’s queued

Note: this method has been overridden to fix an issue in the BC implementation.

Parameters

argin (str) – The command ID

Returns

The resultcode for this command and the string of the TaskStatus

Return type

tuple (ResultCode.OK, str)

pipelineProgress()

Return the cheetah pipeline progress.

Return type

int

cheetahVersion()

Return the cheetah version.

Return type

int

cheetahPid()

Return the PID of the cheetah pipeline process.

The attribute is stored into the TANGO DB as memorized attribute” so that on device restart it’s possible to recover the connection ” to the cheetah pipeline process

Return type

int

cheetahLogLine()

Return the cheetah log, updated line by line

Return type

str

isCommunicating()

Return the device communicating status.

Return a boolean flag indicating whether the TANGO device is communicating with the controlled component.

Return type

bool

nodeIP()

Return the pss node IP.

Return type

str

pipelineName()

Return the cheetah pipeline name.

Return type

str

read_lastScanConfiguration()

Return the last programmed configuration.