diff --git a/selfdrive/ui/tests/test_ui/run.py b/selfdrive/ui/tests/test_ui/run.py index 6f8acb1a53..eee0ada266 100644 --- a/selfdrive/ui/tests/test_ui/run.py +++ b/selfdrive/ui/tests/test_ui/run.py @@ -12,7 +12,7 @@ import time from cereal import log from msgq.visionipc import VisionIpcServer, VisionStreamType -from cereal.messaging import PubMaster, log_from_bytes +from cereal.messaging import PubMaster, log_from_bytes, sub_sock from openpilot.common.basedir import BASEDIR from openpilot.common.params import Params from openpilot.common.prefix import OpenpilotPrefix @@ -51,7 +51,15 @@ def setup_onroad(click, pm: PubMaster): vipc_server.create_buffers(stream_type, 5, False, cam.width, cam.height) vipc_server.start_listener() - for packet_id in range(30): + uidebug_received_cnt = 0 + packet_id = 0 + uidebug_sock = sub_sock('uiDebug') + + # Condition check for uiDebug processing + check_uidebug = DATA['deviceState'].deviceState.started and not DATA['carParams'].carParams.notCar + + # Loop until 20 'uiDebug' messages are received + while uidebug_received_cnt <= 20: for service, data in DATA.items(): if data: data.clear_write_flag() @@ -60,6 +68,13 @@ def setup_onroad(click, pm: PubMaster): for stream_type, _, image in STREAMS: vipc_server.send(stream_type, image, packet_id, packet_id, packet_id) + if check_uidebug: + while uidebug_sock.receive(non_blocking=True): + uidebug_received_cnt += 1 + else: + uidebug_received_cnt += 1 + + packet_id += 1 time.sleep(0.05) def setup_onroad_wide(click, pm: PubMaster): @@ -70,10 +85,12 @@ def setup_onroad_wide(click, pm: PubMaster): def setup_onroad_sidebar(click, pm: PubMaster): setup_onroad(click, pm) click(500, 500) + setup_onroad(click, pm) def setup_onroad_wide_sidebar(click, pm: PubMaster): setup_onroad_wide(click, pm) click(500, 500) + setup_onroad_wide(click, pm) def setup_body(click, pm: PubMaster): DATA['carParams'].carParams.carName = "BODY"