Station Calibrator Component Manager

This module implements component management for station calibrators.

class StationCalibratorComponentManager(*args: Any, **kwargs: Any)[source]

A component manager for a station calibrator.

__init__(logger: Logger, station_name: str, station_id: int, calibration_store_name: str, calibration_solver_trl: str, communication_state_callback: Callable[[ska_control_model.CommunicationStatus], None], component_state_callback: Callable[[...], None], event_serialiser: ska_low_mccs_common.EventSerialiser | None = None) None[source]

Initialise a new instance.

Parameters:
  • logger – the logger to be used by this object.

  • station_name – the name of this calibrator’s station

  • station_id – the id of the station.

  • calibration_store_name – the name of this calibrator’s calibration store

  • calibration_solver_trl – the trl of the solver device.

  • communication_state_callback – callback to be called when the status of the communications channel between the component manager and its component changes.

  • component_state_callback – callback to be called when the component state changes.

  • event_serialiser – the event serialiser to be used by this object.

cleanup() None[source]

Cleanup resources held by the component manager.

This includes cleaning up resources held by all sub-component managers.

generate_calibration_solution(task_callback: Callable | None = None, **kwargs: Any) tuple[ska_control_model.TaskStatus, str][source]

Generate a calibration solution for the station.

Parameters:
  • task_callback – Update task state, defaults to None

  • kwargs – kwargs to define calibration.

Returns:

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

get_calibration(frequency_channel: int, calibration_id: str | None = None) list[float][source]

Get a calibration from the calibration store.

Parameters:
  • frequency_channel – the frequency channel to calibrate for

  • calibration_id – Unique identifier for calibration.

Returns:

A list of calibration values

start_calibration_loop(kwargs: dict[str, Any]) tuple[list[ska_control_model.ResultCode], list[str | None]][source]

Start the calibration loop.

Parameters:

kwargs – kwargs to define calibration.

Returns:

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

start_communicating() None[source]

Establish communication with the StationCalibrator components.

stop_calibration_loop() tuple[list[ska_control_model.ResultCode], list[str | None]][source]

Stop the calibration loop from running.

Returns:

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

stop_communicating() None[source]

Break off communication with the StationCalibrator components.