Repository navigation
Add configurable hardware-information splash after startup artwork #57
Description
Parent: #43
Summary
Add a second startup splash immediately after the existing Caterham artwork. The first splash and the new hardware-information splash should each default to two seconds, with independent durations stored in the existing system configuration file.
Existing configuration
params.json already owns system-level configurable values including selectable durations, display timing, colours, firmware version, and the legacy BOOT_DELAY_SEC. Replace that ambiguous key with a clearly named first-splash duration and add a separate hardware-splash duration. Continue accepting BOOT_DELAY_SEC as a backward-compatible alias for existing installations.
Startup sequence
- Render the existing artwork/text fallback and show it for the configured first-splash duration.
- Render the hardware-information screen and show it for its independently configured duration.
- Continue with IMU initialization and the Ready screen.
Hardware-information content
The second splash should present concise, readable device information gathered at runtime where possible:
- supported board/model and device type
- CPU or machine type
- Track Session Timer firmware version
- operating system/runtime name and version
- platform identifier
Values must be normalized or shortened so every line fits the 240×240 circular display. Missing runtime fields should use a safe Unknown fallback rather than preventing startup.
Acceptance criteria
- Add canonical
STARTUP_SPLASH_DURATION_SECandHARDWARE_SPLASH_DURATION_SECvalues toparams.json, both defaulting to2. - Validate both durations as non-negative numbers.
- Accept legacy
BOOT_DELAY_SECas the first-splash duration when the canonical key is absent. - Display the existing first splash for exactly its configured duration.
- Display a second hardware-details splash for exactly its configured duration.
- Derive OS/runtime and machine details safely from MicroPython without coupling host tests to physical hardware.
- Keep all hardware-detail lines inside the circular display and use the native-resolution font.
- Add host tests for configuration defaults, legacy compatibility, missing runtime data, layout, display order, and timing.
- Update README, user guide, and deployment instructions.
- Validate both splashes and the reported values on the supported physical device.
Relationship
This is a focused startup-diagnostics deliverable beneath #43. A full interactive self-test remains tracked by the parent issue.
Activity