From d963020532b6c11376743d4ef792fe0fb50c4ac7 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <sourcetree@thinkyhead.com>
Date: Mon, 10 Oct 2016 15:34:35 -0500
Subject: [PATCH] Sort out some header dependencies

---
 Marlin/Marlin.h        |  5 -----
 Marlin/Marlin_main.cpp | 35 ++++++++++++++++++++---------------
 Marlin/cardreader.cpp  |  1 -
 Marlin/planner.h       | 13 +++----------
 Marlin/temperature.h   |  8 ++++----
 Marlin/ultralcd.cpp    |  8 +++++++-
 6 files changed, 34 insertions(+), 36 deletions(-)

diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h
index 49aab9cf98..19e8b7a2a5 100644
--- a/Marlin/Marlin.h
+++ b/Marlin/Marlin.h
@@ -394,11 +394,6 @@ extern uint8_t active_extruder;
 
 void calculate_volumetric_multipliers();
 
-// Buzzer
-#if HAS_BUZZER && DISABLED(LCD_USE_I2C_BUZZER)
-  #include "buzzer.h"
-#endif
-
 /**
  * Blocking movement and shorthand functions
  */
diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 14843d4b02..59866cb33e 100755
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -33,20 +33,6 @@
 
 #include "Marlin.h"
 
-#if HAS_ABL
-  #include "vector_3.h"
-#endif
-
-#if ENABLED(AUTO_BED_LEVELING_LINEAR)
-  #include "qr_solve.h"
-#elif ENABLED(MESH_BED_LEVELING)
-  #include "mesh_bed_leveling.h"
-#endif
-
-#if ENABLED(BEZIER_CURVE_SUPPORT)
-  #include "planner_bezier.h"
-#endif
-
 #include "ultralcd.h"
 #include "planner.h"
 #include "stepper.h"
@@ -61,6 +47,23 @@
 #include "duration_t.h"
 #include "types.h"
 
+#if HAS_ABL
+  #include "vector_3.h"
+  #if ENABLED(AUTO_BED_LEVELING_LINEAR)
+    #include "qr_solve.h"
+  #endif
+#elif ENABLED(MESH_BED_LEVELING)
+  #include "mesh_bed_leveling.h"
+#endif
+
+#if ENABLED(BEZIER_CURVE_SUPPORT)
+  #include "planner_bezier.h"
+#endif
+
+#if HAS_BUZZER && DISABLED(LCD_USE_I2C_BUZZER)
+  #include "buzzer.h"
+#endif
+
 #if ENABLED(USE_WATCHDOG)
   #include "watchdog.h"
 #endif
@@ -4560,7 +4563,9 @@ inline void gcode_M31() {
   SERIAL_ECHO_START;
   SERIAL_ECHOLNPAIR("Print time: ", buffer);
 
-  thermalManager.autotempShutdown();
+  #if ENABLED(AUTOTEMP)
+    thermalManager.autotempShutdown();
+  #endif
 }
 
 #if ENABLED(SDSUPPORT)
diff --git a/Marlin/cardreader.cpp b/Marlin/cardreader.cpp
index 319665aa65..67dd5371e5 100644
--- a/Marlin/cardreader.cpp
+++ b/Marlin/cardreader.cpp
@@ -24,7 +24,6 @@
 
 #include "ultralcd.h"
 #include "stepper.h"
-#include "temperature.h"
 #include "language.h"
 
 #include "Marlin.h"
diff --git a/Marlin/planner.h b/Marlin/planner.h
index 785c6ac512..d5746fa754 100644
--- a/Marlin/planner.h
+++ b/Marlin/planner.h
@@ -34,21 +34,12 @@
 
 #include "types.h"
 #include "enum.h"
-#include "MarlinConfig.h"
+#include "Marlin.h"
 
 #if HAS_ABL
   #include "vector_3.h"
 #endif
 
-class Planner;
-extern Planner planner;
-
-#if IS_KINEMATIC
-  // for inline buffer_line_kinematic
-  extern float delta[ABC];
-  void inverse_kinematics(const float logical[XYZ]);
-#endif
-
 /**
  * struct block_t
  *
@@ -402,4 +393,6 @@ class Planner {
 
 };
 
+extern Planner planner;
+
 #endif // PLANNER_H
diff --git a/Marlin/temperature.h b/Marlin/temperature.h
index 974e05d5e7..072364e2e3 100644
--- a/Marlin/temperature.h
+++ b/Marlin/temperature.h
@@ -372,15 +372,15 @@ class Temperature {
      */
     static void updatePID();
 
-    static void autotempShutdown() {
-      #if ENABLED(AUTOTEMP)
+    #if ENABLED(AUTOTEMP)
+      static void autotempShutdown() {
         if (planner.autotemp_enabled) {
           planner.autotemp_enabled = false;
           if (degTargetHotend(EXTRUDER_IDX) > planner.autotemp_min)
             setTargetHotend(0, EXTRUDER_IDX);
         }
-      #endif
-    }
+      }
+    #endif
 
     #if ENABLED(BABYSTEPPING)
 
diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp
index b0b77e657d..458e3a3f00 100755
--- a/Marlin/ultralcd.cpp
+++ b/Marlin/ultralcd.cpp
@@ -30,6 +30,10 @@
 #include "configuration_store.h"
 #include "utility.h"
 
+#if HAS_BUZZER && DISABLED(LCD_USE_I2C_BUZZER)
+  #include "buzzer.h"
+#endif
+
 #if ENABLED(BLTOUCH)
   #include "endstops.h"
 #endif
@@ -581,7 +585,9 @@ void kill_screen(const char* lcd_msg) {
       clear_command_queue();
       quickstop_stepper();
       print_job_timer.stop();
-      thermalManager.autotempShutdown();
+      #if ENABLED(AUTOTEMP)
+        thermalManager.autotempShutdown();
+      #endif
       wait_for_heatup = false;
       lcd_setstatus(MSG_PRINT_ABORTED, true);
     }
-- 
GitLab