Step 2.1: web server, embedded UI, /api/status, /api/reboot

- aes67_web: httpd (wildcard URI matching), serves web/index.html embedded
  via EMBED_TXTFILES, status registry (status_register) and route registry
  (web_register_uri), GET /api/status, POST /api/reboot (restarts 0.5 s
  after the response).
- Status fields come from each core component: aes67_net (ip, aes67_ip,
  mac, link), aes67_health (fw, uptime_s, heap_free, psram_free),
  aes67_tx stub (tx_packets, underruns = 0). No ptp object yet, so the UI
  shows "no data".
- Verified on board: / serves index.html byte-identical (27601 B),
  /api/status returns live values, reboot via API returns in ~12 s.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-24 22:56:06 +10:00
parent 69b4e18118
commit 35275b8ccf
12 changed files with 205 additions and 14 deletions
+2 -1
View File
@@ -1,3 +1,4 @@
idf_component_register(SRCS "main.c"
INCLUDE_DIRS "."
REQUIRES esp_app_format esp_hw_support aes67_board aes67_net)
REQUIRES esp_app_format esp_hw_support
aes67_board aes67_net aes67_health aes67_tx aes67_web)
+6
View File
@@ -1,5 +1,8 @@
#include "aes67_board.h"
#include "aes67_health.h"
#include "aes67_net.h"
#include "aes67_tx.h"
#include "aes67_web.h"
#include "esp_app_desc.h"
#include "esp_chip_info.h"
#include "esp_log.h"
@@ -20,4 +23,7 @@ void app_main(void)
esp_eth_handle_t eth;
ESP_ERROR_CHECK(aes67_board_eth_init(&eth));
ESP_ERROR_CHECK(aes67_net_init(eth));
ESP_ERROR_CHECK(aes67_health_init());
ESP_ERROR_CHECK(aes67_tx_init());
ESP_ERROR_CHECK(aes67_web_start());
}