# 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](https://dotnet.microsoft.com/) (version pinned in `global.json`) - Hardware: PCAN-USB adapter, FTDI USB-to-serial adapter ## Build ```bash 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 ```