diff --git a/selfdrive/hardware/base.py b/selfdrive/hardware/base.py index 2fe0d1c95a..f3b27be31a 100644 --- a/selfdrive/hardware/base.py +++ b/selfdrive/hardware/base.py @@ -1,5 +1,3 @@ -import json -import subprocess from abc import abstractmethod from collections import namedtuple @@ -20,17 +18,6 @@ class HardwareBase: except Exception: return default - @staticmethod - def get_nvme_temps(): - ret = [] - try: - out = subprocess.check_output("sudo smartctl -aj /dev/nvme0", shell=True) - dat = json.loads(out) - ret = list(map(int, dat["nvme_smart_health_information_log"]["temperature_sensors"])) - except Exception: - pass - return ret - @abstractmethod def reboot(self, reason=None): pass @@ -139,6 +126,10 @@ class HardwareBase: def get_modem_temperatures(self): pass + @abstractmethod + def get_nvme_temperatures(self): + pass + @abstractmethod def initialize_hardware(self): pass diff --git a/selfdrive/hardware/eon/hardware.py b/selfdrive/hardware/eon/hardware.py index ae746077da..14475eddbe 100644 --- a/selfdrive/hardware/eon/hardware.py +++ b/selfdrive/hardware/eon/hardware.py @@ -393,6 +393,9 @@ class Android(HardwareBase): # Not sure if we can get this on the LeEco return [] + def get_nvme_temperatures(self): + return [] + def initialize_hardware(self): pass diff --git a/selfdrive/hardware/pc/hardware.py b/selfdrive/hardware/pc/hardware.py index 50a52db48d..b1c340376b 100644 --- a/selfdrive/hardware/pc/hardware.py +++ b/selfdrive/hardware/pc/hardware.py @@ -95,6 +95,9 @@ class Pc(HardwareBase): def get_modem_temperatures(self): return [] + def get_nvme_temperatures(self): + return [] + def initialize_hardware(self): pass diff --git a/selfdrive/hardware/tici/hardware.py b/selfdrive/hardware/tici/hardware.py index b500e09a6c..864d653d01 100644 --- a/selfdrive/hardware/tici/hardware.py +++ b/selfdrive/hardware/tici/hardware.py @@ -1,7 +1,8 @@ +import json import os +import subprocess from functools import cached_property from enum import IntEnum -import subprocess from pathlib import Path from cereal import log @@ -232,6 +233,16 @@ class Tici(HardwareBase): except Exception: return [] + def get_nvme_temperatures(self): + ret = [] + try: + out = subprocess.check_output("sudo smartctl -aj /dev/nvme0", shell=True) + dat = json.loads(out) + ret = list(map(int, dat["nvme_smart_health_information_log"]["temperature_sensors"])) + except Exception: + pass + return ret + # We don't have a battery, so let's use some sane constants def get_battery_capacity(self): return 100 diff --git a/selfdrive/thermald/thermald.py b/selfdrive/thermald/thermald.py index a70773a993..bddaeba008 100755 --- a/selfdrive/thermald/thermald.py +++ b/selfdrive/thermald/thermald.py @@ -255,7 +255,7 @@ def thermald_thread(): network_type = HARDWARE.get_network_type() network_strength = HARDWARE.get_network_strength(network_type) network_info = HARDWARE.get_network_info() # pylint: disable=assignment-from-none - nvme_temps = HARDWARE.get_nvme_temps() + nvme_temps = HARDWARE.get_nvme_temperatures() modem_temps = HARDWARE.get_modem_temperatures() # Log modem version once