From 3a7ddb0f753f9e970b29dbc4c555616a94066a7b Mon Sep 17 00:00:00 2001 From: Manuel Pitz Date: Sat, 5 Sep 2020 21:15:28 +0200 Subject: [PATCH] add avg capabilities --- lib/hooks/pps_ts.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/hooks/pps_ts.cpp b/lib/hooks/pps_ts.cpp index 3e9b2f1eb..e761e72c2 100644 --- a/lib/hooks/pps_ts.cpp +++ b/lib/hooks/pps_ts.cpp @@ -42,7 +42,7 @@ protected: unsigned idx; uint avg_length;//number of seconds over which the samplerate value will be averaged uint avg_pos; - double *avg_array; + double* avg_array; int lastSeqNr; unsigned edgeCounter; @@ -56,6 +56,7 @@ public: realSmpRateAvg(0), idx(0), avg_length(1), + avg_pos(0), lastSeqNr(0), edgeCounter(0), realTime({ 0, 0 }) @@ -82,7 +83,7 @@ public: info("parsed config thresh=%f signal_index=%d", thresh, idx); avg_array = new double[avg_length]; - avg_array = {0}; + //avg_array = {0}; state = State::PARSED; @@ -104,6 +105,7 @@ public: realSmpRateAvg += (currentSmpRate - avg_array[avg_pos % avg_length]) / avg_length; avg_array[avg_pos % avg_length] = currentSmpRate; + avg_pos++; } if (edgeCounter == 1) { auto now = time_now(); @@ -116,7 +118,7 @@ public: lastSeqNr = seqNr; - info("Edge detected: seq=%u, realTime.sec=%ld, realTime.nsec=%ld, smpRate=%f", seqNr, realTime.tv_sec, realTime.tv_nsec, realSmpRateAvg); + info("Edge detected: seq=%u, realTime.sec=%ld, realTime.nsec=%ld, smpRate=%f.10", seqNr, realTime.tv_sec, realTime.tv_nsec, realSmpRateAvg); edgeCounter++; }