#include <softwarePLL.h>
Public Member Functions | |
double | AllowedTimeDeviation () const |
void | AllowedTimeDeviation (double val) |
double | extraPolateRelativeTimeStamp (uint32_t tick) |
uint32_t | ExtrapolationDivergenceCounter () const |
void | ExtrapolationDivergenceCounter (uint32_t val) |
int | findDiffInFifo (double diff, double tol) |
uint64_t | FirstTick () const |
void | FirstTick (uint64_t val) |
double | FirstTimeStamp () const |
void | FirstTimeStamp (double val) |
bool | getCorrectedTimeStamp (uint32_t &sec, uint32_t &nanoSec, uint32_t tick) |
bool | getDemoFileData (std::string fileName, std::vector< uint32_t > &tickVec, std::vector< uint32_t > &secVec, std::vector< uint32_t > &nanoSecVec) |
double | InterpolationSlope () const |
void | InterpolationSlope (double val) |
bool | IsInitialized () const |
void | IsInitialized (bool val) |
bool | pushIntoFifo (double curTimeStamp, uint32_t curtick) |
bool | updatePLL (uint32_t sec, uint32_t nanoSec, uint32_t curtick) |
Updates PLL internale State should be called only with network send timestamps. | |
~SoftwarePLL () | |
Static Public Member Functions | |
static SoftwarePLL & | instance () |
static void | testbed () |
Private Member Functions | |
bool | nearSameTimeStamp (double relTimeStamp1, double relTimeStamp2) |
SoftwarePLL & | operator= (const SoftwarePLL &) |
SoftwarePLL () | |
SoftwarePLL (const SoftwarePLL &) | |
bool | updateInterpolationSlope () |
Private Attributes | |
double | allowedTimeDeviation |
double | clockFifo [fifoSize] |
double | dClockDiffFeedBack |
double | dTAvgFeedback |
uint32_t | extrapolationDivergenceCounter |
uint64_t | firstTick |
double | firstTimeStamp |
double | interpolationSlope |
bool | isInitialized |
uint32_t | lastValidTick |
double | lastValidTimeStamp |
uint32_t | mostRecentNanoSec |
uint32_t | mostRecentSec |
double | mostRecentTimeStamp |
int | numberValInFifo |
uint32_t | tickFifo [fifoSize] |
Static Private Attributes | |
static const int | fifoSize = 7 |
static const double | MaxAllowedTimeDeviation = 0.001 |
static const uint32_t | MaxExtrapolationCounter = 5 |
Definition at line 20 of file softwarePLL.h.
SoftwarePLL::~SoftwarePLL | ( | ) | [inline] |
Definition at line 28 of file softwarePLL.h.
SoftwarePLL::SoftwarePLL | ( | ) | [inline, private] |
Definition at line 72 of file softwarePLL.h.
SoftwarePLL::SoftwarePLL | ( | const SoftwarePLL & | ) | [private] |
double SoftwarePLL::AllowedTimeDeviation | ( | ) | const [inline] |
Definition at line 43 of file softwarePLL.h.
void SoftwarePLL::AllowedTimeDeviation | ( | double | val | ) | [inline] |
Definition at line 44 of file softwarePLL.h.
double SoftwarePLL::extraPolateRelativeTimeStamp | ( | uint32_t | tick | ) |
Definition at line 89 of file softwarePLL.cpp.
uint32_t SoftwarePLL::ExtrapolationDivergenceCounter | ( | ) | const [inline] |
Definition at line 45 of file softwarePLL.h.
void SoftwarePLL::ExtrapolationDivergenceCounter | ( | uint32_t | val | ) | [inline] |
Definition at line 46 of file softwarePLL.h.
int SoftwarePLL::findDiffInFifo | ( | double | diff, |
double | tol | ||
) |
Definition at line 98 of file softwarePLL.cpp.
uint64_t SoftwarePLL::FirstTick | ( | ) | const [inline] |
Definition at line 37 of file softwarePLL.h.
void SoftwarePLL::FirstTick | ( | uint64_t | val | ) | [inline] |
Definition at line 38 of file softwarePLL.h.
double SoftwarePLL::FirstTimeStamp | ( | ) | const [inline] |
Definition at line 39 of file softwarePLL.h.
void SoftwarePLL::FirstTimeStamp | ( | double | val | ) | [inline] |
Definition at line 40 of file softwarePLL.h.
bool SoftwarePLL::getCorrectedTimeStamp | ( | uint32_t & | sec, |
uint32_t & | nanoSec, | ||
uint32_t | tick | ||
) |
Definition at line 172 of file softwarePLL.cpp.
bool SoftwarePLL::getDemoFileData | ( | std::string | fileName, |
std::vector< uint32_t > & | tickVec, | ||
std::vector< uint32_t > & | secVec, | ||
std::vector< uint32_t > & | nanoSecVec | ||
) |
static SoftwarePLL& SoftwarePLL::instance | ( | ) | [inline, static] |
Definition at line 23 of file softwarePLL.h.
double SoftwarePLL::InterpolationSlope | ( | ) | const [inline] |
Definition at line 41 of file softwarePLL.h.
void SoftwarePLL::InterpolationSlope | ( | double | val | ) | [inline] |
Definition at line 42 of file softwarePLL.h.
bool SoftwarePLL::IsInitialized | ( | ) | const [inline] |
Definition at line 35 of file softwarePLL.h.
void SoftwarePLL::IsInitialized | ( | bool | val | ) | [inline] |
Definition at line 36 of file softwarePLL.h.
bool SoftwarePLL::nearSameTimeStamp | ( | double | relTimeStamp1, |
double | relTimeStamp2 | ||
) | [private] |
Definition at line 187 of file softwarePLL.cpp.
SoftwarePLL& SoftwarePLL::operator= | ( | const SoftwarePLL & | ) | [private] |
bool SoftwarePLL::pushIntoFifo | ( | double | curTimeStamp, |
uint32_t | curtick | ||
) |
Definition at line 68 of file softwarePLL.cpp.
void SoftwarePLL::testbed | ( | ) | [static] |
Definition at line 296 of file softwarePLL.cpp.
bool SoftwarePLL::updateInterpolationSlope | ( | ) | [private] |
Definition at line 200 of file softwarePLL.cpp.
bool SoftwarePLL::updatePLL | ( | uint32_t | sec, |
uint32_t | nanoSec, | ||
uint32_t | curtick | ||
) |
Updates PLL internale State should be called only with network send timestamps.
sec,: | System Timetamp from received network packed |
nsec,: | System Timestamp from received network packed |
curtick | micro Seconds since scanner start from SOPAS Datagram |
Definition at line 124 of file softwarePLL.cpp.
double SoftwarePLL::allowedTimeDeviation [private] |
Definition at line 63 of file softwarePLL.h.
double SoftwarePLL::clockFifo[fifoSize] [private] |
Definition at line 56 of file softwarePLL.h.
double SoftwarePLL::dClockDiffFeedBack [private] |
Definition at line 61 of file softwarePLL.h.
double SoftwarePLL::dTAvgFeedback [private] |
Definition at line 60 of file softwarePLL.h.
uint32_t SoftwarePLL::extrapolationDivergenceCounter [private] |
Definition at line 71 of file softwarePLL.h.
const int SoftwarePLL::fifoSize = 7 [static, private] |
Definition at line 52 of file softwarePLL.h.
uint64_t SoftwarePLL::firstTick [private] |
Definition at line 64 of file softwarePLL.h.
double SoftwarePLL::firstTimeStamp [private] |
Definition at line 62 of file softwarePLL.h.
double SoftwarePLL::interpolationSlope [private] |
Definition at line 68 of file softwarePLL.h.
bool SoftwarePLL::isInitialized [private] |
Definition at line 59 of file softwarePLL.h.
uint32_t SoftwarePLL::lastValidTick [private] |
Definition at line 58 of file softwarePLL.h.
double SoftwarePLL::lastValidTimeStamp [private] |
Definition at line 57 of file softwarePLL.h.
const double SoftwarePLL::MaxAllowedTimeDeviation = 0.001 [static, private] |
Definition at line 53 of file softwarePLL.h.
const uint32_t SoftwarePLL::MaxExtrapolationCounter = 5 [static, private] |
Definition at line 54 of file softwarePLL.h.
uint32_t SoftwarePLL::mostRecentNanoSec [private] |
Definition at line 66 of file softwarePLL.h.
uint32_t SoftwarePLL::mostRecentSec [private] |
Definition at line 65 of file softwarePLL.h.
double SoftwarePLL::mostRecentTimeStamp [private] |
Definition at line 67 of file softwarePLL.h.
int SoftwarePLL::numberValInFifo [private] |
Definition at line 51 of file softwarePLL.h.
uint32_t SoftwarePLL::tickFifo[fifoSize] [private] |
Definition at line 55 of file softwarePLL.h.