|
@ -160,7 +160,8 @@ |
|
|
unified_bed_leveling(); |
|
|
unified_bed_leveling(); |
|
|
|
|
|
|
|
|
FORCE_INLINE void set_z(const int8_t px, const int8_t py, const float &z) { z_values[px][py] = z; } |
|
|
FORCE_INLINE void set_z(const int8_t px, const int8_t py, const float &z) { z_values[px][py] = z; } |
|
|
int8_t get_cell_index_x(const float &x) { |
|
|
|
|
|
|
|
|
int8_t get_cell_index_x(const float &x) { |
|
|
const int8_t cx = (x - (UBL_MESH_MIN_X)) * (1.0 / (MESH_X_DIST)); |
|
|
const int8_t cx = (x - (UBL_MESH_MIN_X)) * (1.0 / (MESH_X_DIST)); |
|
|
return constrain(cx, 0, (GRID_MAX_POINTS_X) - 1); // -1 is appropriate if we want all movement to the X_MAX
|
|
|
return constrain(cx, 0, (GRID_MAX_POINTS_X) - 1); // -1 is appropriate if we want all movement to the X_MAX
|
|
|
} // position. But with this defined this way, it is possible
|
|
|
} // position. But with this defined this way, it is possible
|
|
@ -210,7 +211,8 @@ |
|
|
*/ |
|
|
*/ |
|
|
inline float z_correction_for_x_on_horizontal_mesh_line(const float &lx0, const int x1_i, const int yi) { |
|
|
inline float z_correction_for_x_on_horizontal_mesh_line(const float &lx0, const int x1_i, const int yi) { |
|
|
if (!WITHIN(x1_i, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(yi, 0, GRID_MAX_POINTS_Y - 1)) { |
|
|
if (!WITHIN(x1_i, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(yi, 0, GRID_MAX_POINTS_Y - 1)) { |
|
|
SERIAL_ECHOPAIR("? in z_correction_for_x_on_horizontal_mesh_line(lx0=", lx0); |
|
|
serialprintPGM( !WITHIN(x1_i, 0, GRID_MAX_POINTS_X - 1) ? PSTR("x1l_i") : PSTR("yi") ); |
|
|
|
|
|
SERIAL_ECHOPAIR(" out of bounds in z_correction_for_x_on_horizontal_mesh_line(lx0=", lx0); |
|
|
SERIAL_ECHOPAIR(",x1_i=", x1_i); |
|
|
SERIAL_ECHOPAIR(",x1_i=", x1_i); |
|
|
SERIAL_ECHOPAIR(",yi=", yi); |
|
|
SERIAL_ECHOPAIR(",yi=", yi); |
|
|
SERIAL_CHAR(')'); |
|
|
SERIAL_CHAR(')'); |
|
@ -229,9 +231,10 @@ |
|
|
//
|
|
|
//
|
|
|
inline float z_correction_for_y_on_vertical_mesh_line(const float &ly0, const int xi, const int y1_i) { |
|
|
inline float z_correction_for_y_on_vertical_mesh_line(const float &ly0, const int xi, const int y1_i) { |
|
|
if (!WITHIN(xi, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(y1_i, 0, GRID_MAX_POINTS_Y - 1)) { |
|
|
if (!WITHIN(xi, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(y1_i, 0, GRID_MAX_POINTS_Y - 1)) { |
|
|
SERIAL_ECHOPAIR("? in get_z_correction_along_vertical_mesh_line_at_specific_x(ly0=", ly0); |
|
|
serialprintPGM( !WITHIN(xi, 0, GRID_MAX_POINTS_X - 1) ? PSTR("xi") : PSTR("yl_i") ); |
|
|
SERIAL_ECHOPAIR(", x1_i=", xi); |
|
|
SERIAL_ECHOPAIR(" out of bounds in z_correction_for_y_on_vertical_mesh_line(ly0=", ly0); |
|
|
SERIAL_ECHOPAIR(", yi=", y1_i); |
|
|
SERIAL_ECHOPAIR(", xi=", xi); |
|
|
|
|
|
SERIAL_ECHOPAIR(", y1_i=", y1_i); |
|
|
SERIAL_CHAR(')'); |
|
|
SERIAL_CHAR(')'); |
|
|
SERIAL_EOL; |
|
|
SERIAL_EOL; |
|
|
return NAN; |
|
|
return NAN; |
|
|