Nikolay-Kha / PyCNC

Python CNC machine controller for Raspberry Pi and other ARM Linux boards

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Circular CCW movement in same quadrant

vsiz opened this issue · comments

commented

In the pulse calculation of the circular movement, it looks like the number of pulses of a CCW move in the same quadrant is always the number of pulses of a whole circle :

  • in a CCW movement in the same quadrant, the start angle is always bigger than the end angle
  • 2*PI is added in that case, which fulfills the condition of delta quadrant is >= 4
  • in that case the number of pulses is assigned to the number of pulses of a whole circle
  • this results in an invalid movement after the expected move (can be quite scary :-) )
    Solution for me was removing the condition "if quarter_end - quarter_start >= 4:" and always doing the "else:" in the class PulseGeneratorCircular(PulseGenerator) init method.
    I am not sure if full circles are still accepted, but for me that's not an issue since I always split up full circles into segments during g-code generation.