From a935514a7f8a644840116ccdc5ecbfefd603eb79 Mon Sep 17 00:00:00 2001 From: midilab Date: Sat, 26 Jul 2025 08:29:59 -0300 Subject: [PATCH] revert second tick calculus for external sync --- src/uClock.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/uClock.cpp b/src/uClock.cpp index e3ea81b..1d96abd 100755 --- a/src/uClock.cpp +++ b/src/uClock.cpp @@ -316,11 +316,15 @@ void uClockClass::handleExternalClock() ext_interval_idx = 0; ext_interval_buffer[ext_interval_idx] = last_interval; - // calculate sync interval - ext_interval = (((uint32_t)ext_interval * (uint32_t)PLL_X) + (uint32_t)(256 - PLL_X) * (uint32_t)last_interval) >> 8; - // external clock tick me! ext_clock_tick++; + + // calculate sync interval + if (ext_clock_tick == 1) { + ext_interval = last_interval; + } else { + ext_interval = (((uint32_t)ext_interval * (uint32_t)PLL_X) + (uint32_t)(256 - PLL_X) * (uint32_t)last_interval) >> 8; + } break; case PAUSED: