From 3fcd131f460af9a5bdf4d56f803d475e786f0e6c Mon Sep 17 00:00:00 2001 From: Roxy-3D Date: Wed, 14 Feb 2018 14:19:52 -0600 Subject: [PATCH] Cartesian UBL systems should not use SEGMENT_LEVELED_MOVES There is significant downside to breaking up the long line segments on UBL Cartesian machines via the SEGMENT_LEVELED_MOVES mechanism. It adds a lot of extra computation but worse... It cuts out all of UBL's off mesh Z-Height correction checks. There have been a large number of people complaining about the nozzle going to infinity or crashing into the bed lately. They are being caused by ``` void unified_bed_leveling::line_to_destination_cartesian() ``` not watching over the segments being queued up for movement. --- Marlin/Conditionals_post.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/Conditionals_post.h b/Marlin/Conditionals_post.h index 34ab31db45..edeec7e08b 100644 --- a/Marlin/Conditionals_post.h +++ b/Marlin/Conditionals_post.h @@ -952,7 +952,7 @@ /** * Set granular options based on the specific type of leveling */ - #define UBL_SEGMENTED (ENABLED(AUTO_BED_LEVELING_UBL) && (ENABLED(DELTA) || ENABLED(SEGMENT_LEVELED_MOVES))) + #define UBL_SEGMENTED (ENABLED(AUTO_BED_LEVELING_UBL) && (ENABLED(DELTA))) #define ABL_PLANAR (ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_3POINT)) #define ABL_GRID (ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)) #define OLDSCHOOL_ABL (ABL_PLANAR || ABL_GRID)