Add network_type to thermald (#1030)

* add network_type to thermal log

* move get_network_type to android library
pull/1032/head
Andrew Valish 6 years ago committed by GitHub
parent 75fdebb1ee
commit 770903520d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      cereal
  2. 31
      common/android.py
  3. 5
      selfdrive/thermald.py

@ -1 +1 @@
Subproject commit 3f01dcf01cea9833a73e9779cc9237e9bda80e1e Subproject commit 23abef4fdb18bc2b06281f9937ed3e7fc31e5c37

@ -89,3 +89,34 @@ def parse_service_call_bytes(ret):
return r return r
except Exception: except Exception:
return None return None
def get_network_type(NetworkType):
wifi_check = parse_service_call_string(service_call(["connectivity", "2"]))
if 'WIFI' in wifi_check:
return NetworkType.wifi
else:
cell_check = parse_service_call_unpack(service_call(['phone', '59']), ">q")
cell_networks = {
0: NetworkType.none,
1: NetworkType.cell2G,
2: NetworkType.cell2G,
4: NetworkType.cell2G,
7: NetworkType.cell2G,
11: NetworkType.cell2G,
16: NetworkType.cell2G,
3: NetworkType.cell3G,
5: NetworkType.cell3G,
6: NetworkType.cell3G,
8: NetworkType.cell3G,
9: NetworkType.cell3G,
10: NetworkType.cell3G,
12: NetworkType.cell3G,
13: NetworkType.cell3G,
14: NetworkType.cell3G,
15: NetworkType.cell3G,
17: NetworkType.cell3G,
18: NetworkType.cell4G,
19: NetworkType.cell4G,
20: NetworkType.cell5G
}
return cell_networks.get(cell_check, NetworkType.none)

@ -6,7 +6,7 @@ import datetime
import psutil import psutil
from smbus2 import SMBus from smbus2 import SMBus
from cereal import log from cereal import log
from common.android import ANDROID from common.android import ANDROID, get_network_type
from common.basedir import BASEDIR from common.basedir import BASEDIR
from common.params import Params from common.params import Params
from common.realtime import sec_since_boot, DT_TRML from common.realtime import sec_since_boot, DT_TRML
@ -21,6 +21,7 @@ from selfdrive.pandad import get_expected_signature
FW_SIGNATURE = get_expected_signature() FW_SIGNATURE = get_expected_signature()
ThermalStatus = log.ThermalData.ThermalStatus ThermalStatus = log.ThermalData.ThermalStatus
NetworkType = log.ThermalData.NetworkType
CURRENT_TAU = 15. # 15s time constant CURRENT_TAU = 15. # 15s time constant
DAYS_NO_CONNECTIVITY_MAX = 7 # do not allow to engage after a week without internet DAYS_NO_CONNECTIVITY_MAX = 7 # do not allow to engage after a week without internet
DAYS_NO_CONNECTIVITY_PROMPT = 4 # send an offroad prompt after 4 days with no internet DAYS_NO_CONNECTIVITY_PROMPT = 4 # send an offroad prompt after 4 days with no internet
@ -135,7 +136,6 @@ def handle_fan_uno(max_cpu_temp, bat_temp, fan_speed, ignition):
return new_speed return new_speed
def thermald_thread(): def thermald_thread():
# prevent LEECO from undervoltage # prevent LEECO from undervoltage
BATT_PERC_OFF = 10 if LEON else 3 BATT_PERC_OFF = 10 if LEON else 3
@ -192,6 +192,7 @@ def thermald_thread():
msg.thermal.freeSpace = get_available_percent(default=100.0) / 100.0 msg.thermal.freeSpace = get_available_percent(default=100.0) / 100.0
msg.thermal.memUsedPercent = int(round(psutil.virtual_memory().percent)) msg.thermal.memUsedPercent = int(round(psutil.virtual_memory().percent))
msg.thermal.cpuPerc = int(round(psutil.cpu_percent())) msg.thermal.cpuPerc = int(round(psutil.cpu_percent()))
msg.thermal.networkType = get_network_type(NetworkType)
try: try:
with open("/sys/class/power_supply/battery/capacity") as f: with open("/sys/class/power_supply/battery/capacity") as f:

Loading…
Cancel
Save