TpmMcu

Overview

This plugin is responsible for managing the TPM Microcontoller (Arm Cortex).

Python Class & Methods Index

class ska_low_sps_tpm_api.plugins.mcu.McuRegisters[source]
ALARM_THR_OFFSET = 544
FRAM_ADC_AVDD3 = 264
FRAM_ADC_DDR0_VREF = 272
FRAM_ADC_DDR1_VREF = 276
FRAM_ADC_INTERNAL_MCU_TEMP = 308
FRAM_ADC_MAN_1V2 = 268
FRAM_ADC_MGT_AV = 300
FRAM_ADC_MGT_AVTT = 304
FRAM_ADC_MON_5V0 = 296
FRAM_ADC_SW_AVDD1 = 256
FRAM_ADC_SW_AVDD2 = 260
FRAM_ADC_VIN_SCALED = 284
FRAM_ADC_VM_DRVDD = 280
FRAM_ADC_VM_MAN1V8 = 292
FRAM_ADC_VM_MAN3V3 = 288
FRAM_ALARM_THR_AVDD3 = 552
FRAM_ALARM_THR_BOARD_TEMP = 600
FRAM_ALARM_THR_DDR0_VREF = 560
FRAM_ALARM_THR_DDR1_VREF = 564
FRAM_ALARM_THR_FPGA0_FE_CURRENT = 612
FRAM_ALARM_THR_FPGA0_TEMP = 604
FRAM_ALARM_THR_FPGA1_FE_CURRENT = 616
FRAM_ALARM_THR_FPGA1_TEMP = 608
FRAM_ALARM_THR_INTERNAL_MCU_TEMP = 596
FRAM_ALARM_THR_MAN_1V2 = 556
FRAM_ALARM_THR_MGT_AV = 588
FRAM_ALARM_THR_MGT_AVTT = 592
FRAM_ALARM_THR_MON_5V0 = 584
FRAM_ALARM_THR_SW_AVDD1 = 544
FRAM_ALARM_THR_SW_AVDD2 = 548
FRAM_ALARM_THR_VIN_SCALED = 572
FRAM_ALARM_THR_VM_DRVDD = 568
FRAM_ALARM_THR_VM_MAN1V8 = 580
FRAM_ALARM_THR_VM_MAN3V3 = 576
FRAM_ALM_ERR_VALUE = 236
FRAM_BOARD_ALARM = 228
FRAM_BOARD_STATUS = 224
FRAM_BOARD_TEMP = 312
FRAM_BOARD_WARNING = 232
FRAM_FPGA0_FE_CURRENT = 324
FRAM_FPGA0_TEMP = 316
FRAM_FPGA1_FE_CURRENT = 328
FRAM_FPGA1_TEMP = 320
FRAM_I2C_UNREACH_ERR = 244
FRAM_MCU_BOOTLOADER_COMMANDS = 48
FRAM_MCU_BOOTLOADER_VERSION = 44
FRAM_MCU_COMPILE_DATE = 4
FRAM_MCU_COMPLETE_ADC_COUNTER = 40
FRAM_MCU_COUNTER = 36
FRAM_MCU_FEATURES = 68
FRAM_MCU_GIT_HASH = 8
FRAM_MCU_GPR_0 = 12
FRAM_MCU_GPR_1 = 16
FRAM_MCU_GPR_2 = 20
FRAM_MCU_GPR_3 = 24
FRAM_MCU_INTERNAL_COMMAND = 32
FRAM_MCU_POOLING_INTERVAL = 28
FRAM_MCU_STEP = 56
FRAM_MCU_UART_DBG_DIS = 64
FRAM_MCU_VERSION = 0
FRAM_POWERGOOD = 252
FRAM_POWERGOOD_ERR = 250
FRAM_WARN_ALARM_UPDATE = 400
FRAM_WARN_ERR_VALUE = 240
FRAM_WARN_THR_AVDD3 = 412
FRAM_WARN_THR_BOARD_TEMP = 460
FRAM_WARN_THR_DDR0_VREF = 420
FRAM_WARN_THR_DDR1_VREF = 424
FRAM_WARN_THR_FPGA0_FE_CURRENT = 472
FRAM_WARN_THR_FPGA0_TEMP = 464
FRAM_WARN_THR_FPGA1_FE_CURRENT = 480
FRAM_WARN_THR_FPGA1_TEMP = 468
FRAM_WARN_THR_INTERNAL_MCU_TEMP = 456
FRAM_WARN_THR_MAN_1V2 = 416
FRAM_WARN_THR_MGT_AV = 448
FRAM_WARN_THR_MGT_AVTT = 452
FRAM_WARN_THR_MON_5V0 = 444
FRAM_WARN_THR_SW_AVDD1 = 404
FRAM_WARN_THR_SW_AVDD2 = 408
FRAM_WARN_THR_VIN_SCALED = 432
FRAM_WARN_THR_VM_DRVDD = 428
FRAM_WARN_THR_VM_MAN1V8 = 440
FRAM_WARN_THR_VM_MAN3V3 = 436
MCU_ADC_OFFSET = 256
TEMPS_OFFSET = 312
class ska_low_sps_tpm_api.plugins.mcu.TpmMcu(board, logger=None, **kwargs)[source]

TpmMcu plugin

__init__(board, logger=None, **kwargs)[source]

TpmMcu initialiser.

Parameters:

board – Pointer to board instance

clean_up()[source]

Perform cleanup.

Returns:

Success

disable_uart_debug_output()[source]

Disable debug trasmission on uart, default at poweron is enabled.

enable_uart_debug_output()[source]

Enable debug trasmission on uart, default at poweron is enabled.

get_adc_value(adc_measure=None, all_measure=None)[source]

Get single adc_measure current value, or all available measure values and thresholds (mandatory set once of parameter).

Parameters:
  • adc_measure – use if want get only current value of selected measure

  • all_measure – set to True if want all available measure current value and alarm and thresholds values

Returns:

single selected value, or dictionary with all available measure value and thresholds

get_available_currents()[source]
get_available_mcu_adc()[source]

Get List of Supplies Measures Monitored with MCU ADCs, to be used in other methods

Returns:

List of MCU Measures Names available

get_available_voltages()[source]
get_board_alm_temp_thresholds()[source]

Get board Alarm temperature Max thresholds values.

Note:

this method can not work properly with bios < v0.3.0

get_board_warn_temp_thresholds()[source]

Get board Warning temperature Max thresholds values

Note:

this method can not work properly with bios < v0.3.0

get_current(current=None)[source]
get_current_warning_thresholds(current=None)[source]
get_fpga_alm_temp_thresholds(fpga_id)[source]

Get selected FPGA Alarm temperature Max thresholds values.

Parameters:

fpga_id – select which FPGA’ temp thresholds will be returned (possible values:0,1)

Returns:

maximum temperature threshold value

Note:

this method can not work properly with bios < v0.3.0

get_fpga_warn_temp_thresholds(fpga_id)[source]

Get selected FPGA Warning temperature Max thresholds values.

Parameters:

fpga_id – select which FPGA’ temp thresholds will be returned(possible values:0,1)

Returns:

maximum temperature threshold value

Note:

this method can not work properly with bios < v0.3.0

get_i2c_unreach_err()[source]

Get status of i2c unreachable error status.

Returns:

i2c unreachable error value if not 0 an error was detetcted

Note:

this method not work properly with bios < v0.3.0

get_last_error()[source]

Get status of voltage or temp error detection by MCU, if error is detected the value that has generated the error will be returned.

Returns:

dictionary with measure name as key and value (e.g. {‘VIN’: 11.2}), None if no errors detected

Note:

this method not work properly with bios < v0.3.0

get_last_warning()[source]

Get status of voltage or temp warning detection by MCU, if warning is detected the value that has generated the warning will be returned.

Returns:

dictionary with measure name as key and value (e.g. {‘VIN’: 11.2}), None if no warnings detected

Note:

this method not work properly with bios < v0.3.0

get_mcu_last_exec_phase_id()[source]

Get mcu last execution phase id.

Returns:

last execution phase id

get_mcu_temperature()[source]

Get MCU temperature.

:return:MCU temperature value

get_pgood_err()[source]

get status of power good error status.

Returns:

power good error value if not 0 an error was detetcted

Note:

this method not work properly with bios < v0.3.0

get_rounded_adc_value(McuADCs_key)[source]
get_temperature()[source]

Get Board temperature measured on PCB temperature sensor.

Returns:

temperature value, if I2C access error is detected a value of -273 will be returned

Note:

until ADC PS is ON the returned value of temp is 0

Note:

this method can not work properly with bios < v0.3.0

get_version()[source]

Get MCU FW Version.

Returns:

MCU FW Version (FW Version_Compile_date_InternalCommand)

get_voltage(voltage=None)[source]
get_voltage_warning_thresholds(voltage=None)[source]
initialise()[source]

Initialise TpmMcu

set_adc_alarm_thresholds(adc_measure, min_thr, max_thr)[source]

Set slected MCU ADC measure Alarrm Max and Min thresholds values.

Parameters:
  • adc_measure – name of available measure to be configured

  • min_thr – minimun alarm threshold value in Volt

  • max_thr – maximun alarm threshold value in Volt

Returns:

operation status, 0 success, -1 failed

Note:

this method not work properly with bios < v0.3.0

set_adc_warning_thresholds(adc_measure, min_thr, max_thr)[source]

Set slected MCU ADC measure Warning Max and Min thresholds values.

Parameters:
  • adc_measure – name of available measure to be configured

  • min_thr – minimun warning threshold value in Volt

  • max_thr – maximun warning threshold value in Volt

Returns:

operation status, 0 success, -1 failed

Note:

this method not work properly with bios < v0.3.0

set_board_alm_temp_thresholds(max_temp)[source]

Set board Alarm temperature Max thresholds values.

Parameters:

max_temp – maximun temp threshold value in Celsius degree

Note:

this method can not work properly with bios < v0.3.0

set_board_warn_temp_thresholds(max_temp)[source]

Set board Warning temperature Max thresholds values.

Parameters:

max_temp – maximun temp threshold value in Celsius degree

Note:

this method can not work properly with bios < v0.3.0

set_current_warning_thresholds(current, min_thr, max_thr)[source]
set_fpga_alm_temp_thresholds(max_temp, fpga_id)[source]

Set selected FPGA Alarm temperature Max thresholds values.

Parameters:
  • max_temp – maximun temp threshold value in Celsius degree

  • fpga_id – select which FPGA’ temp thresholds will be configured (possible values:0,1)

Note:

this method can not work properly with bios < v0.3.0

set_fpga_warn_temp_thresholds(max_temp, fpga_id)[source]

Set selected FPGA Warning temperature Max thresholds values.

Parameters:
  • max_temp – maximun temp threshold value in Celsius degree

  • fpga_id – select which FPGA’ temp thresholds will be configured (possible values:0,1)

Note:

this method can not work properly with bios < v0.3.0

set_thresholds_update(message='')[source]

Update thresholds

Parameters:

message – message to be logged, default

set_voltage_warning_thresholds(voltage, min_thr, max_thr)[source]
status_check()[source]

Perform status check.

Returns:

Status