mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-15 06:12:11 +08:00
raylib screenshots: test onroad (#36369)
* test onroad * person * onroad alert * mid and full * all * can do this * tf * tf * clean up
This commit is contained in:
@@ -19,6 +19,9 @@ from openpilot.selfdrive.test.helpers import with_processes
|
||||
from openpilot.selfdrive.selfdrived.alertmanager import set_offroad_alert
|
||||
from openpilot.system.updated.updated import parse_release_notes
|
||||
|
||||
AlertSize = log.SelfdriveState.AlertSize
|
||||
AlertStatus = log.SelfdriveState.AlertStatus
|
||||
|
||||
TEST_DIR = pathlib.Path(__file__).parent
|
||||
TEST_OUTPUT_DIR = TEST_DIR / "raylib_report"
|
||||
SCREENSHOTS_DIR = TEST_OUTPUT_DIR / "screenshots"
|
||||
@@ -126,6 +129,71 @@ def setup_experimental_mode_description(click, pm: PubMaster):
|
||||
click(1200, 280) # expand description for experimental mode
|
||||
|
||||
|
||||
def setup_onroad(click, pm: PubMaster):
|
||||
ds = messaging.new_message('deviceState')
|
||||
ds.deviceState.started = True
|
||||
|
||||
ps = messaging.new_message('pandaStates', 1)
|
||||
ps.pandaStates[0].pandaType = log.PandaState.PandaType.dos
|
||||
ps.pandaStates[0].ignitionLine = True
|
||||
|
||||
driverState = messaging.new_message('driverStateV2')
|
||||
driverState.driverStateV2.leftDriverData.faceOrientation = [0, 0, 0]
|
||||
|
||||
for _ in range(5):
|
||||
pm.send('deviceState', ds)
|
||||
pm.send('pandaStates', ps)
|
||||
pm.send('driverStateV2', driverState)
|
||||
ds.clear_write_flag()
|
||||
ps.clear_write_flag()
|
||||
driverState.clear_write_flag()
|
||||
time.sleep(0.05)
|
||||
|
||||
|
||||
def setup_onroad_sidebar(click, pm: PubMaster):
|
||||
setup_onroad(click, pm)
|
||||
click(100, 100) # open sidebar
|
||||
|
||||
|
||||
def setup_onroad_small_alert(click, pm: PubMaster):
|
||||
setup_onroad(click, pm)
|
||||
alert = messaging.new_message('selfdriveState')
|
||||
alert.selfdriveState.alertSize = AlertSize.small
|
||||
alert.selfdriveState.alertText1 = "Small Alert"
|
||||
alert.selfdriveState.alertText2 = "This is a small alert"
|
||||
alert.selfdriveState.alertStatus = AlertStatus.normal
|
||||
for _ in range(5):
|
||||
pm.send('selfdriveState', alert)
|
||||
alert.clear_write_flag()
|
||||
time.sleep(0.05)
|
||||
|
||||
|
||||
def setup_onroad_medium_alert(click, pm: PubMaster):
|
||||
setup_onroad(click, pm)
|
||||
alert = messaging.new_message('selfdriveState')
|
||||
alert.selfdriveState.alertSize = AlertSize.mid
|
||||
alert.selfdriveState.alertText1 = "Medium Alert"
|
||||
alert.selfdriveState.alertText2 = "This is a medium alert"
|
||||
alert.selfdriveState.alertStatus = AlertStatus.userPrompt
|
||||
for _ in range(5):
|
||||
pm.send('selfdriveState', alert)
|
||||
alert.clear_write_flag()
|
||||
time.sleep(0.05)
|
||||
|
||||
|
||||
def setup_onroad_full_alert(click, pm: PubMaster):
|
||||
setup_onroad(click, pm)
|
||||
alert = messaging.new_message('selfdriveState')
|
||||
alert.selfdriveState.alertSize = AlertSize.full
|
||||
alert.selfdriveState.alertText1 = "TAKE CONTROL IMMEDIATELY"
|
||||
alert.selfdriveState.alertText2 = "Calibration Invalid: Remount Device & Recalibrate"
|
||||
alert.selfdriveState.alertStatus = AlertStatus.critical
|
||||
for _ in range(5):
|
||||
pm.send('selfdriveState', alert)
|
||||
alert.clear_write_flag()
|
||||
time.sleep(0.05)
|
||||
|
||||
|
||||
CASES = {
|
||||
"homescreen": setup_homescreen,
|
||||
"homescreen_paired": setup_homescreen,
|
||||
@@ -145,6 +213,11 @@ CASES = {
|
||||
"offroad_alert": setup_offroad_alert,
|
||||
"confirmation_dialog": setup_confirmation_dialog,
|
||||
"experimental_mode_description": setup_experimental_mode_description,
|
||||
"onroad": setup_onroad,
|
||||
"onroad_sidebar": setup_onroad_sidebar,
|
||||
"onroad_small_alert": setup_onroad_small_alert,
|
||||
"onroad_medium_alert": setup_onroad_medium_alert,
|
||||
"onroad_full_alert": setup_onroad_full_alert,
|
||||
}
|
||||
|
||||
|
||||
@@ -155,7 +228,7 @@ class TestUI:
|
||||
|
||||
def setup(self):
|
||||
# Seed minimal offroad state
|
||||
self.pm = PubMaster(["deviceState"])
|
||||
self.pm = PubMaster(["deviceState", "pandaStates", "driverStateV2", "selfdriveState"])
|
||||
ds = messaging.new_message('deviceState')
|
||||
ds.deviceState.networkType = log.DeviceState.NetworkType.wifi
|
||||
for _ in range(5):
|
||||
|
||||
Reference in New Issue
Block a user