only:more timer API
This commit is contained in:
parent
8ca5db6413
commit
a63265bffb
|
@ -51,7 +51,7 @@ float Timer::getElapsedUs() const {
|
||||||
return getElapsedUs(getTimeNowNt());
|
return getElapsedUs(getTimeNowNt());
|
||||||
}
|
}
|
||||||
|
|
||||||
float Timer::getElapsedUs(efitick_t nowNt) const {
|
uint32_t Timer::getElapsedNt(efitick_t nowNt) const {
|
||||||
auto deltaNt = nowNt - m_lastReset;
|
auto deltaNt = nowNt - m_lastReset;
|
||||||
|
|
||||||
// Yes, things can happen slightly in the future if we get a lucky interrupt between
|
// Yes, things can happen slightly in the future if we get a lucky interrupt between
|
||||||
|
@ -64,8 +64,11 @@ float Timer::getElapsedUs(efitick_t nowNt) const {
|
||||||
if (deltaNt > UINT32_MAX - 1) {
|
if (deltaNt > UINT32_MAX - 1) {
|
||||||
deltaNt = UINT32_MAX - 1;
|
deltaNt = UINT32_MAX - 1;
|
||||||
}
|
}
|
||||||
|
return deltaNt;
|
||||||
|
}
|
||||||
|
|
||||||
auto delta32 = (uint32_t)deltaNt;
|
float Timer::getElapsedUs(efitick_t nowNt) const {
|
||||||
|
auto delta32 = getElapsedNt(nowNt);
|
||||||
|
|
||||||
return NT2US(delta32);
|
return NT2US(delta32);
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,11 +32,17 @@ public:
|
||||||
float getElapsedUs() const;
|
float getElapsedUs() const;
|
||||||
// WOW yes returns US while parameter is NT
|
// WOW yes returns US while parameter is NT
|
||||||
float getElapsedUs(efitick_t nowNt) const;
|
float getElapsedUs(efitick_t nowNt) const;
|
||||||
|
// too many options for the API probably?
|
||||||
|
uint32_t getElapsedNt(efitick_t nowNt) const;
|
||||||
|
|
||||||
// Perform an atomic update event based on the passed timestamp,
|
// Perform an atomic update event based on the passed timestamp,
|
||||||
// returning the delta between the last reset and the provided timestamp
|
// returning the delta between the last reset and the provided timestamp
|
||||||
float getElapsedSecondsAndReset(efitick_t nowNt);
|
float getElapsedSecondsAndReset(efitick_t nowNt);
|
||||||
|
|
||||||
|
efitick_t get() {
|
||||||
|
return m_lastReset;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Use not-quite-minimum value to avoid overflow
|
// Use not-quite-minimum value to avoid overflow
|
||||||
efitick_t m_lastReset;
|
efitick_t m_lastReset;
|
||||||
|
|
Loading…
Reference in New Issue