diff --git a/firmware/controllers/actuators/electronic_throttle.cpp b/firmware/controllers/actuators/electronic_throttle.cpp index 83bd81eb9f..701db34cc1 100644 --- a/firmware/controllers/actuators/electronic_throttle.cpp +++ b/firmware/controllers/actuators/electronic_throttle.cpp @@ -383,8 +383,7 @@ expected EtbController::getClosedLoopAutotune(percent_t target, perce efitick_t now = getTimeNowNt(); // Determine period - float tu = NT2US((float)(now - m_cycleStartTime)) / 1e6; - m_cycleStartTime = now; + float tu = m_autotuneCycleStart.getElapsedSecondsAndReset(now); // Determine amplitude float a = m_maxCycleTps - m_minCycleTps; diff --git a/firmware/controllers/actuators/electronic_throttle_impl.h b/firmware/controllers/actuators/electronic_throttle_impl.h index d9fb5175b5..f0ef06288f 100644 --- a/firmware/controllers/actuators/electronic_throttle_impl.h +++ b/firmware/controllers/actuators/electronic_throttle_impl.h @@ -116,7 +116,7 @@ private: // Autotune helpers bool m_lastIsPositive = false; - efitick_t m_cycleStartTime = 0; + Timer m_autotuneCycleStart; float m_minCycleTps = 0; float m_maxCycleTps = 0; // Autotune measured parameters: gain and ultimate period