From 31ccfda44b9c1675d4a0b7b3f0788d7c8c29f218 Mon Sep 17 00:00:00 2001 From: midopple Date: Mon, 2 Apr 2012 10:21:54 +0200 Subject: Fixed small bug in arcs when segemnts are zero Thanks to hurzl --- Sprinter/arc_func.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Sprinter') diff --git a/Sprinter/arc_func.cpp b/Sprinter/arc_func.cpp index 255129f..1446e30 100644 --- a/Sprinter/arc_func.cpp +++ b/Sprinter/arc_func.cpp @@ -50,6 +50,8 @@ void mc_arc(float *position, float *target, float *offset, uint8_t axis_0, uint8 float millimeters_of_travel = hypot(angular_travel*radius, fabs(linear_travel)); if (millimeters_of_travel < 0.001) { return; } uint16_t segments = floor(millimeters_of_travel/MM_PER_ARC_SEGMENT); + if(segments == 0) segments = 1; + /* // Multiply inverse feed_rate to compensate for the fact that this movement is approximated // by a number of discrete segments. The inverse feed_rate should be correct for the sum of -- cgit v1.2.1