Powering ON SPS Equipment

Before we can utilise SPS hardware, it must first be powered ON.

Powering ON Tile Processing Modules

TPMs are supplied power via the subrack backplane. This means to power ON the TPMs we must request the subrack management board of the corresponding subrack supplies power to the correct subrack slot.

This page details how this can be done from the command line. Though it is worth noting that the Cabinet Test GUI has this functionality incorporated, so this can be used as an alternative to the below.

The cabinet/station control script cabinet_control.py is located in the src/ska_low_sps_testsuite/common directory. This can be executed from the command line with a Station Configuration YAML or Cabinet Configuration YAML provided:

python cabinet_control.py --config <path to cabinet/station config file> --command <command>

The available commands are:

  • power_on - Powers on all TPMs specified in config file

  • power_off - Powers off all TPMs specified in config file

  • power_cycle - Power cycles all TPMs specified in config file

  • are_tpms_on - Prints if each TPM in each subrack specified in config file are on

  • set_fans_20 - Sets all fans of each subrack specified to 20%

  • set_fans_40 - Sets all fans of each subrack specified to 40%

  • set_fans_60 - Sets all fans of each subrack specified to 60%

  • set_fans_80 - Sets all fans of each subrack specified to 80%

  • set_fans_100 - Sets all fans of each subrack specified to 100%

  • get_tpm_power - Returns a list if all TPM powers in W

  • get_health_status - Returns status of all health monitoring points of each subrack

To view the underlying communication with the subrack, set the log level to debug with --log_level debug.

Alternatively, a subrack control script is located in the src/ska_low_sps_testsuite/common directory and can be executed from the command line using ipython. This will then provide an interactive python environment where you can create a subrack object and issue commands:

ipython -i subrack_control.py

# Create a subrack object
my_subrack = Subrack('10.132.0.14')

# Power on TPM slot 1 and slot 2
my_subrack.power_on_tpm([1, 2])

# Set fan speed to 100%
my_subrack.set_fan_speed(100)

# Power off all subrack slots (1-8)
my_subrack.power_off_all_tpms()

# Get all health monitoring points of the subrack
my_subrack.get_health_status()

# Get only temperature monitoring points of the subrack
my_subrack.get_health_status("temperatures")

The following methods are available:

  • power_on_all_tpms()

  • power_off_all_tpms()

  • power_cycle_all_tpms()

  • power_on_tpm(slot_list)

  • power_off_tpm(slot_list)

  • power_cycle_tpm(slot_list)

  • are_tpms_on()

  • is_tpm_on(slot_list)

  • set_fan_speed(percent_speed)

  • get_health_status(monitoring_points)