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 docsto 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 cyclesDevice 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.pyGauge 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.6suffix)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:
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.