From 5eda2b451ee2259e21950909667d7601fe626170 Mon Sep 17 00:00:00 2001 From: Hakan Bastedt Date: Sun, 7 Apr 2024 22:55:23 +0200 Subject: [PATCH] Use calibrated frequencty for the base timer. No big difference but more scientific, maybe --- Firmware/src/main.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Firmware/src/main.cpp b/Firmware/src/main.cpp index 88be3ab..cdb8b0b 100755 --- a/Firmware/src/main.cpp +++ b/Firmware/src/main.cpp @@ -113,7 +113,7 @@ void handleStepper(void) // Obj.ActualPosition1 = Step->stepgen_array[0].pos_fb; // Obj.ActualPosition2 = Step->stepgen_array[1].pos_fb; - //maxIrqServeTime = 600; + // maxIrqServeTime = 600; delayT = maxIrqServeTime - diffT; // Add 10 as some safety margin if (delayT > 0 && delayT < 900) { @@ -212,9 +212,8 @@ void setup(void) Step = new StepGen3; baseTimer = new HardwareTimer(TIM11); // The base period timer - uint32_t usecs = BASE_PERIOD / sync0CycleTime; - // setFrequencyAdjustedMicrosSeconds(baseTimer, usecs); - baseTimer->setOverflow(BASE_PERIOD / 1000, MICROSEC_FORMAT); + setFrequencyAdjustedMicrosSeconds(baseTimer, BASE_PERIOD / 1000); + // baseTimer->setOverflow(BASE_PERIOD / 1000, MICROSEC_FORMAT); baseTimer->attachInterrupt(basePeriodCB); syncTimer = new HardwareTimer(TIM3); // The Linuxcnc servo period sync timer