Trouble in changing function "PrintLine::queueDeltaMove() "

I try to understand the PrintLine::queueDeltaMove() function. However, I find this function only calculate how many steps the motor should move. I can't find the function to drive the motor. Could anyone tell me where is the function please?

Comments

  • The motors are driven in motion.cpp bresenham function. There the precomputed segments are consumed and converted in stepper signals.
  • You mean the bresenhamStep() function? But I can't find by which function the bresenhamStep() is called. And could you tell me the use of virtual axis? Thank you very much!
    Repetier said:
    The motors are driven in motion.cpp bresenham function. There the precomputed segments are consumed and converted in stepper signals.

  • That is called by timer1 interrupt and the returned time in ticks is when timer should trigger again. That way we can control speed without dummy loops.

    Bresenham algorithm needs a leading axis to work. Since deltas are nonlinear the driving axis could change over a line. So we added a virtual axis that has the biggest steps for all segments so it is always the driving axis in nonlinear systems.
Sign In or Register to comment.