bae6a8a2f9ae288e616fa58a31e849fe3bc39a94
- aes67_tx: TX task woken by an esp_timer every packet time; sends every packet whose last sample is in the past (PTP time), RTP ts = (sample index from PTP + clk_offset) mod 2^32, packets aligned to multiples of the packet size. Sends only while PTP is locked; resyncs on lock, clock step or > 20 ms lag. L24/L16 big-endian, TTL/DSCP/ multicast IF from config; a config save restarts TX. - Built-in 1 kHz tone at -18 dBFS, phase from the PTP sample index; aes67_tx_set_source() pull callback for later sources (underruns counted, padded with silence). status: tx_packets, underruns. - Verified with a receiver script on the PC: 1 ms L24 stereo 1000/s, 0 gaps, ts step 48, tone -18.00 dBFS within 1.2 LSB of the ideal PTP-phased sine; also L16 mono 0.333 ms, 0.125 ms (8000/s) and 4 ms. 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%