LucianoDev e343006f45 feat: restore bench section UI with controls, PID RPM ramp, flowmeter charts, and fix CAN IDs
Restore the full bench control panel from the old source with MVVM architecture:

- Two-column left panel layout: bench info displays (RPM with target/voltage,
  temps, pressures, Q-flow, pump live values) and user commands (direction
  toggle, start/stop with RPM popup and quick-select buttons, oil pump toggle,
  turn downcounter with CAN send)
- PID RPM ramp controller (BenchPidController) with bumpless startup,
  anti-windup, and derivative-on-measurement for smooth motor speed transitions
- Real-time flowmeter charts (LiveChartsCore) for Q-Delivery and Q-Over
  with tolerance band overlays
- Bench/pump CAN liveness detection in PcanAdapter (receive-only IDs)
- K-Line connection status indicator (placeholder)
- Periodic relay bitmask sender (~21ms) and ElectronicMsg keepalive start
  on CAN connect, pump sender starts immediately on pump load

Fix critical CAN message ID bug: default bench XML values were incorrectly
converted from old source (decimal-notation hex parsed as actual hex digits,
e.g. "10" -> "A" instead of keeping "10" which parses as 0x10). Corrected
all IDs to match hardware: 0x10, 0x11, 0x13, 0x14, 0x15, 0x50, 0x51, 0x55.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 14:24:59 +02:00
2026-04-11 12:45:18 +02:00
2026-04-11 12:45:18 +02:00
2026-04-11 12:45:18 +02:00
2026-04-11 12:45:18 +02:00
2026-04-11 12:45:18 +02:00
2026-04-11 12:45:18 +02:00
2026-04-11 12:45:18 +02:00
2026-04-11 12:45:18 +02:00
2026-04-11 12:45:18 +02:00
2026-04-11 12:45:18 +02:00
2026-04-11 12:45:18 +02:00
2026-04-11 12:45:18 +02:00

HC_APTBS

WPF desktop application for controlling a VP44 diesel injection pump test bench.

Features

  • CAN bus communication — reads/writes bench sensors (temperature, RPM, flow) via PCAN-Basic at 500 kbps
  • K-Line / KWP2000 — communicates with the VP44 pump ECU via FTDI USB adapter at 9600 bps
  • Automated test sequences — runs multi-phase tests with PID temperature control
  • PDF reports — generates test result reports with QuestPDF

Requirements

  • Windows 10/11 (x64)
  • .NET 10 SDK (version pinned in global.json)
  • Hardware: PCAN-USB adapter, FTDI USB-to-serial adapter

Build

dotnet build -r win-x64

Native DLLs (PCANBasic.dll, ftd2xx.dll) are bundled in Resources/Native/ and copied to output automatically.

Stack

Layer Technology
UI WPF / XAML
MVVM CommunityToolkit.Mvvm
DI Microsoft.Extensions.DependencyInjection
Charts LiveCharts2 (SkiaSharp)
PDF QuestPDF 2025.3.2
CAN PCAN-Basic (P/Invoke)
K-Line FTDI D2XX (P/Invoke)

Project Structure

Infrastructure/
  Pcan/          — CAN bus adapter, OEM legitimation, sensor decoding
  Kwp/           — FTDI interface, KWP/KW1281 protocol, 5-baud slow-init
  Logging/       — Daily rotating log files
Services/Impl/   — Test orchestration, KWP operations, config persistence, PDF
ViewModels/      — MVVM view models (ObservableProperty / RelayCommand)
Views/           — Pure XAML views
Models/          — Domain models and test definitions
Description
No description provided
Readme 79 MiB
Languages
C# 98.7%
PowerShell 0.8%
Python 0.5%