|
|
@ -7448,6 +7448,20 @@ inline void gcode_M503() { |
|
|
|
if (code_seen('Z')) { |
|
|
|
float value = code_value_axis_units(Z_AXIS); |
|
|
|
if (Z_PROBE_OFFSET_RANGE_MIN <= value && value <= Z_PROBE_OFFSET_RANGE_MAX) { |
|
|
|
|
|
|
|
#if ENABLED(AUTO_BED_LEVELING_BILINEAR) |
|
|
|
// Correct bilinear grid for new probe offset
|
|
|
|
const float diff = value - zprobe_zoffset; |
|
|
|
if (diff) { |
|
|
|
for (uint8_t x = 0; x < ABL_GRID_MAX_POINTS_X; x++) |
|
|
|
for (uint8_t y = 0; y < ABL_GRID_MAX_POINTS_Y; y++) |
|
|
|
bed_level_grid[x][y] += diff; |
|
|
|
} |
|
|
|
#if ENABLED(ABL_BILINEAR_SUBDIVISION) |
|
|
|
bed_level_virt_interpolate(); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
zprobe_zoffset = value; |
|
|
|
SERIAL_ECHO(zprobe_zoffset); |
|
|
|
} |
|
|
|