BEAM TANGO Device

Module for providing the Beam capability for the Pulsar Timing Sub-element.

class ska_pst_lmc.beam.beam_device.PstBeam(*args: Any, **kwargs: Any)[source]

A logical TANGO device representing a Beam Capability for PST.LMC.

Properties:

  • Device Property
    RecvFQDN
    • Type:’DevString’

    SmrbFQDN
    • Type:’DevString’

    DspFQDN
    • Type:’DevString’

    StatFQDN
    • Type:’DevString’

    SendFQDN
    • Type:’DevString’

init_device() None[source]

Initialise the attributes and properties of the PstBeam.

This overrides the SKABaseDevice.

create_component_manager() PstBeamComponentManager[source]

Create and return a component manager for this device.

Returns

a component manager for this device.

always_executed_hook() None[source]

Execute call before any TANGO command is executed.

delete_device() None[source]

Delete resources allocated in init_device.

This method allows for any memory or other resources allocated in the init_device method to be released. This method is called by the device destructor and by the device Init command.

handle_attribute_value_update(attribute_name: str, value: Any) None[source]

Handle update of a device attribute value.

Parameters
  • attribute_name (str) – the name of the attribute to update.

  • value (Any) – the new value of the attribute to update to.

property smrb_fqdn: str

Get the fully qualified device name (FQDN) for the SMRB.MGMT device of this beam.

property recv_fqdn: str

Get the fully qualified device name (FQDN) for the RECV.MGMT device of this beam.

property dsp_fqdn: str

Get the fully qualified device name (FQDN) for the DSP.MGMT device of this beam.

property stat_fqdn: str

Get the fully qualified device name (FQDN) for the STAT.MGMT device of this beam.

property scan_output_dir_pattern: str

Get the pattern for directory used for scan output files.

handle_subdevice_fault(device_fqdn: str, fault_msg: str) None[source]

Handle a fault raised from a subordinate device.

Parameters
  • device_fqdn (str) – the fully-qualified domain name of the subordinate device.

  • fault_msg (str) – the fault message from the subordinate device.

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

A class for the ObsDevice ConfigureScan command.

This overrides the PstBaseDevice command by ensuring that the JSON request sent is a valid CSP JSON request of at least v2.3.

validate_input(argin: str) Tuple[Dict[str, Any], ska_tango_base.commands.ResultCode, str][source]

Validate the input request string.

This tries to parse JSON string via the Configuration.from_json method. That method also tries to validate the CSP JSON.

property monitoring_polling_rate: int

Get the monitoring polling rate.

monitoringPollingRate(monitoring_polling_rate: int) None

Update the monitoring polling rate.

diskCapacity() int

Total capacity of the disk that DSP is writing to.

Returns

total capacity of the disk that DSP is writing to, in bytes.

Return type

int

diskUsedBytes() int

Get used space on the disk that DSP is writing to.

This is diskCapacity - availableDiskSpace.

Returns

used space on the disk that DSP is writing to, in bytes.

Return type

int

diskUsedPercentage() float

Get used space on the disk that DSP is writing to.

This is 100.0 * (diskCapacity - availableDiskSpace)/availableDiskSpace.

Returns

used space on the disk that DSP is writing to as a percentage.

Return type

float

availableDiskSpace() int

Available space on the disk that the PST.BEAM is writing to.

Returns

available space on the disk that PST.BEAM is writing to, in bytes.

Return type

int

availableRecordingTime() float

Get available time, in seconds, for writing available.

Returns

available time, in seconds, for writing available.

Return type

float

dataReceiveRate() 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

dataReceived() 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

dataDropRate() 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 Bytes/s.

Return type

float

dataDropped() int

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

Returns

total number of bytes dropped in the current scan.

Return type

int

misorderedPackets() 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

misorderedPacketRate() float

Get the current rate of misordered packets.

Returns

the current rate of misordered packets in packets/seconds.

Return type

float

malformedPackets() int

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

Returns

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

Return type

int

malformedPacketRate() float

Get current rate of malformed packets.

Returns

current rate of malformed packets in packets/seconds.

Return type

float

misdirectedPackets() int

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

Returns

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

Return type

int

misdirectedPacketRate() float

Get the current rate of misdirected packets.

Returns

the current rate of misdirected packets in packets/seconds.

Return type

float

checksumFailurePackets() int

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

Returns

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

Return type

int

checksumFailurePacketRate() float

Get the current rate of packets with checkesum failures.

Returns

the current rate of packets with checkesum failures in packets/seconds.

Return type

float

timestampSyncErrorPackets() int

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

Returns

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

Return type

int

timestampSyncErrorPacketRate() float

Get the current rate of packets with a timestamp sync error.

Returns

the current rate of packets with a timestamp sync error in packets/seconds.

Return type

float

seqNumberSyncErrorPackets() int

Get the total number of packets with a seq num sync error in current scan.

Returns

the total number of packets with a seq num sync error in current scan.

Return type

int

seqNumberSyncErrorPacketRate() float

Get the current rate of packets with a sequence number sync error.

Returns

the current rate of packets with a sequence number sync error in packets/seconds.

Return type

float

dataRecordRate() float

Get current rate of writing to the disk.

Returns

use space on the disk that PST.BEAM is writing to, in bytes.

Return type

float

dataRecorded() int

Get number of bytes written during scan.

Returns

number of bytes written during scan.

Return type

int

channelBlockConfiguration() str

Get the channel block configuration.

This is a JSON serialised string of the channel block configuration that is calculated during the ConfigureScan command. This configuration includes the following properties:

  • Number of channel blocks, between 1 and 4

  • For each channel block, the block of channel numbers using a range in the form of inclusive of the lower number and exclusive of the higher number (e.g [1, 21) would be a range of 20 channels starting from 1 and ending at channel block 20 (inclusive).

  • Channel block IPv4 address to send data to.

  • Channel block UDP port

{
    "num_channel_blocks": 2,
    "channel_blocks": [
        {
            "data_host": "10.10.0.1",
            "data_port": 20000,
            "start_channel": 0,
            "num_channels": 12,
        },
        {
            "data_host": "10.10.0.1",
            "data_port": 20001,
            "start_channel": 12,
            "num_channels": 10,
        },
    ]
}
Returns

the channel block configuration as a JSON string.

Return type

str

ringBufferUtilisation() 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

expectedDataRecordRate() float

Get the expected rate of data to be received by PST Beam component.

Returns

the expected rate of data to be received by PST Beam component.

Return type

float

ska_pst_lmc.beam.beam_device.main(args: Optional[list] = None, **kwargs: Any) int[source]

Entry point for module.

Parameters
  • args – positional arguments

  • kwargs – named arguments

Returns

exit code

Return type

int