|
@ -362,19 +362,19 @@ void startOrResumeJob() { |
|
|
inline void abortSDPrinting() { |
|
|
inline void abortSDPrinting() { |
|
|
IF_DISABLED(NO_SD_AUTOSTART, card.autofile_cancel()); |
|
|
IF_DISABLED(NO_SD_AUTOSTART, card.autofile_cancel()); |
|
|
card.endFilePrint(TERN_(SD_RESORT, true)); |
|
|
card.endFilePrint(TERN_(SD_RESORT, true)); |
|
|
|
|
|
|
|
|
queue.clear(); |
|
|
queue.clear(); |
|
|
quickstop_stepper(); |
|
|
quickstop_stepper(); |
|
|
print_job_timer.stop(); |
|
|
print_job_timer.stop(); |
|
|
#if DISABLED(SD_ABORT_NO_COOLDOWN) |
|
|
|
|
|
thermalManager.disable_all_heaters(); |
|
|
IF_DISABLED(SD_ABORT_NO_COOLDOWN, thermalManager.disable_all_heaters()); |
|
|
#endif |
|
|
|
|
|
#if !HAS_CUTTER |
|
|
TERN(HAS_CUTTER, cutter.kill(), thermalManager.zero_fan_speeds()); // Full cutter shutdown including ISR control
|
|
|
thermalManager.zero_fan_speeds(); |
|
|
|
|
|
#else |
|
|
|
|
|
cutter.kill(); // Full cutter shutdown including ISR control
|
|
|
|
|
|
#endif |
|
|
|
|
|
wait_for_heatup = false; |
|
|
wait_for_heatup = false; |
|
|
|
|
|
|
|
|
TERN_(POWER_LOSS_RECOVERY, recovery.purge()); |
|
|
TERN_(POWER_LOSS_RECOVERY, recovery.purge()); |
|
|
|
|
|
|
|
|
#ifdef EVENT_GCODE_SD_ABORT |
|
|
#ifdef EVENT_GCODE_SD_ABORT |
|
|
queue.inject_P(PSTR(EVENT_GCODE_SD_ABORT)); |
|
|
queue.inject_P(PSTR(EVENT_GCODE_SD_ABORT)); |
|
|
#endif |
|
|
#endif |
|
|