Allow print recovery after parking
This commit is contained in:
parent
6fd7f4fe1b
commit
18b875dc9f
|
@ -141,7 +141,7 @@ void PrintJobRecovery::prepare() {
|
|||
/**
|
||||
* Save the current machine state to the power-loss recovery file
|
||||
*/
|
||||
void PrintJobRecovery::save(const bool force/*=false*/, const bool save_queue/*=true*/) {
|
||||
void PrintJobRecovery::save(const bool force/*=false*/) {
|
||||
|
||||
#if SAVE_INFO_INTERVAL_MS > 0
|
||||
static millis_t next_save_ms; // = 0
|
||||
|
|
|
@ -159,13 +159,10 @@ class PrintJobRecovery {
|
|||
static inline void cancel() { purge(); card.autostart_index = 0; }
|
||||
|
||||
static void load();
|
||||
static void save(const bool force=
|
||||
static void save(const bool force=false
|
||||
#if ENABLED(SAVE_EACH_CMD_MODE)
|
||||
true
|
||||
#else
|
||||
false
|
||||
|| true
|
||||
#endif
|
||||
, const bool save_queue=true
|
||||
);
|
||||
|
||||
#if PIN_EXISTS(POWER_LOSS)
|
||||
|
|
|
@ -35,6 +35,10 @@
|
|||
#include "../../../lcd/ultralcd.h"
|
||||
#endif
|
||||
|
||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
||||
#include "../../../feature/power_loss_recovery.h"
|
||||
#endif
|
||||
|
||||
/**
|
||||
* M125: Store current position and move to parking position.
|
||||
* Called on pause (by M25) to prevent material leaking onto the
|
||||
|
@ -85,6 +89,9 @@ void GcodeSuite::M125() {
|
|||
#endif
|
||||
|
||||
if (pause_print(retract, park_point, 0, show_lcd)) {
|
||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
||||
if (recovery.enabled) recovery.save(true);
|
||||
#endif
|
||||
if (!sd_printing || show_lcd) {
|
||||
wait_for_confirmation(false, 0);
|
||||
resume_print(0, 0, PAUSE_PARK_RETRACT_LENGTH, 0);
|
||||
|
|
|
@ -86,10 +86,6 @@ void GcodeSuite::M24() {
|
|||
*/
|
||||
void GcodeSuite::M25() {
|
||||
|
||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
||||
if (recovery.enabled) recovery.save(true, false);
|
||||
#endif
|
||||
|
||||
// Set initial pause flag to prevent more commands from landing in the queue while we try to pause
|
||||
#if ENABLED(SDSUPPORT)
|
||||
if (IS_SD_PRINTING()) card.pauseSDPrint();
|
||||
|
@ -101,6 +97,10 @@ void GcodeSuite::M25() {
|
|||
|
||||
#else
|
||||
|
||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
||||
if (recovery.enabled) recovery.save(true);
|
||||
#endif
|
||||
|
||||
print_job_timer.pause();
|
||||
ui.reset_status();
|
||||
|
||||
|
|
Loading…
Reference in a new issue