Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
SoftwarePLL Class Reference

#include <softwarePLL.h>

List of all members.

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 SoftwarePLLinstance ()
static void testbed ()

Private Member Functions

bool nearSameTimeStamp (double relTimeStamp1, double relTimeStamp2)
SoftwarePLLoperator= (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

Detailed Description

Definition at line 20 of file softwarePLL.h.


Constructor & Destructor Documentation

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]

Member Function Documentation

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.

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.

Parameters:
sec,:System Timetamp from received network packed
nsec,:System Timestamp from received network packed
curtickmicro Seconds since scanner start from SOPAS Datagram
Returns:
PLL is in valid state (true)

Definition at line 124 of file softwarePLL.cpp.


Member Data Documentation

Definition at line 63 of file softwarePLL.h.

double SoftwarePLL::clockFifo[fifoSize] [private]

Definition at line 56 of file softwarePLL.h.

Definition at line 61 of file softwarePLL.h.

double SoftwarePLL::dTAvgFeedback [private]

Definition at line 60 of file softwarePLL.h.

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.

Definition at line 68 of file softwarePLL.h.

Definition at line 59 of file softwarePLL.h.

uint32_t SoftwarePLL::lastValidTick [private]

Definition at line 58 of file softwarePLL.h.

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.

Definition at line 67 of file softwarePLL.h.

Definition at line 51 of file softwarePLL.h.

uint32_t SoftwarePLL::tickFifo[fifoSize] [private]

Definition at line 55 of file softwarePLL.h.


The documentation for this class was generated from the following files:


sick_scan
Author(s): Michael Lehning , Jochen Sprickerhof , Martin Günther
autogenerated on Tue Jul 9 2019 05:05:35