|
@@ -775,10 +775,14 @@ void GcodeSuite::G26() {
|
775
|
775
|
|
776
|
776
|
// Figure out where to start and end the arc - we always print counterclockwise
|
777
|
777
|
if (xi == 0) { // left edge
|
778
|
|
- sx = f ? circle_x + INTERSECTION_CIRCLE_RADIUS : circle_x;
|
779
|
|
- ex = b ? circle_x + INTERSECTION_CIRCLE_RADIUS : circle_x;
|
780
|
|
- sy = f ? circle_y : circle_y - (INTERSECTION_CIRCLE_RADIUS);
|
781
|
|
- ey = b ? circle_y : circle_y + INTERSECTION_CIRCLE_RADIUS;
|
|
778
|
+ if (!f) {
|
|
779
|
+ sx = circle_x;
|
|
780
|
+ sy -= (INTERSECTION_CIRCLE_RADIUS);
|
|
781
|
+ }
|
|
782
|
+ if (!b) {
|
|
783
|
+ ex = circle_x;
|
|
784
|
+ ey += INTERSECTION_CIRCLE_RADIUS;
|
|
785
|
+ }
|
782
|
786
|
arc_length = (f || b) ? ARC_LENGTH(1) : ARC_LENGTH(2);
|
783
|
787
|
}
|
784
|
788
|
else if (r) { // right edge
|
|
@@ -789,15 +793,11 @@ void GcodeSuite::G26() {
|
789
|
793
|
arc_length = (f || b) ? ARC_LENGTH(1) : ARC_LENGTH(2);
|
790
|
794
|
}
|
791
|
795
|
else if (f) {
|
792
|
|
- sx = circle_x + INTERSECTION_CIRCLE_RADIUS;
|
793
|
796
|
ex = circle_x - (INTERSECTION_CIRCLE_RADIUS);
|
794
|
|
- sy = ey = circle_y;
|
795
|
797
|
arc_length = ARC_LENGTH(2);
|
796
|
798
|
}
|
797
|
799
|
else if (b) {
|
798
|
800
|
sx = circle_x - (INTERSECTION_CIRCLE_RADIUS);
|
799
|
|
- ex = circle_x + INTERSECTION_CIRCLE_RADIUS;
|
800
|
|
- sy = ey = circle_y;
|
801
|
801
|
arc_length = ARC_LENGTH(2);
|
802
|
802
|
}
|
803
|
803
|
const float arc_offset[2] = {
|