Added thermal limit logic to Prime95 test

This commit is contained in:
2Shirt 2019-02-05 21:08:06 -07:00
parent 3c35a75c92
commit a28a754be1
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C
2 changed files with 20 additions and 5 deletions

View file

@ -1262,6 +1262,7 @@ def run_mprime_test(state, test):
test.update_status()
update_progress_pane(state)
test.sensor_data = get_sensor_data()
test.thermal_abort = False
# Update tmux layout
tmux_update_pane(
@ -1303,6 +1304,7 @@ def run_mprime_test(state, test):
command=['hw-diags-prime95', global_vars['TmpDir']],
working_dir=global_vars['TmpDir'])
time_limit = int(MPRIME_LIMIT) * 60
thermal_limit = int(THERMAL_LIMIT)
try:
for i in range(time_limit):
clear_screen()
@ -1319,15 +1321,19 @@ def run_mprime_test(state, test):
# Not using print wrappers to avoid flooding the log
print(_status_str)
print('{YELLOW}{msg}{CLEAR}'.format(msg=test.abort_msg, **COLORS))
update_sensor_data(test.sensor_data)
update_sensor_data(test.sensor_data, thermal_limit)
# Wait
sleep(1)
except KeyboardInterrupt:
# Catch CTRL+C
except (KeyboardInterrupt, ThermalError) as err:
# CTRL+c pressed or thermal threshold reached
test.aborted = True
test.update_status('Aborted')
print_warning('\nAborted.')
if isinstance(err, KeyboardInterrupt):
test.update_status('Aborted')
elif isinstance(err, ThermalError):
test.failed = True
test.thermal_abort = True
test.update_status('NS')
update_progress_pane(state)
# Restart live monitor
@ -1428,6 +1434,14 @@ def run_mprime_test(state, test):
test.sensor_data, 'Idle', 'Max', 'Cooldown', core_only=True):
test.report.append(' {}'.format(line))
# Add abort message(s)
if test.aborted:
test.report.append(
' {YELLOW}Aborted{CLEAR}'.format(**COLORS))
if test.thermal_abort:
test.report.append(
' {RED}CPU temps exceeded threshold{CLEAR}'.format(**COLORS))
# Done
update_progress_pane(state)

View file

@ -16,6 +16,7 @@ KIT_NAME_SHORT='WK'
SUPPORT_MESSAGE='Please let 2Shirt know by opening an issue on GitHub'
# Live Linux
MPRIME_LIMIT='7' # of minutes to run Prime95 during hw-diags
THERMAL_LIMIT='95' # Prime95 abort temperature in Celsius
ROOT_PASSWORD='Abracadabra'
TECH_PASSWORD='Abracadabra'
# Server IP addresses