|
|
|
@ -378,6 +378,28 @@ void startOrResumeJob() {
|
|
|
|
|
print_job_timer.start();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void abortSDPrinting() {
|
|
|
|
|
card.stopSDPrint(
|
|
|
|
|
#if SD_RESORT
|
|
|
|
|
true
|
|
|
|
|
#endif
|
|
|
|
|
);
|
|
|
|
|
queue.clear();
|
|
|
|
|
quickstop_stepper();
|
|
|
|
|
print_job_timer.stop();
|
|
|
|
|
#if DISABLED(SD_ABORT_NO_COOLDOWN)
|
|
|
|
|
thermalManager.disable_all_heaters();
|
|
|
|
|
#endif
|
|
|
|
|
thermalManager.zero_fan_speeds();
|
|
|
|
|
wait_for_heatup = false;
|
|
|
|
|
#if ENABLED(POWER_LOSS_RECOVERY)
|
|
|
|
|
card.removeJobRecoveryFile();
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef EVENT_GCODE_SD_STOP
|
|
|
|
|
queue.inject_P(PSTR(EVENT_GCODE_SD_STOP));
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Manage several activities:
|
|
|
|
|
* - Check for Filament Runout
|
|
|
|
@ -1124,34 +1146,12 @@ void loop() {
|
|
|
|
|
idle(); // Do an idle first so boot is slightly faster
|
|
|
|
|
|
|
|
|
|
#if ENABLED(SDSUPPORT)
|
|
|
|
|
|
|
|
|
|
card.checkautostart();
|
|
|
|
|
|
|
|
|
|
if (card.flag.abort_sd_printing) {
|
|
|
|
|
card.stopSDPrint(
|
|
|
|
|
#if SD_RESORT
|
|
|
|
|
true
|
|
|
|
|
#endif
|
|
|
|
|
);
|
|
|
|
|
queue.clear();
|
|
|
|
|
quickstop_stepper();
|
|
|
|
|
print_job_timer.stop();
|
|
|
|
|
#if DISABLED(SD_ABORT_NO_COOLDOWN)
|
|
|
|
|
thermalManager.disable_all_heaters();
|
|
|
|
|
if (card.flag.abort_sd_printing) abortSDPrinting();
|
|
|
|
|
#endif
|
|
|
|
|
thermalManager.zero_fan_speeds();
|
|
|
|
|
wait_for_heatup = false;
|
|
|
|
|
#if ENABLED(POWER_LOSS_RECOVERY)
|
|
|
|
|
card.removeJobRecoveryFile();
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef EVENT_GCODE_SD_STOP
|
|
|
|
|
queue.inject_P(PSTR(EVENT_GCODE_SD_STOP));
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif // SDSUPPORT
|
|
|
|
|
|
|
|
|
|
queue.advance();
|
|
|
|
|
|
|
|
|
|
endstops.event_handler();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|