CSP Subelement Controller device

CspSubElementController.

Controller device for SKA CSP Subelement.

class ska_tango_base.csp.controller_device.CspSubElementController(*args: Any, **kwargs: Any)[source]

Controller device for SKA CSP Subelement.

Properties:

  • Device Property
    PowerDelayStandbyOn
    • Delay in sec between power-up stages in Standby<-> On transitions.

    • Type:’DevFloat’

    PowerDelayStandByOff
    • Delay in sec between power-up stages in Standby-> Off transition.

    • Type:’DevFloat’

powerDelayStandbyOn = tango.server.attribute(dtype=DevFloat, access=tango.AttrWriteType.READ_WRITE, label=powerDelayStandbyOn, unit=sec., doc=Delay in sec between the power-up stages in Standby<->On transitions.)

Device attribute.

powerDelayStandbyOff = tango.server.attribute(dtype=DevFloat, access=tango.AttrWriteType.READ_WRITE, label=powerDelayStandbyOff, unit=sec, doc=Delay in sec between the power-up stages in Standby->Off transitions.)

Device attribute.

onProgress = tango.server.attribute(dtype=DevUShort, label=onProgress, max_value=100, min_value=0, doc=Progress percentage of the command execution.)

Device attribute.

onMaximumDuration = tango.server.attribute(dtype=DevFloat, access=tango.AttrWriteType.READ_WRITE, label=onMaximumDuration, unit=sec., doc=The expected maximum duration (sec.) to execute the On command.)

Device attribute.

onMeasuredDuration = tango.server.attribute(dtype=DevFloat, label=onMeasuredDuration, unit=sec, doc=The measured time (sec) taken to execute the command.)

Device attribute.

standbyProgress = tango.server.attribute(dtype=DevUShort, label=standbyProgress, max_value=100, min_value=0, doc=Progress percentage of the command execution.)

Device attribute.

standbyMaximumDuration = tango.server.attribute(dtype=DevFloat, access=tango.AttrWriteType.READ_WRITE, label=standbyMaximumDuration, unit=sec., doc=The expected maximum duration (sec.) to execute the Standby command.)

Device attribute.

standbyMeasuredDuration = tango.server.attribute(dtype=DevFloat, label=standbyMeasuredDuration, unit=sec, doc=The measured time (sec) taken to execute the Standby command.)

Device attribute.

offProgress = tango.server.attribute(dtype=DevUShort, label=offProgress, max_value=100, min_value=0, doc=Progress percentage of the command execution.)

Device attribute.

offMaximumDuration = tango.server.attribute(dtype=DevFloat, access=tango.AttrWriteType.READ_WRITE, label=offMaximumDuration, unit=sec., doc=The expected maximum duration (sec.) to execute the Off command.)

Device attribute.

offMeasuredDuration = tango.server.attribute(dtype=DevFloat, label=offMeasuredDuration, unit=sec, doc=The measured time (sec) taken to execute the Off command.)

Device attribute.

totalOutputDataRateToSdp = tango.server.attribute(dtype=DevFloat, label=totalOutputDataRateToSdp, unit=GB/s, doc=Report the total link expected  output data rate.)

Device attribute.

loadFirmwareProgress = tango.server.attribute(dtype=DevUShort, label=loadFirmwareProgress, max_value=100, min_value=0, doc=The command progress percentage.)

Device attribute.

loadFirmwareMaximumDuration = tango.server.attribute(dtype=DevFloat, access=tango.AttrWriteType.READ_WRITE, label=loadFirmwareMaximumDuration, unit=sec, doc=The expected maximum duration (in sec) for command execution.)

Device attribute.

loadFirmwareMeasuredDuration = tango.server.attribute(dtype=DevFloat, label=loadFirmwareMeasuredDuration, unit=sec, doc=The command execution measured duration (in sec).)

Device attribute.

init_command_objects()[source]

Set up the command objects.

class InitCommand(target, op_state_model, logger=None)[source]

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

do()[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.

Return type:

(ResultCode, str)

always_executed_hook()[source]

Perform actions always executed before any Tango command is executed.

This is a Tango hook.

delete_device()[source]

Clean up any resources prior to device deletion.

This method is a Tango hook that is called by the device destructor and by the device Init command. It allows for any memory or other resources allocated in the init_device method to be released prior to device deletion.

read_powerDelayStandbyOn()[source]

Return the powerDelayStandbyOn attribute.

write_powerDelayStandbyOn(value)[source]

Set the powerDelayStandbyOn attribute.

read_onProgress()[source]

Return the onProgress attribute.

read_onMaximumDuration()[source]

Return the onMaximumDuration attribute.

write_onMaximumDuration(value)[source]

Set the onMaximumDuration attribute.

read_onMeasuredDuration()[source]

Return the onMeasuredDuration attribute.

read_standbyProgress()[source]

Return the standbyProgress attribute.

read_standbyMaximumDuration()[source]

Return the standbyMaximumDuration attribute.

write_standbyMaximumDuration(value)[source]

Set the standbyMaximumDuration attribute.

read_standbyMeasuredDuration()[source]

Return the standbyMeasuredDuration attribute.

read_offProgress()[source]

Return the offProgress attribute.

read_offMaximumDuration()[source]

Return the offMaximumDuration attribute.

write_offMaximumDuration(value)[source]

Set the offMaximumDuration attribute.

read_offMeasuredDuration()[source]

Return the offMeasuredDuration attribute.

read_totalOutputDataRateToSdp()[source]

Return the totalOutputDataRateToSdp attribute.

read_powerDelayStandbyOff()[source]

Return the powerDelayStandbyOff attribute.

write_powerDelayStandbyOff(value)[source]

Set the powerDelayStandbyOff attribute.

read_loadFirmwareProgress()[source]

Return the loadFirmwareProgress attribute.

read_loadFirmwareMaximumDuration()[source]

Return the loadFirmwareMaximumDuration attribute.

write_loadFirmwareMaximumDuration(value)[source]

Set the loadFirmwareMaximumDuration attribute.

read_loadFirmwareMeasuredDuration()[source]

Return the loadFirmwareMeasuredDuration attribute.

class LoadFirmwareCommand(target, op_state_model, admin_mode_model, *args, logger=None, **kwargs)[source]

A class for the LoadFirmware command.

do(argin)[source]

Stateless hook for device LoadFirmware() command.

Parameters:

argin – argument to command, currently unused

Returns:

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

Return type:

(ResultCode, str)

is_allowed(raise_if_disallowed=False)[source]

Check if the command is in the proper state to be executed.

The controller device has to be in op state OFF and admin mode MAINTENACE to process the LoadFirmware command.

Parameters:

raise_if_disallowed – whether to raise an error or simply return False if the command is disallowed

Raises:

CommandError – if command not allowed

Returns:

True if the command is allowed.

Return type:

boolean

class PowerOnDevicesCommand(target, op_state_model, *args, logger=None, **kwargs)[source]

A class for the CspSubElementController’s PowerOnDevices command.

do(argin)[source]

Stateless hook for device PowerOnDevices() command.

Parameters:

argin – argument to command, currently unused

Returns:

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

Return type:

(ResultCode, str)

is_allowed(raise_if_disallowed=False)[source]

Check if the command is in the proper state to be executed.

The controller device has to be in ON to process the PowerOnDevices command.

Parameters:

raise_if_disallowed – whether to raise an error or simply return False if the command is disallowed

Raises:

CommandError – if command not allowed

Returns:

True if the command is allowed.

Return type:

boolean

class PowerOffDevicesCommand(target, op_state_model, *args, logger=None, **kwargs)[source]

A class for the CspSubElementController’s PowerOffDevices command.

do(argin)[source]

Stateless hook for device PowerOffDevices() command.

Parameters:

argin – argument to command, currently unused

Returns:

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

Return type:

(ResultCode, str)

is_allowed(raise_if_disallowed=False)[source]

Check if the command is in the proper state to be executed.

The controller device has to be in ON to process the PowerOffDevices command.

Parameters:

raise_if_disallowed – whether to raise an error or simply return False if the command is disallowed

Raises:

CommandError – if command not allowed

Returns:

True if the command is allowed.

Return type:

boolean

class ReInitDevicesCommand(target, op_state_model, *args, logger=None, **kwargs)[source]

A class for the CspSubElementController’s ReInitDevices command.

do(argin)[source]

Stateless hook for device ReInitDevices() command.

Parameters:

argin – argument to command, currently unused

Returns:

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

Return type:

(ResultCode, str)

is_allowed(raise_if_disallowed=False)[source]

Check if the command is in the proper state to be executed.

The controller device has to be in ON to process the ReInitDevices command.

Parameters:

raise_if_disallowed – whether to raise an error or simply return False if the command is disallowed

Raises:

CommandError – if command not allowed

Returns:

True if the command is allowed.

Return type:

boolean

is_LoadFirmware_allowed()[source]

Check if the LoadFirmware command is allowed in the current state.

Returns:

True if command is allowed

Return type:

boolean

LoadFirmware(argin)[source]

Deploy new versions of software and firmware.

After deployment, a restart is triggers so that a Component initializes using a newly deployed version.

Parameters:

argin ('DevVarStringArray') – A list of three strings: - The file name or a pointer to the filename specified as URL. - the list of components that use software or firmware package (file), - checksum or signing Ex: [’file://firmware.txt’,’test/dev/1, test/dev/2, test/dev/3’, ‘918698a7fea3fa9da5996db001d33628’]

Returns:

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

Return type:

(ResultCode, str)

is_PowerOnDevices_allowed()[source]

Check if the PowerOnDevice command is allowed in the current state.

Returns:

True if command is allowed

Return type:

boolean

PowerOnDevices(argin)[source]

Power-on a selected list of devices.

Parameters:

argin ('DevVarStringArray') – List of devices (FQDNs) to power-on.

Returns:

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

Return type:

(ResultCode, str)

is_PowerOffDevices_allowed()[source]

Check if the PowerOffDevices command is allowed in the current state.

Returns:

True if command is allowed

Return type:

boolean

PowerOffDevices(argin)[source]

Power-off a selected list of devices.

Parameters:

argin ('DevVarStringArray') – List of devices (FQDNs) to power-off.

Returns:

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

Return type:

(ResultCode, str)

is_ReInitDevices_allowed()[source]

Check if the ReInitDevices command is allowed in the current state.

Returns:

True if command is allowed

Return type:

boolean

ReInitDevices(argin)[source]

Reinitialize the devices passed in the input argument.

The exact functionality may vary for different devices and sub-systems, each Tango Device/Server should define what does ReInitDevices means. Ex: ReInitDevices FPGA -> reset ReInitDevices Controller -> Restart ReInitDevices Leaf PC -> reboot

Parameters:

argin ('DevVarStringArray') – List of devices (FQDNs) to re-initialize.

Returns:

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

Return type:

(ResultCode, str)

ska_tango_base.csp.controller_device.main(args=None, **kwargs)[source]

Entry point for the CspSubElementController module.

Parameters:
  • args – str

  • kwargs – str

Returns:

exit code