feat: chart grid, pressure tolerance bands, QDelivery RPM normalization, pump page polish

Charts
- Add faint background grid (0.75px, #E0E0E0) to all live charts; matches PDF report style
- Show min/max tolerance bands on P1/P2 pressure charts during test runs (previously only Q-Delivery/Q-Over)
- Broaden BenchService.ToleranceUpdated to fire for every phase receive; UI routes by name
- Clear P1/P2 traces on PhaseChanged alongside Delivery/Over

CAN
- Normalize QDelivery flow rate to 1000 RPM reference before IIR filter so RPM spikes are low-pass filtered with flow-rate transients (matches old_source behavior)

Pump page
- Reorder columns: identification left, commands center, live data right
- PreIn control always visible; disabled when pump lacks pre-injection (rename IsPreInVisible -> IsPreInAvailable)
- Swap value/label order in command cards
- Remove redundant KlineErrors row from identification card

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-20 21:42:30 +02:00
parent 69bfda54e1
commit d9775b48be
8 changed files with 80 additions and 39 deletions

View File

@@ -754,13 +754,10 @@ namespace HC_APTBS.Services.Impl
}
}
// Notify chart view of expected tolerance bands.
// Notify chart view of expected tolerance bands for every receive.
// The UI layer routes to the appropriate chart by parameter name.
foreach (var recv in phase.Receives)
{
if (recv.Name == BenchParameterNames.QDelivery ||
recv.Name == BenchParameterNames.QOver)
ToleranceUpdated?.Invoke(recv.Name, recv.Value, recv.Tolerance);
}
ToleranceUpdated?.Invoke(recv.Name, recv.Value, recv.Tolerance);
// ── Step 4: Conditioning time countdown ───────────────────────────
sw.Stop();