From 9ff1fb48de53ab2889ac349c182cf77196139e4b Mon Sep 17 00:00:00 2001 From: Willem Melching Date: Tue, 16 Jun 2020 12:49:38 -0700 Subject: [PATCH] add wrong neos version alert (#1725) --- cereal/car.capnp | 4 ++++ selfdrive/controls/controlsd.py | 5 +++++ selfdrive/controls/lib/events.py | 10 ++++++++++ 3 files changed, 19 insertions(+) diff --git a/cereal/car.capnp b/cereal/car.capnp index 05c2dd6d2..6d7133198 100644 --- a/cereal/car.capnp +++ b/cereal/car.capnp @@ -107,6 +107,10 @@ struct CarEvent @0x9b1657f34caf3ad3 { startupWhitePanda @82; canErrorPersistent @83; belowEngageSpeed @84; + noGps @85; + focusRecoverActive @86; + wrongCruiseMode @87; + neosUpdateRequired @88; } } diff --git a/selfdrive/controls/controlsd.py b/selfdrive/controls/controlsd.py index 55cfe1bf1..168ef7e4f 100755 --- a/selfdrive/controls/controlsd.py +++ b/selfdrive/controls/controlsd.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 import os import gc +import subprocess from cereal import car, log from common.numpy_fast import clip from common.realtime import sec_since_boot, set_realtime_priority, Ratekeeper, DT_CTRL @@ -142,6 +143,10 @@ class Controls: # if hw_type == HwType.whitePanda: # self.events.add(EventName.whitePandaUnsupported, static=True) + uname = subprocess.check_output(["uname", "-v"], encoding='utf8').strip() + if uname == "#1 SMP PREEMPT Wed Jun 10 12:40:53 PDT 2020": + self.events.add(EventName.neosUpdateRequired, static=True) + # controlsd is driven by can recv, expected at 100Hz self.rk = Ratekeeper(100, print_delay_threshold=None) self.prof = Profiler(False) # off by default diff --git a/selfdrive/controls/lib/events.py b/selfdrive/controls/lib/events.py index 6bd865a97..421aaaade 100644 --- a/selfdrive/controls/lib/events.py +++ b/selfdrive/controls/lib/events.py @@ -507,6 +507,16 @@ EVENTS = { ET.NO_ENTRY: NoEntryAlert("Speed Too Low"), }, + EventName.neosUpdateRequired: { + ET.PERMANENT: Alert( + "NEOS Update Required", + "Please Wait for Update", + AlertStatus.normal, AlertSize.mid, + Priority.HIGHEST, VisualAlert.none, AudibleAlert.none, 0., 0., .2), + ET.NO_ENTRY: NoEntryAlert("NEOS Update Required"), + }, + + EventName.sensorDataInvalid: { ET.PERMANENT: Alert( "No Data from Device Sensors",