Browse Source

Followup to 21e60fd

`ENABLED` only works for flag-type options. Floats must use `#ifdef`.
pull/1/head
Scott Lahteine 6 years ago
parent
commit
304e0f8945
  1. 38
      Marlin/src/feature/bedlevel/ubl/ubl.h
  2. 12
      Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp

38
Marlin/src/feature/bedlevel/ubl/ubl.h

@ -224,15 +224,14 @@ class unified_bed_leveling {
} }
#endif #endif
/** // The requested location is off the mesh. Return UBL_Z_RAISE_WHEN_OFF_MESH or NAN.
* The requested location is off the mesh. Check if UBL_Z_RAISE_WHEN_OFF_MESH return (
* is specified. If so, that value is returned. #ifdef UBL_Z_RAISE_WHEN_OFF_MESH
*/ UBL_Z_RAISE_WHEN_OFF_MESH
#if ENABLED(UBL_Z_RAISE_WHEN_OFF_MESH) #else
return UBL_Z_RAISE_WHEN_OFF_MESH; NAN
#else #endif
return NAN; );
#endif
} }
const float xratio = (rx0 - mesh_index_to_xpos(x1_i)) * (1.0 / (MESH_X_DIST)), const float xratio = (rx0 - mesh_index_to_xpos(x1_i)) * (1.0 / (MESH_X_DIST)),
@ -259,15 +258,14 @@ class unified_bed_leveling {
} }
#endif #endif
/** // The requested location is off the mesh. Return UBL_Z_RAISE_WHEN_OFF_MESH or NAN.
* The requested location is off the mesh. Check if UBL_Z_RAISE_WHEN_OFF_MESH return (
* is specified. If so, that value is returned. #ifdef UBL_Z_RAISE_WHEN_OFF_MESH
*/ UBL_Z_RAISE_WHEN_OFF_MESH
#if ENABLED(UBL_Z_RAISE_WHEN_OFF_MESH) #else
return UBL_Z_RAISE_WHEN_OFF_MESH; NAN
#else #endif
return NAN; );
#endif
} }
const float yratio = (ry0 - mesh_index_to_ypos(y1_i)) * (1.0 / (MESH_Y_DIST)), const float yratio = (ry0 - mesh_index_to_ypos(y1_i)) * (1.0 / (MESH_Y_DIST)),
@ -292,9 +290,9 @@ class unified_bed_leveling {
* Check if the requested location is off the mesh. If so, and * Check if the requested location is off the mesh. If so, and
* UBL_Z_RAISE_WHEN_OFF_MESH is specified, that value is returned. * 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)) 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 #endif
const float z1 = calc_z0(rx0, const float z1 = calc_z0(rx0,

12
Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp

@ -86,13 +86,13 @@
if (!WITHIN(cell_dest_xi, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(cell_dest_yi, 0, GRID_MAX_POINTS_Y - 1)) { 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 // 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. // value, that will be used instead of a calculated (Bi-Linear interpolation) correction.
const float z_raise = 0.0
float z_raise = 0.0; #ifdef UBL_Z_RAISE_WHEN_OFF_MESH
#if ENABLED(UBL_Z_RAISE_WHEN_OFF_MESH) + UBL_Z_RAISE_WHEN_OFF_MESH
z_raise = UBL_Z_RAISE_WHEN_OFF_MESH; #endif
#endif ;
planner.buffer_segment(end[X_AXIS], end[Y_AXIS], end[Z_AXIS] + z_raise, end[E_AXIS], feed_rate, extruder); planner.buffer_segment(end[X_AXIS], end[Y_AXIS], end[Z_AXIS] + z_raise, end[E_AXIS], feed_rate, extruder);
set_current_from_destination(); set_current_from_destination();

Loading…
Cancel
Save