044e9913a75af55c2ecbc9e6bc4c334586d85cde
The periodic TX timer had an arbitrary phase against packet boundaries, so packets waited up to one packet time (different after every restart). - One-shot esp_timer aimed at the next packet's due time from PTP, with the clock re-read after sending. - 1 kHz tone from a per-rate lookup table (one period = rate/1000 samples) instead of sinf() per sample. Measured (RTP time - arrival, 4 ms vs 1 ms packets, expected -3.07 ms incl. wire time): -3.3 ms extra before, now -3.14 ms. Tone within 1.0 LSB of the ideal PTP-phased sine, no gaps. 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%