Add weight parameter to the sample function. Samples with smaller weight
are less reliable, they can be ignored by the servo or the adjustments
of the clock can be smaller.
Signed-off-by: Miroslav Lichvar
---
clock.c | 6 +++---
linreg.c| 1 +
ntpshm.c| 1 +
phc2sys.c
Introduce a time stamp processor for offset/delay calculations and use
it in the clock and port modules.
Signed-off-by: Miroslav Lichvar
---
clock.c | 100 ++-
clock.h | 5 +-
makefile | 2 +-
port.c | 39
tsproc.c | 161 +
Signed-off-by: Miroslav Lichvar
---
pi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pi.c b/pi.c
index 9c7b148..e0116fe 100644
--- a/pi.c
+++ b/pi.c
@@ -137,8 +137,8 @@ static double pi_sample(struct servo *servo,
break;
}
-
Changes since v1:
- include the changes to refactor time stamp processing
- raw and weighting modes are configurable (disabled by default)
This adds new time stamp processing modes that are suitable with
software time stamping.
The idea is to give smaller weights to samples where the sync and/or
Convert time stamps to tmv_t and apply all corrections before passing
them to clock/port functions to reduce the number of parameters.
Signed-off-by: Miroslav Lichvar
---
clock.c | 56 +++-
clock.h | 19 ---
port.c | 46 +++
Add new time stamp processing modes to return raw delay and offset based
on the raw delay instead of the long-term filtered delay, and to return
also a weight of the sample. The weight is set to the ratio between the
two delays. This gives smaller weight to samples where the sync and/or
delay messa
Signed-off-by: Miroslav Lichvar
---
linreg.c | 48
1 file changed, 28 insertions(+), 20 deletions(-)
diff --git a/linreg.c b/linreg.c
index 3f7fe9a..8f354f4 100644
--- a/linreg.c
+++ b/linreg.c
@@ -42,6 +42,7 @@
struct point {
uint64_t x;