|
@@ -484,8 +484,8 @@
|
484
|
484
|
|
485
|
485
|
#elif IS_SCARA // apply scara inverse_kinematics (should be changed to save raw->logical->raw)
|
486
|
486
|
|
487
|
|
- inverse_kinematics(raw); // this writes delta[ABC] from raw[XYZE]
|
488
|
|
- // should move the feedrate scaling to scara inverse_kinematics
|
|
487
|
+ inverse_kinematics(raw); // this writes delta[ABC] from raw[XYZE]
|
|
488
|
+ // should move the feedrate scaling to scara inverse_kinematics
|
489
|
489
|
|
490
|
490
|
const float adiff = FABS(delta[A_AXIS] - scara_oldA),
|
491
|
491
|
bdiff = FABS(delta[B_AXIS] - scara_oldB);
|
|
@@ -500,9 +500,19 @@
|
500
|
500
|
planner._buffer_line(raw[X_AXIS], raw[Y_AXIS], raw[Z_AXIS], raw[E_AXIS], fr, active_extruder);
|
501
|
501
|
|
502
|
502
|
#endif
|
503
|
|
-
|
504
|
503
|
}
|
505
|
504
|
|
|
505
|
+ #if IS_SCARA
|
|
506
|
+ #define DELTA_SEGMENT_MIN_LENGTH 0.25 // SCARA minimum segment size is 0.25mm
|
|
507
|
+ #elif ENABLED(DELTA)
|
|
508
|
+ #define DELTA_SEGMENT_MIN_LENGTH 0.10 // mm (still subject to DELTA_SEGMENTS_PER_SECOND)
|
|
509
|
+ #else // CARTESIAN
|
|
510
|
+ #ifdef LEVELED_SEGMENT_LENGTH
|
|
511
|
+ #define DELTA_SEGMENT_MIN_LENGTH LEVELED_SEGMENT_LENGTH
|
|
512
|
+ #else
|
|
513
|
+ #define DELTA_SEGMENT_MIN_LENGTH 1.00 // mm (similar to G2/G3 arc segmentation)
|
|
514
|
+ #endif
|
|
515
|
+ #endif
|
506
|
516
|
|
507
|
517
|
/**
|
508
|
518
|
* Prepare a segmented linear move for DELTA/SCARA/CARTESIAN with UBL and FADE semantics.
|
|
@@ -633,10 +643,11 @@
|
633
|
643
|
if (--segments == 0) // if this is last segment, use rtarget for exact
|
634
|
644
|
COPY(raw, rtarget);
|
635
|
645
|
|
636
|
|
- float z_cxcy = z_cxy0 + z_cxym * cy; // interpolated mesh z height along cx at cy
|
637
|
|
- #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
|
638
|
|
- z_cxcy *= fade_scaling_factor; // apply fade factor to interpolated mesh height
|
639
|
|
- #endif
|
|
646
|
+ const float z_cxcy = (z_cxy0 + z_cxym * cy) // interpolated mesh z height along cx at cy
|
|
647
|
+ #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
|
|
648
|
+ * fade_scaling_factor // apply fade factor to interpolated mesh height
|
|
649
|
+ #endif
|
|
650
|
+ ;
|
640
|
651
|
|
641
|
652
|
const float z = raw[Z_AXIS];
|
642
|
653
|
raw[Z_AXIS] += z_cxcy;
|