#define ymax_checksum CHECKSUM("y_max")
#define zmax_checksum CHECKSUM("z_max")
-#define ARC_ANGULAR_TRAVEL_EPSILON 5E-9F // Float (radians)
#define PI 3.14159265358979323846F // force to be float, do not use M_PI
// The Robot converts GCodes into actual movements, and then adds them to the Planner, which passes them to the Conveyor so they can be added to the queue
return false;
}
- // Scary math
+ // Scary math.
+ // We need to use arc_milestone here to get accurate arcs as previous machine_position may have been skipped due to small movements
float center_axis0 = this->arc_milestone[this->plane_axis_0] + offset[this->plane_axis_0];
float center_axis1 = this->arc_milestone[this->plane_axis_1] + offset[this->plane_axis_1];
float linear_travel = target[this->plane_axis_2] - this->arc_milestone[this->plane_axis_2];