Also save fan speeds during a thermal error pause
Similarly to temperatures, the fan speed is overwritten and needs to be restored appropriately.
This commit is contained in:
parent
c98e133ae2
commit
1eb7871bab
|
|
@ -340,6 +340,7 @@ extern uint8_t saved_printing_type;
|
||||||
|
|
||||||
extern float saved_extruder_temperature; //!< Active extruder temperature
|
extern float saved_extruder_temperature; //!< Active extruder temperature
|
||||||
extern float saved_bed_temperature; //!< Bed temperature
|
extern float saved_bed_temperature; //!< Bed temperature
|
||||||
|
extern int saved_fan_speed; //!< Print fan speed
|
||||||
|
|
||||||
//save/restore printing in case that mmu is not responding
|
//save/restore printing in case that mmu is not responding
|
||||||
extern bool mmu_print_saved;
|
extern bool mmu_print_saved;
|
||||||
|
|
|
||||||
|
|
@ -383,7 +383,7 @@ static uint8_t saved_active_extruder = 0;
|
||||||
float saved_extruder_temperature = 0.0; //!< Active extruder temperature
|
float saved_extruder_temperature = 0.0; //!< Active extruder temperature
|
||||||
float saved_bed_temperature = 0.0; //!< Bed temperature
|
float saved_bed_temperature = 0.0; //!< Bed temperature
|
||||||
static bool saved_extruder_relative_mode = false;
|
static bool saved_extruder_relative_mode = false;
|
||||||
static int saved_fanSpeed = 0; //!< Print fan speed
|
int saved_fan_speed = 0; //!< Print fan speed
|
||||||
//! @}
|
//! @}
|
||||||
|
|
||||||
static int saved_feedmultiply_mm = 100;
|
static int saved_feedmultiply_mm = 100;
|
||||||
|
|
@ -9997,9 +9997,11 @@ void ThermalStop(bool allow_pause)
|
||||||
// original values after the pause handler is called.
|
// original values after the pause handler is called.
|
||||||
float bed_temp = saved_bed_temperature;
|
float bed_temp = saved_bed_temperature;
|
||||||
float ext_temp = saved_extruder_temperature;
|
float ext_temp = saved_extruder_temperature;
|
||||||
|
int fan_speed = saved_fan_speed;
|
||||||
lcd_pause_print();
|
lcd_pause_print();
|
||||||
saved_bed_temperature = bed_temp;
|
saved_bed_temperature = bed_temp;
|
||||||
saved_extruder_temperature = ext_temp;
|
saved_extruder_temperature = ext_temp;
|
||||||
|
saved_fan_speed = fan_speed;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// We got a hard thermal error and/or there is no print going on. Just stop.
|
// We got a hard thermal error and/or there is no print going on. Just stop.
|
||||||
|
|
@ -11584,7 +11586,7 @@ void stop_and_save_print_to_ram(float z_move, float e_move)
|
||||||
saved_extruder_temperature = degTargetHotend(active_extruder);
|
saved_extruder_temperature = degTargetHotend(active_extruder);
|
||||||
saved_bed_temperature = degBed();
|
saved_bed_temperature = degBed();
|
||||||
saved_extruder_relative_mode = axis_relative_modes & E_AXIS_MASK;
|
saved_extruder_relative_mode = axis_relative_modes & E_AXIS_MASK;
|
||||||
saved_fanSpeed = fanSpeed;
|
saved_fan_speed = fanSpeed;
|
||||||
cmdqueue_reset(); //empty cmdqueue
|
cmdqueue_reset(); //empty cmdqueue
|
||||||
card.sdprinting = false;
|
card.sdprinting = false;
|
||||||
// card.closefile();
|
// card.closefile();
|
||||||
|
|
@ -11653,7 +11655,7 @@ void restore_print_from_ram_and_continue(float e_move)
|
||||||
|
|
||||||
// restore active_extruder
|
// restore active_extruder
|
||||||
active_extruder = saved_active_extruder;
|
active_extruder = saved_active_extruder;
|
||||||
fanSpeed = saved_fanSpeed;
|
fanSpeed = saved_fan_speed;
|
||||||
if (degTargetHotend(saved_active_extruder) != saved_extruder_temperature)
|
if (degTargetHotend(saved_active_extruder) != saved_extruder_temperature)
|
||||||
{
|
{
|
||||||
setTargetHotendSafe(saved_extruder_temperature, saved_active_extruder);
|
setTargetHotendSafe(saved_extruder_temperature, saved_active_extruder);
|
||||||
|
|
|
||||||
|
|
@ -500,6 +500,7 @@ void set_temp_error(TempErrorSource source, uint8_t index, TempErrorType type)
|
||||||
if(!temp_error_state.error) {
|
if(!temp_error_state.error) {
|
||||||
saved_bed_temperature = target_temperature_bed;
|
saved_bed_temperature = target_temperature_bed;
|
||||||
saved_extruder_temperature = target_temperature[index];
|
saved_extruder_temperature = target_temperature[index];
|
||||||
|
saved_fan_speed = fanSpeed;
|
||||||
}
|
}
|
||||||
|
|
||||||
// keep disabling heaters and keep fans on as long as the condition is asserted
|
// keep disabling heaters and keep fans on as long as the condition is asserted
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue