diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp
index 5ba526de8501af31737e0af608939ef7f5684eee..afbd07b36963e7bde69c6a8c0b04575b02d63b18 100644
--- a/Marlin/src/Marlin.cpp
+++ b/Marlin/src/Marlin.cpp
@@ -355,7 +355,6 @@ bool pin_is_protected(const int8_t pin) {
return false;
}
-#include "gcode/host/M114.h"
#include "gcode/host/M115.h"
#include "gcode/lcd/M117.h"
diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp
index 7e2a08b2bf493efd29903cc5d48b46a0463e2e38..f3786790055af053737a5a631972747b4c3dc516 100644
--- a/Marlin/src/gcode/gcode.cpp
+++ b/Marlin/src/gcode/gcode.cpp
@@ -116,7 +116,6 @@ void GcodeSuite::dwell(millis_t time) {
//
// Placeholders for non-migrated codes
//
-extern void gcode_M114();
extern void gcode_M115();
extern void gcode_M117();
extern void gcode_M118();
@@ -496,9 +495,7 @@ void GcodeSuite::process_next_command() {
case 92: M92(); break; // M92: Set the steps-per-unit for one or more axes
- case 114: // M114: Report current position
- gcode_M114();
- break;
+ case 114: M114(); break; // M114: Report current position
case 115: // M115: Report capabilities
gcode_M115();
break;
diff --git a/Marlin/src/gcode/host/M114.h b/Marlin/src/gcode/host/M114.cpp
similarity index 95%
rename from Marlin/src/gcode/host/M114.h
rename to Marlin/src/gcode/host/M114.cpp
index e0ed295cc684b233a46afddf3c5a951b4609d474..6ce3272a36ad6722e7df97a97ef94543c07dbdca 100644
--- a/Marlin/src/gcode/host/M114.h
+++ b/Marlin/src/gcode/host/M114.cpp
@@ -20,6 +20,12 @@
*
*/
+#include "../../inc/MarlinConfig.h"
+
+#include "../gcode.h"
+#include "../../module/motion.h"
+#include "../../module/stepper.h"
+
#ifdef M114_DETAIL
void report_xyze(const float pos[XYZE], const uint8_t n = 4, const uint8_t precision = 3) {
@@ -99,7 +105,7 @@
/**
* M114: Report current position to host
*/
-void gcode_M114() {
+void GcodeSuite::M114() {
#ifdef M114_DETAIL
if (parser.seen('D')) {