Prevent bed temperature being set too high
This commit is contained in:
parent
493f0b0c62
commit
b0eae68f57
2 changed files with 25 additions and 7 deletions
|
@ -67,8 +67,11 @@ float Temperature::current_temperature[HOTENDS] = { 0.0 },
|
|||
Temperature::current_temperature_bed = 0.0;
|
||||
int16_t Temperature::current_temperature_raw[HOTENDS] = { 0 },
|
||||
Temperature::target_temperature[HOTENDS] = { 0 },
|
||||
Temperature::current_temperature_bed_raw = 0,
|
||||
Temperature::target_temperature_bed = 0;
|
||||
Temperature::current_temperature_bed_raw = 0;
|
||||
|
||||
#if HAS_HEATER_BED
|
||||
int16_t Temperature::target_temperature_bed = 0;
|
||||
#endif
|
||||
|
||||
#if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT)
|
||||
float Temperature::redundant_temperature = 0.0;
|
||||
|
|
|
@ -92,6 +92,10 @@ enum ADCSensorState {
|
|||
|
||||
#define ACTUAL_ADC_SAMPLES max(int(MIN_ADC_ISR_LOOPS), int(SensorsReady))
|
||||
|
||||
#if !HAS_HEATER_BED
|
||||
constexpr int16_t target_temperature_bed = 0;
|
||||
#endif
|
||||
|
||||
class Temperature {
|
||||
|
||||
public:
|
||||
|
@ -100,8 +104,11 @@ class Temperature {
|
|||
current_temperature_bed;
|
||||
static int16_t current_temperature_raw[HOTENDS],
|
||||
target_temperature[HOTENDS],
|
||||
current_temperature_bed_raw,
|
||||
target_temperature_bed;
|
||||
current_temperature_bed_raw;
|
||||
|
||||
#if HAS_HEATER_BED
|
||||
static int16_t target_temperature_bed;
|
||||
#endif
|
||||
|
||||
static volatile bool in_temp_isr;
|
||||
|
||||
|
@ -382,9 +389,17 @@ class Temperature {
|
|||
}
|
||||
|
||||
static void setTargetBed(const int16_t celsius) {
|
||||
target_temperature_bed = celsius;
|
||||
#if WATCH_THE_BED
|
||||
start_watching_bed();
|
||||
#if HAS_HEATER_BED
|
||||
target_temperature_bed =
|
||||
#ifdef BED_MAXTEMP
|
||||
min(celsius, BED_MAXTEMP)
|
||||
#else
|
||||
celsius
|
||||
#endif
|
||||
;
|
||||
#if WATCH_THE_BED
|
||||
start_watching_bed();
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue