|
@@ -2392,6 +2392,15 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
2392
|
2392
|
};
|
2393
|
2393
|
#endif
|
2394
|
2394
|
|
|
2395
|
+ #if IS_CORE && ENABLED(JUNCTION_DEVIATION)
|
|
2396
|
+ /**
|
|
2397
|
+ * On CoreXY the length of the vector [A,B] is SQRT(2) times the length of the head movement vector [X,Y].
|
|
2398
|
+ * So taking Z and E into account, we cannot scale to a unit vector with "inverse_millimeters".
|
|
2399
|
+ * => normalize the complete junction vector
|
|
2400
|
+ */
|
|
2401
|
+ normalize_junction_vector(unit_vec);
|
|
2402
|
+ #endif
|
|
2403
|
+
|
2395
|
2404
|
// Skip first block or when previous_nominal_speed is used as a flag for homing and offset cycles.
|
2396
|
2405
|
if (moves_queued && !UNEAR_ZERO(previous_nominal_speed_sqr)) {
|
2397
|
2406
|
// Compute cosine of angle between previous and current path. (prev_unit_vec is negative)
|