diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 6cdcee550e0..e7726f05fc8 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -990,7 +990,7 @@ #define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle #define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500 - //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.51// When the nozzle is off the mesh, this value is used + //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used // as the Z-Height correction value. #elif ENABLED(MESH_BED_LEVELING) diff --git a/Marlin/ubl.h b/Marlin/ubl.h index 524359c8808..420031f65bd 100644 --- a/Marlin/ubl.h +++ b/Marlin/ubl.h @@ -222,15 +222,14 @@ SERIAL_EOL(); } #endif - /** - * The requested location is off the mesh. Check if UBL_Z_RAISE_WHEN_OFF_MESH - * is specified. If so, that value is returned. - */ - #if ENABLED(UBL_Z_RAISE_WHEN_OFF_MESH) - return UBL_Z_RAISE_WHEN_OFF_MESH; - #else - return NAN; - #endif + // The requested location is off the mesh. Return UBL_Z_RAISE_WHEN_OFF_MESH or NAN. + return ( + #ifdef UBL_Z_RAISE_WHEN_OFF_MESH + UBL_Z_RAISE_WHEN_OFF_MESH + #else + NAN + #endif + ); } const float xratio = (rx0 - mesh_index_to_xpos(x1_i)) * (1.0 / (MESH_X_DIST)), @@ -256,15 +255,14 @@ SERIAL_EOL(); } #endif - /** - * The requested location is off the mesh. Check if UBL_Z_RAISE_WHEN_OFF_MESH - * is specified. If so, that value is returned. - */ - #if ENABLED(UBL_Z_RAISE_WHEN_OFF_MESH) - return UBL_Z_RAISE_WHEN_OFF_MESH; - #else - return NAN; - #endif + // The requested location is off the mesh. Return UBL_Z_RAISE_WHEN_OFF_MESH or NAN. + return ( + #ifdef UBL_Z_RAISE_WHEN_OFF_MESH + UBL_Z_RAISE_WHEN_OFF_MESH + #else + NAN + #endif + ); } const float yratio = (ry0 - mesh_index_to_ypos(y1_i)) * (1.0 / (MESH_Y_DIST)), @@ -289,9 +287,9 @@ * Check if the requested location is off the mesh. If so, and * UBL_Z_RAISE_WHEN_OFF_MESH is specified, that value is returned. */ - #if ENABLED(UBL_Z_RAISE_WHEN_OFF_MESH) + #ifdef UBL_Z_RAISE_WHEN_OFF_MESH if (!WITHIN(rx0, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(ry0, 0, GRID_MAX_POINTS_Y - 1)) - return UBL_Z_RAISE_WHEN_OFF_MESHH; + return UBL_Z_RAISE_WHEN_OFF_MESH; #endif const float z1 = calc_z0(rx0, diff --git a/Marlin/ubl_motion.cpp b/Marlin/ubl_motion.cpp index 27f1b3f50ff..3567381c7b8 100644 --- a/Marlin/ubl_motion.cpp +++ b/Marlin/ubl_motion.cpp @@ -79,13 +79,14 @@ if (!WITHIN(cell_dest_xi, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(cell_dest_yi, 0, GRID_MAX_POINTS_Y - 1)) { // Note: There is no Z Correction in this case. We are off the grid and don't know what - // a reasonable correction would be. If the user has specified a UBL_Z_RAISE_WHEN_OFF_MESH + // a reasonable correction would be. If the user has specified a UBL_Z_RAISE_WHEN_OFF_MESH // value, that will be used instead of a calculated (Bi-Linear interpolation) correction. - float z_raise = 0.0; - #if ENABLED(UBL_Z_RAISE_WHEN_OFF_MESH) - z_raise = UBL_Z_RAISE_WHEN_OFF_MESH; - #endif + const float z_raise = 0.0 + #ifdef UBL_Z_RAISE_WHEN_OFF_MESH + + UBL_Z_RAISE_WHEN_OFF_MESH + #endif + ; planner.buffer_segment(end[X_AXIS], end[Y_AXIS], end[Z_AXIS] + z_raise, end[E_AXIS], feed_rate, extruder); set_current_from_destination();