Lightly optimize arc length calculation
This commit is contained in:
parent
c9bda932fe
commit
9644fe1839
2 changed files with 3 additions and 3 deletions
|
@ -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])
|
if (angular_travel == 0 && current_position[p_axis] == cart[p_axis] && current_position[q_axis] == cart[q_axis])
|
||||||
angular_travel = RADIANS(360);
|
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;
|
if (mm_of_travel < 0.001) return;
|
||||||
|
|
||||||
uint16_t segments = FLOOR(mm_of_travel / (MM_PER_ARC_SEGMENT));
|
uint16_t segments = FLOOR(mm_of_travel / (MM_PER_ARC_SEGMENT));
|
||||||
|
|
|
@ -373,7 +373,7 @@ void Planner::recalculate_trapezoids() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Recalculate the motion plan according to the following algorithm:
|
* Recalculate the motion plan according to the following algorithm:
|
||||||
*
|
*
|
||||||
* 1. Go over every block in reverse order...
|
* 1. Go over every block in reverse order...
|
||||||
|
@ -403,7 +403,6 @@ void Planner::recalculate() {
|
||||||
recalculate_trapezoids();
|
recalculate_trapezoids();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if ENABLED(AUTOTEMP)
|
#if ENABLED(AUTOTEMP)
|
||||||
|
|
||||||
void Planner::getHighESpeed() {
|
void Planner::getHighESpeed() {
|
||||||
|
|
Reference in a new issue