diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp index c96bdaf096..7cdc595f49 100644 --- a/Marlin/src/Marlin.cpp +++ b/Marlin/src/Marlin.cpp @@ -359,10 +359,6 @@ void quickstop_stepper() { SYNC_PLAN_POSITION_KINEMATIC(); } -#if HAS_M206_COMMAND - #include "gcode/geometry/M428.h" -#endif - #include "gcode/eeprom/M500.h" #include "gcode/eeprom/M501.h" #include "gcode/eeprom/M502.h" diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index 69dd1d4371..5343f8f8d2 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -122,7 +122,6 @@ extern void gcode_M165(); extern void gcode_M350(); extern void gcode_M351(); extern void gcode_M355(); -extern void gcode_M428(); extern void gcode_M500(); extern void gcode_M501(); extern void gcode_M502(); @@ -631,9 +630,7 @@ void GcodeSuite::process_next_command() { #endif #if HAS_M206_COMMAND - case 428: // M428: Apply current_position to home_offset - gcode_M428(); - break; + case 428: M428(); break; // M428: Apply current_position to home_offset #endif case 500: // M500: Store settings in EEPROM diff --git a/Marlin/src/gcode/geometry/M428.h b/Marlin/src/gcode/geometry/M428.cpp similarity index 88% rename from Marlin/src/gcode/geometry/M428.h rename to Marlin/src/gcode/geometry/M428.cpp index 77b58cf303..5ba3635110 100644 --- a/Marlin/src/gcode/geometry/M428.h +++ b/Marlin/src/gcode/geometry/M428.cpp @@ -20,6 +20,16 @@ * */ +#include "../../inc/MarlinConfig.h" + +#if HAS_M206_COMMAND + +#include "../gcode.h" +#include "../../module/motion.h" +#include "../../lcd/ultralcd.h" +#include "../../libs/buzzer.h" +#include "../../Marlin.h" // for axis_homed + /** * M428: Set home_offset based on the distance between the * current_position and the nearest "reference point." @@ -31,7 +41,7 @@ * * Use M206 to set these values directly. */ -void gcode_M428() { +void GcodeSuite::M428() { bool err = false; LOOP_XYZ(i) { if (axis_homed[i]) { @@ -59,3 +69,5 @@ void gcode_M428() { BUZZ(100, 698); } } + +#endif // HAS_M206_COMMAND