From a5807d86e4f2a76b8601c40dc617f67aa47c2509 Mon Sep 17 00:00:00 2001
From: Eric Duminil <eric.duminil@gmail.com>
Date: Mon, 10 May 2021 11:01:58 +0200
Subject: [PATCH] Adding firmware version

---
 ampel-firmware/ampel-firmware.ino | 11 +++++++----
 ampel-firmware/util.h             |  1 +
 ampel-firmware/web_server.cpp     |  3 ++-
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/ampel-firmware/ampel-firmware.ino b/ampel-firmware/ampel-firmware.ino
index 4d3ba2e..39f6b0c 100644
--- a/ampel-firmware/ampel-firmware.ino
+++ b/ampel-firmware/ampel-firmware.ino
@@ -67,14 +67,17 @@ void setup() {
 
   pinMode(0, INPUT); // Flash button (used for forced calibration)
 
-  led_effects::setupRing();
-
-  sensor::initialize();
-
+  Serial.println();
   Serial.print(F("Sensor ID: "));
   Serial.println(ampel.sensorId);
   Serial.print(F("Board    : "));
   Serial.println(ampel.board);
+  Serial.print(F("Firmware : "));
+  Serial.println(ampel.version);
+
+  led_effects::setupRing();
+
+  sensor::initialize();
 
 #ifdef AMPEL_CSV
   csv_writer::initialize(ampel.sensorId);
diff --git a/ampel-firmware/util.h b/ampel-firmware/util.h
index db424db..60406a8 100644
--- a/ampel-firmware/util.h
+++ b/ampel-firmware/util.h
@@ -38,6 +38,7 @@ class Ampel {
 private:
   static void showFreeSpace();
 public:
+  const char *version = "v0.1.0"; // Update manually after significant changes.
   const char *board;
   const char *sensorId;
   uint32_t max_loop_duration;
diff --git a/ampel-firmware/web_server.cpp b/ampel-firmware/web_server.cpp
index 98d18fb..b17e666 100644
--- a/ampel-firmware/web_server.cpp
+++ b/ampel-firmware/web_server.cpp
@@ -115,6 +115,7 @@ namespace web_server {
             "<tr><td>Largest heap block</td><td>%6d bytes</td></tr>\n"
             "<tr><td>Max loop duration</td><td>%5d ms</td></tr>\n"
             "<tr><td>Board</td><td>%s</td></tr>\n"
+            "<tr><td>Ampel firmware</td><td>%s</td></tr>\n"
             "<tr><td>Uptime</td><td>%2d d %4d h %02d min %02d s</td></tr>\n"
             "</table>\n"
             "<div id='log' class='pure-u-1 pure-u-md-1-2'></div>\n"
@@ -239,7 +240,7 @@ namespace web_server {
 #endif
         config::temperature_offset, config::auto_calibrate_sensor ? "Yes" : "No", ampel.sensorId, ampel.sensorId,
         wifi::local_ip, wifi::local_ip, ESP.getFreeHeap(), esp_get_max_free_block_size(), ampel.max_loop_duration,
-        ampel.board, dd, hh, mm, ss);
+        ampel.board, ampel.version, dd, hh, mm, ss);
 
     //    Serial.print(F(" - Body size : "));
     //    Serial.print(strlen(content));
-- 
GitLab