Log modem version and some NV values (#24137)

* add back modem version number logging

* tici only

* log nv

* make event

* str cast
pull/24139/head
Willem Melching 3 years ago committed by GitHub
parent 5e1095e881
commit be35caca61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      selfdrive/hardware/base.py
  2. 3
      selfdrive/hardware/eon/hardware.py
  3. 3
      selfdrive/hardware/pc/hardware.py
  4. 13
      selfdrive/hardware/tici/hardware.py
  5. 11
      selfdrive/thermald/thermald.py

@ -134,9 +134,11 @@ class HardwareBase(ABC):
def get_gpu_usage_percent(self):
pass
@abstractmethod
def get_modem_version(self):
pass
return None
def get_modem_nv(self):
return None
@abstractmethod
def get_modem_temperatures(self):

@ -411,9 +411,6 @@ class Android(HardwareBase):
except Exception:
return 0
def get_modem_version(self):
return None
def get_modem_temperatures(self):
# Not sure if we can get this on the LeEco
return []

@ -92,9 +92,6 @@ class Pc(HardwareBase):
def get_gpu_usage_percent(self):
return 0
def get_modem_version(self):
return None
def get_modem_temperatures(self):
return []

@ -317,6 +317,19 @@ class Tici(HardwareBase):
except Exception:
return None
def get_modem_nv(self):
timeout = 0.2 # Default timeout is too short
files = (
'/nv/item_files/modem/mmode/ue_usage_setting',
'/nv/item_files/ims/IMS_enable',
'/nv/item_files/modem/mmode/sms_only',
)
try:
modem = self.get_modem()
return { fn: str(modem.Command(f'AT+QNVFR="{fn}"', math.ceil(timeout), dbus_interface=MM_MODEM, timeout=timeout)) for fn in files}
except Exception:
return None
def get_modem_temperatures(self):
timeout = 0.2 # Default timeout is too short
try:

@ -99,6 +99,9 @@ def hw_state_thread(end_event, hw_queue):
registered_count = 0
prev_hw_state = None
modem_version = None
modem_nv = None
while not end_event.is_set():
# these are expensive calls. update every 10s
if (count % int(10. / DT_TRML)) == 0:
@ -108,6 +111,14 @@ def hw_state_thread(end_event, hw_queue):
if len(modem_temps) == 0 and prev_hw_state is not None:
modem_temps = prev_hw_state.modem_temps
# Log modem version once
if TICI and ((modem_version is None) or (modem_nv is None)):
modem_version = HARDWARE.get_modem_version() # pylint: disable=assignment-from-none
modem_nv = HARDWARE.get_modem_nv() # pylint: disable=assignment-from-none
if (modem_version is not None) and (modem_nv is not None):
cloudlog.event("modem version", version=modem_version, nv=modem_nv)
hw_state = HardwareState(
network_type=network_type,
network_metered=HARDWARE.get_network_metered(network_type),

Loading…
Cancel
Save