diff --git a/system/hardware/base.py b/system/hardware/base.py index c7c765f20..f2c627d33 100644 --- a/system/hardware/base.py +++ b/system/hardware/base.py @@ -130,6 +130,10 @@ class HardwareBase(ABC): def get_thermal_config(self): return ThermalConfig() + @abstractmethod + def set_display_power(self, on: bool): + pass + @abstractmethod def set_screen_brightness(self, percentage): pass diff --git a/system/hardware/pc/hardware.py b/system/hardware/pc/hardware.py index 017a449c9..091f6a9b2 100644 --- a/system/hardware/pc/hardware.py +++ b/system/hardware/pc/hardware.py @@ -53,6 +53,9 @@ class Pc(HardwareBase): def shutdown(self): print("SHUTDOWN!") + def set_display_power(self, on): + pass + def set_screen_brightness(self, percentage): pass diff --git a/system/hardware/tici/hardware.py b/system/hardware/tici/hardware.py index 15480bab5..ffa852403 100644 --- a/system/hardware/tici/hardware.py +++ b/system/hardware/tici/hardware.py @@ -341,6 +341,13 @@ class Tici(HardwareBase): exhaust=exhaust, case=case) + def set_display_power(self, on): + try: + with open("/sys/class/backlight/panel0-backlight/bl_power", "w") as f: + f.write("0" if on else "4") + except Exception: + pass + def set_screen_brightness(self, percentage): try: with open("/sys/class/backlight/panel0-backlight/max_brightness") as f: diff --git a/system/ui/lib/application.py b/system/ui/lib/application.py index f5a238b81..0b918d036 100644 --- a/system/ui/lib/application.py +++ b/system/ui/lib/application.py @@ -5,6 +5,7 @@ import pyray as rl from enum import IntEnum from openpilot.common.basedir import BASEDIR from openpilot.common.swaglog import cloudlog +from openpilot.system.hardware import HARDWARE DEFAULT_FPS = 60 FPS_LOG_INTERVAL = 5 # Seconds between logging FPS drops @@ -46,6 +47,9 @@ class GuiApplication: def init_window(self, title: str, fps: int=DEFAULT_FPS): atexit.register(self.close) # Automatically call close() on exit + HARDWARE.set_display_power(True) + HARDWARE.set_screen_brightness(65) + rl.set_config_flags(rl.ConfigFlags.FLAG_MSAA_4X_HINT | rl.ConfigFlags.FLAG_VSYNC_HINT) rl.init_window(self._width, self._height, title) rl.set_target_fps(fps)