diff --git a/selfdrive/monitoring/dmonitoringd.py b/selfdrive/monitoring/dmonitoringd.py index e572bf5bd9..80af7b71d0 100755 --- a/selfdrive/monitoring/dmonitoringd.py +++ b/selfdrive/monitoring/dmonitoringd.py @@ -20,14 +20,16 @@ def dmonitoringd_thread(): # 20Hz <- dmonitoringmodeld while True: sm.update() - if (not sm.updated['driverStateV2']) or (not sm.all_checks()): + if not sm.updated['driverStateV2']: # iterate when model has new output continue - DM.run_step(sm) + valid = sm.all_checks() + if valid: + DM.run_step(sm) # publish - dat = DM.get_state_packet() + dat = DM.get_state_packet(valid=valid) pm.send('driverMonitoringState', dat) # load live always-on toggle diff --git a/selfdrive/monitoring/helpers.py b/selfdrive/monitoring/helpers.py index 347cb245d1..dfb35182b2 100644 --- a/selfdrive/monitoring/helpers.py +++ b/selfdrive/monitoring/helpers.py @@ -368,9 +368,9 @@ class DriverMonitoring: self.current_events.add(alert) - def get_state_packet(self): + def get_state_packet(self, valid=True): # build driverMonitoringState packet - dat = messaging.new_message('driverMonitoringState', valid=True) + dat = messaging.new_message('driverMonitoringState', valid=valid) dat.driverMonitoringState = { "events": self.current_events.to_msg(), "faceDetected": self.face_detected, diff --git a/selfdrive/test/process_replay/ref_commit b/selfdrive/test/process_replay/ref_commit index 4fec7453fc..0a9a54325a 100644 --- a/selfdrive/test/process_replay/ref_commit +++ b/selfdrive/test/process_replay/ref_commit @@ -1 +1 @@ -dbf5b05ff480145a79b5941e360d0698b70979cd \ No newline at end of file +87aa5052e36d5cf83698b1eb6e50aef5c86df8ca \ No newline at end of file