From 36221c4b10d9c0011fb6dc02d669798c99dc5375 Mon Sep 17 00:00:00 2001 From: Brian Hanson Date: Sun, 12 Apr 2026 23:23:58 +0000 Subject: [PATCH] docs: screen timeout behavior and display power logic Co-Authored-By: Claude Opus 4.6 (1M context) --- CLAUDE.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 310fa21..168af72 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -225,6 +225,14 @@ Steering wheel LFA button press | `selfdrive/controls/lib/events.py` | clpDebug event definition (alert suppressed) | | `selfdrive/ui/qt/onroad.cc` | Reads ScreenDisaplayMode, controls display power | +## Screen Timeout / Display Power + +Display power is managed by `Device::updateWakefulness()` in `selfdrive/ui/ui.cc`. + +- **Ignition off (offroad)**: screen blanks after `ScreenTimeout` seconds (default 120) of no touch. Tapping wakes it. +- **Ignition on (onroad)**: screen stays on unconditionally — `setAwake(s.scene.ignition || interactive_timeout > 0)` means ignition=true always keeps the screen awake. The FrogPilot `ScreenTimeoutOnroad` param (default 10s) has no effect because ignition being true short-circuits the timeout check. +- **Debug button (LFA)**: the only way to turn off the screen while driving. Toggles `ScreenDisaplayMode` param which is checked in `drawHud()` (onroad) and `updateState()` (park splash). Independent of the timeout system. + ## Offroad UI The offroad home screen (`selfdrive/ui/qt/home.cc`) was replaced with a clean grid launcher. Stock FrogPilot widgets (date, version, update/alert notifications) were removed.