Fix first motor command by setting speed before move

This commit is contained in:
Holger Weber
2026-02-22 21:54:31 +01:00
parent 40f1999b25
commit 3059e5a493

View File

@@ -124,15 +124,15 @@ void prepareMove(uint16_t duration, int penStepsEBB, int rotStepsEBB)
} }
if ((1 == fROT_STEP_CORRECTION) && (1 == fPEN_STEP_CORRECTION)) if ((1 == fROT_STEP_CORRECTION) && (1 == fPEN_STEP_CORRECTION))
{ // if coordinatessystems are identical { // if coordinatessystems are identical
// set Coordinates and Speed // set Coordinates and Speed
g_pStepperRotate->move(rotStepsEBB); g_pStepperRotate->setSpeedInTicks(abs((float)rotStepsEBB * (float)1000 / (float)duration));
g_pStepperRotate->setSpeedInTicks(abs((float)rotStepsEBB * (float)1000 / (float)duration)); g_pStepperRotate->move(rotStepsEBB);
g_pStepperPen->move(penStepsEBB); g_pStepperPen->setSpeedInTicks(abs((float)penStepsEBB * (float)1000 / (float)duration));
g_pStepperPen->setSpeedInTicks(abs((float)penStepsEBB * (float)1000 / (float)duration)); g_pStepperPen->move(penStepsEBB);
} }
else else
{ {
// incoming EBB-Steps will be multiplied by 16, then Integer-maths is done, result will be divided by 16 // incoming EBB-Steps will be multiplied by 16, then Integer-maths is done, result will be divided by 16
@@ -150,16 +150,16 @@ void prepareMove(uint16_t duration, int penStepsEBB, int rotStepsEBB)
long temp_penSpeed = ((long)penStepsToGo * (long)1000 / (long)duration); long temp_penSpeed = ((long)penStepsToGo * (long)1000 / (long)duration);
float rotSpeed = (float)abs(temp_rotSpeed); // type cast float rotSpeed = (float)abs(temp_rotSpeed); // type cast
float penSpeed = (float)abs(temp_penSpeed); float penSpeed = (float)abs(temp_penSpeed);
// set Coordinates and Speed // set Coordinates and Speed
g_pStepperRotate->move(rotStepsToGo); g_pStepperRotate->setSpeedInTicks(rotSpeed);
g_pStepperRotate->setSpeedInTicks(rotSpeed); g_pStepperRotate->move(rotStepsToGo);
g_pStepperPen->move(penStepsToGo); g_pStepperPen->setSpeedInTicks(penSpeed);
g_pStepperPen->setSpeedInTicks(penSpeed); g_pStepperPen->move(penStepsToGo);
}
} }
}
void moveOneStep() void moveOneStep()
{ {