RECV Component Manager

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

class ska_pst_lmc.beam.beam_component_manager.PstBeamComponentManager(*args: Any, **kwargs: Any)[source]

Component manager for the BEAM component in PST.LMC.

Since the BEAM component is a logical device, this component manager is used to orchestrate the process devices, such as BEAM, RECV.

Commands that are executed on this component manager are sent to instances of PstDeviceProxy for each device that the BEAM device manages.

This component manager only takes the fully-qualified device name (FQDN) for the remote devices, but uses the DeviceProxyFactory to retrieve instances of the device proxies that commands should be sent to.

Initialise component manager.

Parameters
  • smrb_fqdn – the fully qualified device name (FQDN) of the shared memory ring buffer (SMRB) TANGO device.

  • recv_fqdn – the FQDN of the Receive TANGO device.

  • dsp_fqdn – the FQDN of the Digital Signal processing (DSP) TANGO device.

  • simulation_mode – enum to track if component should be in simulation mode or not.

  • logger – a logger for this object to use

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

  • component_fault_callback – callback to be called when the component faults (or stops faulting)

property channel_block_configuration: Dict[str, Any]

Get current channel block configuration.

property data_receive_rate: float

Get current received data rate in Gb/s.

property data_received: int

Get current received data in bytes.

property data_drop_rate: float

Get current dropped data rate in bytes per second.

property data_dropped: int

Get current dropped data in bytes.

property misordered_packets: int

Get the total number of packets received out of order in the current scan.

property misordered_packet_rate: float

Get the current rate of packets received out of order in packets/sec.

property malformed_packets: int

Get the total number of malformed packets in the current scan.

property malformed_packet_rate: float

Get the current rate of malformed packets in packets/sec.

property misdirected_packets: int

Get the total number of misdirected packets in the current scan.

property misdirected_packet_rate: float

Get the current rate of misdirected packets in packets/sec.

property checksum_failure_packets: int

Get the total number of packets with checksum failures for the current scan.

property checksum_failure_packet_rate: float

Get the current rate of packets with checksum failures in packets/sec.

property timestamp_sync_error_packets: int

Get the total number of packets with timestamp sync errors for the current scan.

property timestamp_sync_error_packet_rate: float

Get the current rate of packets with timestamp sync errors in packets/sec.

property seq_number_sync_error_packets: int

Get the total number of packets with seq.

number sync error for the current scan.

property seq_number_sync_error_packet_rate: float

Get the current rate of packets with seq.

number sync error in packets/sec.

property data_record_rate: float

Get current data write rate in bytes per second.

property data_recorded: int

Get current amount of bytes written to file.

property disk_capacity: int

Get size, in bytes, for the disk used for recording scan data.

property disk_used_bytes: int

Get the current amount, in bytes, of disk used used.

property disk_used_percentage: float

Get the percentage of used disk space for recording of scan data.

property available_disk_space: int

Get available bytes for disk to be written to during scan.

property available_recording_time: float

Get the available recording time, for the disk being written to during the scan, in seconds.

property ring_buffer_utilisation: float

Get current utilisation of ring buffer for current scan configuration.

property expected_data_record_rate: float

Get the expected data rate for DSP output for current scan configuration.

update_admin_mode(admin_mode: ska_tango_base.control_model.AdminMode) None[source]

Update the admin mode of the remote devices.

The adminMode of the remote devices should only be managed through the BEAM device, and this method is called from the PstBeam device to make sure that the component manager will update the remote devices.

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

Turn the component on.

Parameters

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

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

Turn the component off.

Parameters

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

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

Put the component is standby.

Parameters

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

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

Reset the component.

Parameters

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

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

Validate the configure scan request.

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

Configure scan for the component.

Parameters

configuration (Dict[str, Any]) – the scan configuration.

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

Deconfigure scan for this component.

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]

Stop scanning.

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

Tell the component to abort whatever it was doing.

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

Reset the component and put it into a READY state.

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

Put all the sub-devices into a FAULT state.

set_logging_level(log_level: ska_tango_base.control_model.LoggingLevel) None[source]

Set LoggingLevel of all the sub-devices.

Parameters

log_level – The required TANGO LoggingLevel

Returns

None.

set_monitoring_polling_rate(monitor_polling_rate: int) None[source]

Set the monitoring polling rate on the subordinate devices.