From 8cae03932f8d9577a928278a5efe2a4a048ed1b9 Mon Sep 17 00:00:00 2001 From: RXTX4816 Date: Thu, 4 Jun 2026 10:58:10 +0200 Subject: [PATCH] feat: display current version and correct name --- platformio.ini | 3 +++ src/Config.h | 6 ++++++ src/obd/OBDDisplay.cpp | 4 ++-- tools/inject_version.py | 12 ++++++++++++ 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 tools/inject_version.py diff --git a/platformio.ini b/platformio.ini index 927496d..0d0159b 100644 --- a/platformio.ini +++ b/platformio.ini @@ -4,6 +4,9 @@ [platformio] default_envs = uno +[env] +extra_scripts = pre:tools/inject_version.py + [env:uno] platform = atmelavr board = uno diff --git a/src/Config.h b/src/Config.h index 0c3d363..ae7cd11 100644 --- a/src/Config.h +++ b/src/Config.h @@ -5,6 +5,12 @@ #include +// ── Firmware version ────────────────────────────────────────────────────────── +// Injected at build time by tools/inject_version.py from the git tag. +#ifndef APP_VERSION +#define APP_VERSION "dev" +#endif + // ── Cooperative task intervals (ms) ────────────────────────────────────────── // KWP is timing-critical; 0 = run every loop iteration. static constexpr uint16_t INTERVAL_KWP_MS = 0; diff --git a/src/obd/OBDDisplay.cpp b/src/obd/OBDDisplay.cpp index 3347d0b..cca7f27 100644 --- a/src/obd/OBDDisplay.cpp +++ b/src/obd/OBDDisplay.cpp @@ -53,8 +53,8 @@ void OBDDisplay::begin() void OBDDisplay::startupAnimation_() { display_.clear(); - display_.print(0, 6, F("O B D")); - display_.print(2, 8, F("DISPLAY")); + display_.print(0, 6, F("OBDisplay")); + display_.print(2, 8, F(APP_VERSION)); uint32_t start = millis(); while (millis() - start < 777) diff --git a/tools/inject_version.py b/tools/inject_version.py new file mode 100644 index 0000000..a8e54fa --- /dev/null +++ b/tools/inject_version.py @@ -0,0 +1,12 @@ +import subprocess +Import("env") + +try: + version = subprocess.check_output( + ["git", "describe", "--tags", "--abbrev=0"], + stderr=subprocess.DEVNULL, + ).decode().strip() or "dev" +except Exception: + version = "dev" + +env.Append(CPPDEFINES=[("APP_VERSION", '\\"' + version + '\\"')])