From b73203a0b7a666381538cf9a786f290c4ec19d35 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <sourcetree@thinkyhead.com>
Date: Tue, 2 Aug 2016 19:36:58 -0700
Subject: [PATCH] Move some includes around to uncover missing deps

---
 Marlin/Marlin.h         | 1 -
 Marlin/MarlinSerial.cpp | 4 +++-
 Marlin/MarlinSerial.h   | 7 +------
 Marlin/Marlin_main.cpp  | 1 +
 Marlin/cardreader.cpp   | 4 +++-
 Marlin/cardreader.h     | 4 ++++
 Marlin/macros.h         | 2 ++
 Marlin/planner.cpp      | 3 ++-
 Marlin/planner.h        | 3 ++-
 Marlin/stepper.h        | 1 +
 Marlin/temperature.h    | 3 ++-
 11 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h
index 3aa0aff67f..9f289f208b 100644
--- a/Marlin/Marlin.h
+++ b/Marlin/Marlin.h
@@ -215,7 +215,6 @@ void manage_inactivity(bool ignore_stepper_queue = false);
 /**
  * The axis order in all axis related arrays is X, Y, Z, E
  */
-#define NUM_AXIS 4
 #define _AXIS(AXIS) AXIS ##_AXIS
 
 void enable_all_steppers();
diff --git a/Marlin/MarlinSerial.cpp b/Marlin/MarlinSerial.cpp
index 304b3be079..9ef900265b 100644
--- a/Marlin/MarlinSerial.cpp
+++ b/Marlin/MarlinSerial.cpp
@@ -29,10 +29,12 @@
   Modified 14 February 2016 by Andreas Hardtung (added tx buffer)
 */
 
-#include "Marlin.h"
 #include "MarlinSerial.h"
+
 #include "stepper.h"
 
+#include "Marlin.h"
+
 #ifndef USBCON
 // this next line disables the entire HardwareSerial.cpp,
 // this is so I can support Attiny series and any other chip without a UART
diff --git a/Marlin/MarlinSerial.h b/Marlin/MarlinSerial.h
index a5e2ee71db..e761752284 100644
--- a/Marlin/MarlinSerial.h
+++ b/Marlin/MarlinSerial.h
@@ -31,13 +31,8 @@
 
 #ifndef MarlinSerial_h
 #define MarlinSerial_h
-#include "Marlin.h"
-
-#ifndef CRITICAL_SECTION_START
-  #define CRITICAL_SECTION_START  unsigned char _sreg = SREG; cli();
-  #define CRITICAL_SECTION_END    SREG = _sreg;
-#endif
 
+#include "MarlinConfig.h"
 
 #ifndef SERIAL_PORT
   #define SERIAL_PORT 0
diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index ccffdf7bbd..84493cf925 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -61,6 +61,7 @@
 #include "math.h"
 #include "nozzle.h"
 #include "duration_t.h"
+#include "types.h"
 
 #if ENABLED(USE_WATCHDOG)
   #include "watchdog.h"
diff --git a/Marlin/cardreader.cpp b/Marlin/cardreader.cpp
index dd6ff9f53d..2cc1b2ad6a 100644
--- a/Marlin/cardreader.cpp
+++ b/Marlin/cardreader.cpp
@@ -20,13 +20,15 @@
  *
  */
 
-#include "Marlin.h"
 #include "cardreader.h"
+
 #include "ultralcd.h"
 #include "stepper.h"
 #include "temperature.h"
 #include "language.h"
 
+#include "Marlin.h"
+
 #if ENABLED(SDSUPPORT)
 
 CardReader::CardReader() {
diff --git a/Marlin/cardreader.h b/Marlin/cardreader.h
index 31b82386c0..8c22e581c8 100644
--- a/Marlin/cardreader.h
+++ b/Marlin/cardreader.h
@@ -23,11 +23,15 @@
 #ifndef CARDREADER_H
 #define CARDREADER_H
 
+#include "MarlinConfig.h"
+
 #if ENABLED(SDSUPPORT)
 
 #define MAX_DIR_DEPTH 10          // Maximum folder depth
 
 #include "SdFile.h"
+
+#include "types.h"
 #include "enum.h"
 
 class CardReader {
diff --git a/Marlin/macros.h b/Marlin/macros.h
index c228ac3ed0..5eec73e343 100644
--- a/Marlin/macros.h
+++ b/Marlin/macros.h
@@ -23,6 +23,8 @@
 #ifndef MACROS_H
 #define MACROS_H
 
+#define NUM_AXIS 4
+
 #define FORCE_INLINE __attribute__((always_inline)) inline
 
 // Bracket code that shouldn't be interrupted
diff --git a/Marlin/planner.cpp b/Marlin/planner.cpp
index f738d56c40..4e4d4a1893 100644
--- a/Marlin/planner.cpp
+++ b/Marlin/planner.cpp
@@ -58,13 +58,14 @@
  *
  */
 
-#include "Marlin.h"
 #include "planner.h"
 #include "stepper.h"
 #include "temperature.h"
 #include "ultralcd.h"
 #include "language.h"
 
+#include "Marlin.h"
+
 #if ENABLED(MESH_BED_LEVELING)
   #include "mesh_bed_leveling.h"
 #endif
diff --git a/Marlin/planner.h b/Marlin/planner.h
index eac1ae5c64..740553668a 100644
--- a/Marlin/planner.h
+++ b/Marlin/planner.h
@@ -32,7 +32,8 @@
 #ifndef PLANNER_H
 #define PLANNER_H
 
-#include "Marlin.h"
+#include "types.h"
+#include "MarlinConfig.h"
 
 #if ENABLED(AUTO_BED_LEVELING_FEATURE)
   #include "vector_3.h"
diff --git a/Marlin/stepper.h b/Marlin/stepper.h
index 3ecf93a71e..1dd1531e4a 100644
--- a/Marlin/stepper.h
+++ b/Marlin/stepper.h
@@ -47,6 +47,7 @@
 #include "speed_lookuptable.h"
 #include "stepper_indirection.h"
 #include "language.h"
+#include "types.h"
 
 class Stepper;
 extern Stepper stepper;
diff --git a/Marlin/temperature.h b/Marlin/temperature.h
index 9a1de04ca5..ffb47a59fe 100644
--- a/Marlin/temperature.h
+++ b/Marlin/temperature.h
@@ -27,10 +27,11 @@
 #ifndef TEMPERATURE_H
 #define TEMPERATURE_H
 
-#include "Marlin.h"
 #include "planner.h"
 #include "thermistortables.h"
 
+#include "MarlinConfig.h"
+
 #if ENABLED(PID_EXTRUSION_SCALING)
   #include "stepper.h"
 #endif
-- 
GitLab