# Changelog All notable changes to the AddVantage PPG firmware and tools. ## [3.4.0] - 08/01/2026 ### Added - **Sphinx documentation system** - Full API docs for firmware and test tools - Doxygen/Breathe integration for C code documentation - Autodoc for Python test harness modules - User guides: CAN protocol, flash layout, telemetry, testing - Known issues tracking - **Cloudflare Pages deployment** - Auto-deploy docs to acu.mikeayles.com - **CMake docs target** - `ninja docs` to build documentation ### Changed - Documentation now hosted externally instead of in-repo markdown ## [3.2.7] - 07/01/2026 ### Fixed - **Boot loop issue** - Fixed watchdog timeout during C runtime initialization - Added custom reset handler (`startup_wdog.S`) that disables WDOG within 256 bus cycles - Device no longer boot loops after flashing ### Added - **Test harness boot loop detection** - Detects firmware that's stuck in reset cycle - Counts version strings (>3 indicates boot loop) - Verifies 10+ telemetry lines received (proves stable operation) - **CAN bus validation** - Compare CAN data to ECU telemetry - Statistical comparison (mean, stddev) over 10 second window - Configurable tolerance (default 10%) - **Real-time CAN viewer GUI** - `tools/can_viewer.py` - Gauge widgets for RPM, Torque, Temperature - Time series graphs with ECU overlay - Side-by-side CAN vs ECU comparison ### Changed - **CMake build system** - Now the recommended build method - Vendored SDK dependencies (no CodeWarrior required) - Cross-platform (macOS, Linux, Windows) - **Variables API refactored** - Cleaner shared variable interface ## [3.2.6] - 2025 ### Added - Version string in boot telemetry (`V3.2.6` suffix) - Semantic versioning format in boot banner ### Fixed - Telemetry parsing for extended fields ## [3.2.5] - 2023 ### Added - Temperature correction map (100 points, 1°C resolution) - Differential pressure compensation ### Changed - Fuel map resolution increased to 16x16 ## [3.2.0] - 2023 ### Added - J1939 CAN bus support - EEC1 (RPM, Torque) - ET1 (Coolant Temperature) - LFE (Fuel Economy) - Multiple fuel map support (4 maps) - EEPROM emulation in flash ### Changed - Migrated from ProcessorExpert SCI to MSCAN driver - Updated baud rate handling ## [3.1.x] - 2022 ### Added - VT100 terminal display mode - Password protection for configuration - Engine profile presets (1-18) ### Fixed - ADC sampling stability - Serial output buffering ## [3.0.0] - 2022 ### Added - Initial SKEAZ128 port - Basic PPG control - UART telemetry output - Flash configuration storage --- ## Version Numbering Format: `MAJOR.MINOR.PATCH` - **MAJOR** - Hardware platform changes - **MINOR** - Feature additions - **PATCH** - Bug fixes, minor improvements ## Upgrade Notes ### From 3.2.6 to 3.2.7 No configuration changes required. The watchdog fix is transparent. **Build Change:** Use CMake instead of CodeWarrior: ```bash mkdir build && cd build cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=../arm-gcc-toolchain.cmake .. ninja ``` ### From 3.1.x to 3.2.x Configuration flash layout changed. Run factory reset (`f` command) after upgrade. ### From 3.0.x to 3.1.x Compatible upgrade. No changes required.