spaxel/firmware/main/provision.h
jedarden cc84a6eea8 Add WiFi provisioning observability and extend firmware window
- Show real-time status messages and a collapsible log panel during WiFi provisioning
- Thread addProvLog/setProvStatus callbacks through provisionAndSend and sendPayloadOverSerial
- Log every stage: mothership fetch, payload assembly, port open retries, serial send/response
- All log lines also go to browser console.log/warn/error
- Firmware: extend provisioning window from 10s to 120s for fresh boards (15s for re-provisioning)
- Firmware: include MAC address in SPAXEL READY message for display

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 14:35:39 -04:00

15 lines
628 B
C

#pragma once
#include "esp_err.h"
#include "cJSON.h"
// provision_listen_window opens a serial provisioning window.
// Unprovisioned boards wait 120 s; already-provisioned boards wait 15 s.
// Prints "SPAXEL READY <MAC>\n" and reads {"provision": {...}}\n from UART0.
// Responds with {"ok": true, "mac": "..."}\n on success.
// Safe to call even if no host is connected — times out cleanly.
void provision_listen_window(void);
// provision_write_nvs writes the provisioning JSON blob to NVS.
// Expected keys: wifi_ssid, wifi_pass, node_id, node_token, ms_mdns, ms_port, debug.
esp_err_t provision_write_nvs(cJSON *prov);