session logging, build-only mode, park splash, boot logo spinner
- Per-process stderr logging to /data/log2/{session}/ with time-safe
directory naming (boot-xxx renamed once GPS/NTP sets clock)
- Aggregate session.log with major events (start/stop, transitions)
- 30-day log rotation cleanup on manager startup
- build_only.sh: compile without starting manager, non-blocking error
display, kills stale processes
- build.py: copies updated spinner binary after successful build
- Onroad park mode: show splash screen when car is on but in park,
switch to camera view when shifted to drive, honor screen on/off
- Spinner: full-screen boot logo background from /usr/comma/bg.jpg
with white progress bar overlay
- Boot logo: auto-regenerate when boot_logo.png changes, 140% scale
- launch_openpilot.sh: cd to /data/openpilot for reliable execution
- launch_chffrplus.sh: kill stale text error displays on startup
- spinner shell wrapper: prefer freshly built _spinner over prebuilt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -61,19 +61,42 @@ void HomeWindow::showSidebar(bool show) {
|
||||
}
|
||||
|
||||
void HomeWindow::updateState(const UIState &s) {
|
||||
// const SubMaster &sm = *(s.sm);
|
||||
if (s.scene.started) {
|
||||
showDriverView(s.scene.driver_camera_timer >= 10, true);
|
||||
|
||||
// CLEARPILOT: show splash screen when onroad but in park
|
||||
bool parked = s.scene.parked;
|
||||
if (parked && !was_parked_onroad) {
|
||||
// just shifted into park — show splash
|
||||
slayout->setCurrentWidget(ready);
|
||||
} else if (!parked && was_parked_onroad) {
|
||||
// just shifted out of park — show onroad camera
|
||||
slayout->setCurrentWidget(onroad);
|
||||
}
|
||||
was_parked_onroad = parked;
|
||||
|
||||
// CLEARPILOT: honor display on/off while showing splash in park
|
||||
if (parked && ready->isVisible()) {
|
||||
int screenMode = paramsMemory.getInt("ScreenDisaplayMode");
|
||||
if (screenMode == 1) {
|
||||
Hardware::set_display_power(false);
|
||||
} else {
|
||||
Hardware::set_display_power(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void HomeWindow::offroadTransition(bool offroad) {
|
||||
sidebar->setVisible(false);
|
||||
if (offroad) {
|
||||
sidebar->setVisible(false);
|
||||
was_parked_onroad = false;
|
||||
slayout->setCurrentWidget(ready);
|
||||
} else {
|
||||
sidebar->setVisible(false);
|
||||
slayout->setCurrentWidget(onroad);
|
||||
// CLEARPILOT: start onroad in splash — updateState will switch to
|
||||
// camera view once the car shifts out of park
|
||||
was_parked_onroad = true;
|
||||
slayout->setCurrentWidget(ready);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user