Circular CCW movement in same quadrant
vsiz opened this issue · comments
vsiz 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.