TalonBoard Device

class ska_mid_cbf_mcs.talon_board.talon_board_device.TalonBoard(cl, name)[source]

Bases: CbfDevice

TANGO device class for consuming logs from the Tango devices run on the Talon boards, converting them to the SKA format, and outputting them via the logging framework.

TalonDxBoardAddress

TANGO property

InfluxDbPort

TANGO property

InfluxDbOrg

TANGO property

InfluxDbBucket

TANGO property

InfluxDbAuthToken

TANGO property

Instance

TANGO property

TalonDxSysIdAddress

TANGO property

TalonDx100GEthernetAddress

TANGO property

TalonStatusAddress

TANGO property

HpsMasterAddress

TANGO property

subarrayID

The Subarray ID assigned to the board. This attribute is only used for labelling.

dishID

The Dish ID assigned to the board. This attribute is only used for labelling.

vccID

The VCC ID assigned to the board. This attribute is only used for labelling.

ipAddr

IP Address

pingResult

True if the last ping to the board was successful. False otherwise

bitstreamVersion

FPGA bitstream version

bitstreamChecksum

FPGA bitstream checksum

iopllLockedFault

iopll_locked_fault

fsIopllLockedFault

fs_iopll_locked_fault

commsIopllLockedFault

comms_iopll_locked_fault

systemClkFault

system_clk_fault

emifBlFault

emif_bl_fault

emifBrFault

emif_br_fault

emifTrFault

emif_tr_fault

ethernet0PllFault

e100g_0_pll_fault

ethernet1PllFault

e100g_1_pll_fault

slimPllFault

slim_pll_fault

fpgaDieTemperature

FPGA Die Temperature

fpgaDieVoltage0

Value of the 12V FPGA Die Voltage Sensor

fpgaDieVoltage1

Value of the 2.5V FPGA Die Voltage Sensor

fpgaDieVoltage2

Value of the VCC FPGA Die Voltage Sensor

fpgaDieVoltage3

Value of the VCCIO_SDM FPGA Die Voltage Sensor

fpgaDieVoltage4

Value of the VCCPT FPGA Die Voltage Sensor

fpgaDieVoltage5

Value of the VCCERAM FPGA Die Voltage Sensor

fpgaDieVoltage6

Value of the VCCADC FPGA Die Voltage Sensor

humiditySensorTemperature

Humidity Sensor Temperature

dimmTemperatures

DIMM Memory Module Temperatures. Array of size 4. Value set to 0 if not valid.

mboTxTemperatures

MBO Tx Temperatures. Value set to 0 if not valid.

mboTxVccVoltages

MBO Tx VCC 3.3 Voltages. Value set to 0 if not valid.

mboTxFaultStatus

MBO Tx Fault Status. True = status set.

mboTxLolStatus

MBO Tx Loss of Lock Status. True = status set.

mboTxLosStatus

MBO Tx Loss of Signal Status. True = status set.

mboRxVccVoltages

MBO Rx VCC 3.3 Voltages. Value set to 0 if not valid.

mboRxLolStatus

MBO Rx Loss of Lock Status. True = status set.

mboRxLosStatus

MBO Rx Loss of Signal Status. True = status set.

hasFanControl

Indicates whether this board has control over the fans. If false, the board cannot correctly read fan speed and fault.

fansPwm

Fan PWM values.

fansPwmEnable

Fan PWM enable values.

fansRpm

Fan RPM.

fansFault

Fan Fault status.

ltmInputVoltage

LTM Input Voltage. One entry per LTM.

ltmOutputVoltage1

LTM Output Voltage 1. One entry per LTM

ltmOutputVoltage2

LTM Output Voltage 2. One entry per LTM

ltmInputCurrent

LTM Input Current. One entry per LTM.

ltmOutputCurrent1

LTM Output Current 1. One entry per LTM

ltmOutputCurrent2

LTM Output Current 2. One entry per LTM

ltmTemperature1

LTM Temperature 1. One entry per LTM

ltmTemperature2

LTM Temperature 2. One entry per LTM

ltmVoltageWarning

True if any input or output voltage warnings is set. One entry per LTM

ltmCurrentWarning

True if any input or output current warnings is set. One entry per LTM

ltmTemperatureWarning

True if any temperature warnings is set. One entry per LTM

eth100g0Counters

a list of counters at the 100g ethernet input in the following order: [0] cntr_tx_1519tomaxb [1] TxFrameOctetsOK [2] cntr_rx_1519tomaxb [3] RxFrameOctetsOK

eth100g0ErrorCounters

a list of error counters at the 100g ethernet input in the following order: [0]: number of transmitted frames less than 64 bytes [1]: number of transmitted oversized frames [2]: number of transmitted CRC errors [3]: number of received frames less than 64 bytes [4]: number of received oversized frames [5]: number of received CRC errors

eth100g0DataFlowActive

True if there is data flowing at the 100g ethernet input

eth100g0HasDataError

True if any error counter is non-zero at the 100g ethernet input

eth100g0AllTxCounters

the full list of Tx counters at the 100g ethernet input

eth100g0AllRxCounters

the full list of Rx counters at the 100g ethernet input

eth100g1Counters

a list of counters at the 100g ethernet output in the following order: [0] cntr_tx_1519tomaxb [1] TxFrameOctetsOK [2] cntr_rx_1519tomaxb [3] RxFrameOctetsOK

eth100g1ErrorCounters

a list of error counters at the 100g ethernet output in the following order: [0]: number of transmitted frames less than 64 bytes [1]: number of transmitted oversized frames [2]: number of transmitted CRC errors [3]: number of received frames less than 64 bytes [4]: number of received oversized frames [5]: number of received CRC errors

eth100g1DataFlowActive

True if there is data flowing at the 100g ethernet output

eth100g1HasDataError

True if any error counter is non-zero at the 100g ethernet output

eth100g1AllTxCounters

the full list of Tx counters at the 100g ethernet output

eth100g1AllRxCounters

the full list of Rx counters at the 100g ethernet output

healthStateReport

the HPS Master latest polled healthStateReport value

create_component_manager() TalonBoardComponentManager[source]

Create and return a component manager for this device.

Returns:

a component manager for this device.

Abort() tuple[list[ska_control_model.result_code.ResultCode], list[str]]

Abort any executing long running command(s) and empty the queue.

Returns:

A tuple containing a result code and the unique ID of the command

AbortCommands() tuple[list[ska_control_model.result_code.ResultCode], list[str]]

Empty out long running commands in queue.

Returns:

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

CheckLongRunningCommandStatus(argin: str) str

Check the status of a long running command by ID.

Parameters:

argin – the command id

Returns:

command status

DebugDevice() int

Enable remote debugging of this device.

To modify behaviour for this command, modify the do() method of the command class: DebugDeviceCommand.

Returns:

the port the debugger is listening on

DeviceID

TANGO property

ExecutePendingOperations() None

Execute any Tango operations that have been pushed on the queue.

The poll time is initially 5ms, to circumvent the problem of device initialisation, but is reset to 100ms after the first pass.

GetVersionInfo() list[str]

Return the version information of the device.

To modify behaviour for this command, modify the do() method of the command class.

Returns:

The result code and the command unique ID

GroupDefinitions

Device property.

Each string in the list is a JSON serialised dict defining the group_name, devices and subgroups in the group. A Tango Group object is created for each item in the list, according to the hierarchy defined. This provides easy access to the managed devices in bulk, or individually.

The general format of the list is as follows, with optional devices and subgroups keys:

[ {"group_name": "<name>",
   "devices": ["<dev name>", ...]},
  {"group_name": "<name>",
   "devices": ["<dev name>", "<dev name>", ...],
   "subgroups" : [{<nested group>},
                    {<nested group>}, ...]},
  ...
  ]

For example, a hierarchy of racks, servers and switches:

[ {"group_name": "servers",
   "devices": ["elt/server/1", "elt/server/2",
                 "elt/server/3", "elt/server/4"]},
  {"group_name": "switches",
   "devices": ["elt/switch/A", "elt/switch/B"]},
  {"group_name": "pdus",
   "devices": ["elt/pdu/rackA", "elt/pdu/rackB"]},
  {"group_name": "racks",
   "subgroups": [
        {"group_name": "rackA",
         "devices": ["elt/server/1", "elt/server/2",
                       "elt/switch/A", "elt/pdu/rackA"]},
        {"group_name": "rackB",
         "devices": ["elt/server/3", "elt/server/4",
                       "elt/switch/B", "elt/pdu/rackB"],
         "subgroups": []}
   ]} ]
class InitCommand(device: Device, logger: Logger | None = None, validator: ArgumentValidator | None = None)[source]

Bases: InitCommand

A class for the TalonBoard’s init_device() “command”.

do(*args, **kwargs) tuple[ska_control_model.result_code.ResultCode, str][source]

Stateless hook for device initialisation.

Returns:

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

LoggingLevelDefault

Device property.

Default logging level at device startup. See LoggingLevel

LoggingTargetsDefault

Device property.

Default logging targets at device startup. See the project readme for details.

Off() tuple[list[ska_control_model.result_code.ResultCode], list[str]]

Turn device off.

Returns:

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

On() tuple[list[ska_control_model.result_code.ResultCode], list[str]]

Turn device on.

Returns:

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

Reset() tuple[list[ska_control_model.result_code.ResultCode], list[str]]

Reset the device; currently unimplemented in Mid.CBF

Returns:

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

SkaLevel

Device property.

Indication of importance of the device in the SKA hierarchy to support drill-down navigation: 1..6, with 1 highest.

Standby() tuple[list[ska_control_model.result_code.ResultCode], list[str]]

Put the device into standby mode; currently unimplemented in Mid.CBF

Returns:

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

TangoClassClass

alias of TalonBoardClass

TangoClassName = 'TalonBoard'
adminMode

Read the Admin Mode of the device.

It may interpret the current device condition and condition of all managed

devices to set this. Most possibly an aggregate attribute.

Returns:

Admin Mode of the device

buildState

Read the Build State of the device.

Returns:

the build state of the device

commandedState

Read the last commanded operating state of the device.

Initial string is “None”. Only other strings it can change to is “OFF”, “STANDBY” or “ON”, following the start of the Off(), Standby(), On() or Reset() long running commands.

Returns:

commanded operating state string.

controlMode

Read the Control Mode of the device.

The control mode of the device are REMOTE, LOCAL Tango Device accepts only from a ‘local’ client and ignores commands and queries received from TM or any other ‘remote’ clients. The Local clients has to release LOCAL control before REMOTE clients can take control again.

Returns:

Control Mode of the device

healthState

Read the Health State of the device.

It interprets the current device condition and condition of all managed devices to set this. Most possibly an aggregate attribute.

Returns:

Health State of the device

loggingLevel

Read the logging level of the device.

Initialises to LoggingLevelDefault on startup. See LoggingLevel

Returns:

Logging level of the device.

loggingTargets

Read the additional logging targets of the device.

Note that this excludes the handlers provided by the ska_ser_logging library defaults - initialises to LoggingTargetsDefault on startup.

Returns:

Logging level of the device.

longRunningCommandResult

Read the result of the completed long running command.

Reports unique_id, json-encoded result. Clients can subscribe to on_change event and wait for the ID they are interested in.

Returns:

ID, result.

lrcFinished

Read info of the finished long running commands.

Returns:

a list of info JSON blobs of the finished long running commands.

lrcProtocolVersions

Return supported protocol versions.

Returns:

A tuple containing the lower and upper bounds of supported long running command protocol versions.

simulationMode

Read the Simulation Mode of the device.

Returns:

Simulation Mode of the device.

testMode

Read the Test Mode of the device.

Either no test mode or an indication of the test mode.

Returns:

Test Mode of the device

versionId

Read the Version Id of the device.

Returns:

the version id of the device