2403a6b64b01b85f433205b9a7667764c63f71f3
- aes67_ota: GET /api/ota (version, project, build_date, idf, running, previous, previous_version, pending_verify, can_rollback), POST /api/ota streamed into the inactive slot (4 KiB chunks), POST /api/ota/confirm and /api/ota/rollback. - Rejected before any flash write: bad magic, wrong chip, wrong project_name, chip revision outside the image's min/max range. esp_ota_end verifies the whole image. - Self-test on a pending image: IP address plus HTTP 200 from our own /api/status within 60 s marks it valid; otherwise mark invalid and reboot into the previous slot. A crash before that is rolled back by the bootloader. - CONFIG_AES67_OTA_SELFTEST_FORCE_FAIL (test builds only) forces a failed self-test. - aes67_web: web_reboot_later() shared by /api/reboot and OTA. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aes67-ESP32-P4
AES67 sender for the Waveshare ESP32-P4-ETH (PoE): Spotify Connect and HLS/m3u8 streams out as an AES67 multicast stream, PTP-locked, with a simple web UI for settings and SDP export.
docs/aes67-core-base.md— reusable AES67 core design (PTP, RTP, SDP/SAP, VLAN, syslog, web UI contract)docs/hardware-and-design-notes.md— board details and project-specific designweb/index.html— web UI (served by the device)CLAUDE.md— working rules and build order
Status: design complete, firmware not started. See the build order in CLAUDE.md.
Languages
C
74.9%
HTML
11.9%
C++
7.7%
Python
3.3%
CMake
2.2%