Merge pull request #4573 from thinkyhead/rc_mintemp_bed_later
Throw MINTEMP BED error only if heating
This commit is contained in:
commit
f4ac8c15e3
2 changed files with 22 additions and 15 deletions
|
@ -517,17 +517,25 @@ void Temperature::_temp_error(int e, const char* serial_msg, const char* lcd_msg
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void Temperature::max_temp_error(uint8_t e) {
|
void Temperature::max_temp_error(int8_t e) {
|
||||||
#if HOTENDS == 1
|
#if HAS_TEMP_BED
|
||||||
UNUSED(e);
|
_temp_error(e, PSTR(MSG_T_MAXTEMP), e >= 0 ? PSTR(MSG_ERR_MAXTEMP) : PSTR(MSG_ERR_MAXTEMP_BED));
|
||||||
#endif
|
#else
|
||||||
_temp_error(HOTEND_INDEX, PSTR(MSG_T_MAXTEMP), PSTR(MSG_ERR_MAXTEMP));
|
_temp_error(HOTEND_INDEX, PSTR(MSG_T_MAXTEMP), PSTR(MSG_ERR_MAXTEMP));
|
||||||
}
|
|
||||||
void Temperature::min_temp_error(uint8_t e) {
|
|
||||||
#if HOTENDS == 1
|
#if HOTENDS == 1
|
||||||
UNUSED(e);
|
UNUSED(e);
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
void Temperature::min_temp_error(int8_t e) {
|
||||||
|
#if HAS_TEMP_BED
|
||||||
|
_temp_error(e, PSTR(MSG_T_MINTEMP), e >= 0 ? PSTR(MSG_ERR_MINTEMP) : PSTR(MSG_ERR_MINTEMP_BED));
|
||||||
|
#else
|
||||||
_temp_error(HOTEND_INDEX, PSTR(MSG_T_MINTEMP), PSTR(MSG_ERR_MINTEMP));
|
_temp_error(HOTEND_INDEX, PSTR(MSG_T_MINTEMP), PSTR(MSG_ERR_MINTEMP));
|
||||||
|
#if HOTENDS == 1
|
||||||
|
UNUSED(e);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
float Temperature::get_pid_output(int e) {
|
float Temperature::get_pid_output(int e) {
|
||||||
|
@ -675,9 +683,8 @@ void Temperature::manage_heater() {
|
||||||
updateTemperaturesFromRawValues(); // also resets the watchdog
|
updateTemperaturesFromRawValues(); // also resets the watchdog
|
||||||
|
|
||||||
#if ENABLED(HEATER_0_USES_MAX6675)
|
#if ENABLED(HEATER_0_USES_MAX6675)
|
||||||
float ct = current_temperature[0];
|
if (current_temperature[0] > min(HEATER_0_MAXTEMP, 1023)) max_temp_error(0);
|
||||||
if (ct > min(HEATER_0_MAXTEMP, 1023)) max_temp_error(0);
|
if (current_temperature[0] < max(HEATER_0_MINTEMP, 0.01)) min_temp_error(0);
|
||||||
if (ct < max(HEATER_0_MINTEMP, 0.01)) min_temp_error(0);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (ENABLED(THERMAL_PROTECTION_HOTENDS) && WATCH_TEMP_PERIOD > 0) || (ENABLED(THERMAL_PROTECTION_BED) && WATCH_BED_TEMP_PERIOD > 0) || DISABLED(PIDTEMPBED) || HAS_AUTO_FAN
|
#if (ENABLED(THERMAL_PROTECTION_HOTENDS) && WATCH_TEMP_PERIOD > 0) || (ENABLED(THERMAL_PROTECTION_BED) && WATCH_BED_TEMP_PERIOD > 0) || DISABLED(PIDTEMPBED) || HAS_AUTO_FAN
|
||||||
|
@ -1815,8 +1822,8 @@ void Temperature::isr() {
|
||||||
#else
|
#else
|
||||||
#define GEBED >=
|
#define GEBED >=
|
||||||
#endif
|
#endif
|
||||||
if (current_temperature_bed_raw GEBED bed_maxttemp_raw) _temp_error(-1, PSTR(MSG_T_MAXTEMP), PSTR(MSG_ERR_MAXTEMP_BED));
|
if (current_temperature_bed_raw GEBED bed_maxttemp_raw) max_temp_error(-1);
|
||||||
if (bed_minttemp_raw GEBED current_temperature_bed_raw) _temp_error(-1, PSTR(MSG_T_MINTEMP), PSTR(MSG_ERR_MINTEMP_BED));
|
if (bed_minttemp_raw GEBED current_temperature_bed_raw && target_temperature_bed > 0.0f) min_temp_error(-1);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
} // temp_count >= OVERSAMPLENR
|
} // temp_count >= OVERSAMPLENR
|
||||||
|
|
|
@ -437,8 +437,8 @@ class Temperature {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void _temp_error(int e, const char* serial_msg, const char* lcd_msg);
|
static void _temp_error(int e, const char* serial_msg, const char* lcd_msg);
|
||||||
static void min_temp_error(uint8_t e);
|
static void min_temp_error(int8_t e);
|
||||||
static void max_temp_error(uint8_t e);
|
static void max_temp_error(int8_t e);
|
||||||
|
|
||||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS) || HAS_THERMALLY_PROTECTED_BED
|
#if ENABLED(THERMAL_PROTECTION_HOTENDS) || HAS_THERMALLY_PROTECTED_BED
|
||||||
|
|
||||||
|
|
Reference in a new issue