|
|
@ -2850,6 +2850,47 @@ inline void gcode_G4() { |
|
|
|
SERIAL_ECHOPGM(" & Same Z as"); |
|
|
|
SERIAL_ECHOLNPGM(" Nozzle)"); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if HAS_ABL |
|
|
|
SERIAL_ECHOPGM("Auto Bed Leveling: "); |
|
|
|
#if ENABLED(AUTO_BED_LEVELING_LINEAR) |
|
|
|
SERIAL_ECHOPGM("LINEAR"); |
|
|
|
#elif ENABLED(AUTO_BED_LEVELING_BILINEAR) |
|
|
|
SERIAL_ECHOPGM("BILINEAR"); |
|
|
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT) |
|
|
|
SERIAL_ECHOPGM("3POINT"); |
|
|
|
#endif |
|
|
|
if (planner.abl_enabled) { |
|
|
|
SERIAL_ECHOLNPGM(" (enabled)"); |
|
|
|
#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_3POINT) |
|
|
|
float diff[XYZ] = { |
|
|
|
stepper.get_axis_position_mm(X_AXIS) - current_position[X_AXIS], |
|
|
|
stepper.get_axis_position_mm(Y_AXIS) - current_position[Y_AXIS], |
|
|
|
stepper.get_axis_position_mm(Z_AXIS) - current_position[Z_AXIS] |
|
|
|
}; |
|
|
|
SERIAL_ECHOPGM("ABL Adjustment X"); |
|
|
|
if (diff[X_AXIS] > 0) SERIAL_CHAR('+'); |
|
|
|
SERIAL_ECHO(diff[X_AXIS]); |
|
|
|
SERIAL_ECHOPGM(" Y"); |
|
|
|
if (diff[Y_AXIS] > 0) SERIAL_CHAR('+'); |
|
|
|
SERIAL_ECHO(diff[Y_AXIS]); |
|
|
|
SERIAL_ECHOPGM(" Z"); |
|
|
|
if (diff[Z_AXIS] > 0) SERIAL_CHAR('+'); |
|
|
|
SERIAL_ECHO(diff[Z_AXIS]); |
|
|
|
#elif ENABLED(AUTO_BED_LEVELING_BILINEAR) |
|
|
|
SERIAL_ECHOPAIR("ABL Adjustment Z", bilinear_z_offset(current_position)); |
|
|
|
#endif |
|
|
|
} |
|
|
|
SERIAL_EOL; |
|
|
|
#elif ENABLED(MESH_BED_LEVELING) |
|
|
|
SERIAL_ECHOPGM("Mesh Bed Leveling"); |
|
|
|
if (mbl.active()) { |
|
|
|
SERIAL_ECHOLNPGM(" (enabled)"); |
|
|
|
SERIAL_ECHOPAIR("MBL Adjustment Z", mbl.get_z(RAW_CURRENT_POSITION(X_AXIS), RAW_CURRENT_POSITION(Y_AXIS))); |
|
|
|
} |
|
|
|
SERIAL_EOL; |
|
|
|
#endif |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
#endif // DEBUG_LEVELING_FEATURE
|
|
|
|