Skip to content

Add configurable hardware-information splash after startup artwork #57

Description

@PurpleSentinel

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

  1. Render the existing artwork/text fallback and show it for the configured first-splash duration.
  2. Render the hardware-information screen and show it for its independently configured duration.
  3. 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_SEC and HARDWARE_SPLASH_DURATION_SEC values to params.json, both defaulting to 2.
  • Validate both durations as non-negative numbers.
  • Accept legacy BOOT_DELAY_SEC as 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    NewFeatureCandidate product capability for future development

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions