Browse Source

Lightly optimize arc length calculation

pull/1/head
Scott Lahteine 7 years ago
parent
commit
9644fe1839
  1. 3
      Marlin/src/gcode/motion/G2_G3.cpp
  2. 3
      Marlin/src/module/planner.cpp

3
Marlin/src/gcode/motion/G2_G3.cpp

@ -86,7 +86,8 @@ void plan_arc(
if (angular_travel == 0 && current_position[p_axis] == cart[p_axis] && current_position[q_axis] == cart[q_axis])
angular_travel = RADIANS(360);
const float mm_of_travel = HYPOT(angular_travel * radius, FABS(linear_travel));
const float flat_mm = radius * angular_travel,
mm_of_travel = linear_travel ? HYPOT(flat_mm, linear_travel) : flat_mm;
if (mm_of_travel < 0.001) return;
uint16_t segments = FLOOR(mm_of_travel / (MM_PER_ARC_SEGMENT));

3
Marlin/src/module/planner.cpp

@ -373,7 +373,7 @@ void Planner::recalculate_trapezoids() {
}
}
/*
/**
* Recalculate the motion plan according to the following algorithm:
*
* 1. Go over every block in reverse order...
@ -403,7 +403,6 @@ void Planner::recalculate() {
recalculate_trapezoids();
}
#if ENABLED(AUTOTEMP)
void Planner::getHighESpeed() {

Loading…
Cancel
Save