SMRB Component Manager

This module provides an implementation of the SMRB PST component manager.

class ska_pst_lmc.smrb.smrb_component_manager.PstSmrbComponentManager(*args: Any, **kwargs: Any)[source]

Component manager for the SMRB component for the PST.LMC subsystem.

Initialise instance of the component manager.

Parameters
  • device_name – the FQDN of the current device. This is used within the gRPC process to identify who is doing the calling.

  • process_api_endpoint – the endpoint of the gRPC process.

  • logger – a logger for this object is to use.

  • monitor_data_callback – the callback that monitoring data should call when data has been received. This should be used by the TANGO device to be notified when data has been updated.

  • 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.

property ring_buffer_utilisation: float

Get the percentage of the ring buffer elements that are full of data.

Returns

the percentage of the ring buffer elements that are full of data.

Return type

float

property ring_buffer_size: int

Get the capacity of the ring buffer, in bytes.

Returns

the capacity of the ring buffer, in bytes.

Return type

int

property number_subbands: int

Get the number of sub-bands.

Returns

the number of sub-bands.

Return type

int

property ring_buffer_read: int

Get the amount of data, in bytes, that has been read.

Returns

the amount of data that has been read.

Return type

int

property ring_buffer_written: int

Get the amount of data, in bytes, that has been written.

Returns

the amount of data that has been written.

Return type

int

property subband_ring_buffer_utilisations: List[float]

Get the percentage of full ring buffer elements for each sub-band.

Returns

the percentage of full ring buffer elements for each sub-band.

Return type

List[float]

property subband_ring_buffer_sizes: List[int]

Get the capacity of ring buffers for each sub-band.

Returns

the capacity of ring buffers, in bytes, for each sub-band.

Return type

List[int]

property subband_ring_buffer_read: List[int]

Get the capacity of ring buffers for each sub-band.

Returns

the capacity of ring buffers, in bytes, for each sub-band.

Return type

List[int]

property subband_ring_buffer_written: List[int]

Get the capacity of ring buffers for each sub-band.

Returns

the capacity of ring buffers, in bytes, for each sub-band.

Return type

List[int]

validate_configure_scan(configuration: Dict[str, Any], task_callback: Optional[Callable[[...], Any]] = None) Tuple[ska_tango_base.executor.TaskStatus, str][source]

Validate a ConfigureScan request sent from CSP.LMC to the SMRB sub-component.

This asserts the request can be converted to SMRB resources and then calls the process API to perform the validation.

Parameters
  • configuration (Dict[str, Any]) – configuration that would be used when the configure_beam and configure_scan methods are called.

  • task_callback (Callback) – callback for background processing to update device status.

configure_beam(configuration: Dict[str, Any], task_callback: Optional[Callable[[...], Any]] = None) Tuple[ska_tango_base.executor.TaskStatus, str][source]

Configure beam resources in the component.

Parameters

configuration – parameters to be configured and their requested values.

start_scan(args: Dict[str, Any], task_callback: Optional[Callable[[...], Any]] = None) Tuple[ska_tango_base.executor.TaskStatus, str][source]

Start scanning.

stop_scan(task_callback: Optional[Callable[[...], Any]] = None) Tuple[ska_tango_base.executor.TaskStatus, str][source]

End scanning.