Step 6.2: role hand-over, session_ver bump on GM change
- aes67_cfg: cfg_set_number(group, key, value, apply) for firmware-side changes, stored in NVS like a POST; apply can be skipped. - aes67_sdp_sap: once a second, a change of the PTP GM (ts-refclk) bumps aes67.session_ver without re-applying the aes67 group (no stream restart); SAP then re-announces. Runs whether or not SAP is on. - Verified with ptp4l as a normal clock (p1 128): board auto (p1 250) steps down to SLAVE (session_ver 1->2); role master p1 100 via API -> board MASTER at once (->3); back to auto p1 250 -> ptp4l takes over within ~1 s, board SLAVE again (->4). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -89,7 +89,7 @@ When this device is the GM, offset/frequency/delay show "–".
|
||||
- SDP: v, o (aes67 IP, session_id, session_ver), s, c=mcast/ttl, t=0 0, a=clock-domain:PTPv2 <dom>, m=audio port RTP/AVP pt, a=rtpmap, a=recvonly, a=ptime, a=ts-refclk:ptp=IEEE1588-2008:<gm>:<dom>, a=mediaclk:direct.
|
||||
- SAP to 239.255.255.255:9875 every 30 s, plus immediately on change; deletion packet on disable or shutdown.
|
||||
- Implemented (aes67_sdp_sap): SAPv1, payload type `application/sdp`, msg id hash = 16-bit hash of the SDP, TTL = aes67.ttl. The SDP is checked once a second; on a change the old hash is deleted before the new one is announced. Nothing is announced until a PTP GM is known (else ts-refclk would be all zeros). Shutdown deletion via `esp_register_shutdown_handler` (covers reboot and OTA).
|
||||
- Not done yet: bumping session_ver on a GM change (needs a firmware-side config write; relevant once the device can become GM, step 6). A GM change already re-announces immediately with the new ts-refclk.
|
||||
- GM change: aes67.session_ver is bumped (stored via `cfg_set_number`, without re-applying the aes67 group so the stream keeps running) and SAP re-announces within 1 s. The first GM after boot is not counted as a change.
|
||||
- Media 2 (ST 2022-7 redundancy): not possible on single-port boards like the ESP32-P4-ETH. Keep the schema open for a `mcast2`/`port2` pair on dual-NIC hardware (Riedel applies one PTP config to both Media 1 and Media 2).
|
||||
|
||||
## AES67 RX (future, for receiver projects) — Riedel Director 4-wire input defaults
|
||||
|
||||
Reference in New Issue
Block a user