|
@@ -2192,10 +2192,20 @@ static void do_homing_move(const AxisEnum axis, float distance, float fr_mm_s=0.
|
2192
|
2192
|
if (deploy_bltouch) set_bltouch_deployed(true);
|
2193
|
2193
|
#endif
|
2194
|
2194
|
|
|
2195
|
+ // Tell the planner we're at Z=0
|
2195
|
2196
|
current_position[axis] = 0;
|
2196
|
|
- sync_plan_position();
|
2197
|
|
- current_position[axis] = distance;
|
2198
|
|
- planner.buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], fr_mm_s ? fr_mm_s : homing_feedrate_mm_s[axis], active_extruder);
|
|
2197
|
+
|
|
2198
|
+ #if IS_SCARA
|
|
2199
|
+ SYNC_PLAN_POSITION_KINEMATIC();
|
|
2200
|
+ current_position[axis] = distance;
|
|
2201
|
+ inverse_kinematics(current_position);
|
|
2202
|
+ planner.buffer_line(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], current_position[E_AXIS], fr_mm_s ? fr_mm_s : homing_feedrate_mm_s[axis], active_extruder);
|
|
2203
|
+ #else
|
|
2204
|
+ sync_plan_position();
|
|
2205
|
+ current_position[axis] = distance;
|
|
2206
|
+ planner.buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], fr_mm_s ? fr_mm_s : homing_feedrate_mm_s[axis], active_extruder);
|
|
2207
|
+ #endif
|
|
2208
|
+
|
2199
|
2209
|
stepper.synchronize();
|
2200
|
2210
|
|
2201
|
2211
|
#if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH)
|