From d31ff2cf496563f2ed4d8bc5ca45d06bb6df7831 Mon Sep 17 00:00:00 2001 From: Willem Melching Date: Tue, 18 Jan 2022 22:39:11 +0100 Subject: [PATCH] dmonitoringd: make real-time process (#23554) * dmonitoringd: make real-time process * Update selfdrive/monitoring/dmonitoringd.py Co-authored-by: Adeeb Shihadeh --- selfdrive/monitoring/dmonitoringd.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/selfdrive/monitoring/dmonitoringd.py b/selfdrive/monitoring/dmonitoringd.py index 1728cc9e79..517a8fbe5c 100755 --- a/selfdrive/monitoring/dmonitoringd.py +++ b/selfdrive/monitoring/dmonitoringd.py @@ -1,13 +1,19 @@ #!/usr/bin/env python3 +import gc + +import cereal.messaging as messaging from cereal import car from common.params import Params -import cereal.messaging as messaging +from common.realtime import set_realtime_priority from selfdrive.controls.lib.events import Events -from selfdrive.monitoring.driver_monitor import DriverStatus from selfdrive.locationd.calibrationd import Calibration +from selfdrive.monitoring.driver_monitor import DriverStatus def dmonitoringd_thread(sm=None, pm=None): + gc.disable() + set_realtime_priority(2) + if pm is None: pm = messaging.PubMaster(['driverMonitoringState']) @@ -77,8 +83,10 @@ def dmonitoringd_thread(sm=None, pm=None): } pm.send('driverMonitoringState', dat) + def main(sm=None, pm=None): dmonitoringd_thread(sm, pm) + if __name__ == '__main__': main()