feat: add Ford VP44 unlock progress dialog, K-Line fast unlock, localization, safety dialogs, and settings
Unlock progress UI:
- UnlockProgressDialog with dark-themed progress ring, phase indicator, elapsed
time, and cancel/close buttons (non-modal, draggable borderless window)
- UnlockProgressViewModel with event-driven progress tracking via IUnlockService
- Triggers on pump selection (manual or K-Line auto-detect), not test start
UnlockService rewrite:
- Persistent CAN senders that outlive the unlock sequence (StopSenders on pump change)
- Concurrent K-Line fast unlock: awaits session Connected, sends RAM timer shortcut
({02 88 02 03 A8 01 00}), verifies via CAN TestUnlock before skipping wait
- Fix Type 1 verification (Value == 0 means unlocked, was inverted)
K-Line fast unlock support:
- IKwpService.TryFastUnlockAsync / KwpService implementation
Additional features:
- ILocalizationService with ES/EN resource dictionaries and runtime switching
- Safety dialogs: VoltageWarning, OilPumpConfirm, RpmSafetyWarning
- SettingsDialog for app configuration
- BenchService enhancements, ConfigurationService improvements, PDF report updates
- All UI strings localized via DynamicResource
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
10
CLAUDE.md
10
CLAUDE.md
@@ -83,11 +83,14 @@ ViewModels/ — [ObservableProperty] / [RelayCommand], no UI lo
|
||||
FlowmeterChartViewModel.cs — Real-time flowmeter charts
|
||||
AngleDisplayViewModel.cs — Encoder angle monitoring (PSG, INJ, Manual, Lock Angle)
|
||||
StatusDisplayViewModel.cs — Pump status word display
|
||||
Dialogs/ — KlineErrors, Progress, Report, UserCheck ViewModels
|
||||
Dialogs/ — KlineErrors, OilPumpConfirm, Progress, Report, RpmSafetyWarning,
|
||||
Settings, UnlockProgress, UserCheck, VoltageWarning ViewModels
|
||||
|
||||
Views/
|
||||
MainWindow.xaml — Root UI (multi-panel layout)
|
||||
Dialogs/ — KlineErrorsDialog, ProgressDialog, ReportDialog, UserCheckDialog
|
||||
Dialogs/ — KlineErrorsDialog, OilPumpConfirmDialog, ProgressDialog,
|
||||
ReportDialog, RpmSafetyWarningDialog, SettingsDialog,
|
||||
UnlockProgressDialog, UserCheckDialog, VoltageWarningDialog
|
||||
UserControls/ — AngleDisplay, BenchParamConfig, DfiManage, FlowmeterChart,
|
||||
PumpControl, PumpIdentification, ResultDisplay, StatusDisplay,
|
||||
TestDisplay, TestPanel
|
||||
@@ -147,14 +150,11 @@ See `docs/` guidelines for full specs. Priority: CRITICAL > HIGH > MEDIUM > LOW.
|
||||
|
||||
**HIGH — Missing safety features:**
|
||||
- No QOver zero-flow safety check (old: emergency stop if QOver==0 while RPM>300 + oil pump on)
|
||||
- No safety dialogs: 27V warning, oil pump confirmation, RPM warning
|
||||
- Alarm bit collection during tests not wired up (`PhaseDefinition.RecordErrorBit` never called)
|
||||
- No per-sample real-time UI callback during measurement (old fired per-sample events for live charts)
|
||||
- Pump parameters (ME/FBKW/PreIn) not zeroed between test phases
|
||||
|
||||
**HIGH — Missing features:**
|
||||
- Ford unlock progress UI (service exists, no View — old had WUnlocker.xaml with visual ring + progress bar)
|
||||
- No localization system (old had Spanish/English resource dictionaries with runtime switching)
|
||||
- No encryption (old encrypted user passwords with AES-256 + pump data with Rijndael; new stores plaintext)
|
||||
- No KlineIDs auto-mapping (old remembered K-Line ID → pump ID associations)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user