From c2e0e61fe85967ff4ef4bba7f1f49475f396ed53 Mon Sep 17 00:00:00 2001 From: ellensp Date: Wed, 8 Jul 2020 23:28:32 +1200 Subject: [PATCH] Fix User Temp Sensor (1000), reversed Pt100 / Pt1000 (#18590) --- Marlin/src/module/temperature.cpp | 4 ++-- Marlin/src/module/thermistor/thermistor_1010.h | 2 ++ Marlin/src/module/thermistor/thermistor_1047.h | 2 ++ Marlin/src/module/thermistor/thermistor_110.h | 2 ++ Marlin/src/module/thermistor/thermistor_147.h | 2 ++ 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index d5de826b47ec..4d081f39c122 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -1800,13 +1800,13 @@ void Temperature::init() { #if HAS_HOTEND #define _TEMP_MIN_E(NR) do{ \ - const int16_t tmin = _MAX(HEATER_ ##NR## _MINTEMP, (int16_t)pgm_read_word(&HEATER_ ##NR## _TEMPTABLE[HEATER_ ##NR## _SENSOR_MINTEMP_IND].celsius)); \ + const int16_t tmin = _MAX(HEATER_ ##NR## _MINTEMP, TERN(HEATER_##NR##_USER_THERMISTOR, 0, (int16_t)pgm_read_word(&HEATER_ ##NR## _TEMPTABLE[HEATER_ ##NR## _SENSOR_MINTEMP_IND].celsius))); \ temp_range[NR].mintemp = tmin; \ while (analog_to_celsius_hotend(temp_range[NR].raw_min, NR) < tmin) \ temp_range[NR].raw_min += TEMPDIR(NR) * (OVERSAMPLENR); \ }while(0) #define _TEMP_MAX_E(NR) do{ \ - const int16_t tmax = _MIN(HEATER_ ##NR## _MAXTEMP, (int16_t)pgm_read_word(&HEATER_ ##NR## _TEMPTABLE[HEATER_ ##NR## _SENSOR_MAXTEMP_IND].celsius) - 1); \ + const int16_t tmax = _MIN(HEATER_ ##NR## _MAXTEMP, TERN(HEATER_##NR##_USER_THERMISTOR, 2000, (int16_t)pgm_read_word(&HEATER_ ##NR## _TEMPTABLE[HEATER_ ##NR## _SENSOR_MAXTEMP_IND].celsius) - 1)); \ temp_range[NR].maxtemp = tmax; \ while (analog_to_celsius_hotend(temp_range[NR].raw_max, NR) > tmax) \ temp_range[NR].raw_max -= TEMPDIR(NR) * (OVERSAMPLENR); \ diff --git a/Marlin/src/module/thermistor/thermistor_1010.h b/Marlin/src/module/thermistor/thermistor_1010.h index 71e830d952fd..161e1385f9e6 100644 --- a/Marlin/src/module/thermistor/thermistor_1010.h +++ b/Marlin/src/module/thermistor/thermistor_1010.h @@ -21,6 +21,8 @@ */ #pragma once +#define REVERSE_TEMP_SENSOR_RANGE_1010 1 + // Pt1000 with 1k0 pullup const temp_entry_t temptable_1010[] PROGMEM = { PtLine( 0, 1000, 1000), diff --git a/Marlin/src/module/thermistor/thermistor_1047.h b/Marlin/src/module/thermistor/thermistor_1047.h index 6a82d04be8fe..cc99771be677 100644 --- a/Marlin/src/module/thermistor/thermistor_1047.h +++ b/Marlin/src/module/thermistor/thermistor_1047.h @@ -21,6 +21,8 @@ */ #pragma once +#define REVERSE_TEMP_SENSOR_RANGE_1047 1 + // Pt1000 with 4k7 pullup const temp_entry_t temptable_1047[] PROGMEM = { // only a few values are needed as the curve is very flat diff --git a/Marlin/src/module/thermistor/thermistor_110.h b/Marlin/src/module/thermistor/thermistor_110.h index 32ee08580769..264b6f5bab3f 100644 --- a/Marlin/src/module/thermistor/thermistor_110.h +++ b/Marlin/src/module/thermistor/thermistor_110.h @@ -21,6 +21,8 @@ */ #pragma once +#define REVERSE_TEMP_SENSOR_RANGE_110 1 + // Pt100 with 1k0 pullup const temp_entry_t temptable_110[] PROGMEM = { // only a few values are needed as the curve is very flat diff --git a/Marlin/src/module/thermistor/thermistor_147.h b/Marlin/src/module/thermistor/thermistor_147.h index 61a82affa74b..b1e782e11169 100644 --- a/Marlin/src/module/thermistor/thermistor_147.h +++ b/Marlin/src/module/thermistor/thermistor_147.h @@ -21,6 +21,8 @@ */ #pragma once +#define REVERSE_TEMP_SENSOR_RANGE_147 1 + // Pt100 with 4k7 pullup const temp_entry_t temptable_147[] PROGMEM = { // only a few values are needed as the curve is very flat