Loading src/tempmon.py +35 −4 Original line number Original line Diff line number Diff line Loading @@ -27,6 +27,7 @@ import sys import time import time import subprocess import subprocess import atexit import atexit import getopt from posix import EX_OSFILE, F_OK from posix import EX_OSFILE, F_OK DEBUG = 0 DEBUG = 0 Loading Loading @@ -59,10 +60,11 @@ out_fn = {"core_temp_fn": "core_temp", class temp_monitor(): class temp_monitor(): def __init__(self, ctrl_path_pref, ctrl_file_names, hwmon_path_pref, hwmon_fn, def __init__(self, ctrl_path_pref, ctrl_file_names, hwmon_path_pref, hwmon_fn, out_path_prefix, out_fnames): out_path_prefix, out_fnames, control_fan): self.is_fan_on = False self.is_fan_on = False self.is_vp5_enabled = False self.is_vp5_enabled = False self.is_10389_present = True self.is_10389_present = True self.control_fan = control_fan self.ctrl_path_prefix = ctrl_path_pref self.ctrl_path_prefix = ctrl_path_pref self.ctrl_fnames = ctrl_file_names self.ctrl_fnames = ctrl_file_names self.hwmon_path_prefix = hwmon_path_pref self.hwmon_path_prefix = hwmon_path_pref Loading Loading @@ -124,9 +126,12 @@ class temp_monitor(): def fan_ctrl(self, ctrl): def fan_ctrl(self, ctrl): """ """ Control fan by writing to sysfs files. Control fan (if this is allowed during script invocation) by writing to sysfs files. @param ctrl: can be "on" or "off" to turn fan on or off @param ctrl: can be "on" or "off" to turn fan on or off """ """ if self.control_fan is False: return if ctrl is "on": if ctrl is "on": """ check if +5V is active and turn it on if it is not (it should not happen) """ """ check if +5V is active and turn it on if it is not (it should not happen) """ with open(self.ctrl_path_prefix + self.ctrl_fnames["vp5_en_fn"], "r+") as f: with open(self.ctrl_path_prefix + self.ctrl_fnames["vp5_en_fn"], "r+") as f: Loading Loading @@ -217,14 +222,40 @@ class temp_monitor(): self.core_temp_params_f.write(str(key) + ": " + str(val) + "\n") self.core_temp_params_f.write(str(key) + ": " + str(val) + "\n") self.core_temp_params_f.flush() self.core_temp_params_f.flush() def print_help(): """ Print usage information. """ print "tempmon.py [--control_fan on|off]" print "'control_fan' parameter enables or disables camera fan control. Default value for this parameter is 'on'." if __name__ == "__main__": if __name__ == "__main__": if DEBUG: if DEBUG: ctrl_path_pref = "" ctrl_path_pref = "" hwmon_path_pref = "" hwmon_path_pref = "" out_path_pref = "" out_path_pref = "" tm = temp_monitor(ctrl_path_pref, ctrl_fn, hwmon_path_pref, hwmon_fn, out_path_pref, out_fn) # parse command line options try: opts, args = getopt.getopt(sys.argv[1:], "h", ["control_fan="]) except: print_help() sys.exit(2) control_fan = True for opt, arg in opts: if opt == "-h": print_help() sys.exit(0) elif opt == "--control_fan": if arg == "on": control_fan = True else: control_fan = False tm = temp_monitor(ctrl_path_pref, ctrl_fn, hwmon_path_pref, hwmon_fn, out_path_pref, out_fn, control_fan) if tm.check_files(): if tm.check_files(): # unconditionally turn the fan on to set the driver to a known state # unconditionally turn the fan on to set the driver to a known state if control_fan: tm.fan_ctrl("on") tm.fan_ctrl("on") tm.monitor() tm.monitor() else: else: Loading Loading
src/tempmon.py +35 −4 Original line number Original line Diff line number Diff line Loading @@ -27,6 +27,7 @@ import sys import time import time import subprocess import subprocess import atexit import atexit import getopt from posix import EX_OSFILE, F_OK from posix import EX_OSFILE, F_OK DEBUG = 0 DEBUG = 0 Loading Loading @@ -59,10 +60,11 @@ out_fn = {"core_temp_fn": "core_temp", class temp_monitor(): class temp_monitor(): def __init__(self, ctrl_path_pref, ctrl_file_names, hwmon_path_pref, hwmon_fn, def __init__(self, ctrl_path_pref, ctrl_file_names, hwmon_path_pref, hwmon_fn, out_path_prefix, out_fnames): out_path_prefix, out_fnames, control_fan): self.is_fan_on = False self.is_fan_on = False self.is_vp5_enabled = False self.is_vp5_enabled = False self.is_10389_present = True self.is_10389_present = True self.control_fan = control_fan self.ctrl_path_prefix = ctrl_path_pref self.ctrl_path_prefix = ctrl_path_pref self.ctrl_fnames = ctrl_file_names self.ctrl_fnames = ctrl_file_names self.hwmon_path_prefix = hwmon_path_pref self.hwmon_path_prefix = hwmon_path_pref Loading Loading @@ -124,9 +126,12 @@ class temp_monitor(): def fan_ctrl(self, ctrl): def fan_ctrl(self, ctrl): """ """ Control fan by writing to sysfs files. Control fan (if this is allowed during script invocation) by writing to sysfs files. @param ctrl: can be "on" or "off" to turn fan on or off @param ctrl: can be "on" or "off" to turn fan on or off """ """ if self.control_fan is False: return if ctrl is "on": if ctrl is "on": """ check if +5V is active and turn it on if it is not (it should not happen) """ """ check if +5V is active and turn it on if it is not (it should not happen) """ with open(self.ctrl_path_prefix + self.ctrl_fnames["vp5_en_fn"], "r+") as f: with open(self.ctrl_path_prefix + self.ctrl_fnames["vp5_en_fn"], "r+") as f: Loading Loading @@ -217,14 +222,40 @@ class temp_monitor(): self.core_temp_params_f.write(str(key) + ": " + str(val) + "\n") self.core_temp_params_f.write(str(key) + ": " + str(val) + "\n") self.core_temp_params_f.flush() self.core_temp_params_f.flush() def print_help(): """ Print usage information. """ print "tempmon.py [--control_fan on|off]" print "'control_fan' parameter enables or disables camera fan control. Default value for this parameter is 'on'." if __name__ == "__main__": if __name__ == "__main__": if DEBUG: if DEBUG: ctrl_path_pref = "" ctrl_path_pref = "" hwmon_path_pref = "" hwmon_path_pref = "" out_path_pref = "" out_path_pref = "" tm = temp_monitor(ctrl_path_pref, ctrl_fn, hwmon_path_pref, hwmon_fn, out_path_pref, out_fn) # parse command line options try: opts, args = getopt.getopt(sys.argv[1:], "h", ["control_fan="]) except: print_help() sys.exit(2) control_fan = True for opt, arg in opts: if opt == "-h": print_help() sys.exit(0) elif opt == "--control_fan": if arg == "on": control_fan = True else: control_fan = False tm = temp_monitor(ctrl_path_pref, ctrl_fn, hwmon_path_pref, hwmon_fn, out_path_pref, out_fn, control_fan) if tm.check_files(): if tm.check_files(): # unconditionally turn the fan on to set the driver to a known state # unconditionally turn the fan on to set the driver to a known state if control_fan: tm.fan_ctrl("on") tm.fan_ctrl("on") tm.monitor() tm.monitor() else: else: Loading