Antenna Device

@startuml
class AntennaHardwareHealthEvaluator
AntennaHardwareHealthEvaluator : +evaluate_health()
class AntennaApiuProxy
AntennaApiuProxy : +__init__()
AntennaApiuProxy : +connect()
AntennaApiuProxy : +on()
AntennaApiuProxy : +off()
AntennaApiuProxy : +power_mode()
AntennaApiuProxy : +current()
AntennaApiuProxy : +voltage()
AntennaApiuProxy : +temperature()
AntennaApiuProxy : -_apiu_power_changed()
AntennaApiuProxy : -_read_power_mode()
AntennaApiuProxy : -_update_power_mode()
class AntennaTileProxy
AntennaTileProxy : +__init__()
AntennaTileProxy : +connect()
class MccsAntenna
MccsAntenna : +init_command_objects()
MccsAntenna : +__init__()
MccsAntenna : +do()
MccsAntenna : -_initialise_connections()
MccsAntenna : -_initialise_hardware_management()
MccsAntenna : -_initialise_health_monitoring()
MccsAntenna : +interrupt()
MccsAntenna : +succeeded()
MccsAntenna : +delete_device()
MccsAntenna : +health_changed()
MccsAntenna : +power_changed()
MccsAntenna : +simulationMode()
MccsAntenna : +antennaId()
MccsAntenna : +gain()
MccsAntenna : +rms()
MccsAntenna : +voltage()
MccsAntenna : +current()
MccsAntenna : +temperature()
MccsAntenna : +xPolarisationFaulty()
MccsAntenna : +yPolarisationFaulty()
MccsAntenna : +fieldNodeLongitude()
MccsAntenna : +fieldNodeLatitude()
MccsAntenna : +altitude()
MccsAntenna : +xDisplacement()
MccsAntenna : +yDisplacement()
MccsAntenna : +timestampOfLastSpectrum()
MccsAntenna : +logicalAntennaId()
MccsAntenna : +xPolarisationScalingFactor()
MccsAntenna : +yPolarisationScalingFactor()
MccsAntenna : +calibrationCoefficient()
MccsAntenna : +pointingCoefficient()
MccsAntenna : +spectrumX()
MccsAntenna : +spectrumY()
MccsAntenna : +position()
MccsAntenna : +delays()
MccsAntenna : +delayRates()
MccsAntenna : +bandpassCoefficient()
AntennaApiuProxy : -_trl
AntennaApiuProxy : -_apiu
AntennaApiuProxy : -_logical_antenna_id
AntennaApiuProxy : -_logger
AntennaApiuProxy : -_power_mode
AntennaApiuProxy : -_power_callback
AntennaApiuProxy : -_apiu_event_handler
AntennaTileProxy : -_trl
AntennaTileProxy : -_tile
AntennaTileProxy : -_logical_antenna_id
AntennaTileProxy : -_logger
MccsAntenna : -_thread
MccsAntenna : -_lock
MccsAntenna : -_interrupt
MccsAntenna : -_health_state

HardwareHealthEvaluator <|-- AntennaHardwareHealthEvaluator
SKABaseDevice <|-- MccsAntenna
@enduml

This module implements an antenna Tango device for MCCS.

class MccsAntenna(*args, **kwargs)

An implementation of an antenna Tango device for MCCS.

Configure(argin)

Configure the antenna device attributes.

Also configures children device that are connected to the antenna.

Parameters:

argin (str) – Configuration parameters encoded in a json string

Return type:

tuple[list[ResultCode], list[Optional[str]]]

Returns:

A tuple containing a return code and a string message indicating status. The message is for information purpose only.

Example:
class InitCommand(*args, **kwargs)

Class that implements device initialisation for the MCCS antenna device.

do(*args, **kwargs)

Stateless hook for device initialisation.

Initialises the attributes and properties of the MccsAntenna.

Parameters:
  • args (Any) – positional args to the component manager method

  • kwargs (Any) – keyword args to the component manager method

Return type:

tuple[ResultCode, str]

Returns:

A tuple containing a return code and a string message indicating status. The message is for information purpose only.

__init__(*args, **kwargs)

Initialise this device object.

Parameters:
  • args (Any) – positional args to the init

  • kwargs (Any) – keyword args to the init

altitude()

Return the altitude attribute.

Return type:

float

Returns:

the altitude of the antenna

antennaId()

Return the antenna ID attribute.

Return type:

int

Returns:

antenna ID

bandpassCoefficient()

Return the bandpassCoefficient attribute.

Return type:

list[float]

Returns:

bandpass coefficients

calibrationCoefficient()

Get the Calibration coefficients.

The coefficients to be applied for the next frequency channel in the calibration cycle.

Return type:

list[float]

Returns:

the calibration coefficients

create_component_manager()

Create and return a component manager for this device.

Return type:

AntennaComponentManager

Returns:

a component manager for this device.

current()

Return the current attribute.

Return type:

float

Returns:

the current

delayRates()

Return the delayRates attribute.

Return type:

list[float]

Returns:

delay rate for each beam

delays()

Return the delays attribute.

Return type:

list[float]

Returns:

delay for each beam

fieldNodeLatitude()

Return the fieldNodeLatitude attribute.

Return type:

float

Returns:

the Latitude of field node centre

fieldNodeLongitude()

Return the fieldNodeLongitude attribute.

Return type:

float

Returns:

the Longitude of field node centre

first()

Return the first attribute.

Return type:

bool

Returns:

the first faulty flag

gain()

Return the gain attribute.

Return type:

float

Returns:

the gain

healthModelParams(argin)

Set the params for health transition rules.

Parameters:

argin (str) – JSON-string of dictionary of health states

Return type:

None

init_command_objects()

Initialise the command handlers for commands supported by this device.

Return type:

None

init_device()

Initialise the device.

This is overridden here to change the Tango serialisation model.

Return type:

None

is_On_allowed()

Check if command On is allowed in the current device state.

Return type:

bool

Returns:

True if the command is allowed

logicalAntennaId()

Return the logical antenna ID attribute.

Return type:

int

Returns:

the logical antenna ID

pointingCoefficient()

Return the pointingCoefficient attribute.

Return type:

list[float]

Returns:

the pointing coefficients

position()

Return the position attribute.

Return type:

list[float]

Returns:

positions

rms()

Return the measured RMS of the antenna.

Return type:

float

Returns:

the measured rms

simulationMode(value)

Set the simulation mode of this device.

Parameters:

value (SimulationMode) – the new simulation mode

Raises:

ValueError – because this device cannot be put into simulation mode.

Return type:

None

spectrumX()

Return the spectrumX attribute.

Return type:

list[float]

Returns:

x spectrum

spectrumY()

Return the spectrumY attribute.

Return type:

list[float]

Returns:

y spectrum

temperature()

Return the temperature attribute.

Return type:

float

Returns:

the temperature

timestampOfLastSpectrum()

Return the timestampOfLastSpectrum attribute.

Return type:

str

Returns:

the timestamp of the last spectrum

voltage()

Return the voltage attribute.

Return type:

float

Returns:

the voltage

xDisplacement()

Return the horizontal displacement east attribute.

Return type:

float

Returns:

the horizontal displacement eastwards from station reference position

xPolarisationFaulty()

Return the xPolarisationFaulty attribute.

Return type:

bool

Returns:

the x-polarisation faulty flag

xPolarisationScalingFactor()

Return the logical antenna ID attribute.

Return type:

list[int]

Returns:

the x polarisation scaling factor

yDisplacement()

Return the horizontal displacement north attribute.

Return type:

float

Returns:

the horizontal displacement northwards from station reference position

yPolarisationFaulty()

Return the yPolarisationFaulty attribute.

Return type:

bool

Returns:

the y-polarisation faulty flag

yPolarisationScalingFactor()

Return the yPolarisationScalingFactor attribute.

Return type:

list[int]

Returns:

the y polarisation scaling factor

zDisplacement()

Return the vertical displacement attribute.

Return type:

float

Returns:

the vertical displacement upwards from station reference position

main(*args, **kwargs)

Entry point for module.

Parameters:
  • args (str) – positional arguments

  • kwargs (str) – named arguments

Return type:

int

Returns:

exit code