From 3434ea540cd41459ee9cd3406df42342e1bfbe51 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Sun, 12 Feb 2017 19:14:26 -0500 Subject: [PATCH] klippy: Log the type of cpu the host is running on Report in the log the host CPU type and count. This helps distinguish between different rpi versions when debugging the log from a problem report. Signed-off-by: Kevin O'Connor --- klippy/klippy.py | 1 + klippy/util.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/klippy/klippy.py b/klippy/klippy.py index 216aff7b..abd92208 100644 --- a/klippy/klippy.py +++ b/klippy/klippy.py @@ -284,6 +284,7 @@ def main(): software_version = util.get_git_version() if debugoutput is None: logging.info("Git version: %s" % (repr(software_version),)) + logging.info("CPU: %s" % (util.get_cpu_info(),)) # Start firmware while 1: diff --git a/klippy/util.py b/klippy/util.py index 7afb3d1c..2e68dcd1 100644 --- a/klippy/util.py +++ b/klippy/util.py @@ -37,6 +37,21 @@ def create_pty(ptyname): termios.tcsetattr(mfd, termios.TCSADRAIN, old) return mfd +def get_cpu_info(): + try: + f = open('/proc/cpuinfo', 'rb') + data = f.read() + f.close() + except OSError: + logging.debug("Exception on read /proc/cpuinfo: %s" % ( + traceback.format_exc(),)) + return "?" + lines = [l.split(':', 1) for l in data.split('\n')] + lines = [(l[0].strip(), l[1].strip()) for l in lines if len(l) == 2] + core_count = [k for k, v in lines].count("processor") + model_name = dict(lines).get("model name", "?") + return "%d core %s" % (core_count, model_name) + def get_git_version(): # Obtain version info from "git" program gitdir = os.path.join(sys.path[0], '..', '.git')