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