dmonitoringd: set invalid if missing dependence(s) (#32569)

* no step but still send

* no this

* update diff
old-commit-hash: a16fbdae3890b0e547f0113497ff8f713bd2b07b
This commit is contained in:
ZwX1616
2024-05-29 15:43:55 -07:00
committed by GitHub
parent e1ec898b41
commit a51790da10
3 changed files with 8 additions and 6 deletions

View File

@@ -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

View File

@@ -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,

View File

@@ -1 +1 @@
dbf5b05ff480145a79b5941e360d0698b70979cd
87aa5052e36d5cf83698b1eb6e50aef5c86df8ca