From 85f8a26ba45ea58fbafe7c6ace24e237e4196533 Mon Sep 17 00:00:00 2001
From: AnHardt <github@kitelab.de>
Date: Wed, 1 Apr 2015 00:48:04 +0200
Subject: [PATCH 1/5] Fix MIN&MAX temperatures again

replaced GE0 with th matching GEX in the second row.
added some ()
---
 Marlin/temperature.cpp | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/Marlin/temperature.cpp b/Marlin/temperature.cpp
index 884de94014..420eae6a0b 100644
--- a/Marlin/temperature.cpp
+++ b/Marlin/temperature.cpp
@@ -1539,8 +1539,8 @@ ISR(TIMER0_COMPB_vect) {
       #else
         #define GE0 >=
       #endif
-      if (current_temperature_raw[0] GE0 maxttemp_raw[0]) max_temp_error(0);
-      if (minttemp_raw[0] GE0 current_temperature_raw[0]) min_temp_error(0);
+      if ((current_temperature_raw[0]) GE0 (maxttemp_raw[0])) max_temp_error(0);
+      if ((minttemp_raw[0]) GE0 (current_temperature_raw[0])) min_temp_error(0);
     #endif
 
     #if EXTRUDERS > 1
@@ -1549,8 +1549,8 @@ ISR(TIMER0_COMPB_vect) {
       #else
         #define GE1 >=
       #endif
-      if (current_temperature_raw[1] GE1 maxttemp_raw[1]) max_temp_error(1);
-      if (minttemp_raw[1] GE0 current_temperature_raw[1]) min_temp_error(1);
+      if ((current_temperature_raw[1]) GE1 (maxttemp_raw[1])) max_temp_error(1);
+      if ((minttemp_raw[1]) GE1 (current_temperature_raw[1])) min_temp_error(1);
 
       #if EXTRUDERS > 2
         #if HEATER_2_RAW_LO_TEMP > HEATER_2_RAW_HI_TEMP
@@ -1558,8 +1558,8 @@ ISR(TIMER0_COMPB_vect) {
         #else
           #define GE2 >=
         #endif
-        if (current_temperature_raw[2] GE2 maxttemp_raw[2]) max_temp_error(2);
-        if (minttemp_raw[2] GE0 current_temperature_raw[2]) min_temp_error(2);
+        if ((current_temperature_raw[2]) GE2 (maxttemp_raw[2])) max_temp_error(2);
+        if ((minttemp_raw[2]) GE2 (current_temperature_raw[2])) min_temp_error(2);
 
         #if EXTRUDERS > 3
           #if HEATER_3_RAW_LO_TEMP > HEATER_3_RAW_HI_TEMP
@@ -1567,8 +1567,8 @@ ISR(TIMER0_COMPB_vect) {
           #else
             #define GE3 >=
           #endif
-          if (current_temperature_raw[3] GE3 maxttemp_raw[3]) max_temp_error(3);
-          if (minttemp_raw[3] GE0 current_temperature_raw[3]) min_temp_error(3);
+          if ((current_temperature_raw[3]) GE3 (maxttemp_raw[3])) max_temp_error(3);
+          if ((minttemp_raw[3]) GE3 (current_temperature_raw[3])) min_temp_error(3);
 
         #endif // EXTRUDERS > 3
       #endif // EXTRUDERS > 2

From 3f2e8632069a939d6e67cdd7f105611299d0e7b1 Mon Sep 17 00:00:00 2001
From: AnHardt <github@kitelab.de>
Date: Wed, 1 Apr 2015 02:56:14 +0200
Subject: [PATCH 2/5] Improve conditions for HAS_TEMP

and use them in temperuture.h

Flattened the if structure - the preprocessor is doing the work - not the Arduino. Arduino.
---
 Marlin/Conditionals.h  | 10 +++++-----
 Marlin/temperature.cpp | 43 +++++++++++++++++++++---------------------
 2 files changed, 26 insertions(+), 27 deletions(-)

diff --git a/Marlin/Conditionals.h b/Marlin/Conditionals.h
index 8399c4bf63..23425da86b 100644
--- a/Marlin/Conditionals.h
+++ b/Marlin/Conditionals.h
@@ -345,11 +345,11 @@
   /**
    * Shorthand for pin tests, for temperature.cpp
    */
-  #define HAS_TEMP_0 (defined(TEMP_0_PIN) && TEMP_0_PIN >= 0)
-  #define HAS_TEMP_1 (defined(TEMP_1_PIN) && TEMP_1_PIN >= 0)
-  #define HAS_TEMP_2 (defined(TEMP_2_PIN) && TEMP_2_PIN >= 0)
-  #define HAS_TEMP_3 (defined(TEMP_3_PIN) && TEMP_3_PIN >= 0)
-  #define HAS_TEMP_BED (defined(TEMP_BED_PIN) && TEMP_BED_PIN >= 0)
+  #define HAS_TEMP_0 (defined(TEMP_0_PIN) && TEMP_0_PIN >= 0 && TEMP_SENSOR_0 != 0 && TEMP_SENSOR_0 != -2)
+  #define HAS_TEMP_1 (defined(TEMP_1_PIN) && TEMP_1_PIN >= 0 && TEMP_SENSOR_1 != 0)
+  #define HAS_TEMP_2 (defined(TEMP_2_PIN) && TEMP_2_PIN >= 0 && TEMP_SENSOR_2 != 0)
+  #define HAS_TEMP_3 (defined(TEMP_3_PIN) && TEMP_3_PIN >= 0 && TEMP_SENSOR_3 != 0)
+  #define HAS_TEMP_BED (defined(TEMP_BED_PIN) && TEMP_BED_PIN >= 0 && TEMP_SENSOR_BED != 0)
   #define HAS_FILAMENT_SENSOR (defined(FILAMENT_SENSOR) && defined(FILWIDTH_PIN) && FILWIDTH_PIN >= 0)
   #define HAS_HEATER_0 (defined(HEATER_0_PIN) && HEATER_0_PIN >= 0)
   #define HAS_HEATER_1 (defined(HEATER_1_PIN) && HEATER_1_PIN >= 0)
diff --git a/Marlin/temperature.cpp b/Marlin/temperature.cpp
index 420eae6a0b..10b774b683 100644
--- a/Marlin/temperature.cpp
+++ b/Marlin/temperature.cpp
@@ -1543,7 +1543,7 @@ ISR(TIMER0_COMPB_vect) {
       if ((minttemp_raw[0]) GE0 (current_temperature_raw[0])) min_temp_error(0);
     #endif
 
-    #if EXTRUDERS > 1
+    #if HAS_TEMP_1
       #if HEATER_1_RAW_LO_TEMP > HEATER_1_RAW_HI_TEMP
         #define GE1 <=
       #else
@@ -1551,30 +1551,29 @@ ISR(TIMER0_COMPB_vect) {
       #endif
       if ((current_temperature_raw[1]) GE1 (maxttemp_raw[1])) max_temp_error(1);
       if ((minttemp_raw[1]) GE1 (current_temperature_raw[1])) min_temp_error(1);
+    #endif // TEMP_SENSOR_1
 
-      #if EXTRUDERS > 2
-        #if HEATER_2_RAW_LO_TEMP > HEATER_2_RAW_HI_TEMP
-          #define GE2 <=
-        #else
-          #define GE2 >=
-        #endif
-        if ((current_temperature_raw[2]) GE2 (maxttemp_raw[2])) max_temp_error(2);
-        if ((minttemp_raw[2]) GE2 (current_temperature_raw[2])) min_temp_error(2);
+    #if HAS_TEMP_2
+      #if HEATER_2_RAW_LO_TEMP > HEATER_2_RAW_HI_TEMP
+        #define GE2 <=
+      #else
+        #define GE2 >=
+      #endif
+      if ((current_temperature_raw[2]) GE2 (maxttemp_raw[2])) max_temp_error(2);
+      if ((minttemp_raw[2]) GE2 (current_temperature_raw[2])) min_temp_error(2);
+    #endif // TEMP_SENSOR_2
 
-        #if EXTRUDERS > 3
-          #if HEATER_3_RAW_LO_TEMP > HEATER_3_RAW_HI_TEMP
-            #define GE3 <=
-          #else
-            #define GE3 >=
-          #endif
-          if ((current_temperature_raw[3]) GE3 (maxttemp_raw[3])) max_temp_error(3);
-          if ((minttemp_raw[3]) GE3 (current_temperature_raw[3])) min_temp_error(3);
+    #if HAS_TEMP_3
+      #if HEATER_3_RAW_LO_TEMP > HEATER_3_RAW_HI_TEMP
+        #define GE3 <=
+      #else
+        #define GE3 >=
+      #endif
+      if ((current_temperature_raw[3]) GE3 (maxttemp_raw[3])) max_temp_error(3);
+      if ((minttemp_raw[3]) GE3 (current_temperature_raw[3])) min_temp_error(3);
+    #endif // TEMP_SENSOR_3
 
-        #endif // EXTRUDERS > 3
-      #endif // EXTRUDERS > 2
-    #endif // EXTRUDERS > 1
-
-    #if defined(BED_MAXTEMP) && (TEMP_SENSOR_BED != 0)
+    #if HAS_TEMP_BED
       #if HEATER_BED_RAW_LO_TEMP > HEATER_BED_RAW_HI_TEMP
         #define GEBED <=
       #else

From 488666832bb83f2ab3764a0fda8654bd2e8e7a71 Mon Sep 17 00:00:00 2001
From: AnHardt <github@kitelab.de>
Date: Wed, 1 Apr 2015 13:40:05 +0200
Subject: [PATCH 3/5] Remove the previously introduced ()

---
 Marlin/temperature.cpp | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/Marlin/temperature.cpp b/Marlin/temperature.cpp
index 10b774b683..b59ff29df0 100644
--- a/Marlin/temperature.cpp
+++ b/Marlin/temperature.cpp
@@ -1539,8 +1539,8 @@ ISR(TIMER0_COMPB_vect) {
       #else
         #define GE0 >=
       #endif
-      if ((current_temperature_raw[0]) GE0 (maxttemp_raw[0])) max_temp_error(0);
-      if ((minttemp_raw[0]) GE0 (current_temperature_raw[0])) min_temp_error(0);
+      if (current_temperature_raw[0] GE0 maxttemp_raw[0]) max_temp_error(0);
+      if (minttemp_raw[0] GE0 current_temperature_raw[0]) min_temp_error(0);
     #endif
 
     #if HAS_TEMP_1
@@ -1549,8 +1549,8 @@ ISR(TIMER0_COMPB_vect) {
       #else
         #define GE1 >=
       #endif
-      if ((current_temperature_raw[1]) GE1 (maxttemp_raw[1])) max_temp_error(1);
-      if ((minttemp_raw[1]) GE1 (current_temperature_raw[1])) min_temp_error(1);
+      if (current_temperature_raw[1] GE1 maxttemp_raw[1]) max_temp_error(1);
+      if (minttemp_raw[1] GE1 current_temperature_raw[1]) min_temp_error(1);
     #endif // TEMP_SENSOR_1
 
     #if HAS_TEMP_2
@@ -1559,8 +1559,8 @@ ISR(TIMER0_COMPB_vect) {
       #else
         #define GE2 >=
       #endif
-      if ((current_temperature_raw[2]) GE2 (maxttemp_raw[2])) max_temp_error(2);
-      if ((minttemp_raw[2]) GE2 (current_temperature_raw[2])) min_temp_error(2);
+      if (current_temperature_raw[2] GE2 (maxttemp_raw[2]) max_temp_error(2);
+      if (minttemp_raw[2] GE2 current_temperature_raw[2]) min_temp_error(2);
     #endif // TEMP_SENSOR_2
 
     #if HAS_TEMP_3
@@ -1569,8 +1569,8 @@ ISR(TIMER0_COMPB_vect) {
       #else
         #define GE3 >=
       #endif
-      if ((current_temperature_raw[3]) GE3 (maxttemp_raw[3])) max_temp_error(3);
-      if ((minttemp_raw[3]) GE3 (current_temperature_raw[3])) min_temp_error(3);
+      if (current_temperature_raw[3] GE3 maxttemp_raw[3]) max_temp_error(3);
+      if (minttemp_raw[3] GE3 current_temperature_raw[3]) min_temp_error(3);
     #endif // TEMP_SENSOR_3
 
     #if HAS_TEMP_BED

From 67d5e7973ef72812a87c3f1b84b605e8fbb11838 Mon Sep 17 00:00:00 2001
From: Wurstnase <tonnhofer@gmail.com>
Date: Wed, 1 Apr 2015 20:17:49 +0200
Subject: [PATCH 4/5] old bump_divisor for cartesian/corexy-printer

some people are starting to ask why homing is so slow. this is the old standard hard-coded value.
---
 Marlin/Configuration_adv.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h
index b81e63c8ef..d689ac47f8 100644
--- a/Marlin/Configuration_adv.h
+++ b/Marlin/Configuration_adv.h
@@ -178,7 +178,7 @@
 #define X_HOME_RETRACT_MM 5
 #define Y_HOME_RETRACT_MM 5
 #define Z_HOME_RETRACT_MM 2
-#define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
+#define HOMING_BUMP_DIVISOR {2, 2, 4}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
 //#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
 
 #define AXIS_RELATIVE_MODES {false, false, false, false}

From ae2ebc6951d0768ee5b998ad383b8b2d91a2bb8c Mon Sep 17 00:00:00 2001
From: Bo Herrmannsen <bo.herrmannsen@gmail.com>
Date: Wed, 1 Apr 2015 23:18:51 +0200
Subject: [PATCH 5/5] Update README.md

---
 README.md | 2 --
 1 file changed, 2 deletions(-)

diff --git a/README.md b/README.md
index e281d3602a..af49af0118 100644
--- a/README.md
+++ b/README.md
@@ -29,8 +29,6 @@ We are actively looking for testers. So please try the current development versi
 [![Coverity Scan Build Status](https://scan.coverity.com/projects/2224/badge.svg)](https://scan.coverity.com/projects/2224)
 [![Travis Build Status](https://travis-ci.org/MarlinFirmware/Marlin.svg)](https://travis-ci.org/MarlinFirmware/Marlin)
 
-What bugs are we working on: [Bug Fixing Round 3](https://github.com/MarlinFirmware/Marlin/milestones/Bug%20Fixing%20Round%203)
-
 ## Contact
 
 __IRC:__ #marlin-firmware @freenode ([WebChat Client](https://webchat.freenode.net/?channels=marlin-firmware)