fix(firmware): use NVS node_id instead of Kconfig constant (#279)

CONFIG_CSI_NODE_ID (compile-time, always 1) was hardcoded in 6
places: CSI frame serialization, compressed frames, vitals packets,
WASM output packets, and display UI. NVS provisioning wrote the
correct node_id but it was never used at runtime.

Fixed all occurrences to use g_nvs_config.node_id:
- csi_collector.c: frame header + log message
- edge_processing.c: compressed frame + vitals packet
- wasm_runtime.c: WASM output packet
- display_ui.c: system info display

This means --node-id 0/1/2 provisioning now actually works for
multi-node mesh deployments.

Closes #279

Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
ruv 2026-03-16 15:12:45 -04:00
parent 578d84c25e
commit 8a84748a83
4 changed files with 17 additions and 23 deletions

View file

@ -7,8 +7,11 @@
*/
#include "display_ui.h"
#include "nvs_config.h"
#include "sdkconfig.h"
extern nvs_config_t g_nvs_config;
#if CONFIG_DISPLAY_ENABLE
#include <stdio.h>
@ -347,11 +350,7 @@ void display_ui_update(void)
{
char buf[48];
#ifdef CONFIG_CSI_NODE_ID
snprintf(buf, sizeof(buf), "Node: %d", CONFIG_CSI_NODE_ID);
#else
snprintf(buf, sizeof(buf), "Node: --");
#endif
snprintf(buf, sizeof(buf), "Node: %d", g_nvs_config.node_id);
lv_label_set_text(s_sys_node, buf);
snprintf(buf, sizeof(buf), "Heap: %lu KB free",