Add per-slave ESP-NOW OTA progress over UART and fix dashboard updates.

Expose OTA_SLAVE_PROGRESS on the master, track per-slave state during
distribution, run ESP-NOW OTA in a background task so the host can poll
while slaves update, and show master/slave progress in the dashboard
with table layout and faster WebSocket refresh during uploads.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-05-19 21:07:46 +02:00
co-authored by Cursor
parent 5a948a5c8c
commit a0f4a81a55
23 changed files with 1467 additions and 146 deletions
+6
View File
@@ -17,8 +17,14 @@ typedef enum {
OTA_UART_ST_BLOCK_ACK = 3,
OTA_UART_ST_SUCCESS = 4,
OTA_UART_ST_FAILED = 5,
/** ESP-NOW slave distribution in progress (see OTA_DIST_* in cmd_ota.c). */
OTA_UART_ST_DISTRIBUTING = 6,
} ota_uart_status_t;
/** OtaStatusPayload.error when status == OTA_UART_ST_DISTRIBUTING. */
#define OTA_DIST_AGGREGATE 0u
#define OTA_DIST_PER_SLAVE 1u
typedef enum {
OTA_FEED_OK = 0,
OTA_FEED_BLOCK_WRITTEN,