Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
SoftwarePLL Class Reference

#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. More...
 
 ~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

SoftwarePLL::~SoftwarePLL ( )
inline

Definition at line 28 of file softwarePLL.h.

SoftwarePLL::SoftwarePLL ( )
inlineprivate

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 ( )
inlinestatic

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.

Parameters
secSystem Timetamp from received network packed
nsecSystem 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

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
staticprivate

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
staticprivate

Definition at line 53 of file softwarePLL.h.

const uint32_t SoftwarePLL::MaxExtrapolationCounter = 5
staticprivate

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.


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 04:55:32