Add exception handlers to dbus network stats

old-commit-hash: dbd7b10bae
commatwo_master
Willem Melching 4 years ago
parent 9f0611507e
commit 5a1f57c490
  1. 60
      selfdrive/hardware/tici/hardware.py

@ -50,21 +50,24 @@ class Tici(HardwareBase):
return self.get_cmdline()['androidboot.serialno'] return self.get_cmdline()['androidboot.serialno']
def get_network_type(self): def get_network_type(self):
primary_connection = self.nm.Get(NM, 'PrimaryConnection', dbus_interface=DBUS_PROPS) try:
primary_connection = self.bus.get_object(NM, primary_connection) primary_connection = self.nm.Get(NM, 'PrimaryConnection', dbus_interface=DBUS_PROPS)
tp = primary_connection.Get(NM_CON_ACT, 'Type', dbus_interface=DBUS_PROPS) primary_connection = self.bus.get_object(NM, primary_connection)
tp = primary_connection.Get(NM_CON_ACT, 'Type', dbus_interface=DBUS_PROPS)
if tp in ['802-3-ethernet', '802-11-wireless']:
return NetworkType.wifi if tp in ['802-3-ethernet', '802-11-wireless']:
elif tp in ['gsm']: return NetworkType.wifi
modem = self.get_modem() elif tp in ['gsm']:
access_t = modem.Get(MM_MODEM, 'AccessTechnologies', dbus_interface=DBUS_PROPS) modem = self.get_modem()
if access_t >= MM_MODEM_ACCESS_TECHNOLOGY_LTE: access_t = modem.Get(MM_MODEM, 'AccessTechnologies', dbus_interface=DBUS_PROPS)
return NetworkType.cell4G if access_t >= MM_MODEM_ACCESS_TECHNOLOGY_LTE:
elif access_t >= MM_MODEM_ACCESS_TECHNOLOGY_UMTS: return NetworkType.cell4G
return NetworkType.cell3G elif access_t >= MM_MODEM_ACCESS_TECHNOLOGY_UMTS:
else: return NetworkType.cell3G
return NetworkType.cell2G else:
return NetworkType.cell2G
except Exception:
pass
return NetworkType.none return NetworkType.none
@ -121,19 +124,22 @@ class Tici(HardwareBase):
def get_network_strength(self, network_type): def get_network_strength(self, network_type):
network_strength = NetworkStrength.unknown network_strength = NetworkStrength.unknown
if network_type == NetworkType.none: try:
pass if network_type == NetworkType.none:
elif network_type == NetworkType.wifi: pass
wlan = self.get_wlan() elif network_type == NetworkType.wifi:
active_ap_path = wlan.Get(NM_DEV_WL, 'ActiveAccessPoint', dbus_interface=DBUS_PROPS) wlan = self.get_wlan()
if active_ap_path != "/": active_ap_path = wlan.Get(NM_DEV_WL, 'ActiveAccessPoint', dbus_interface=DBUS_PROPS)
active_ap = self.bus.get_object(NM, active_ap_path) if active_ap_path != "/":
strength = int(active_ap.Get(NM_AP, 'Strength', dbus_interface=DBUS_PROPS)) active_ap = self.bus.get_object(NM, active_ap_path)
strength = int(active_ap.Get(NM_AP, 'Strength', dbus_interface=DBUS_PROPS))
network_strength = self.parse_strength(strength)
else: # Cellular
modem = self.get_modem()
strength = int(modem.Get(MM_MODEM, 'SignalQuality', dbus_interface=DBUS_PROPS)[0])
network_strength = self.parse_strength(strength) network_strength = self.parse_strength(strength)
else: # Cellular except Exception:
modem = self.get_modem() pass
strength = int(modem.Get(MM_MODEM, 'SignalQuality', dbus_interface=DBUS_PROPS)[0])
network_strength = self.parse_strength(strength)
return network_strength return network_strength

Loading…
Cancel
Save