add modem state to NetworkInfo

old-commit-hash: 7a8c7505d0
commatwo_master
Willem Melching 4 years ago
parent f923f47b98
commit 47b1b6042b
  1. 2
      cereal
  2. 21
      selfdrive/hardware/tici/hardware.py

@ -1 +1 @@
Subproject commit 6fe062eca0c576cd0629cc00f4df0300abdcf5db Subproject commit c6b29499c798ab82ab0d9c01de1d7c512fd33999

@ -1,4 +1,5 @@
import os import os
from enum import IntEnum
import subprocess import subprocess
from pathlib import Path from pathlib import Path
from smbus2 import SMBus from smbus2 import SMBus
@ -17,7 +18,20 @@ MM_MODEM = MM + ".Modem"
MM_MODEM_SIMPLE = MM + ".Modem.Simple" MM_MODEM_SIMPLE = MM + ".Modem.Simple"
MM_SIM = MM + ".Sim" MM_SIM = MM + ".Sim"
MM_MODEM_STATE_CONNECTED = 11 class MM_MODEM_STATE(IntEnum):
FAILED = -1
UNKNOWN = 0
INITIALIZING = 1
LOCKED = 2
DISABLED = 3
DISABLING = 4
ENABLING = 5
ENABLED = 6
SEARCHING = 7
REGISTERED = 8
DISCONNECTING = 9
CONNECTING = 10
CONNECTED = 11
TIMEOUT = 0.1 TIMEOUT = 0.1
@ -117,7 +131,7 @@ class Tici(HardwareBase):
'mcc_mnc': str(sim.Get(MM_SIM, 'OperatorIdentifier', dbus_interface=DBUS_PROPS, timeout=TIMEOUT)), 'mcc_mnc': str(sim.Get(MM_SIM, 'OperatorIdentifier', dbus_interface=DBUS_PROPS, timeout=TIMEOUT)),
'network_type': ["Unknown"], 'network_type': ["Unknown"],
'sim_state': ["READY"], 'sim_state': ["READY"],
'data_connected': modem.Get(MM_MODEM, 'State', dbus_interface=DBUS_PROPS, timeout=TIMEOUT) == MM_MODEM_STATE_CONNECTED, 'data_connected': modem.Get(MM_MODEM, 'State', dbus_interface=DBUS_PROPS, timeout=TIMEOUT) == MM_MODEM_STATE.CONNECTED,
} }
def get_subscriber_info(self): def get_subscriber_info(self):
@ -134,12 +148,14 @@ class Tici(HardwareBase):
try: try:
info = modem.Command("AT+QNWINFO", int(TIMEOUT * 1000), dbus_interface=MM_MODEM, timeout=TIMEOUT) info = modem.Command("AT+QNWINFO", int(TIMEOUT * 1000), dbus_interface=MM_MODEM, timeout=TIMEOUT)
extra = modem.Command('AT+QENG="servingcell"', int(TIMEOUT * 1000), dbus_interface=MM_MODEM, timeout=TIMEOUT) extra = modem.Command('AT+QENG="servingcell"', int(TIMEOUT * 1000), dbus_interface=MM_MODEM, timeout=TIMEOUT)
state = modem.Get(MM_MODEM, 'State', dbus_interface=DBUS_PROPS, timeout=TIMEOUT)
except Exception: except Exception:
return None return None
if info and info.startswith('+QNWINFO: '): if info and info.startswith('+QNWINFO: '):
info = info.replace('+QNWINFO: ', '').replace('"', '').split(',') info = info.replace('+QNWINFO: ', '').replace('"', '').split(',')
extra = "" if extra is None else extra.replace('+QENG: "servingcell",', '').replace('"', '') extra = "" if extra is None else extra.replace('+QENG: "servingcell",', '').replace('"', '')
state = "" if state is None else MM_MODEM_STATE(state).name
if len(info) != 4: if len(info) != 4:
return None return None
@ -152,6 +168,7 @@ class Tici(HardwareBase):
'band': band, 'band': band,
'channel': int(channel), 'channel': int(channel),
'extra': extra, 'extra': extra,
'state': state,
}) })
else: else:
return None return None

Loading…
Cancel
Save