From d0e1166cce60381fbdad1105d13765806a525d99 Mon Sep 17 00:00:00 2001
From: "Dirk O. Kaar" <19971886+dok-net@users.noreply.github.com>
Date: Fri, 3 Jan 2020 02:01:38 +0100
Subject: [PATCH] Fix Visual Micro "Arduino IDE for Visual Studio" support
 (#16418)

---
 Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp                |  2 +-
 Marlin/src/HAL/HAL_AVR/watchdog.cpp                    |  2 +-
 Marlin/src/HAL/HAL_DUE/MarlinSerial.cpp                |  2 +-
 .../HAL/HAL_DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp |  2 +-
 Marlin/src/HAL/HAL_DUE/watchdog.cpp                    |  2 +-
 Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/TMC2660.cpp     |  2 +-
 Marlin/src/{Marlin.cpp => MarlinCore.cpp}              |  2 +-
 Marlin/src/{Marlin.h => MarlinCore.h}                  |  0
 Marlin/src/core/utility.cpp                            |  2 +-
 Marlin/src/feature/Max7219_Debug_LEDs.cpp              |  2 +-
 Marlin/src/feature/babystep.cpp                        |  2 +-
 Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp            |  2 +-
 Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp         |  2 +-
 Marlin/src/feature/dac/dac_dac084s085.cpp              |  2 +-
 Marlin/src/feature/pause.cpp                           |  2 +-
 Marlin/src/feature/power.cpp                           |  2 +-
 Marlin/src/feature/prusa_MMU2/mmu2.cpp                 |  2 +-
 Marlin/src/feature/runout.cpp                          |  2 +-
 Marlin/src/feature/tmc_util.cpp                        |  2 +-
 Marlin/src/gcode/bedlevel/G26.cpp                      |  2 +-
 Marlin/src/gcode/bedlevel/G42.cpp                      |  2 +-
 Marlin/src/gcode/calibrate/G425.cpp                    |  2 +-
 Marlin/src/gcode/calibrate/M100.cpp                    |  2 +-
 Marlin/src/gcode/config/M200-M205.cpp                  |  2 +-
 Marlin/src/gcode/config/M217.cpp                       |  2 +-
 Marlin/src/gcode/config/M43.cpp                        |  2 +-
 Marlin/src/gcode/control/M108_M112_M410.cpp            |  2 +-
 Marlin/src/gcode/control/M17_M18_M84.cpp               |  2 +-
 Marlin/src/gcode/control/M226.cpp                      |  2 +-
 Marlin/src/gcode/control/M42.cpp                       |  2 +-
 Marlin/src/gcode/control/M80_M81.cpp                   |  2 +-
 Marlin/src/gcode/control/M85.cpp                       |  2 +-
 Marlin/src/gcode/control/M999.cpp                      |  2 +-
 Marlin/src/gcode/feature/camera/M240.cpp               |  2 +-
 Marlin/src/gcode/feature/filwidth/M404-M407.cpp        |  2 +-
 Marlin/src/gcode/feature/i2c/M260_M261.cpp             |  2 +-
 Marlin/src/gcode/feature/pause/M701_M702.cpp           |  2 +-
 Marlin/src/gcode/gcode.cpp                             |  2 +-
 Marlin/src/gcode/host/M16.cpp                          |  2 +-
 Marlin/src/gcode/host/M876.cpp                         |  2 +-
 Marlin/src/gcode/motion/G0_G1.cpp                      |  2 +-
 Marlin/src/gcode/motion/G5.cpp                         |  2 +-
 Marlin/src/gcode/parser.cpp                            |  2 +-
 Marlin/src/gcode/queue.cpp                             |  2 +-
 Marlin/src/gcode/scara/M360-M364.cpp                   |  2 +-
 Marlin/src/gcode/sdcard/M24_M25.cpp                    |  2 +-
 Marlin/src/gcode/sdcard/M32.cpp                        |  2 +-
 Marlin/src/gcode/stats/M75-M78.cpp                     |  2 +-
 Marlin/src/gcode/temperature/M104_M109.cpp             |  2 +-
 Marlin/src/gcode/temperature/M140_M190.cpp             |  2 +-
 Marlin/src/gcode/temperature/M141_M191.cpp             |  2 +-
 Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp            |  2 +-
 Marlin/src/lcd/dogm/lcdprint_u8g.cpp                   |  2 +-
 Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp      |  2 +-
 Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplay.cpp  |  2 +-
 Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplay.h    |  2 +-
 .../lib/ftdi_eve_touch_ui/language/language.cpp        |  2 +-
 Marlin/src/lcd/fontutils.cpp                           |  2 +-
 Marlin/src/lcd/menu/menu.cpp                           |  2 +-
 Marlin/src/lcd/menu/menu_tune.cpp                      |  2 +-
 Marlin/src/lcd/ultralcd.cpp                            | 10 +++-------
 Marlin/src/lcd/ultralcd.h                              |  2 +-
 Marlin/src/libs/nozzle.cpp                             |  2 +-
 Marlin/src/module/configuration_store.cpp              |  2 +-
 Marlin/src/module/delta.cpp                            |  2 +-
 Marlin/src/module/endstops.cpp                         |  2 +-
 Marlin/src/module/planner.cpp                          |  2 +-
 Marlin/src/module/planner.h                            |  2 +-
 Marlin/src/module/planner_bezier.cpp                   |  2 +-
 Marlin/src/module/printcounter.cpp                     |  2 +-
 Marlin/src/module/probe.cpp                            |  2 +-
 Marlin/src/module/stepper.cpp                          |  2 +-
 Marlin/src/module/temperature.cpp                      |  2 +-
 Marlin/src/module/tool_change.cpp                      |  2 +-
 Marlin/src/sd/Sd2Card.cpp                              |  2 +-
 Marlin/src/sd/SdBaseFile.cpp                           |  2 +-
 Marlin/src/sd/SdVolume.cpp                             |  2 +-
 Marlin/src/sd/cardreader.cpp                           |  2 +-
 Marlin/src/sd/usb_flashdrive/Sd2Card_FlashDrive.cpp    |  2 +-
 buildroot/share/scripts/createSpeedLookupTable.py      |  2 +-
 80 files changed, 81 insertions(+), 85 deletions(-)
 rename Marlin/src/{Marlin.cpp => MarlinCore.cpp} (99%)
 rename Marlin/src/{Marlin.h => MarlinCore.h} (100%)

diff --git a/Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp b/Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp
index 3502aa6b0c..dbf85bce10 100644
--- a/Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp
+++ b/Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp
@@ -41,7 +41,7 @@
 #if !defined(USBCON) && (defined(UBRRH) || defined(UBRR0H) || defined(UBRR1H) || defined(UBRR2H) || defined(UBRR3H))
 
   #include "MarlinSerial.h"
-  #include "../../Marlin.h"
+  #include "../../MarlinCore.h"
 
   template<typename Cfg> typename MarlinSerial<Cfg>::ring_buffer_r MarlinSerial<Cfg>::rx_buffer = { 0, 0, { 0 } };
   template<typename Cfg> typename MarlinSerial<Cfg>::ring_buffer_t MarlinSerial<Cfg>::tx_buffer = { 0 };
diff --git a/Marlin/src/HAL/HAL_AVR/watchdog.cpp b/Marlin/src/HAL/HAL_AVR/watchdog.cpp
index 63a5031966..c7d487ebd1 100644
--- a/Marlin/src/HAL/HAL_AVR/watchdog.cpp
+++ b/Marlin/src/HAL/HAL_AVR/watchdog.cpp
@@ -28,7 +28,7 @@
 
 #include "watchdog.h"
 
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 
 // Initialize watchdog with 8s timeout, if possible. Otherwise, make it 4s.
 void watchdog_init() {
diff --git a/Marlin/src/HAL/HAL_DUE/MarlinSerial.cpp b/Marlin/src/HAL/HAL_DUE/MarlinSerial.cpp
index 7b88b6d43e..83a9c64fae 100644
--- a/Marlin/src/HAL/HAL_DUE/MarlinSerial.cpp
+++ b/Marlin/src/HAL/HAL_DUE/MarlinSerial.cpp
@@ -31,7 +31,7 @@
 
 #include "MarlinSerial.h"
 #include "InterruptVectors.h"
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 
 template<typename Cfg> typename MarlinSerial<Cfg>::ring_buffer_r MarlinSerial<Cfg>::rx_buffer = { 0, 0, { 0 } };
 template<typename Cfg> typename MarlinSerial<Cfg>::ring_buffer_t MarlinSerial<Cfg>::tx_buffer = { 0 };
diff --git a/Marlin/src/HAL/HAL_DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp b/Marlin/src/HAL/HAL_DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp
index 5e5a4e5fc1..2501bab78e 100644
--- a/Marlin/src/HAL/HAL_DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp
+++ b/Marlin/src/HAL/HAL_DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp
@@ -63,7 +63,7 @@
 
 #include <U8glib.h>
 
-#include "../../../Marlin.h"
+#include "../../../MarlinCore.h"
 
 void spiBegin();
 void spiInit(uint8_t spiRate);
diff --git a/Marlin/src/HAL/HAL_DUE/watchdog.cpp b/Marlin/src/HAL/HAL_DUE/watchdog.cpp
index 1f51b75c18..dd80f8c713 100644
--- a/Marlin/src/HAL/HAL_DUE/watchdog.cpp
+++ b/Marlin/src/HAL/HAL_DUE/watchdog.cpp
@@ -23,7 +23,7 @@
 #ifdef ARDUINO_ARCH_SAM
 
 #include "../../inc/MarlinConfig.h"
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 #include "watchdog.h"
 
 // Override Arduino runtime to either config or disable the watchdog
diff --git a/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/TMC2660.cpp b/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/TMC2660.cpp
index 3117321ac7..b030459029 100644
--- a/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/TMC2660.cpp
+++ b/Marlin/src/HAL/HAL_STM32_F4_F7/STM32F7/TMC2660.cpp
@@ -36,7 +36,7 @@
 #include "TMC2660.h"
 
 #include "../../../inc/MarlinConfig.h"
-#include "../../../Marlin.h"
+#include "../../../MarlinCore.h"
 #include "../../../module/stepper/indirection.h"
 #include "../../../module/printcounter.h"
 #include "../../../libs/duration_t.h"
diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/MarlinCore.cpp
similarity index 99%
rename from Marlin/src/Marlin.cpp
rename to Marlin/src/MarlinCore.cpp
index 5dbb914863..0609e785ac 100644
--- a/Marlin/src/Marlin.cpp
+++ b/Marlin/src/MarlinCore.cpp
@@ -28,7 +28,7 @@
  *  - https://github.com/grbl/grbl
  */
 
-#include "Marlin.h"
+#include "MarlinCore.h"
 
 #include "core/utility.h"
 #include "lcd/ultralcd.h"
diff --git a/Marlin/src/Marlin.h b/Marlin/src/MarlinCore.h
similarity index 100%
rename from Marlin/src/Marlin.h
rename to Marlin/src/MarlinCore.h
diff --git a/Marlin/src/core/utility.cpp b/Marlin/src/core/utility.cpp
index 7826f5554b..4d5f5b2c38 100644
--- a/Marlin/src/core/utility.cpp
+++ b/Marlin/src/core/utility.cpp
@@ -22,7 +22,7 @@
 
 #include "utility.h"
 
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 #include "../module/temperature.h"
 
 void safe_delay(millis_t ms) {
diff --git a/Marlin/src/feature/Max7219_Debug_LEDs.cpp b/Marlin/src/feature/Max7219_Debug_LEDs.cpp
index ccdfb265c4..63013057bc 100644
--- a/Marlin/src/feature/Max7219_Debug_LEDs.cpp
+++ b/Marlin/src/feature/Max7219_Debug_LEDs.cpp
@@ -45,7 +45,7 @@
 
 #include "../module/planner.h"
 #include "../module/stepper.h"
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 #include "../HAL/shared/Delay.h"
 
 #define HAS_SIDE_BY_SIDE (ENABLED(MAX7219_SIDE_BY_SIDE) && MAX7219_NUMBER_UNITS > 1)
diff --git a/Marlin/src/feature/babystep.cpp b/Marlin/src/feature/babystep.cpp
index 1fc2499110..510950095f 100644
--- a/Marlin/src/feature/babystep.cpp
+++ b/Marlin/src/feature/babystep.cpp
@@ -25,7 +25,7 @@
 #if ENABLED(BABYSTEPPING)
 
 #include "babystep.h"
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 #include "../module/planner.h"
 #include "../module/stepper.h"
 
diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp
index 8b2e046e45..ba494aefc5 100644
--- a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp
+++ b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp
@@ -26,7 +26,7 @@
 
   #include "../bedlevel.h"
 
-  #include "../../../Marlin.h"
+  #include "../../../MarlinCore.h"
   #include "../../../HAL/shared/persistent_store_api.h"
   #include "../../../libs/hex_print_routines.h"
   #include "../../../module/configuration_store.h"
diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp
index a0d5518c45..f464d0fd6f 100644
--- a/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp
+++ b/Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp
@@ -32,7 +32,7 @@
   #include "../../../module/delta.h"
 #endif
 
-#include "../../../Marlin.h"
+#include "../../../MarlinCore.h"
 #include <math.h>
 
 #if !UBL_SEGMENTED
diff --git a/Marlin/src/feature/dac/dac_dac084s085.cpp b/Marlin/src/feature/dac/dac_dac084s085.cpp
index eb3a67de2a..a07dc071dd 100644
--- a/Marlin/src/feature/dac/dac_dac084s085.cpp
+++ b/Marlin/src/feature/dac/dac_dac084s085.cpp
@@ -10,7 +10,7 @@
 
 #include "dac_dac084s085.h"
 
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 #include "../../module/stepper.h"
 #include "../../HAL/shared/Delay.h"
 
diff --git a/Marlin/src/feature/pause.cpp b/Marlin/src/feature/pause.cpp
index b314aa7d06..10a1ba6a96 100644
--- a/Marlin/src/feature/pause.cpp
+++ b/Marlin/src/feature/pause.cpp
@@ -29,7 +29,7 @@
 
 #if ENABLED(ADVANCED_PAUSE_FEATURE)
 
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 #include "../gcode/gcode.h"
 #include "../module/motion.h"
 #include "../module/planner.h"
diff --git a/Marlin/src/feature/power.cpp b/Marlin/src/feature/power.cpp
index 53b1c50912..4a61f8a412 100644
--- a/Marlin/src/feature/power.cpp
+++ b/Marlin/src/feature/power.cpp
@@ -31,7 +31,7 @@
 #include "power.h"
 #include "../module/temperature.h"
 #include "../module/stepper/indirection.h"
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 
 Power powerManager;
 
diff --git a/Marlin/src/feature/prusa_MMU2/mmu2.cpp b/Marlin/src/feature/prusa_MMU2/mmu2.cpp
index 2fdd6c09c5..0e25c86708 100644
--- a/Marlin/src/feature/prusa_MMU2/mmu2.cpp
+++ b/Marlin/src/feature/prusa_MMU2/mmu2.cpp
@@ -36,7 +36,7 @@ MMU2 mmu2;
 #include "../../module/temperature.h"
 #include "../../module/planner.h"
 #include "../../module/stepper/indirection.h"
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 
 #if ENABLED(HOST_PROMPT_SUPPORT)
   #include "../../feature/host_actions.h"
diff --git a/Marlin/src/feature/runout.cpp b/Marlin/src/feature/runout.cpp
index 6b8905c3b9..700854ad2d 100644
--- a/Marlin/src/feature/runout.cpp
+++ b/Marlin/src/feature/runout.cpp
@@ -61,7 +61,7 @@ void FilamentSensorBase::filament_present(const uint8_t extruder) {
 //
 // Filament Runout event handler
 //
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 #include "../gcode/queue.h"
 
 #if ENABLED(HOST_ACTION_COMMANDS)
diff --git a/Marlin/src/feature/tmc_util.cpp b/Marlin/src/feature/tmc_util.cpp
index edcfe511ae..f50371d73b 100644
--- a/Marlin/src/feature/tmc_util.cpp
+++ b/Marlin/src/feature/tmc_util.cpp
@@ -25,7 +25,7 @@
 #if HAS_TRINAMIC
 
 #include "tmc_util.h"
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 
 #include "../module/stepper/indirection.h"
 #include "../module/printcounter.h"
diff --git a/Marlin/src/gcode/bedlevel/G26.cpp b/Marlin/src/gcode/bedlevel/G26.cpp
index 71fecb837e..709960ee78 100644
--- a/Marlin/src/gcode/bedlevel/G26.cpp
+++ b/Marlin/src/gcode/bedlevel/G26.cpp
@@ -34,7 +34,7 @@
 #include "../../gcode/gcode.h"
 #include "../../feature/bedlevel/bedlevel.h"
 
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 #include "../../module/planner.h"
 #include "../../module/stepper.h"
 #include "../../module/motion.h"
diff --git a/Marlin/src/gcode/bedlevel/G42.cpp b/Marlin/src/gcode/bedlevel/G42.cpp
index 424e5a6995..b285c798f6 100644
--- a/Marlin/src/gcode/bedlevel/G42.cpp
+++ b/Marlin/src/gcode/bedlevel/G42.cpp
@@ -25,7 +25,7 @@
 #if HAS_MESH
 
 #include "../gcode.h"
-#include "../../Marlin.h" // for IsRunning()
+#include "../../MarlinCore.h" // for IsRunning()
 #include "../../module/motion.h"
 #include "../../module/probe.h" // for probe_offset
 #include "../../feature/bedlevel/bedlevel.h"
diff --git a/Marlin/src/gcode/calibrate/G425.cpp b/Marlin/src/gcode/calibrate/G425.cpp
index d251e89f8a..28a3276dfd 100644
--- a/Marlin/src/gcode/calibrate/G425.cpp
+++ b/Marlin/src/gcode/calibrate/G425.cpp
@@ -20,7 +20,7 @@
  *
  */
 
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 
 #if ENABLED(CALIBRATION_GCODE)
 
diff --git a/Marlin/src/gcode/calibrate/M100.cpp b/Marlin/src/gcode/calibrate/M100.cpp
index 452dfd033c..0318af0a68 100644
--- a/Marlin/src/gcode/calibrate/M100.cpp
+++ b/Marlin/src/gcode/calibrate/M100.cpp
@@ -28,7 +28,7 @@
 #include "../queue.h"
 #include "../../libs/hex_print_routines.h"
 
-#include "../../Marlin.h" // for idle()
+#include "../../MarlinCore.h" // for idle()
 
 /**
  * M100 Free Memory Watcher
diff --git a/Marlin/src/gcode/config/M200-M205.cpp b/Marlin/src/gcode/config/M200-M205.cpp
index aeeb38c913..594813e038 100644
--- a/Marlin/src/gcode/config/M200-M205.cpp
+++ b/Marlin/src/gcode/config/M200-M205.cpp
@@ -21,7 +21,7 @@
  */
 
 #include "../gcode.h"
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 #include "../../module/planner.h"
 
 #if DISABLED(NO_VOLUMETRICS)
diff --git a/Marlin/src/gcode/config/M217.cpp b/Marlin/src/gcode/config/M217.cpp
index 3fe3feb0de..57178950cb 100644
--- a/Marlin/src/gcode/config/M217.cpp
+++ b/Marlin/src/gcode/config/M217.cpp
@@ -27,7 +27,7 @@
 #include "../gcode.h"
 #include "../../module/tool_change.h"
 
-#include "../../Marlin.h" // for SP_X_STR, etc.
+#include "../../MarlinCore.h" // for SP_X_STR, etc.
 
 extern const char SP_X_STR[], SP_Y_STR[], SP_Z_STR[];
 
diff --git a/Marlin/src/gcode/config/M43.cpp b/Marlin/src/gcode/config/M43.cpp
index 29fc0bdff1..5937b4c721 100644
--- a/Marlin/src/gcode/config/M43.cpp
+++ b/Marlin/src/gcode/config/M43.cpp
@@ -25,7 +25,7 @@
 #if ENABLED(PINS_DEBUGGING)
 
 #include "../gcode.h"
-#include "../../Marlin.h" // for pin_is_protected
+#include "../../MarlinCore.h" // for pin_is_protected
 #include "../../pins/pinsDebug.h"
 #include "../../module/endstops.h"
 
diff --git a/Marlin/src/gcode/control/M108_M112_M410.cpp b/Marlin/src/gcode/control/M108_M112_M410.cpp
index 50feb8276f..e083dd0978 100644
--- a/Marlin/src/gcode/control/M108_M112_M410.cpp
+++ b/Marlin/src/gcode/control/M108_M112_M410.cpp
@@ -25,7 +25,7 @@
 #if DISABLED(EMERGENCY_PARSER)
 
 #include "../gcode.h"
-#include "../../Marlin.h" // for wait_for_heatup, kill, quickstop_stepper
+#include "../../MarlinCore.h" // for wait_for_heatup, kill, quickstop_stepper
 
 /**
  * M108: Stop the waiting for heaters in M109, M190, M303. Does not affect the target temperature.
diff --git a/Marlin/src/gcode/control/M17_M18_M84.cpp b/Marlin/src/gcode/control/M17_M18_M84.cpp
index de6eab4f74..081ca18d89 100644
--- a/Marlin/src/gcode/control/M17_M18_M84.cpp
+++ b/Marlin/src/gcode/control/M17_M18_M84.cpp
@@ -21,7 +21,7 @@
  */
 
 #include "../gcode.h"
-#include "../../Marlin.h" // for stepper_inactive_time, disable_e_steppers
+#include "../../MarlinCore.h" // for stepper_inactive_time, disable_e_steppers
 #include "../../lcd/ultralcd.h"
 #include "../../module/stepper.h"
 
diff --git a/Marlin/src/gcode/control/M226.cpp b/Marlin/src/gcode/control/M226.cpp
index 5bcf55b2f7..3dbc5984f9 100644
--- a/Marlin/src/gcode/control/M226.cpp
+++ b/Marlin/src/gcode/control/M226.cpp
@@ -21,7 +21,7 @@
  */
 
 #include "../gcode.h"
-#include "../../Marlin.h" // for pin_is_protected and idle()
+#include "../../MarlinCore.h" // for pin_is_protected and idle()
 #include "../../module/stepper.h"
 
 /**
diff --git a/Marlin/src/gcode/control/M42.cpp b/Marlin/src/gcode/control/M42.cpp
index 0ee2ef7079..1e6145f5b5 100644
--- a/Marlin/src/gcode/control/M42.cpp
+++ b/Marlin/src/gcode/control/M42.cpp
@@ -21,7 +21,7 @@
  */
 
 #include "../gcode.h"
-#include "../../Marlin.h" // for pin_is_protected
+#include "../../MarlinCore.h" // for pin_is_protected
 #include "../../inc/MarlinConfig.h"
 
 #if FAN_COUNT > 0
diff --git a/Marlin/src/gcode/control/M80_M81.cpp b/Marlin/src/gcode/control/M80_M81.cpp
index 56533d45b8..d2b395e8d8 100644
--- a/Marlin/src/gcode/control/M80_M81.cpp
+++ b/Marlin/src/gcode/control/M80_M81.cpp
@@ -32,7 +32,7 @@
 #endif
 
 #if HAS_SUICIDE
-  #include "../../Marlin.h"
+  #include "../../MarlinCore.h"
 #endif
 
 #if ENABLED(PSU_CONTROL)
diff --git a/Marlin/src/gcode/control/M85.cpp b/Marlin/src/gcode/control/M85.cpp
index bc5a91c375..5bb2f356d1 100644
--- a/Marlin/src/gcode/control/M85.cpp
+++ b/Marlin/src/gcode/control/M85.cpp
@@ -21,7 +21,7 @@
  */
 
 #include "../gcode.h"
-#include "../../Marlin.h" // for max_inactive_time
+#include "../../MarlinCore.h" // for max_inactive_time
 
 /**
  * M85: Set inactivity shutdown timer with parameter S<seconds>. To disable set zero (default)
diff --git a/Marlin/src/gcode/control/M999.cpp b/Marlin/src/gcode/control/M999.cpp
index 2972e086d1..ac46311067 100644
--- a/Marlin/src/gcode/control/M999.cpp
+++ b/Marlin/src/gcode/control/M999.cpp
@@ -23,7 +23,7 @@
 #include "../gcode.h"
 
 #include "../../lcd/ultralcd.h" // for lcd_reset_alert_level
-#include "../../Marlin.h"       // for Running
+#include "../../MarlinCore.h"   // for Running
 #include "../queue.h"           // for flush_and_request_resend
 
 /**
diff --git a/Marlin/src/gcode/feature/camera/M240.cpp b/Marlin/src/gcode/feature/camera/M240.cpp
index ac6729053d..46ee958ebd 100644
--- a/Marlin/src/gcode/feature/camera/M240.cpp
+++ b/Marlin/src/gcode/feature/camera/M240.cpp
@@ -32,7 +32,7 @@
 #endif
 
 #if defined(PHOTO_POSITION) && PHOTO_DELAY_MS > 0
-  #include "../../../Marlin.h" // for idle()
+  #include "../../../MarlinCore.h" // for idle()
 #endif
 
 #ifdef PHOTO_RETRACT_MM
diff --git a/Marlin/src/gcode/feature/filwidth/M404-M407.cpp b/Marlin/src/gcode/feature/filwidth/M404-M407.cpp
index 5b58416b43..36cac7857c 100644
--- a/Marlin/src/gcode/feature/filwidth/M404-M407.cpp
+++ b/Marlin/src/gcode/feature/filwidth/M404-M407.cpp
@@ -27,7 +27,7 @@
 #include "../../../feature/filwidth.h"
 #include "../../../module/planner.h"
 #include "../../../module/temperature.h"
-#include "../../../Marlin.h"
+#include "../../../MarlinCore.h"
 #include "../../gcode.h"
 
 /**
diff --git a/Marlin/src/gcode/feature/i2c/M260_M261.cpp b/Marlin/src/gcode/feature/i2c/M260_M261.cpp
index 48ab48959a..05fa2d3466 100644
--- a/Marlin/src/gcode/feature/i2c/M260_M261.cpp
+++ b/Marlin/src/gcode/feature/i2c/M260_M261.cpp
@@ -26,7 +26,7 @@
 
 #include "../../gcode.h"
 
-#include "../../../Marlin.h" // for i2c
+#include "../../../MarlinCore.h" // for i2c
 
 /**
  * M260: Send data to a I2C slave device
diff --git a/Marlin/src/gcode/feature/pause/M701_M702.cpp b/Marlin/src/gcode/feature/pause/M701_M702.cpp
index ffc04915da..325b748aa9 100644
--- a/Marlin/src/gcode/feature/pause/M701_M702.cpp
+++ b/Marlin/src/gcode/feature/pause/M701_M702.cpp
@@ -25,7 +25,7 @@
 #if ENABLED(FILAMENT_LOAD_UNLOAD_GCODES)
 
 #include "../../gcode.h"
-#include "../../../Marlin.h"
+#include "../../../MarlinCore.h"
 #include "../../../module/motion.h"
 #include "../../../module/temperature.h"
 #include "../../../feature/pause.h"
diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp
index d835ce6555..f07d2fbe40 100644
--- a/Marlin/src/gcode/gcode.cpp
+++ b/Marlin/src/gcode/gcode.cpp
@@ -49,7 +49,7 @@ GcodeSuite gcode;
   #include "../feature/cancel_object.h"
 #endif
 
-#include "../Marlin.h" // for idle() and suspend_auto_report
+#include "../MarlinCore.h" // for idle() and suspend_auto_report
 
 millis_t GcodeSuite::previous_move_ms;
 
diff --git a/Marlin/src/gcode/host/M16.cpp b/Marlin/src/gcode/host/M16.cpp
index 9219155011..0a076a7a47 100644
--- a/Marlin/src/gcode/host/M16.cpp
+++ b/Marlin/src/gcode/host/M16.cpp
@@ -25,7 +25,7 @@
 #if ENABLED(EXPECTED_PRINTER_CHECK)
 
 #include "../gcode.h"
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 
 /**
  * M16: Expected Printer Check
diff --git a/Marlin/src/gcode/host/M876.cpp b/Marlin/src/gcode/host/M876.cpp
index e3360ac95d..057b010e72 100644
--- a/Marlin/src/gcode/host/M876.cpp
+++ b/Marlin/src/gcode/host/M876.cpp
@@ -25,7 +25,7 @@
 
 #include "../../feature/host_actions.h"
 #include "../gcode.h"
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 
 /**
  * M876: Handle Prompt Response
diff --git a/Marlin/src/gcode/motion/G0_G1.cpp b/Marlin/src/gcode/motion/G0_G1.cpp
index 36bc29026e..4dd13ca017 100644
--- a/Marlin/src/gcode/motion/G0_G1.cpp
+++ b/Marlin/src/gcode/motion/G0_G1.cpp
@@ -23,7 +23,7 @@
 #include "../gcode.h"
 #include "../../module/motion.h"
 
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 
 #if BOTH(FWRETRACT, FWRETRACT_AUTORETRACT)
   #include "../../feature/fwretract.h"
diff --git a/Marlin/src/gcode/motion/G5.cpp b/Marlin/src/gcode/motion/G5.cpp
index 7125532e9b..03dd496c58 100644
--- a/Marlin/src/gcode/motion/G5.cpp
+++ b/Marlin/src/gcode/motion/G5.cpp
@@ -35,7 +35,7 @@
  */
 
 #include "../gcode.h"
-#include "../../Marlin.h" // for IsRunning()
+#include "../../MarlinCore.h" // for IsRunning()
 
 /**
  * G5: Cubic B-spline
diff --git a/Marlin/src/gcode/parser.cpp b/Marlin/src/gcode/parser.cpp
index bcb3e69e3d..e2cfd9f70a 100644
--- a/Marlin/src/gcode/parser.cpp
+++ b/Marlin/src/gcode/parser.cpp
@@ -26,7 +26,7 @@
 
 #include "parser.h"
 
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 
 #if NUM_SERIAL > 1
   #include "queue.h"
diff --git a/Marlin/src/gcode/queue.cpp b/Marlin/src/gcode/queue.cpp
index a9bd714c1e..a026e479a9 100644
--- a/Marlin/src/gcode/queue.cpp
+++ b/Marlin/src/gcode/queue.cpp
@@ -33,7 +33,7 @@ GCodeQueue queue;
 #include "../sd/cardreader.h"
 #include "../module/planner.h"
 #include "../module/temperature.h"
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 
 #if ENABLED(PRINTER_EVENT_LEDS)
   #include "../feature/leds/printer_event_leds.h"
diff --git a/Marlin/src/gcode/scara/M360-M364.cpp b/Marlin/src/gcode/scara/M360-M364.cpp
index 0e6f51b628..6fd8306e07 100644
--- a/Marlin/src/gcode/scara/M360-M364.cpp
+++ b/Marlin/src/gcode/scara/M360-M364.cpp
@@ -27,7 +27,7 @@
 #include "../gcode.h"
 #include "../../module/scara.h"
 #include "../../module/motion.h"
-#include "../../Marlin.h" // for IsRunning()
+#include "../../MarlinCore.h" // for IsRunning()
 
 inline bool SCARA_move_to_cal(const uint8_t delta_a, const uint8_t delta_b) {
   if (IsRunning()) {
diff --git a/Marlin/src/gcode/sdcard/M24_M25.cpp b/Marlin/src/gcode/sdcard/M24_M25.cpp
index d1a9c2f23f..046df659cf 100644
--- a/Marlin/src/gcode/sdcard/M24_M25.cpp
+++ b/Marlin/src/gcode/sdcard/M24_M25.cpp
@@ -42,7 +42,7 @@
   #include "../../feature/power_loss_recovery.h"
 #endif
 
-#include "../../Marlin.h" // for startOrResumeJob
+#include "../../MarlinCore.h" // for startOrResumeJob
 
 /**
  * M24: Start or Resume SD Print
diff --git a/Marlin/src/gcode/sdcard/M32.cpp b/Marlin/src/gcode/sdcard/M32.cpp
index 559d1d503b..2eb0717a4a 100644
--- a/Marlin/src/gcode/sdcard/M32.cpp
+++ b/Marlin/src/gcode/sdcard/M32.cpp
@@ -28,7 +28,7 @@
 #include "../../sd/cardreader.h"
 #include "../../module/planner.h" // for synchronize()
 
-#include "../../Marlin.h" // for startOrResumeJob
+#include "../../MarlinCore.h" // for startOrResumeJob
 
 /**
  * M32: Select file and start SD Print
diff --git a/Marlin/src/gcode/stats/M75-M78.cpp b/Marlin/src/gcode/stats/M75-M78.cpp
index 8fcc440285..6891a44df5 100644
--- a/Marlin/src/gcode/stats/M75-M78.cpp
+++ b/Marlin/src/gcode/stats/M75-M78.cpp
@@ -24,7 +24,7 @@
 #include "../../module/printcounter.h"
 #include "../../lcd/ultralcd.h"
 
-#include "../../Marlin.h" // for startOrResumeJob
+#include "../../MarlinCore.h" // for startOrResumeJob
 
 /**
  * M75: Start print timer
diff --git a/Marlin/src/gcode/temperature/M104_M109.cpp b/Marlin/src/gcode/temperature/M104_M109.cpp
index 59394dabfa..8c5827e83b 100644
--- a/Marlin/src/gcode/temperature/M104_M109.cpp
+++ b/Marlin/src/gcode/temperature/M104_M109.cpp
@@ -30,7 +30,7 @@
 #include "../../module/planner.h"
 #include "../../lcd/ultralcd.h"
 
-#include "../../Marlin.h" // for startOrResumeJob, etc.
+#include "../../MarlinCore.h" // for startOrResumeJob, etc.
 
 #if ENABLED(PRINTJOB_TIMER_AUTOSTART)
   #include "../../module/printcounter.h"
diff --git a/Marlin/src/gcode/temperature/M140_M190.cpp b/Marlin/src/gcode/temperature/M140_M190.cpp
index 67a423a2de..d6386cef50 100644
--- a/Marlin/src/gcode/temperature/M140_M190.cpp
+++ b/Marlin/src/gcode/temperature/M140_M190.cpp
@@ -37,7 +37,7 @@
   #include "../../feature/leds/leds.h"
 #endif
 
-#include "../../Marlin.h" // for wait_for_heatup, idle, startOrResumeJob
+#include "../../MarlinCore.h" // for wait_for_heatup, idle, startOrResumeJob
 
 /**
  * M140: Set bed temperature
diff --git a/Marlin/src/gcode/temperature/M141_M191.cpp b/Marlin/src/gcode/temperature/M141_M191.cpp
index 65cd7b0280..12eaa24bf9 100644
--- a/Marlin/src/gcode/temperature/M141_M191.cpp
+++ b/Marlin/src/gcode/temperature/M141_M191.cpp
@@ -38,7 +38,7 @@
   #include "../../feature/leds/leds.h"
 #endif
 
-#include "../../Marlin.h" // for wait_for_heatup, idle, startOrResumeJob
+#include "../../MarlinCore.h" // for wait_for_heatup, idle, startOrResumeJob
 
 /**
  * M141: Set chamber temperature
diff --git a/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp b/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp
index af1fa56460..2c8c029e73 100644
--- a/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp
+++ b/Marlin/src/lcd/HD44780/lcdprint_hd44780.cpp
@@ -17,7 +17,7 @@
 #if HAS_CHARACTER_LCD
 
 #include "../ultralcd.h"
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 
 #include "ultralcd_HD44780.h"
 
diff --git a/Marlin/src/lcd/dogm/lcdprint_u8g.cpp b/Marlin/src/lcd/dogm/lcdprint_u8g.cpp
index 0ad5e998ab..c9a55a16e3 100644
--- a/Marlin/src/lcd/dogm/lcdprint_u8g.cpp
+++ b/Marlin/src/lcd/dogm/lcdprint_u8g.cpp
@@ -14,7 +14,7 @@
 #include "ultralcd_DOGM.h"
 
 #include "../ultralcd.h"
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 
 #include "../fontutils.h"
 #include "u8g_fontutf8.h"
diff --git a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp
index 7719a2d1c7..f5931917ae 100644
--- a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp
+++ b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp
@@ -60,7 +60,7 @@
 #endif
 
 #if ENABLED(LCD_SHOW_E_TOTAL)
-  #include "../../Marlin.h" // for printingIsActive
+  #include "../../MarlinCore.h" // for printingIsActive
 #endif
 
 #define TEXT_MODE_LCD_WIDTH 16
diff --git a/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplay.cpp b/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplay.cpp
index c669294125..a9ba108e14 100644
--- a/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplay.cpp
+++ b/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplay.cpp
@@ -32,7 +32,7 @@
 
 #include "../../ui_api.h"
 
-#include "../../../../Marlin.h"
+#include "../../../../MarlinCore.h"
 #include "../../../../module/temperature.h"
 #include "../../../../module/motion.h"
 #include "../../../../gcode/queue.h"
diff --git a/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplay.h b/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplay.h
index 46d451a1d9..91a92c7482 100644
--- a/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplay.h
+++ b/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplay.h
@@ -25,7 +25,7 @@
 
 #include "../../../../inc/MarlinConfigPre.h"
 
-#include "../../../../Marlin.h"
+#include "../../../../MarlinCore.h"
 #include "DGUSVPVariable.h"
 
 enum DGUSLCD_Screens : uint8_t;
diff --git a/Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/language/language.cpp b/Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/language/language.cpp
index 5d33fc850f..624c58576c 100644
--- a/Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/language/language.cpp
+++ b/Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/language/language.cpp
@@ -20,7 +20,7 @@
  ****************************************************************************/
 
 
-#include "../../../../../Marlin.h"
+#include "../../../../../MarlinCore.h"
 
 #include "language.h"
 
diff --git a/Marlin/src/lcd/fontutils.cpp b/Marlin/src/lcd/fontutils.cpp
index fdccd082c3..ffa6d0df70 100644
--- a/Marlin/src/lcd/fontutils.cpp
+++ b/Marlin/src/lcd/fontutils.cpp
@@ -11,7 +11,7 @@
 
 #if HAS_SPI_LCD
   #include "ultralcd.h"
-  #include "../Marlin.h"
+  #include "../MarlinCore.h"
 #endif
 
 #include "fontutils.h"
diff --git a/Marlin/src/lcd/menu/menu.cpp b/Marlin/src/lcd/menu/menu.cpp
index f4a2e6cbbd..1f7db8a8ea 100644
--- a/Marlin/src/lcd/menu/menu.cpp
+++ b/Marlin/src/lcd/menu/menu.cpp
@@ -213,7 +213,7 @@ void MenuItem_bool::action(PGM_P const, bool * const ptr, screenFunc_t callback)
 ///////////////// Menu Tree ////////////////
 ////////////////////////////////////////////
 
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 
 bool printer_busy() {
   return planner.movesplanned() || printingIsActive();
diff --git a/Marlin/src/lcd/menu/menu_tune.cpp b/Marlin/src/lcd/menu/menu_tune.cpp
index 4fba6fe719..07db4c7127 100644
--- a/Marlin/src/lcd/menu/menu_tune.cpp
+++ b/Marlin/src/lcd/menu/menu_tune.cpp
@@ -32,7 +32,7 @@
 #include "../../module/motion.h"
 #include "../../module/planner.h"
 #include "../../module/temperature.h"
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 
 #if HAS_LEVELING
   #include "../../feature/bedlevel/bedlevel.h"
diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp
index e8176c1b1b..0b562197f2 100644
--- a/Marlin/src/lcd/ultralcd.cpp
+++ b/Marlin/src/lcd/ultralcd.cpp
@@ -30,11 +30,13 @@
   #include "../feature/host_actions.h"
 #endif
 
+// All displays share the MarlinUI class
 #include "ultralcd.h"
 MarlinUI ui;
 
-// All displays share the MarlinUI class
 #if HAS_DISPLAY
+  #include "../module/printcounter.h"
+  #include "../MarlinCore.h"
   #include "../gcode/queue.h"
   #include "fontutils.h"
   #include "../sd/cardreader.h"
@@ -91,11 +93,8 @@ MarlinUI ui;
 #include "../sd/cardreader.h"
 #include "../module/temperature.h"
 #include "../module/planner.h"
-#include "../module/printcounter.h"
 #include "../module/motion.h"
 
-#include "../Marlin.h"
-
 #if ENABLED(POWER_LOSS_RECOVERY)
   #include "../feature/power_loss_recovery.h"
 #endif
@@ -1443,9 +1442,6 @@ void MarlinUI::update() {
     #endif
   }
 
-  #include "../Marlin.h"
-  #include "../module/printcounter.h"
-
   PGM_P print_paused = GET_TEXT(MSG_PRINT_PAUSED);
 
   /**
diff --git a/Marlin/src/lcd/ultralcd.h b/Marlin/src/lcd/ultralcd.h
index 71e820e57f..c56f0b8350 100644
--- a/Marlin/src/lcd/ultralcd.h
+++ b/Marlin/src/lcd/ultralcd.h
@@ -37,7 +37,7 @@
 
 #if HAS_SPI_LCD
 
-  #include "../Marlin.h"
+  #include "../MarlinCore.h"
 
   #if ENABLED(ADVANCED_PAUSE_FEATURE)
     #include "../feature/pause.h"
diff --git a/Marlin/src/libs/nozzle.cpp b/Marlin/src/libs/nozzle.cpp
index b95a7c8afc..acacbe3392 100644
--- a/Marlin/src/libs/nozzle.cpp
+++ b/Marlin/src/libs/nozzle.cpp
@@ -28,7 +28,7 @@
 
 Nozzle nozzle;
 
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 #include "../module/motion.h"
 
 #if ENABLED(NOZZLE_CLEAN_FEATURE)
diff --git a/Marlin/src/module/configuration_store.cpp b/Marlin/src/module/configuration_store.cpp
index 1a090613f8..b4de08db78 100644
--- a/Marlin/src/module/configuration_store.cpp
+++ b/Marlin/src/module/configuration_store.cpp
@@ -54,7 +54,7 @@
 #include "../core/language.h"
 #include "../libs/vector_3.h"   // for matrix_3x3
 #include "../gcode/gcode.h"
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 
 #if EITHER(EEPROM_SETTINGS, SD_FIRMWARE_UPDATE)
   #include "../HAL/shared/persistent_store_api.h"
diff --git a/Marlin/src/module/delta.cpp b/Marlin/src/module/delta.cpp
index 38d3d8146d..bfedf25177 100644
--- a/Marlin/src/module/delta.cpp
+++ b/Marlin/src/module/delta.cpp
@@ -35,7 +35,7 @@
 #include "planner.h"
 #include "endstops.h"
 #include "../lcd/ultralcd.h"
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 
 #if HAS_BED_PROBE
   #include "probe.h"
diff --git a/Marlin/src/module/endstops.cpp b/Marlin/src/module/endstops.cpp
index cbe274a692..f35493e86d 100644
--- a/Marlin/src/module/endstops.cpp
+++ b/Marlin/src/module/endstops.cpp
@@ -27,7 +27,7 @@
 #include "endstops.h"
 #include "stepper.h"
 
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 #include "../sd/cardreader.h"
 #include "temperature.h"
 #include "../lcd/ultralcd.h"
diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp
index ebf4c1d2eb..cbd320e4c6 100644
--- a/Marlin/src/module/planner.cpp
+++ b/Marlin/src/module/planner.cpp
@@ -70,7 +70,7 @@
 #include "../core/language.h"
 #include "../gcode/parser.h"
 
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 
 #if HAS_LEVELING
   #include "../feature/bedlevel/bedlevel.h"
diff --git a/Marlin/src/module/planner.h b/Marlin/src/module/planner.h
index a79c5bfd38..52b6bc1ea4 100644
--- a/Marlin/src/module/planner.h
+++ b/Marlin/src/module/planner.h
@@ -30,7 +30,7 @@
  * Copyright (c) 2009-2011 Simen Svale Skogsrud
  */
 
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 
 #include "motion.h"
 #include "../gcode/queue.h"
diff --git a/Marlin/src/module/planner_bezier.cpp b/Marlin/src/module/planner_bezier.cpp
index 080f4e41a8..db1f204444 100644
--- a/Marlin/src/module/planner_bezier.cpp
+++ b/Marlin/src/module/planner_bezier.cpp
@@ -35,7 +35,7 @@
 #include "motion.h"
 #include "temperature.h"
 
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 #include "../core/language.h"
 #include "../gcode/queue.h"
 
diff --git a/Marlin/src/module/printcounter.cpp b/Marlin/src/module/printcounter.cpp
index cef233d9ac..6753a075eb 100644
--- a/Marlin/src/module/printcounter.cpp
+++ b/Marlin/src/module/printcounter.cpp
@@ -34,7 +34,7 @@ Stopwatch print_job_timer;      // Global Print Job Timer instance
 #endif
 
 #include "printcounter.h"
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 #include "../HAL/shared/persistent_store_api.h"
 
 #if HAS_BUZZER && SERVICE_WARNING_BUZZES > 0
diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp
index 10e9dd5fff..efe8b8a2bd 100644
--- a/Marlin/src/module/probe.cpp
+++ b/Marlin/src/module/probe.cpp
@@ -38,7 +38,7 @@
 #include "../gcode/gcode.h"
 #include "../lcd/ultralcd.h"
 
-#include "../Marlin.h" // for stop(), disable_e_steppers, wait_for_user
+#include "../MarlinCore.h" // for stop(), disable_e_steppers, wait_for_user
 
 #if HAS_LEVELING
   #include "../feature/bedlevel/bedlevel.h"
diff --git a/Marlin/src/module/stepper.cpp b/Marlin/src/module/stepper.cpp
index 31bda4c517..f1aa52b1ca 100644
--- a/Marlin/src/module/stepper.cpp
+++ b/Marlin/src/module/stepper.cpp
@@ -98,7 +98,7 @@ Stepper stepper; // Singleton
 #include "../core/language.h"
 #include "../gcode/queue.h"
 #include "../sd/cardreader.h"
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 #include "../HAL/shared/Delay.h"
 
 #if MB(ALLIGATOR)
diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp
index daaa008bf9..93b15310a3 100644
--- a/Marlin/src/module/temperature.cpp
+++ b/Marlin/src/module/temperature.cpp
@@ -27,7 +27,7 @@
 #include "temperature.h"
 #include "endstops.h"
 
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 #include "../lcd/ultralcd.h"
 #include "planner.h"
 #include "../core/language.h"
diff --git a/Marlin/src/module/tool_change.cpp b/Marlin/src/module/tool_change.cpp
index b392e751d5..92be95eb9f 100644
--- a/Marlin/src/module/tool_change.cpp
+++ b/Marlin/src/module/tool_change.cpp
@@ -29,7 +29,7 @@
 #include "planner.h"
 #include "temperature.h"
 
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 
 #define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE)
 #include "../core/debug_out.h"
diff --git a/Marlin/src/sd/Sd2Card.cpp b/Marlin/src/sd/Sd2Card.cpp
index a09de08fe5..01cb5ec1b8 100644
--- a/Marlin/src/sd/Sd2Card.cpp
+++ b/Marlin/src/sd/Sd2Card.cpp
@@ -38,7 +38,7 @@
 
 #include "Sd2Card.h"
 
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 
 #if ENABLED(SD_CHECK_AND_RETRY)
   static bool crcSupported = true;
diff --git a/Marlin/src/sd/SdBaseFile.cpp b/Marlin/src/sd/SdBaseFile.cpp
index 2969208838..5e3e57f0e0 100644
--- a/Marlin/src/sd/SdBaseFile.cpp
+++ b/Marlin/src/sd/SdBaseFile.cpp
@@ -33,7 +33,7 @@
 
 #include "SdBaseFile.h"
 
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 SdBaseFile* SdBaseFile::cwd_ = 0;   // Pointer to Current Working Directory
 
 // callback function for date/time
diff --git a/Marlin/src/sd/SdVolume.cpp b/Marlin/src/sd/SdVolume.cpp
index 0501949406..926dd1c7d4 100644
--- a/Marlin/src/sd/SdVolume.cpp
+++ b/Marlin/src/sd/SdVolume.cpp
@@ -33,7 +33,7 @@
 
 #include "SdVolume.h"
 
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 
 #if !USE_MULTIPLE_CARDS
   // raw block cache
diff --git a/Marlin/src/sd/cardreader.cpp b/Marlin/src/sd/cardreader.cpp
index 7a01d3622f..38354fe924 100644
--- a/Marlin/src/sd/cardreader.cpp
+++ b/Marlin/src/sd/cardreader.cpp
@@ -26,7 +26,7 @@
 
 #include "cardreader.h"
 
-#include "../Marlin.h"
+#include "../MarlinCore.h"
 #include "../lcd/ultralcd.h"
 #include "../module/planner.h"
 #include "../module/printcounter.h"
diff --git a/Marlin/src/sd/usb_flashdrive/Sd2Card_FlashDrive.cpp b/Marlin/src/sd/usb_flashdrive/Sd2Card_FlashDrive.cpp
index 12f02c19f0..2d75e75d4c 100644
--- a/Marlin/src/sd/usb_flashdrive/Sd2Card_FlashDrive.cpp
+++ b/Marlin/src/sd/usb_flashdrive/Sd2Card_FlashDrive.cpp
@@ -40,7 +40,7 @@
 
 #if ENABLED(USB_FLASH_DRIVE_SUPPORT)
 
-#include "../../Marlin.h"
+#include "../../MarlinCore.h"
 #include "../../core/serial.h"
 #include "../../module/temperature.h"
 
diff --git a/buildroot/share/scripts/createSpeedLookupTable.py b/buildroot/share/scripts/createSpeedLookupTable.py
index 55f78d0e06..da24c7c811 100755
--- a/buildroot/share/scripts/createSpeedLookupTable.py
+++ b/buildroot/share/scripts/createSpeedLookupTable.py
@@ -22,7 +22,7 @@ timer_freq = cpu_freq / args.divider
 print("#ifndef SPEED_LOOKUPTABLE_H")
 print("#define SPEED_LOOKUPTABLE_H")
 print()
-print('#include "Marlin.h"')
+print('#include "MarlinCore.h"')
 print()
 
 print("const uint16_t speed_lookuptable_fast[256][2] PROGMEM = {")