Kaynağa Gözat

Patch do_homing_move for SCARA

Scott Lahteine 8 yıl önce
ebeveyn
işleme
0bf1054bb2
1 değiştirilmiş dosya ile 13 ekleme ve 3 silme
  1. 13
    3
      Marlin/Marlin_main.cpp

+ 13
- 3
Marlin/Marlin_main.cpp Dosyayı Görüntüle

@@ -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)

Loading…
İptal
Kaydet