diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index d2f63ac57..be83df519 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -8922,7 +8922,13 @@ inline void gcode_M205() { if (parser.seen('B')) planner.min_segment_time_us = parser.value_ulong(); if (parser.seen('X')) planner.max_jerk[X_AXIS] = parser.value_linear_units(); if (parser.seen('Y')) planner.max_jerk[Y_AXIS] = parser.value_linear_units(); - if (parser.seen('Z')) planner.max_jerk[Z_AXIS] = parser.value_linear_units(); + if (parser.seen('Z')) { + planner.max_jerk[Z_AXIS] = parser.value_linear_units(); + #if HAS_MESH + if (planner.max_jerk[Z_AXIS] <= 0.1) + SERIAL_ECHOLNPGM("WARNING! Low Z Jerk may lead to unwanted pauses."); + #endif + } if (parser.seen('E')) planner.max_jerk[E_AXIS] = parser.value_linear_units(); } diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h index 72ddef53e..92af87a60 100644 --- a/Marlin/SanityCheck.h +++ b/Marlin/SanityCheck.h @@ -852,7 +852,9 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #endif -#if !HAS_MESH && ENABLED(G26_MESH_VALIDATION) +#if HAS_MESH + static_assert(DEFAULT_ZJERK > 0.1, "Low DEFAULT_ZJERK values are incompatible with mesh-based leveling."); +#elif ENABLED(G26_MESH_VALIDATION) #error "G26_MESH_VALIDATION requires MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, or AUTO_BED_LEVELING_UBL." #endif