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
- 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
- _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.
- _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
- update_attribute(attribute_name, attribute_value)
General method invoked to push an event on a device attribute.
- 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
- 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.
- pipelineProgress()
Return the cheetah pipeline progress.
- Return type
- cheetahVersion()
Return the cheetah version.
- Return type
- 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
- cheetahLogLine()
Return the cheetah log, updated line by line
- Return type
- isCommunicating()
Return the device communicating status.
Return a boolean flag indicating whether the TANGO device is communicating with the controlled component.
- Return type
- nodeIP()
Return the pss node IP.
- Return type
- pipelineName()
Return the cheetah pipeline name.
- Return type
- read_lastScanConfiguration()
Return the last programmed configuration.