-
- gcode->stream->printf("Mpos Plane_Axis_0: %8.34f\r\n", machine_position[this->plane_axis_0]);
- gcode->stream->printf("Mpos Plane_Axis_1: %8.34f\r\n", machine_position[this->plane_axis_1]);
- gcode->stream->printf("Offset Plane_Axis_0: %8.34f\r\n", offset[this->plane_axis_0]);
- gcode->stream->printf("Offset Plane_Axis_1: %8.34f\r\n", offset[this->plane_axis_1]);
- gcode->stream->printf("Target Plane_Axis_0: %8.34f\r\n", target[this->plane_axis_0]);
- gcode->stream->printf("Target Plane_Axis_1: %8.34f\r\n", target[this->plane_axis_1]);
- gcode->stream->printf("center_axis0: %8.34f\r\n", center_axis0);
- gcode->stream->printf("center_axis1: %8.34f\r\n", center_axis1);
- gcode->stream->printf("Radius: %8.34f\r\n",radius);
- gcode->stream->printf("r_axis0: %8.34f\r\n",r_axis0);
- gcode->stream->printf("rt_axis0: %8.34f\r\n",rt_axis0);
- gcode->stream->printf("r_axis1: %8.34f\r\n",r_axis1);
- gcode->stream->printf("rt_axis1: %8.34f\r\n",rt_axis1);
- gcode->stream->printf("ARC_ANGULAR_TRAVEL_EPSILON: %8.64f\r\n",ARC_ANGULAR_TRAVEL_EPSILON);
-
- if((this->machine_position[this->plane_axis_0]==target[this->plane_axis_0]) and(this->machine_position[this->plane_axis_1]==target[this->plane_axis_1])) {
- gcode->stream->printf("Full Circle: True\r\n");
- if (is_clockwise) {
+ //check for condition where atan2 formula will fail due to everything canceling out exactly
+ if((this->arc_milestone[this->plane_axis_0]==target[this->plane_axis_0]) && (this->arc_milestone[this->plane_axis_1]==target[this->plane_axis_1])) {
+ if (is_clockwise) { // set angular_travel to -2pi for a clockwise full circle