Files
dragonpilot/selfdrive/ui/ui.py
Vehicle Researcher 6adb63b915 openpilot v0.11.1 release
date: 2026-06-04T09:49:56
master commit: c0ab3550eca2e9daf197c46b7e4b24aa9637cf2e
2026-06-04 09:50:05 -07:00

49 lines
1.3 KiB
Python
Executable File

#!/usr/bin/env python3
import os
import time
from cereal import messaging
from openpilot.system.hardware import TICI
from openpilot.common.realtime import Priority, config_realtime_process, set_core_affinity
from openpilot.system.ui.lib.application import gui_app
from openpilot.selfdrive.ui.layouts.main import MainLayout
from openpilot.selfdrive.ui.mici.layouts.main import MiciMainLayout
from openpilot.selfdrive.ui.ui_state import ui_state
BIG_UI = gui_app.big_ui()
def main():
cores = {5, }
# above plannerd and radard
config_realtime_process(0, Priority.CTRL_HIGH)
gui_app.init_window("UI")
if BIG_UI:
MainLayout()
else:
MiciMainLayout()
pm = messaging.PubMaster(['uiDebug'])
for should_render, frame_time, cpu_time in gui_app.render():
extra_start = time.monotonic()
ui_state.update()
if should_render:
# reaffine after power save offlines our core
if TICI and os.sched_getaffinity(0) != cores:
try:
set_core_affinity(list(cores))
except OSError:
pass
extra_cpu = time.monotonic() - extra_start
msg = messaging.new_message('uiDebug')
msg.uiDebug.cpuTimeMillis = (cpu_time + extra_cpu) * 1000
msg.uiDebug.frameTimeMillis = frame_time * 1000
pm.send('uiDebug', msg)
if __name__ == "__main__":
main()