From ee03d9f9f1d6400e3c8913df4626f0ba628f2211 Mon Sep 17 00:00:00 2001 From: Ben Nicholson Date: Sat, 26 Sep 2026 07:55:54 +1000 Subject: [PATCH] PTP: hardware timestamping is not a setting any more The hw_ts config key was never read (hardware timestamps are always used); the checkbox suggested it could be turned off. Removed from the config, the page and the docs; status.ptp.hw_ts still reports it. Co-Authored-By: Claude Opus 5.5 --- components/aes67_ptp/aes67_ptp.c | 2 +- docs/aes67-core-base.md | 2 +- docs/user-guide.md | 3 +-- web/index.html | 3 +-- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/components/aes67_ptp/aes67_ptp.c b/components/aes67_ptp/aes67_ptp.c index 6ff4497..9b6ae5c 100644 --- a/components/aes67_ptp/aes67_ptp.c +++ b/components/aes67_ptp/aes67_ptp.c @@ -9,7 +9,7 @@ static const char PTP_DEFAULTS[] = "{\"mode\":\"multicast\",\"role\":\"auto\",\"domain\":0,\"priority1\":250,\"priority2\":250," "\"log_sync\":0,\"log_announce\":1,\"announce_timeout\":3,\"log_delay_req\":0," - "\"dscp\":46,\"hw_ts\":true}"; + "\"dscp\":46}"; // hardware timestamps always (status.ptp.hw_ts) static bool ptp_validate(const cJSON *g, char *err, size_t n) { diff --git a/docs/aes67-core-base.md b/docs/aes67-core-base.md index 5b818b4..70150c3 100644 --- a/docs/aes67-core-base.md +++ b/docs/aes67-core-base.md @@ -18,7 +18,7 @@ Reference devices for UI and defaults: Riedel Bolero (PTP status), Riedel Direct - PTP preset buttons: "Riedel SIC defaults" and "AES67 media profile defaults" fill the form (Save to apply). ## Config schema (core groups) -- ptp: {mode: multicast|hybrid, role: slave|auto|master, domain, priority1, priority2, log_sync, log_announce, announce_timeout, log_delay_req, dscp, hw_ts} +- ptp: {mode: multicast|hybrid, role: slave|auto|master, domain, priority1, priority2, log_sync, log_announce, announce_timeout, log_delay_req, dscp} (hardware timestamps always; not configurable) - aes67: {name, enabled, discovery: manual|sap, mcast, port, ttl, dscp, channels, mono_sum, encoding: L16|L24, rate: 48000 only (all sources are 48 kHz), ptime, pt, ssrc, clk_offset, session_id, session_ver} - net: {hostname, vlan, web_on: both|inet|aes67, dhcp, ip, mask, gw, dns} (AES67 / untagged interface) - inet: {vlan_id, pcp, dhcp, ip, mask, gw, dns} (internet / tagged, only if net.vlan) diff --git a/docs/user-guide.md b/docs/user-guide.md index 16bb756..4a6bac5 100644 --- a/docs/user-guide.md +++ b/docs/user-guide.md @@ -118,7 +118,7 @@ The secret is write-only: after saving, the field shows empty. Leave it empty to ## PTP -The board locks its media clock to the PTP grandmaster on the network (IEEE 1588-2008, UDP/IPv4, E2E). *PTP status* shows the lock state and the grandmaster. +The board locks its media clock to the PTP grandmaster on the network (IEEE 1588-2008, UDP/IPv4, E2E, always with hardware timestamps). *PTP status* shows the lock state and the grandmaster. | Setting | Default | Notes | |---|---|---| @@ -127,7 +127,6 @@ The board locks its media clock to the PTP grandmaster on the network (IEEE 1588 | Domain | 0 | Must match your grandmaster. | | Priority 1 / 2 | 250 / 250 | Lower wins the grandmaster election. | | Intervals, timeout, DSCP (46) | | Presets below set them. | -| HW timestamping | on | Leave on (much more accurate). | **Presets:** - **Riedel SIC defaults:** TimeReceiver only, priorities 128/126, Riedel's intervals. Use this when a Riedel system provides the clock. diff --git a/web/index.html b/web/index.html index 2150596..3b7d5e2 100644 --- a/web/index.html +++ b/web/index.html @@ -122,7 +122,6 @@ e.g. curl -X POST http://p4-aes67.local/api/player/next - Transport UDP/IPv4 224.0.1.129 (ports 319/320), delay mechanism E2E. @@ -284,7 +283,7 @@ function showPlayer(p) { const CORE_DEF = { // Intervals follow Riedel SIC AES67 defaults; role/priorities are the "fallback TimeTransmitter" setup. ptp:{mode:'multicast',role:'auto',domain:0,priority1:250,priority2:250,log_sync:0,log_announce:1, - announce_timeout:3,log_delay_req:0,dscp:46,hw_ts:true}, + announce_timeout:3,log_delay_req:0,dscp:46}, aes67:{name:'AES67',enabled:true,mcast:'239.69.1.10',port:5004,ttl:32,dscp:34,pt:96,encoding:'L24', rate:'48000',channels:'2',ptime:'1',ssrc:0,clk_offset:0,mono_sum:false,discovery:'sap',session_id:1,session_ver:1}, net:{hostname:'aes67',vlan:false,web_on:'both',dhcp:true,ip:'',mask:'',gw:'',dns:''},