diff --git a/selfdrive/hardware/eon/shutdownd.py b/selfdrive/hardware/eon/shutdownd.py index bc17af00dd..15112e7d5e 100755 --- a/selfdrive/hardware/eon/shutdownd.py +++ b/selfdrive/hardware/eon/shutdownd.py @@ -8,17 +8,25 @@ from selfdrive.hardware.eon.hardware import getprop from selfdrive.swaglog import cloudlog def main(): + prev = b"" params = Params() while True: - # 0 for shutdown, 1 for reboot - prop = getprop("sys.shutdown.requested") - if prop is not None and len(prop) > 0: - os.system("pkill -9 loggerd") - params.put("LastSystemShutdown", f"'{prop}' {datetime.datetime.now()}") + with open("/dev/__properties__", 'rb') as f: + cur = f.read() - time.sleep(120) - cloudlog.error('shutdown false positive') - break + if cur != prev: + prev = cur + + # 0 for shutdown, 1 for reboot + prop = getprop("sys.shutdown.requested") + if prop is not None and len(prop) > 0: + os.system("pkill -9 loggerd") + params.put("LastSystemShutdown", f"'{prop}' {datetime.datetime.now()}") + os.sync() + + time.sleep(120) + cloudlog.error('shutdown false positive') + break time.sleep(0.1) diff --git a/selfdrive/test/test_onroad.py b/selfdrive/test/test_onroad.py index 1136bc6b26..57849b6c04 100755 --- a/selfdrive/test/test_onroad.py +++ b/selfdrive/test/test_onroad.py @@ -49,6 +49,7 @@ PROCS = { if EON: PROCS.update({ "selfdrive.hardware.eon.androidd": 0.4, + "selfdrive.hardware.eon.shutdownd": 0.4, }) if TICI: