RECV Component Manager

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

class ska_pst_lmc.receive.receive_component_manager.PstReceiveComponentManager(*args: Any, **kwargs: Any)[source]

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

Initialise instance of the component manager.

Parameters
  • 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)

  • network_interface – the network interface for the RECV subband to listen to.

  • udp_port – the UDP port for RECV subband to listen to.

  • api – optional API instance, used to override during testing.

property data_receive_rate: float

Get the current data receive rate from the CBF interface.

Returns

current data receive rate from the CBF interface in Gb/s.

Return type

float

property data_received: int

Get the total amount of data received from CBF interface for current scan.

Returns

total amount of data received from CBF interface for current scan in Bytes

Return type

int

property data_drop_rate: float

Get the current rate of CBF ingest data being dropped or lost by the receiving proces.

Returns

current rate of CBF ingest data being dropped or lost in MB/s.

Return type

float

property data_dropped: int

Get the total number of bytes dropped in the current scan.

Returns

total number of bytes dropped in the current scan in Bytes.

Return type

int

property misordered_packets: int

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

Returns

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

Return type

int

property misordered_packet_rate: float

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

Returns

the rate of packets that are received out of order in packets/sec.

Return type

float

property malformed_packets: int

Get the total number of packets marked as malformed for the current scan.

Malformed packets are valid UDP packets, but where contents of the UDP payload does not conform to the specification in the CBF/PST ICD. Examples of malformation include: bad magic-word field, invalid meta-data, incorrect packet size.

Returns

total number of packets marked as malformed for the current scan.

Return type

int

property malformed_packet_rate: float

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

Returns

the current rate of malformed packets in packets/seconds.

Return type

float

property misdirected_packets: int

Get the total of misdirected packets received during current scan.

Total number of (valid) UDP packets that were unexpectedly received. Misdirection could be due to wrong ScanID, Beam ID, Network Interface or UDP port. Receiving misdirected packets is a sign that there is something wrong with the upstream configuration for the scan.

Returns

the total of misdirected packets received during current scan.

Return type

int

property misdirected_packet_rate: float

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

Returns

the current rate of misdirected packets in packets/seconds.

Return type

float

property checksum_failure_packets: int

Get the total number of packets with a checksum failure in current scan.

Total number of packets with a UDP, IP header or CRC checksum failure.

Returns

the total number of packets with a checksum failure in current scan.

Return type

int

property checksum_failure_packet_rate: float

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

Returns

the current rate of packets with a checksum failure in packets/seconds.

Return type

float

property timestamp_sync_error_packets: int

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

The number of packets received where the timestamp has become desynchronised with the packet sequence number * sampling interval

Returns

the total number of packets with a timestamp sync error for current scan.

Return type

int

property timestamp_sync_error_packet_rate: float

Get the current rate of packets marked as having a timestamp sync error in packets/sec.

Returns

the current rate of packets marked as having a timestamp sync error in packets/seconds.

Return type

float

property seq_number_sync_error_packets: int

Get total number of packets with a sequence number sync error for current scan.

The number of packets received where the packet sequence number has become desynchronised with the data rate and elapsed time.

Returns

total number of packets with a sequence number sync error for current scan.

Return type

int

property seq_number_sync_error_packet_rate: float

Get current rate of packets marked as having a sequence number sync error in packets/sec.

Returns

current rate of packets marked as having a sequence number sync error in packets/seconds.

Return type

float

property data_host: str

Get data host used for receiving data during a scan.

Returns

the data host used for receiving data during a scan.

Return type

str

property subband_udp_ports: List[int]

Get data ports used by all the subbands for receiving data during a scan.

Returns

the data host used for receiving data during a scan.

Return type

str

property subband_beam_configuration: Dict[str, Any]

Get the current subband beam configuration.

This is the current subband beam configuration that is calculated during the configure_beam.

Returns

the current subband beam configuration.

Return type

Dict[str, Any]

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 for the RECV sub-component.

If this command fails it will ensure then a call to either ConfigureBeam or ConfigureScan would have failed leaving the BEAM in an invalid state.

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

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

Deconfigure the RECV component’s beam configuration.

Parameters

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

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.