- Add .gitignore for bin/, obj/, .vs/, old_source/, IDE files
- Remove 1145 tracked files that should never have been committed
- Add README.md with project overview and build instructions
- Trim CLAUDE.md, add .claudeignore, skills, and PreToolUse hook
- old_source/ is recoverable from the initial commit (6e1b929) if needed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
50 lines
1.5 KiB
Markdown
50 lines
1.5 KiB
Markdown
# 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
|
|
```
|