Station Beam Component Manager

This module implements component management for station beams.

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

A component manager for a station beam.

__init__(beam_id: int, logger: Logger, communication_state_callback: Callable[[ska_control_model.CommunicationStatus], None], component_state_callback: Callable[[...], None]) None[source]

Initialise a new instance.

Parameters:
  • beam_id – the beam id of this station beam

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

  • 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 – a callback to be called whenever the state of the station beam changes.

abort(task_callback: Callable | None = None) tuple[ska_control_model.TaskStatus, str][source]

Abort the observation.

Parameters:

task_callback – callback to be called when the status of the command changes

Returns:

A task status and response message.

property antenna_weights: list[float]

Return the antenna weights.

Returns:

the antenna weights

property aperture_id: str

Return the aperture id.

Returns:

the aperture id

apply_pointing(task_callback: Callable | None = None, task_abort_event: Event | None = None) tuple[ska_control_model.TaskStatus, str][source]

Submit the apply_pointing slow task.

This method returns immediately after it is submitted for execution.

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

  • task_abort_event – Check for abort, defaults to None

Returns:

Task status and response message

assign_resources(task_callback: Callable | None = None, *, interface: str | None = None, subarray_id: int, subarray_beam_id: int, aperture_id: str, station_id: int, station_trl: int, channel_blocks: list[int], hardware_beam: int, first_subarray_channel: int, number_of_channels: int) tuple[ska_control_model.TaskStatus, str][source]

Submit the assign_resources slow task.

This method returns immediately after it is submitted for execution.

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

  • interface – the schema version this is running against.

  • subarray_id – ID of the subarray to which the beam belongs

  • subarray_beam_id – ID of the subarray beam

  • aperture_id – ID of the aperture, of the form “APx.y”

  • station_id – ID of the associated station

  • station_trl – TRL of the associated station

  • channel_blocks – List of the allocated station channel blocks

  • hardware_beam – Allocated station hardware beam

  • first_subarray_channel – First channel

  • number_of_channels – Number of channels

Returns:

A tuple containing a task status and a unique id string to identify the command

property beam_id: int

Return the station beam id.

Returns:

the station beam id

property channels: list[list[int]]

Return the ids of the channels configured for this station beam.

Returns:

the ids of the channels configured for this subarray beam.

configure(task_callback: Callable | None = None, task_abort_event: Event | None = None, *, interface: str | None = None, update_rate: float | None = 1.0, logical_bands: list[dict], weighting_key_ref: str | None = 'uniform', sky_coordinates: dict[str, Any]) tuple[ska_control_model.TaskStatus, str][source]

Submit the configure slow task.

This method returns immediately after it is submitted for execution.

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

  • task_abort_event – Check for abort, defaults to None

  • interface – the schema version this is running against.

  • update_rate – Update rate for pointing, default never

  • logical_bands – Description of observed sky frequency bands

  • weighting_key_ref – Antenna weights, default uniform,

  • sky_coordinates – Pointing direction

Returns:

A return code and a unique command ID.

property desired_pointing: list[float]

Return the desired pointing.

Returns:

the desired pointing

end(task_callback: Callable | None = None) tuple[ska_control_model.TaskStatus, str][source]

Submit the end slow task.

This method returns immediately after it is submitted for execution.

Parameters:

task_callback – Update task state, defaults to None

Returns:

Task status and response message

end_scan(task_callback: Callable | None = None, task_abort_event: Event | None = None) tuple[ska_control_model.TaskStatus, str][source]

Submit the EndScan slow task.

This method returns immediately after it is submitted for execution.

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

  • task_abort_event – Check for abort, defaults to None

Returns:

Task status and response message

property is_beam_locked: bool

Return whether the beam is locked.

Returns:

whether the beam is locked

property logical_beam_id: int

Return the logical beam id.

Returns:

the logical beam id

property max_executing_tasks: int

Get the max number of tasks that can be executing at once.

Returns:

max number of simultaneously executing tasks.

obsreset(task_callback: Callable | None = None, task_abort_event: Event | None = None) tuple[ska_control_model.TaskStatus, str][source]

Submit the obs_reset slow task.

This method returns immediately after it is submitted for execution.

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

  • task_abort_event – Check for abort, defaults to None

Returns:

Task status and response message

property phase_centre: list[float]

Return the phase centre.

Returns:

the phase centre

property pointing_delay: list[float]

Return the pointing delay.

Returns:

the pointing delay

property pointing_delay_rate: list[float]

Return the pointing delay rate.

Returns:

the pointing delay rate

property power_state: ska_control_model.PowerState | None

Return my power state.

Returns:

my power state

release_all_resources(task_callback: Callable | None = None) tuple[ska_control_model.TaskStatus, str][source]

Submit the release__all_resources slow task.

This method returns immediately after it is submitted for execution.

Parameters:

task_callback – Update task state, defaults to None

Returns:

Task status and response message

restart(task_callback: Callable | None = None, task_abort_event: Event | None = None) tuple[ska_control_model.TaskStatus, str][source]

Submit the restart slow task.

This method returns immediately after it is submitted for execution.

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

  • task_abort_event – Check for abort, defaults to None

Returns:

Task status and response message

scan(task_callback: Callable | None = None, *, scan_id: int, start_time: str | None = None, duration: float | None = 864000.0) tuple[ska_control_model.TaskStatus, str][source]

Submit the Scan slow task.

This method returns immediately after it is submitted for execution.

Parameters:
  • scan_id – The ID for this scan

  • start_time – UTC time for begin of scan, None for immediate start

  • duration – Scan duration in seconds. 0.0 or omitted means forever

  • task_callback – Update task state, defaults to None

Returns:

Task status and response message

start_communicating() None[source]

Establish communication with the component.

property station_id: int

Return the station id.

Returns:

the station ids

property station_trl: str

Return the station TRL.

If the station TRL is not set, return the empty string.

Returns:

the station TRL

stop_communicating() None[source]

Cease monitoring the component, and break off all communication with it.

property subarray_id: int

Return the subarray id.

Returns:

the subarray id

property update_rate: float

Return the update rate.

Returns:

the update rate