]> git.ipfire.org Git - thirdparty/nqptp.git/log
thirdparty/nqptp.git
2 years agoTune the weights of additions and reductions.
Mike Brady [Thu, 30 Mar 2023 09:19:28 +0000 (10:19 +0100)] 
Tune the weights of additions and reductions.

2 years agoFix a bug -- use the previous offset if a negative jitter for the first period. Fix...
Mike Brady [Thu, 2 Mar 2023 13:00:40 +0000 (13:00 +0000)] 
Fix a bug -- use the previous offset if a negative jitter for the first period. Fix a misleading comment.

2 years agoUpdate RELEASE_NOTES.md
Mike Brady [Fri, 27 Jan 2023 18:40:27 +0000 (18:40 +0000)] 
Update RELEASE_NOTES.md

2 years agoAdd modifications suggested by https://github.com/mikebrady/nqptp/issues/14 to restri...
Mike Brady [Fri, 27 Jan 2023 18:30:50 +0000 (18:30 +0000)] 
Add modifications suggested by https://github.com/mikebrady/nqptp/issues/14 to restrict UDP write access to 9000 to the localhost.

2 years agoUpdate RELEASE_NOTES.md
Mike Brady [Thu, 19 Jan 2023 15:16:26 +0000 (15:16 +0000)] 
Update RELEASE_NOTES.md

2 years agoEnhance an error message.
Mike Brady [Thu, 19 Jan 2023 14:46:15 +0000 (14:46 +0000)] 
Enhance an error message.

2 years agoUpdate README.md
Mike Brady [Wed, 14 Dec 2022 10:22:45 +0000 (10:22 +0000)] 
Update README.md

2 years agoTidy up a few comments.
Mike Brady [Tue, 13 Dec 2022 09:42:45 +0000 (09:42 +0000)] 
Tidy up a few comments.

2 years agoBump the SHM Interface number to note new commands.
Mike Brady [Tue, 13 Dec 2022 09:31:12 +0000 (09:31 +0000)] 
Bump the SHM Interface number to note new commands.

2 years agoAdd version string to initial debug message
Mike Brady [Tue, 13 Dec 2022 09:07:02 +0000 (09:07 +0000)] 
Add version string to initial debug message
Work out when the clock can be relied upon not to go to sleep, i.e. is "active". This is when SPS is playing (B) or paused (P) and for brief periods after the clock is selected (T) and after play ends (E).
SPS signals Play/Pause/End/Timer Select/Timer Release with B/P/E/T messages -- B for "Begin". "T <ip>" means select the clock at that address. "T" means release the clock.
Reset clock smoothing when the clock goes "active" but not at any other time.
Clamp reductions in the offset calculated as a uint64_t remote-time-now_ns - local-time-now_ns -- and which it is assumed are due to delays in the network when the clock is "active" -- to 2.5 mS.
Turn off clock updates when the clock is not "active" -- i.e. when SPS is not paying or paused.
Remove some redundant features and code.

2 years agoAdd ability to receive status information from SPS B/E/P for Begin/End/Pause play...
Mike Brady [Sat, 10 Dec 2022 11:55:03 +0000 (11:55 +0000)] 
Add ability to receive status information from SPS B/E/P for Begin/End/Pause play. Assume clocks don't sleep between Begin and End and are valid for short times after T and after E. More cleaning up to do.

2 years agoAllow clock to resent if the grandmaster is the same as the master and it stops for...
Mike Brady [Wed, 7 Dec 2022 14:44:11 +0000 (14:44 +0000)] 
Allow clock to resent if the grandmaster is the same as the master and it stops for two or more samples. Always send a wakeup to the master at the start.

2 years agoSmall documentation update
Mike Brady [Mon, 5 Dec 2022 13:33:24 +0000 (13:33 +0000)] 
Small documentation update

2 years agoUpdate README.md
Mike Brady [Sat, 19 Nov 2022 09:12:54 +0000 (09:12 +0000)] 
Update README.md

2 years agoMerge from main.
Mike Brady [Thu, 15 Sep 2022 14:36:45 +0000 (15:36 +0100)] 
Merge from main.

2 years agoSmall changes to debug messages.
Mike Brady [Thu, 15 Sep 2022 14:33:45 +0000 (15:33 +0100)] 
Small changes to debug messages.

2 years agoUpdate RELEASE_NOTES.md
Mike Brady [Thu, 15 Sep 2022 13:32:53 +0000 (14:32 +0100)] 
Update RELEASE_NOTES.md

2 years agoOnly try to start a silent clock if no follow_ups have _ever_ been seen since it...
Mike Brady [Thu, 15 Sep 2022 13:27:57 +0000 (14:27 +0100)] 
Only try to start a silent clock if no follow_ups have _ever_ been seen since it became master.

2 years agoUpdate RELEASE_NOTES.md
Mike Brady [Mon, 12 Sep 2022 15:22:17 +0000 (16:22 +0100)] 
Update RELEASE_NOTES.md

2 years agoSquashed commit of the following:
Mike Brady [Mon, 12 Sep 2022 14:14:52 +0000 (15:14 +0100)] 
Squashed commit of the following:

commit 1c610279b21ac778ab96fd2fb01fa0bbc8f363ce
Author: Mike Brady <4265913+mikebrady@users.noreply.github.com>
Date:   Mon Sep 12 15:07:15 2022 +0100

    * Bump NQPTP_SHM_STRUCTURES_VERSION to 8.
    * Remove the ability to handle multiple instances of AirPlay-2-capable Shairport Sync on the same system -- it seems clear that clients can not use this facility.
    * Greatly simplify NQPTP by only monitoring PTP information coming from the client, ignoring all other PTP information.
    * Improve the accuracy of the clock by taking correction field information into account.
    * In addition to trying to restart a clock that is silent, also send a restart to a clock if the clock's grandmaster appears to have stopped.

    Squashed commit of the following:
        Add some experimental exploratory code.
        Ignore the INSTALL document. Let INSTALL always be autogenerated.
        Enhanced and corrected ptp definitions.
        Fix shm name to work with FreeBSD. Update the SHM version.
        Change order of includes to avoid a compilation error in FreeBSD
        Fix potential bugs in finding a clock ID in a FreeBSD device.
        Only try to restart a stopped clock if it's the clock itself that has stopped and not a different grandmaster. Allow fast changes for up to one second after the start of mastership.
        Make the code to restart a clock a separate function and call it if a clock gets stuck. Include the correction field in the calculation of the precise origin timestamp. If a new clock is out by more than -4 seconds, treat it as a discontinuity rather than noise.
        Add a net-to-host converter for 64-bit arithmetic

2 years ago* Bump NQPTP_SHM_STRUCTURES_VERSION to 8.
Mike Brady [Mon, 12 Sep 2022 14:07:15 +0000 (15:07 +0100)] 
* Bump NQPTP_SHM_STRUCTURES_VERSION to 8.
* Remove the ability to handle multiple instances of AirPlay-2-capable Shairport Sync on the same system -- it seems clear that clients can not use this facility.
* Greatly simplify NQPTP by only monitoring PTP information coming from the client, ignoring all other PTP information.
* Improve the accuracy of the clock by taking correction field information into account.
* In addition to trying to restart a clock that is silent, also send a restart to a clock if the clock's grandmaster appears to have stopped.

Squashed commit of the following:
    Add some experimental exploratory code.
    Ignore the INSTALL document. Let INSTALL always be autogenerated.
    Enhanced and corrected ptp defiinitions.
    Fix shm name to work with FreeBSD. Update the SHM version.
    Change order of includes to avoid a compilation error in FreeBSD
    Fix potential bugs in finding a clock ID in a FreeBSD device.
    Only try to restart a stopped clock if it's the clock itself that has stopped and not a different grandmaster. Allow fast changes for up to one second after the start of mastership.

2 years agoUpdate RELEASE_NOTES.md
Mike Brady [Sat, 10 Sep 2022 11:05:52 +0000 (12:05 +0100)] 
Update RELEASE_NOTES.md

2 years agoIgnore configure~
Mike Brady [Sat, 10 Sep 2022 10:38:50 +0000 (11:38 +0100)] 
Ignore configure~

2 years agoUpdate RELEASE_NOTES.md
Mike Brady [Tue, 16 Aug 2022 09:10:05 +0000 (10:10 +0100)] 
Update RELEASE_NOTES.md

2 years agoSmall change to wording.
Mike Brady [Tue, 16 Aug 2022 08:58:55 +0000 (09:58 +0100)] 
Small change to wording.

2 years agoSmall change to wording.
Mike Brady [Tue, 16 Aug 2022 08:57:57 +0000 (09:57 +0100)] 
Small change to wording.

3 years agoGeneral clang format. Quieten a few debug messages.
Mike Brady [Sun, 31 Jul 2022 12:10:57 +0000 (13:10 +0100)] 
General clang format. Quieten a few debug messages.

3 years agoAdd a handle_sync to see if a correctionfiled is ever used. Modify handle_follow_up...
Mike Brady [Sun, 31 Jul 2022 11:35:30 +0000 (12:35 +0100)] 
Add a handle_sync to see if a correctionfiled is ever used. Modify handle_follow_up to (mostly) only work on a master clock. Wait for a minute to restart a stopped clock. Always invalidate the clock when an empty peer list is sent.

3 years agoUpdate handle_sync definition, remove handle_delay_resp definition -- not implemented.
Mike Brady [Sun, 31 Jul 2022 11:32:24 +0000 (12:32 +0100)] 
Update handle_sync definition, remove handle_delay_resp definition -- not implemented.

3 years agoOnly try to waken a clock if it's a master. Shorten Announce "ping" reversion time...
Mike Brady [Sun, 31 Jul 2022 11:31:18 +0000 (12:31 +0100)] 
Only try to waken a clock if it's a master. Shorten Announce "ping" reversion time to 150 ms.

3 years agoQuieten a few debug messages.
Mike Brady [Wed, 27 Jul 2022 12:27:32 +0000 (13:27 +0100)] 
Quieten a few debug messages.

3 years agoUpdate README.md
Mike Brady [Sat, 23 Jul 2022 08:26:41 +0000 (09:26 +0100)] 
Update README.md

3 years agoUpdate README.md
Mike Brady [Mon, 18 Jul 2022 08:19:31 +0000 (09:19 +0100)] 
Update README.md

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Thu, 14 Jul 2022 18:46:56 +0000 (19:46 +0100)] 
Update RELEASE_NOTES.md

3 years agoSmall diagnostic message fix.
Mike Brady [Thu, 14 Jul 2022 18:39:53 +0000 (19:39 +0100)] 
Small diagnostic message fix.

3 years agoMake the code to restart a clock a separate function and call it if a clock gets...
Mike Brady [Thu, 14 Jul 2022 16:55:38 +0000 (17:55 +0100)] 
Make the code to restart a clock a separate function and call it if a clock gets stuck. Include the correction field in the calculation of the precise origin timestamp. If a new clock is out by more than -4 seconds, treat it as a discontinuity rather than noise.

3 years agoAdd a net-to-host converter for 64-bit arithmetic
Mike Brady [Thu, 14 Jul 2022 09:10:19 +0000 (10:10 +0100)] 
Add a net-to-host converter for 64-bit arithmetic

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Sat, 9 Jul 2022 09:13:58 +0000 (10:13 +0100)] 
Update RELEASE_NOTES.md

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Sat, 9 Jul 2022 09:13:34 +0000 (10:13 +0100)] 
Update RELEASE_NOTES.md

3 years agoIf the previous offset's grandmaster is different from the current one, discard all...
Mike Brady [Sat, 9 Jul 2022 09:02:35 +0000 (10:02 +0100)] 
If the previous offset's grandmaster is different from the current one, discard all the smoothing stuff, including previous offset data, and work as if it was a completely new clock.

3 years agoAdd is a field to store the grandmaster the previous offset refers to. The idea is...
Mike Brady [Sat, 9 Jul 2022 09:00:18 +0000 (10:00 +0100)] 
Add is a field to store the grandmaster the previous offset refers to. The idea is that if the new grandmaster is different from the previous one, start over.

3 years agoQuieten a debug message.
Mike Brady [Sat, 9 Jul 2022 08:58:43 +0000 (09:58 +0100)] 
Quieten a debug message.

3 years agoQuieten and clean up some startup messages.
Mike Brady [Sat, 9 Jul 2022 08:58:18 +0000 (09:58 +0100)] 
Quieten and clean up some startup messages.

3 years agoImprove a debug message and comment it out.
Mike Brady [Sat, 9 Jul 2022 08:57:18 +0000 (09:57 +0100)] 
Improve a debug message and comment it out.

3 years agoUpdate README.md
Mike Brady [Sat, 2 Jul 2022 08:54:05 +0000 (09:54 +0100)] 
Update README.md

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Sun, 19 Jun 2022 12:38:12 +0000 (13:38 +0100)] 
Update RELEASE_NOTES.md

3 years agoMerge branch 'development'
Mike Brady [Sun, 19 Jun 2022 12:25:37 +0000 (13:25 +0100)] 
Merge branch 'development'

3 years agoRemove code for qualifying an Anounce message -- it is not used in 802.1AS. Simplify...
Mike Brady [Sun, 19 Jun 2022 12:19:30 +0000 (13:19 +0100)] 
Remove code for qualifying an Anounce message -- it is not used in 802.1AS. Simplify code by removing redunadant and obselete code, variables and fields.

3 years agoFix a bug that would cause the offset to get stuck at a fixed value, no matter what...
Mike Brady [Sat, 18 Jun 2022 14:01:40 +0000 (15:01 +0100)] 
Fix a bug that would cause the offset to get stuck at a fixed value, no matter what happened.
Simplify by removing clock_is_becoming_master time_of_last_sync. Watch for discontinuities to allow large changes of offset.

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Thu, 9 Jun 2022 15:20:07 +0000 (16:20 +0100)] 
Update RELEASE_NOTES.md

3 years agoRemove a noisy debug message.
Mike Brady [Thu, 9 Jun 2022 15:14:41 +0000 (08:14 -0700)] 
Remove a noisy debug message.

3 years agoUpdate README.md
Mike Brady [Tue, 24 May 2022 09:01:38 +0000 (10:01 +0100)] 
Update README.md

3 years agoUpdate README.md
Mike Brady [Tue, 24 May 2022 09:00:22 +0000 (10:00 +0100)] 
Update README.md

3 years agoUpdate README.md
Mike Brady [Mon, 23 May 2022 09:39:56 +0000 (10:39 +0100)] 
Update README.md

3 years agoUpdate README.md
Mike Brady [Mon, 23 May 2022 09:38:24 +0000 (10:38 +0100)] 
Update README.md

3 years agoAlways update the startup script in FreeBSD
Mike Brady [Mon, 23 May 2022 09:32:43 +0000 (10:32 +0100)] 
Always update the startup script in FreeBSD

3 years agoFix a syntax error in the startup script
Mike Brady [Sat, 21 May 2022 07:56:45 +0000 (08:56 +0100)] 
Fix a syntax error in the startup script

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Sat, 21 May 2022 05:33:50 +0000 (06:33 +0100)] 
Update RELEASE_NOTES.md

3 years agoMinor changes to the INSTALL document
Mike Brady [Sat, 21 May 2022 05:20:39 +0000 (06:20 +0100)] 
Minor changes to the INSTALL document

Change author details.

3 years agoUpdate README.md
Mike Brady [Sat, 21 May 2022 05:16:46 +0000 (06:16 +0100)] 
Update README.md

3 years agoUpdate README.md
Mike Brady [Sat, 21 May 2022 05:16:00 +0000 (06:16 +0100)] 
Update README.md

3 years agoUpdate README.md
Mike Brady [Sat, 21 May 2022 05:13:47 +0000 (06:13 +0100)] 
Update README.md

3 years agoUpdate README.md
Mike Brady [Sat, 21 May 2022 05:12:40 +0000 (06:12 +0100)] 
Update README.md

3 years agoUpdate README.md
Mike Brady [Fri, 20 May 2022 12:57:41 +0000 (13:57 +0100)] 
Update README.md

3 years agoAdd a syslog tag request to the startup script.
Mike Brady [Fri, 20 May 2022 11:27:50 +0000 (12:27 +0100)] 
Add a syslog tag request to the startup script.

3 years agoFix a compilation bug.
Mike Brady [Thu, 19 May 2022 19:30:08 +0000 (20:30 +0100)] 
Fix a compilation bug.

3 years agoAdd CLOCK_MONOTONIC as an alternative is CLOCK_MONOTONIC_RAW isn't available, as...
Mike Brady [Thu, 19 May 2022 19:29:36 +0000 (20:29 +0100)] 
Add CLOCK_MONOTONIC as an alternative is CLOCK_MONOTONIC_RAW isn't available, as in FreeBSD.

3 years agoAdd an experimental FreeBSD service file and the automake and configure stuff.
Mike Brady [Thu, 19 May 2022 19:28:31 +0000 (20:28 +0100)] 
Add an experimental FreeBSD service file and the automake and configure stuff.

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Thu, 10 Mar 2022 22:51:46 +0000 (09:51 +1100)] 
Update RELEASE_NOTES.md

3 years agoRemove the illegal "Provides" entry.
Mike Brady [Thu, 10 Mar 2022 22:46:39 +0000 (09:46 +1100)] 
Remove the illegal "Provides" entry.

3 years agoRemove the illegal "Provides" entry.
Mike Brady [Thu, 10 Mar 2022 22:41:02 +0000 (09:41 +1100)] 
Remove the illegal "Provides" entry.

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Wed, 2 Mar 2022 09:02:05 +0000 (20:02 +1100)] 
Update RELEASE_NOTES.md

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Wed, 2 Mar 2022 09:01:42 +0000 (20:01 +1100)] 
Update RELEASE_NOTES.md

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Wed, 2 Mar 2022 09:01:06 +0000 (20:01 +1100)] 
Update RELEASE_NOTES.md

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Wed, 2 Mar 2022 09:00:05 +0000 (20:00 +1100)] 
Update RELEASE_NOTES.md

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Wed, 2 Mar 2022 08:59:16 +0000 (19:59 +1100)] 
Update RELEASE_NOTES.md

3 years agoMerge branch 'development'
Mike Brady [Wed, 2 Mar 2022 08:52:06 +0000 (19:52 +1100)] 
Merge branch 'development'
Always create the SHM interface in response to a control message.
Define the service provided.

3 years agoQuieten a debug message.
Mike Brady [Tue, 1 Mar 2022 22:35:19 +0000 (09:35 +1100)] 
Quieten a debug message.

3 years agoAlways create a new SHM interface for every new shm address provided. Remove redundan...
Mike Brady [Mon, 28 Feb 2022 06:42:25 +0000 (17:42 +1100)] 
Always create a new SHM interface for every new shm address provided. Remove redundant coded. Add a few debug messages. Enhance the service record to define the service provided.

3 years agoUpdate README.md
Mike Brady [Wed, 5 Jan 2022 17:54:14 +0000 (17:54 +0000)] 
Update README.md

3 years agoUpdate README.md
Mike Brady [Tue, 4 Jan 2022 09:44:44 +0000 (09:44 +0000)] 
Update README.md

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Sun, 2 Jan 2022 11:06:13 +0000 (11:06 +0000)] 
Update RELEASE_NOTES.md

3 years agoUpdate README.md
Mike Brady [Sun, 2 Jan 2022 11:00:25 +0000 (11:00 +0000)] 
Update README.md

3 years agolatest version of the nqptp interface header
Mike Brady [Sun, 2 Jan 2022 10:43:30 +0000 (10:43 +0000)] 
latest version of the nqptp interface header

3 years agoImprove a few debug messages.
Mike Brady [Sat, 1 Jan 2022 19:00:05 +0000 (19:00 +0000)] 
Improve a few debug messages.

3 years agoFix some debug messages.
Mike Brady [Sat, 1 Jan 2022 18:51:47 +0000 (18:51 +0000)] 
Fix some debug messages.

3 years agoEnable nqptp to deal with multiple independent clients and their associated clock...
Mike Brady [Fri, 31 Dec 2021 10:04:28 +0000 (10:04 +0000)] 
Enable nqptp to deal with multiple independent clients and their associated clock groups. Each client supplies the name of its SMI whenever it wishes to access the service. Note: named SMI interfaces are not garbage collected!

3 years agoold and new system sort-of work now...
Mike Brady [Tue, 28 Dec 2021 10:56:26 +0000 (10:56 +0000)] 
old and new system sort-of work now...

3 years agoAdding more multi-client functionality (still incomplete) but keeping the original...
Mike Brady [Mon, 27 Dec 2021 16:06:10 +0000 (16:06 +0000)] 
Adding more multi-client functionality (still incomplete) but keeping the original single client functional for the present.

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Tue, 21 Dec 2021 16:42:22 +0000 (16:42 +0000)] 
Update RELEASE_NOTES.md

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Tue, 21 Dec 2021 16:35:26 +0000 (16:35 +0000)] 
Update RELEASE_NOTES.md

3 years agoEnsure the interface is updated when the mastership is removed.
Mike Brady [Tue, 21 Dec 2021 15:00:15 +0000 (15:00 +0000)] 
Ensure the interface is updated when the mastership is removed.

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Tue, 21 Dec 2021 12:27:57 +0000 (12:27 +0000)] 
Update RELEASE_NOTES.md

3 years agoFurther simplify nqptp to discard mastership history prior to being made a part of...
Mike Brady [Tue, 21 Dec 2021 12:21:41 +0000 (12:21 +0000)] 
Further simplify nqptp to discard mastership history prior to being made a part of a new timing list. A bit hacky, to be sure.

3 years agoModify code so that all the sampling stuff can be omitted. This is to try to simplify...
Mike Brady [Mon, 20 Dec 2021 12:07:53 +0000 (12:07 +0000)] 
Modify code so that all the sampling stuff can be omitted. This is to try to simplify the code.

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Wed, 15 Dec 2021 14:08:49 +0000 (14:08 +0000)] 
Update RELEASE_NOTES.md

3 years agoMake nqptp less sensitive to breaks in transmission from the master clock -- up to...
Mike Brady [Wed, 15 Dec 2021 14:02:44 +0000 (14:02 +0000)] 
Make nqptp less sensitive to breaks in transmission from the master clock -- up to 300 seconds (5 minutes).

3 years agoUpdate RELEASE_NOTES.md
Mike Brady [Tue, 14 Dec 2021 16:25:01 +0000 (16:25 +0000)] 
Update RELEASE_NOTES.md

3 years agoTry to improve the reliability of restarting a "silent clock" device. Also turn off...
Mike Brady [Tue, 14 Dec 2021 16:21:47 +0000 (16:21 +0000)] 
Try to improve the reliability of restarting a "silent clock" device. Also turn off history (mostly) to see if we can make things simpler.

3 years agoTry to improve the reliability of restarting a "silent clock" device. Also turn off...
Mike Brady [Tue, 14 Dec 2021 16:15:25 +0000 (16:15 +0000)] 
Try to improve the reliability of restarting a "silent clock" device. Also turn off history (mostly) to see if we can make things simpler.