diff --git a/firmware/esp32-csi-node/CMakeLists.txt b/firmware/esp32-csi-node/CMakeLists.txt index 07122166..73efbf9f 100644 --- a/firmware/esp32-csi-node/CMakeLists.txt +++ b/firmware/esp32-csi-node/CMakeLists.txt @@ -4,5 +4,10 @@ cmake_minimum_required(VERSION 3.16) set(EXTRA_COMPONENT_DIRS "") +# Read firmware version from version.txt so esp_app_get_description()->version +# matches the release tag. Fixes issue #354 (version mismatch after flashing). +file(STRINGS "${CMAKE_CURRENT_LIST_DIR}/version.txt" PROJECT_VER LIMIT_COUNT 1) +string(STRIP "${PROJECT_VER}" PROJECT_VER) + include($ENV{IDF_PATH}/tools/cmake/project.cmake) -project(esp32-csi-node) +project(esp32-csi-node VERSION ${PROJECT_VER}) diff --git a/firmware/esp32-csi-node/main/Kconfig.projbuild b/firmware/esp32-csi-node/main/Kconfig.projbuild index 899b6b4d..7f801efc 100644 --- a/firmware/esp32-csi-node/main/Kconfig.projbuild +++ b/firmware/esp32-csi-node/main/Kconfig.projbuild @@ -76,7 +76,6 @@ menu "Edge Intelligence (ADR-039)" Raise to reduce false positives in high-traffic environments. Normal walking produces accelerations of 2-5 rad/s². Stored as integer; divided by 1000 at runtime. - Default 2000 = 2.0 rad/s^2. config EDGE_POWER_DUTY int "Power duty cycle percentage" diff --git a/firmware/esp32-csi-node/main/main.c b/firmware/esp32-csi-node/main/main.c index fd1abe4f..6fc0b5e1 100644 --- a/firmware/esp32-csi-node/main/main.c +++ b/firmware/esp32-csi-node/main/main.c @@ -16,6 +16,7 @@ #include "esp_event.h" #include "esp_log.h" #include "nvs_flash.h" +#include "esp_app_desc.h" #include "sdkconfig.h" #include "csi_collector.h" @@ -137,7 +138,9 @@ void app_main(void) /* Load runtime config (NVS overrides Kconfig defaults) */ nvs_config_load(&g_nvs_config); - ESP_LOGI(TAG, "ESP32-S3 CSI Node (ADR-018) — Node ID: %d", g_nvs_config.node_id); + const esp_app_desc_t *app_desc = esp_app_get_description(); + ESP_LOGI(TAG, "ESP32-S3 CSI Node (ADR-018) — v%s — Node ID: %d", + app_desc->version, g_nvs_config.node_id); /* Initialize WiFi STA (skip entirely under QEMU mock — no RF hardware) */ #ifndef CONFIG_CSI_MOCK_SKIP_WIFI_CONNECT diff --git a/firmware/esp32-csi-node/version.txt b/firmware/esp32-csi-node/version.txt new file mode 100644 index 00000000..a918a2aa --- /dev/null +++ b/firmware/esp32-csi-node/version.txt @@ -0,0 +1 @@ +0.6.0