From 0bf1054bb246b9d9586c9fc44ab103ea539fa433 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <sourcetree@thinkyhead.com>
Date: Wed, 21 Sep 2016 18:35:40 -0500
Subject: [PATCH] Patch do_homing_move for SCARA
---
Marlin/Marlin_main.cpp | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 162550e43b..87fb0db061 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -2192,10 +2192,20 @@ static void do_homing_move(const AxisEnum axis, float distance, float fr_mm_s=0.
if (deploy_bltouch) set_bltouch_deployed(true);
#endif
+ // Tell the planner we're at Z=0
current_position[axis] = 0;
- sync_plan_position();
- current_position[axis] = distance;
- 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);
+
+ #if IS_SCARA
+ SYNC_PLAN_POSITION_KINEMATIC();
+ current_position[axis] = distance;
+ inverse_kinematics(current_position);
+ 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);
+ #else
+ sync_plan_position();
+ current_position[axis] = distance;
+ 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);
+ #endif
+
stepper.synchronize();
#if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH)
--
GitLab