From 6df927d3b24c539edd3b7dc6e8717333678c6ff3 Mon Sep 17 00:00:00 2001 From: ellensp Date: Sun, 5 Jul 2020 13:04:31 +1200 Subject: [PATCH] Fix thermistors exist-for-reading tests (#18533) Co-authored-by: Scott Lahteine --- Marlin/src/module/temperature.cpp | 103 ++++++++++++------------------ 1 file changed, 41 insertions(+), 62 deletions(-) diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 1ca988e5d..74af973f1 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -1804,76 +1804,55 @@ void Temperature::init() { temp_range[NR].raw_max -= TEMPDIR(NR) * (OVERSAMPLENR); \ }while(0) - #if THERMISTOR_HEATER_0 - #ifdef HEATER_0_MINTEMP + #define _MINMAX_TEST(N,M) (HOTENDS > N && THERMISTOR_HEATER_##N && THERMISTOR_HEATER_##N != 998 && THERMISTOR_HEATER_##N != 999 && defined(HEATER_##N##_##M##TEMP)) + + #if _MINMAX_TEST(0, MIN) _TEMP_MIN_E(0); - #endif - #ifdef HEATER_0_MAXTEMP - _TEMP_MAX_E(0); - #endif #endif - - #if HAS_MULTI_HOTEND && THERMISTOR_HEATER_1 - #ifdef HEATER_1_MINTEMP - _TEMP_MIN_E(1); - #endif - #ifdef HEATER_1_MAXTEMP - _TEMP_MAX_E(1); - #endif + #if _MINMAX_TEST(0, MAX) + _TEMP_MAX_E(0); #endif - - #if HOTENDS > 2 && THERMISTOR_HEATER_2 - #ifdef HEATER_2_MINTEMP - _TEMP_MIN_E(2); - #endif - #ifdef HEATER_2_MAXTEMP - _TEMP_MAX_E(2); - #endif + #if _MINMAX_TEST(1, MIN) + _TEMP_MIN_E(1); #endif - - #if HOTENDS > 3 && THERMISTOR_HEATER_3 - #ifdef HEATER_3_MINTEMP - _TEMP_MIN_E(3); - #endif - #ifdef HEATER_3_MAXTEMP - _TEMP_MAX_E(3); - #endif + #if _MINMAX_TEST(1, MAX) + _TEMP_MAX_E(1); #endif - - #if HOTENDS > 4 && THERMISTOR_HEATER_4 - #ifdef HEATER_4_MINTEMP - _TEMP_MIN_E(4); - #endif - #ifdef HEATER_4_MAXTEMP - _TEMP_MAX_E(4); - #endif + #if _MINMAX_TEST(2, MIN) + _TEMP_MIN_E(2); #endif - - #if HOTENDS > 5 && THERMISTOR_HEATER_5 - #ifdef HEATER_5_MINTEMP - _TEMP_MIN_E(5); - #endif - #ifdef HEATER_5_MAXTEMP - _TEMP_MAX_E(5); - #endif + #if _MINMAX_TEST(2, MAX) + _TEMP_MAX_E(2); #endif - - #if HOTENDS > 6 && THERMISTOR_HEATER_6 - #ifdef HEATER_6_MINTEMP - _TEMP_MIN_E(6); - #endif - #ifdef HEATER_6_MAXTEMP - _TEMP_MAX_E(6); - #endif + #if _MINMAX_TEST(3, MIN) + _TEMP_MIN_E(3); #endif - - #if HOTENDS > 7 && THERMISTOR_HEATER_7 - #ifdef HEATER_7_MINTEMP - _TEMP_MIN_E(7); - #endif - #ifdef HEATER_7_MAXTEMP - _TEMP_MAX_E(7); - #endif + #if _MINMAX_TEST(3, MAX) + _TEMP_MAX_E(3); + #endif + #if _MINMAX_TEST(4, MIN) + _TEMP_MIN_E(4); + #endif + #if _MINMAX_TEST(4, MAX) + _TEMP_MAX_E(4); + #endif + #if _MINMAX_TEST(5, MIN) + _TEMP_MIN_E(5); + #endif + #if _MINMAX_TEST(5, MAX) + _TEMP_MAX_E(5); + #endif + #if _MINMAX_TEST(6, MIN) + _TEMP_MIN_E(6); + #endif + #if _MINMAX_TEST(6, MAX) + _TEMP_MAX_E(6); + #endif + #if _MINMAX_TEST(7, MIN) + _TEMP_MIN_E(7); + #endif + #if _MINMAX_TEST(7, MAX) + _TEMP_MAX_E(7); #endif #endif // HAS_HOTEND