Move Job Recovery Menu to its own file
This commit is contained in:
@@ -27,7 +27,6 @@
|
||||
#include "menu.h"
|
||||
|
||||
#include "../ultralcd.h"
|
||||
#include "../../sd/cardreader.h"
|
||||
#include "../../module/planner.h"
|
||||
#include "../../module/motion.h"
|
||||
#include "../../module/probe.h"
|
||||
@@ -40,18 +39,14 @@
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#if ENABLED(SDSUPPORT)
|
||||
#include "../../sd/cardreader.h"
|
||||
#endif
|
||||
|
||||
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
||||
#include "../../feature/pause.h"
|
||||
#endif
|
||||
|
||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
||||
#include "../../feature/power_loss_recovery.h"
|
||||
#endif
|
||||
|
||||
#if ENABLED(PRINTCOUNTER) && ENABLED(LCD_INFO_MENU)
|
||||
#include "../../libs/duration_t.h"
|
||||
#endif
|
||||
|
||||
#if HAS_LEVELING
|
||||
#include "../../feature/bedlevel/bedlevel.h"
|
||||
#endif
|
||||
@@ -405,80 +400,6 @@ void line_to_z(const float &z) {
|
||||
line_to_current_z();
|
||||
}
|
||||
|
||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
||||
|
||||
static void lcd_power_loss_recovery_resume() {
|
||||
char cmd[20];
|
||||
|
||||
// Return to status now
|
||||
lcd_return_to_status();
|
||||
|
||||
// Turn leveling off and home
|
||||
enqueue_and_echo_commands_P(PSTR("M420 S0\nG28 R0"
|
||||
#if ENABLED(MARLIN_DEV_MODE)
|
||||
" S"
|
||||
#elif !IS_KINEMATIC
|
||||
" X Y"
|
||||
#endif
|
||||
));
|
||||
|
||||
#if HAS_HEATED_BED
|
||||
const int16_t bt = job_recovery_info.target_temperature_bed;
|
||||
if (bt) {
|
||||
// Restore the bed temperature
|
||||
sprintf_P(cmd, PSTR("M190 S%i"), bt);
|
||||
enqueue_and_echo_command(cmd);
|
||||
}
|
||||
#endif
|
||||
|
||||
// Restore all hotend temperatures
|
||||
HOTEND_LOOP() {
|
||||
const int16_t et = job_recovery_info.target_temperature[e];
|
||||
if (et) {
|
||||
#if HOTENDS > 1
|
||||
sprintf_P(cmd, PSTR("T%i"), e);
|
||||
enqueue_and_echo_command(cmd);
|
||||
#endif
|
||||
sprintf_P(cmd, PSTR("M109 S%i"), et);
|
||||
enqueue_and_echo_command(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
#if HOTENDS > 1
|
||||
sprintf_P(cmd, PSTR("T%i"), job_recovery_info.active_hotend);
|
||||
enqueue_and_echo_command(cmd);
|
||||
#endif
|
||||
|
||||
// Restore print cooling fan speeds
|
||||
for (uint8_t i = 0; i < FAN_COUNT; i++) {
|
||||
uint8_t f = job_recovery_info.fan_speed[i];
|
||||
if (f) {
|
||||
sprintf_P(cmd, PSTR("M106 P%i S%i"), i, f);
|
||||
enqueue_and_echo_command(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
// Start draining the job recovery command queue
|
||||
job_recovery_phase = JOB_RECOVERY_YES;
|
||||
}
|
||||
|
||||
static void lcd_power_loss_recovery_cancel() {
|
||||
card.removeJobRecoveryFile();
|
||||
card.autostart_index = 0;
|
||||
lcd_return_to_status();
|
||||
}
|
||||
|
||||
void menu_job_recovery() {
|
||||
defer_return_to_status = true;
|
||||
START_MENU();
|
||||
STATIC_ITEM(MSG_POWER_LOSS_RECOVERY);
|
||||
MENU_ITEM(function, MSG_RESUME_PRINT, lcd_power_loss_recovery_resume);
|
||||
MENU_ITEM(function, MSG_STOP_PRINT, lcd_power_loss_recovery_cancel);
|
||||
END_MENU();
|
||||
}
|
||||
|
||||
#endif // POWER_LOSS_RECOVERY
|
||||
|
||||
#if ENABLED(CUSTOM_USER_MENUS)
|
||||
|
||||
#ifdef USER_SCRIPT_DONE
|
||||
|
||||
Reference in New Issue
Block a user