Skip to content

#705 - add LV Battery voltage tile to eFuses page#707

Draft
bracyw wants to merge 6 commits into
developfrom
705-lv-battery-tile
Draft

#705 - add LV Battery voltage tile to eFuses page#707
bracyw wants to merge 6 commits into
developfrom
705-lv-battery-tile

Conversation

@bracyw

@bracyw bracyw commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

Changes

Redesigns the LV Battery presentation on the eFuses page as a reusable, read-only "Quick view" status bar pinned to the top-right of the page, out of the eFuse command zones. It is a right-edge sidebar pop-out that auto-opens, collapses to a small edge handle, and stays available (sticky) while the eFuse cards scroll beneath it.

On the bar sits an LV Battery chip: live voltage from VCU/LV/voltage with a status dot that turns red on the LV low-voltage fault (VCU/Faults/Non-Critical/LV_LOW_VOLTAGE_FAULT) and stays green otherwise. The warning is driven purely by the firmware fault flag, never a hardcoded voltage cutoff. This represents the physical low-voltage battery, distinct from the LV eFuse card (VCU/eFuses/LV/Voltage).

This is the foundation for #709 (customizable status bar for user-pinned topics): the bar projects chips and is built to hold more later.

Frontend-only: telemetry ingest is schemaless (Topic = DataType), so there is no scylla-server, Charybdis, or Siren change.

Notes

The status bar is a reusable component at src/components/status-bar (projects chips via ng-content), with the LV Battery chip at efuses-page/components/lv-battery-chip. Telemetry is read as signals through the existing storage seam under zoneless change detection, with no new services or backend contracts. The page host is set to display block so the sticky bar's containing block spans the full page.

Accessibility and theming: the fault is announced by an aria-label on the status dot rather than color alone, the collapse and re-open controls carry visible focus rings, focus moves to the successor control on toggle so keyboard users are not dropped to the page body, the slide-in animation respects prefers-reduced-motion, and all colors use the shared theme tokens. Both new components ship with co-located unit specs.

Test Cases

  • Open (default): the bar auto-opens top-right with the "Quick view" header; the LV chip shows live voltage with a green dot (nominal).
  • Scroll: the bar pins to the top-right corner while the eFuse cards scroll beneath it.
  • Collapse / re-open: the chevron retracts the bar to a small edge handle, which re-opens it on click; focus moves to whichever control is now shown, with a visible focus ring.
  • Fault raised: the status dot turns red and its accessible label switches to a fault message, driven by the firmware fault flag independent of the voltage reading.
  • Unit specs: chip voltage formatting and placeholder, the fault label, and status-bar toggle, projection, and focus — all green.
  • build / lint / prettier / ng test: green.

Screenshots

Quick View Tab (not popped out)
image

Quick View Popped out
image

Quick View Popped Out during scroll
image

Checklist

It can be helpful to check the Checks and Files changed tabs.
Please review the contributor guide and reach out to your Tech Lead if anything is unclear.
Please request reviewers and ping on slack only after you've gone through this whole checklist.

  • All commits are tagged with the ticket number
  • No linting errors / newline at end of file warnings
  • All code follows repository-configured prettier formatting
  • No merge conflicts
  • All checks passing
  • Screenshots of UI changes (see Screenshots section)
  • Remove any non-applicable sections of this template
  • Assign the PR to yourself
  • No package-lock.json changes (unless dependencies have changed)
  • Request reviewers & ping on Slack
  • PR is linked to the ticket (fill in the closes line below)

Closes #705.

@bracyw bracyw self-assigned this Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add LV Battery voltage tile to efuses page

2 participants