Controller Operational State Model

class ska_csp_lmc_common.controller.model.op_state_model_controller.ControllerOpStateModel(op_state_init: tango.DevState, op_state_changed_callback: Callable[[tango.DevState], None], logger: Logger | None = None)

Bases: OpStateModel

A simple operational state model that supports.

  • DevState.ON – when the component is powered on.

  • DevState.OFF – when the component is powered off.

  • DevState.STANDBY – when the component is low-power mode.

  • DevState.DISABLE – when the component is in OFFLINE administrative mode.

  • DevState.UNKNOWN – when communication with the component is not established.

  • DevState.FAILED – when the component has failed

property op_state: tango.DevState

Return the operational state.

Returns:

the operational state state.

Return type:

DevState

evaluate_op_state() tango.DevState

Compute overall operational state of the CSP controller device based on the fault and communication status of the controller overall, together with the aggregation of the operational states of the subordinate sub-systems components.

Returns:

an overall operational state of the controller.

Return type:

DevState

component_op_state_changed(component: Component, op_state: DevState | None) None

Handle change in CSP sub-system ctrl operational state.

This is a callback hook, called by the EventManager when the operational state of a CSP sub-system ctrl changes.

Parameters:
  • component (Component) – the sub-system component whose operational state has changed

  • op_state (DevState) – the new operational state of the sub-system ctrl.

Controller Health State Model

class ska_csp_lmc_common.controller.model.health_state_model_controller.ControllerHealthModel(device_fqdn: str, init_state: ska_control_model.HealthState, health_state_callback: Callable[[ska_control_model.HealthState], None], callback: Callable[[str, Any], None], logger: Logger | None = None)

Bases: HealthStateModel

Health model for a CSP controller.

Snapshot-based evaluation (store + supervisor).

Health states: - OK: all critical components are fully operational. - DEGRADED: some non-critical components have issues. - UNKNOWN: communication with the controller is not established. - FAILED: a critical component has failed, or CBF missing.

evaluate_from_snapshot(snap: Dict[str, ComponentSnapshot], *, now: float | None = None) ska_control_model.HealthState

Compute overall controller health from a HealthSample snapshot.