From d01ee7e7b5e403d290e45d6507c85133437da488 Mon Sep 17 00:00:00 2001
From: Jim Morris <morris@wolfman.com>
Date: Wed, 17 Jul 2013 16:14:07 -0700
Subject: [PATCH] fix zjerk being the same for delta as xy jerk add more delta
 defaults on delta make second home even slower

---
 Marlin/Configuration.h     | 4 ++++
 Marlin/Configuration_adv.h | 3 +++
 Marlin/Marlin_main.cpp     | 4 ++++
 3 files changed, 11 insertions(+)

diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index 130a7bd5ba..f943568fd8 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -431,7 +431,11 @@ const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of th
 
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
 #define DEFAULT_XYJERK                20.0    // (mm/sec)
+#ifdef DELTA
+#define DEFAULT_ZJERK                 20.0    // (mm/sec) Must be same as XY for delta
+#else
 #define DEFAULT_ZJERK                 0.4     // (mm/sec)
+#endif // DELTA
 #define DEFAULT_EJERK                 5.0    // (mm/sec)
 
 //===========================================================================
diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h
index fd4bda0db6..943e9e1e15 100644
--- a/Marlin/Configuration_adv.h
+++ b/Marlin/Configuration_adv.h
@@ -177,7 +177,10 @@
 #define DEFAULT_MINSEGMENTTIME        20000
 
 // If defined the movements slow down when the look ahead buffer is only half full
+// (don't use SLOWDOWN with DELTA because DELTA generates hundreds of segments per second)
+#ifndef DELTA
 #define SLOWDOWN
+#endif
 
 // Frequency limit
 // See nophead's blog for more info
diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 38da1db08e..fc0c952240 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -712,7 +712,11 @@ static void homeaxis(int axis) {
     st_synchronize();
 
     destination[axis] = 2*home_retract_mm(axis) * home_dir(axis);
+#ifdef DELTA
+    feedrate = homing_feedrate[axis]/10;
+#else
     feedrate = homing_feedrate[axis]/2 ;
+#endif
     plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
     st_synchronize();
 
-- 
GitLab