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:

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.