ADTF
Loading...
Searching...
No Matches
interpolating_clock.h
Go to the documentation of this file.
1
7
#pragma once
8
#include "
base_clock.h
"
9
10
#include <atomic>
11
12
namespace
adtf
13
{
14
15
namespace
system
16
{
17
18
namespace
ant
19
{
20
26
class
cInterpolatingClock
:
public
cBaseClock
27
{
28
private
:
29
std::atomic_int_least64_t m_nExternalStreamOffset;
30
mutable
tTimeStamp m_nLastInterpolatedTime = 0;
31
bool
m_bPaused =
false
;
32
33
public
:
38
cInterpolatingClock
(
const
char
* strName);
39
40
public
:
41
tTimeStamp GetTime()
const override
;
42
43
public
:
50
tResult
Reset
(tTimeStamp nNewTime);
51
60
tResult
SetTime
(tTimeStamp nNewTime);
61
65
void
Start
();
66
70
void
Pause
();
71
};
72
73
}
74
75
namespace
hollow
76
{
77
79
class
cInterpolatingClock
:
public
flash::cBaseClock
80
{
81
private
:
82
std::atomic_int_least64_t m_nExternalStreamOffset;
83
mutable
adtf::base::flash::tNanoSeconds
m_nLastInterpolatedTime =
adtf::base::flash::tNanoSeconds
{0};
84
bool
m_bPaused =
false
;
85
86
public
:
88
cInterpolatingClock
(
const
char
* strName);
89
90
public
:
91
adtf::base::flash::tNanoSeconds
GetTimeNs()
const override
;
92
93
public
:
95
tResult
Reset
(tTimeStamp nNewTime);
96
98
tResult
SetTime
(tTimeStamp nNewTime);
99
101
tResult
Reset
(
adtf::base::flash::tNanoSeconds
nNewTime);
102
104
tResult
SetTime
(
adtf::base::flash::tNanoSeconds
nNewTime);
105
107
void
Start
();
108
110
void
Pause
();
111
};
112
113
}
114
115
namespace
lucky
116
{
117
119
class
cInterpolatingClock
:
public
flash::cBaseClock
120
{
121
public
:
124
cInterpolatingClock
();
125
127
cInterpolatingClock
(
const
char
* strName);
128
~cInterpolatingClock
();
129
130
adtf::base::flash::tNanoSeconds
GetTimeNs()
const override
;
131
132
public
:
140
tResult
Reset
(tTimeStamp nNewTime,
double
fSpeedFactor = 1.0);
141
143
tResult
SetTime
(tTimeStamp nNewTime);
144
152
tResult
Reset
(
adtf::base::flash::tNanoSeconds
nNewTime,
double
fSpeedFactor = 1.0);
153
155
tResult
SetTime
(
adtf::base::flash::tNanoSeconds
nNewTime);
156
158
void
Start
();
159
161
void
Pause
();
162
163
private
:
164
class
cImplementation;
165
std::unique_ptr<cImplementation> m_pImplementation;
166
};
167
168
169
}
170
171
using
lucky::cInterpolatingClock
;
172
173
}
174
175
}
base_clock.h
tResult
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
Definition
result.h:736
adtf::system::ant::cBaseClock::cBaseClock
cBaseClock(const char *strName)
adtf::system::ant::cInterpolatingClock::SetTime
tResult SetTime(tTimeStamp nNewTime)
adtf::system::ant::cInterpolatingClock::Reset
tResult Reset(tTimeStamp nNewTime)
adtf::system::ant::cInterpolatingClock::cInterpolatingClock
cInterpolatingClock(const char *strName)
adtf::system::ant::cInterpolatingClock::Pause
void Pause()
adtf::system::ant::cInterpolatingClock::Start
void Start()
adtf::system::cInterpolatingClock::cInterpolatingClock
cInterpolatingClock()
adtf::system::flash::cBaseClock
Definition
base_clock.h:71
adtf::system::hollow::cInterpolatingClock::Start
void Start()
adtf::system::hollow::cInterpolatingClock::Pause
void Pause()
adtf::system::hollow::cInterpolatingClock::SetTime
tResult SetTime(adtf::base::flash::tNanoSeconds nNewTime)
adtf::system::hollow::cInterpolatingClock::cInterpolatingClock
cInterpolatingClock(const char *strName)
adtf::system::hollow::cInterpolatingClock::Reset
tResult Reset(tTimeStamp nNewTime)
adtf::system::hollow::cInterpolatingClock::Reset
tResult Reset(adtf::base::flash::tNanoSeconds nNewTime)
adtf::system::hollow::cInterpolatingClock::SetTime
tResult SetTime(tTimeStamp nNewTime)
adtf::system::lucky::cInterpolatingClock
Definition
interpolating_clock.h:120
adtf::system::lucky::cInterpolatingClock::Reset
tResult Reset(adtf::base::flash::tNanoSeconds nNewTime, double fSpeedFactor=1.0)
adtf::system::lucky::cInterpolatingClock::Reset
tResult Reset(tTimeStamp nNewTime, double fSpeedFactor=1.0)
adtf::system::lucky::cInterpolatingClock::SetTime
tResult SetTime(tTimeStamp nNewTime)
adtf::system::lucky::cInterpolatingClock::cInterpolatingClock
cInterpolatingClock(const char *strName)
adtf::system::lucky::cInterpolatingClock::Start
void Start()
adtf::system::lucky::cInterpolatingClock::SetTime
tResult SetTime(adtf::base::flash::tNanoSeconds nNewTime)
adtf::system::lucky::cInterpolatingClock::Pause
void Pause()
adtf::system::lucky::cInterpolatingClock::cInterpolatingClock
cInterpolatingClock()
adtf::system::ant
Namespace for all functionality of the ADTF System SDK provided since v3.0.
Definition
adtf_service.h:16
adtf::system::hollow
Namespace for all functionality of the ADTF System SDK provided since v3.7.
Definition
interpolating_clock.h:76
adtf::system::lucky
Namespace for all functionality of the ADTF System SDK provided since v3.11.
Definition
interpolating_clock.h:116
adtf::system
Namespace for the ADTF System SDK.
Definition
adtf_service.h:14
adtf
Namespace for all functionality provided by ADTF and its SDKs.
Definition
adtf_client_connector.h:14
adtf::base::flash::tNanoSeconds
A timestamp with nanosecond precision.
Definition
chrono.h:23
src
libraries
systemsdk
include
adtfsystemsdk
interpolating_clock.h
Copyright © CARIAD SE. All rights reserved | Generated on Thu Aug 6 2026 by doxygen 1.13.2 | GIT Commit Hash: 07d2f84367192978b2a55ca6aee7f968758b7220