feat: wireview pin-imbalance warning, per-pin rating bars, pin_imbalance_a #18

Merged
Pakobbix merged 1 commits from feat/wireview-imbalance-warning into main 2026-10-03 20:15:53 +00:00
Collaborator

Changes

Per-pin bar rescale — bar now scales against the 9.2 A per-pin rating (10 A full scale, red at/over rating) instead of the 55 A total connector OCP, which made per-pin overloads look harmless.

Pin-imbalance warning — debounced, app-wide red banner (all tabs, with "View" shortcut) when two pins diverge by > 2 A. That spread is the signature of a bad pin contact (faulty cable/adapter) that can overheat and melt the connector. Show after ~7 s sustained (AI-workload load ramps skew one pin transiently), 5 s grace after clearing.

pin_imbalance_a API field — exact max−min pin current spread in both serial and hwmon sample builders; always matches max(pins[].current_a) − min(pins[].current_a). Useful for scripting/monitoring.

Docs — README + WireView.md cover warning/threshold/debounce; fresh screenshot.

Testing

  • New vitest setup + 9 unit tests for the debounce state machine — passing
  • 3 new backend checks for pin_imbalance_a — full suite: 84 passed, 0 failed
  • Live-validated on the connected WireView Pro II: field matches pin readings (0.139 = 0.74 − 0.601 A); transient 5.1 A load-ramp spikes no longer trigger the banner
## Changes **Per-pin bar rescale** — bar now scales against the 9.2 A per-pin rating (10 A full scale, red at/over rating) instead of the 55 A *total* connector OCP, which made per-pin overloads look harmless. **Pin-imbalance warning** — debounced, app-wide red banner (all tabs, with "View" shortcut) when two pins diverge by > 2 A. That spread is the signature of a bad pin contact (faulty cable/adapter) that can overheat and melt the connector. Show after ~7 s sustained (AI-workload load ramps skew one pin transiently), 5 s grace after clearing. **`pin_imbalance_a` API field** — exact max−min pin current spread in both serial and hwmon sample builders; always matches `max(pins[].current_a) − min(pins[].current_a)`. Useful for scripting/monitoring. **Docs** — README + WireView.md cover warning/threshold/debounce; fresh screenshot. ## Testing - New vitest setup + 9 unit tests for the debounce state machine — passing - 3 new backend checks for `pin_imbalance_a` — full suite: 84 passed, 0 failed - Live-validated on the connected WireView Pro II: field matches pin readings (0.139 = 0.74 − 0.601 A); transient 5.1 A load-ramp spikes no longer trigger the banner
ARIA added 1 commit 2026-10-03 20:14:53 +00:00
- Per-pin bar now scales against the 9.2 A per-pin rating (10 A full
  scale, red at/over rating) instead of the 55 A total connector OCP
- Debounced app-wide warning banner (visible on all tabs) when the
  current between two pins diverges by > 2 A for ~7 s - the signature
  of a bad pin contact that can overheat and melt the 12VHPWR
  connector; 5 s grace period after clearing
- New pin_imbalance_a sample field (max - min pin current) in both the
  serial and hwmon sample builders, plus frontend type
- Docs: README + WireView.md cover the warning and threshold; fresh
  screenshot with the new per-pin labels
- Tests: vitest setup + 9 unit tests for the debounce state machine;
  3 new backend checks for pin_imbalance_a
Pakobbix merged commit bf00e1149a into main 2026-10-03 20:15:53 +00:00
Pakobbix deleted branch feat/wireview-imbalance-warning 2026-10-03 20:15:53 +00:00
Sign in to join this conversation.