From 9853331b34ef6fd214a8f1fbc315e722c90b7341 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 5 May 2019 22:54:49 -0500 Subject: [PATCH] Fix temp init, loosen ADC grace period --- Marlin/src/HAL/HAL_LPC1768/HAL.h | 4 ++-- Marlin/src/module/temperature.cpp | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Marlin/src/HAL/HAL_LPC1768/HAL.h b/Marlin/src/HAL/HAL_LPC1768/HAL.h index 24dea75304..5a11dfd671 100644 --- a/Marlin/src/HAL/HAL_LPC1768/HAL.h +++ b/Marlin/src/HAL/HAL_LPC1768/HAL.h @@ -147,8 +147,8 @@ using FilteredADC = LPC176x::ADC; #define HAL_READ_ADC() FilteredADC::get_result() #define HAL_ADC_READY() FilteredADC::finished_conversion() -// A grace period for the ADC readings to stabilize before they start causing thermal protection errors. -#define THERMAL_PROTECTION_GRACE_PERIOD 800 +// A grace period to allow ADC readings to stabilize, preventing false alarms +#define THERMAL_PROTECTION_GRACE_PERIOD 1000 // Parse a G-code word into a pin index int16_t PARSED_PIN_INDEX(const char code, const int16_t dval); diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 25b1f59902..16d551a9a2 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -1531,7 +1531,7 @@ void Temperature::init() { }while(0) #define _TEMP_MAX_E(NR) do{ \ temp_range[NR].maxtemp = HEATER_ ##NR## _MAXTEMP; \ - while (analog_to_celsius_hotend(temp_range[NR].raw_min, NR) > HEATER_ ##NR## _MAXTEMP) \ + while (analog_to_celsius_hotend(temp_range[NR].raw_max, NR) > HEATER_ ##NR## _MAXTEMP) \ temp_range[NR].raw_max -= TEMPDIR(NR) * (OVERSAMPLENR); \ }while(0) @@ -1589,7 +1589,7 @@ void Temperature::init() { while (analog_to_celsius_bed(mintemp_raw_BED) < BED_MINTEMP) mintemp_raw_BED += TEMPDIR(BED) * (OVERSAMPLENR); #endif #ifdef BED_MAXTEMP - while (analog_to_celsius_bed(maxtemp_raw_BED) > BED_MAXTEMP) mintemp_raw_BED -= TEMPDIR(BED) * (OVERSAMPLENR); + while (analog_to_celsius_bed(maxtemp_raw_BED) > BED_MAXTEMP) maxtemp_raw_BED -= TEMPDIR(BED) * (OVERSAMPLENR); #endif #endif // HAS_HEATED_BED @@ -1598,7 +1598,7 @@ void Temperature::init() { while (analog_to_celsius_chamber(mintemp_raw_CHAMBER) < CHAMBER_MINTEMP) mintemp_raw_CHAMBER += TEMPDIR(CHAMBER) * (OVERSAMPLENR); #endif #ifdef CHAMBER_MAXTEMP - while (analog_to_celsius_chamber(maxtemp_raw_CHAMBER) > CHAMBER_MAXTEMP) mintemp_raw_CHAMBER -= TEMPDIR(CHAMBER) * (OVERSAMPLENR); + while (analog_to_celsius_chamber(maxtemp_raw_CHAMBER) > CHAMBER_MAXTEMP) maxtemp_raw_CHAMBER -= TEMPDIR(CHAMBER) * (OVERSAMPLENR); #endif #endif