e2f4d813263692f92c76d4e3b088267b413f6fe5
- ptp_clock.c replaces the 3.1 logger: UDP/IPv4 multicast, E2E. Announce: IEEE 1588 dataset comparison picks the best GM, dropped after announceReceiptTimeout x its announce interval. Sync/Follow_Up (two-step and one-step) with HW t2 and correctionField. Delay_Req sent as a raw frame (DSCP ptp.dscp, TTL 1, clockIdentity = EUI-64 from MAC) with HW TX timestamp t3, randomised at the GM's Delay_Resp interval; Delay_Resp matched on requestingPortIdentity + seq. - Path delay corrected for offset drift between t2 and t3 (rate from consecutive Syncs) so it is right before the clock is syntonised. - ptp_hw: ptp_hw_send_event() builds Eth/IPv4/UDP 319 and returns the HW TX timestamp. - Verified vs ptp4l (i210 GM, HP 2530 non-PTP switch, PC 1G / board 100M): GM selected, path delay settles at ~10.3 us and stays flat, rate -39.8 +-0.4 ppm, offset drifts at -40 us/s (no servo yet). 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%