fix(box3): SPIFFS mount + canal WiFi configurable pour relais ESP-NOW
CI / platformio (pull_request) Failing after 3m54s

scenario_server.c : SPIFFS_LABEL valait "storage" alors que la partition
s'appelle "spiffs" (partitions.csv) → esp_vfs_spiffs_register échouait en
ESP_ERR_NOT_FOUND, la BOX-3 ne pouvait persister aucun scénario reçu (HTTP
500 + relais ESP-NOW sans effet). Corrigé en "spiffs".

main.c + Kconfig.projbuild : ajout de CONFIG_ZACUS_WIFI_CHANNEL (défaut
0 = auto) câblé sur wifi_config.sta.channel. Sur réseau multi-AP / mesh
(même SSID sur plusieurs canaux), permet de forcer la BOX-3 co-canal avec
le master — prérequis ESP-NOW.

Validé sur matériel : master (ch6) → POST /game/scenario/relay → la BOX-3
reçoit + réassemble (679 B) via scenario_mesh, monte SPIFFS, hot-load OK,
reboot pour appliquer.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
clement
2026-06-13 15:04:05 +02:00
parent 7893c32bf6
commit 2517cef7db
3 changed files with 12 additions and 1 deletions
+10
View File
@@ -12,6 +12,16 @@ menu "Zacus BOX-3 Voice Configuration"
help
WiFi password. Leave empty for open networks.
config ZACUS_WIFI_CHANNEL
int "WiFi channel hint (0 = auto)"
default 0
range 0 13
help
Bias the STA scan to start on this channel (1-13). Set this to the
master's WiFi channel so ESP-NOW peers land co-channel — required
for the scenario relay on multi-AP / mesh networks where the same
SSID is broadcast on several channels. 0 = auto (scan all).
config ZACUS_VOICE_BRIDGE_URL
string "Voice Bridge WebSocket URL"
default "ws://192.168.0.119:8200/voice/ws"
+1
View File
@@ -89,6 +89,7 @@ static esp_err_t wifi_init_sta(void)
.ssid = CONFIG_ZACUS_WIFI_SSID,
.password = CONFIG_ZACUS_WIFI_PASSWORD,
.threshold.authmode = WIFI_AUTH_WPA2_PSK,
.channel = CONFIG_ZACUS_WIFI_CHANNEL, /* co-channel master for ESP-NOW relay (0 = auto) */
},
};
+1 -1
View File
@@ -25,7 +25,7 @@
#define TAG "scenario_srv"
#define MAX_SCENARIO_BYTES (64 * 1024)
#define SPIFFS_LABEL "storage"
#define SPIFFS_LABEL "spiffs"
#define SPIFFS_BASE "/spiffs"
#define SCENARIO_PATH SPIFFS_BASE "/scenario.json"
#define SCENARIO_BAK SPIFFS_BASE "/scenario.bak"