ui: add timeout check for unresponsive system detection (#35433)

add time out to check if messages have stopped arriving
pull/35436/head
Dean Lee 1 week ago committed by GitHub
parent 6f6adc10a8
commit f78ba72a85
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 8
      selfdrive/ui/onroad/alert_renderer.py

@ -3,7 +3,7 @@ import pyray as rl
from dataclasses import dataclass from dataclasses import dataclass
from cereal import messaging, log from cereal import messaging, log
from openpilot.system.hardware import TICI from openpilot.system.hardware import TICI
from openpilot.system.ui.lib.application import gui_app, FontWeight from openpilot.system.ui.lib.application import gui_app, FontWeight, DEBUG_FPS
from openpilot.system.ui.lib.label import gui_text_box from openpilot.system.ui.lib.label import gui_text_box
from openpilot.selfdrive.ui.ui_state import ui_state from openpilot.selfdrive.ui.ui_state import ui_state
@ -70,8 +70,12 @@ class AlertRenderer:
"""Generate the current alert based on selfdrive state.""" """Generate the current alert based on selfdrive state."""
ss = sm['selfdriveState'] ss = sm['selfdriveState']
# Check if selfdriveState messages have stopped arriving
if not sm.updated['selfdriveState']:
recv_frame = sm.recv_frame['selfdriveState']
if (sm.frame - recv_frame) > 5 * DEBUG_FPS:
# Check if waiting to start # Check if waiting to start
if sm.recv_frame['selfdriveState'] < ui_state.started_frame: if recv_frame < ui_state.started_frame:
return ALERT_STARTUP_PENDING return ALERT_STARTUP_PENDING
# Handle selfdrive timeout # Handle selfdrive timeout

Loading…
Cancel
Save