import patches

This commit is contained in:
InsanityAutomation
2019-01-13 12:01:02 -05:00
parent 18915925d8
commit 20121e6c59
3 changed files with 29 additions and 20 deletions
+15 -4
View File
@@ -31,6 +31,10 @@
#include "../../../sd/cardreader.h"
#include "../../../module/printcounter.h"
#if HAS_LCD_MENU
#include "../../../lcd/ultralcd.h"
#endif
/**
* M125: Store current position and move to filament change position.
* Called on pause (by M25) to prevent material leaking onto the
@@ -74,10 +78,17 @@ void GcodeSuite::M125() {
constexpr bool sd_printing = false;
#endif
if (pause_print(retract, park_point)) {
if (!sd_printing) {
wait_for_confirmation();
resume_print();
#if HAS_LCD_MENU
const bool show_lcd = parser.seenval('P');
lcd_advanced_pause_show_message(ADVANCED_PAUSE_MESSAGE_INIT, ADVANCED_PAUSE_MODE_PAUSE_PRINT, active_extruder);
#else
constexpr bool show_lcd = false;
#endif
if (pause_print(retract, park_point, 0, show_lcd)) {
if (!sd_printing || show_lcd ) {
wait_for_confirmation(false, 0);
resume_print(0, 0, PAUSE_PARK_RETRACT_LENGTH, 0);
}
}
}
@@ -113,13 +113,13 @@ void GcodeSuite::M24() {
* M25: Pause SD Print
*/
void GcodeSuite::M25() {
// 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(); }
#endif
#if ENABLED(PARK_HEAD_ON_PAUSE)
M125();
#else
#if ENABLED(SDSUPPORT)
if (IS_SD_PRINTING()) card.pauseSDPrint();
#endif
print_job_timer.pause();
ui.reset_status();
+10 -12
View File
@@ -32,6 +32,7 @@
#include "../../module/temperature.h"
#include "../../gcode/queue.h"
#include "../../module/printcounter.h"
#include "../../module/stepper.h"
#if ENABLED(POWER_LOSS_RECOVERY)
#include "../../feature/power_loss_recovery.h"
@@ -44,18 +45,13 @@ void lcd_pause() {
#if ENABLED(PARK_HEAD_ON_PAUSE)
lcd_advanced_pause_show_message(ADVANCED_PAUSE_MESSAGE_INIT, ADVANCED_PAUSE_MODE_PAUSE_PRINT, active_extruder);
if (pause_print(PAUSE_PARK_RETRACT_LENGTH, NOZZLE_PARK_POINT, 0, true) ) {
wait_for_confirmation(false, 0);
resume_print(0, 0, ADVANCED_PAUSE_PURGE_LENGTH, 0);
//ui.defer_status_screen(false);
//ui.return_to_status();
//ui.refresh();
}
enqueue_and_echo_commands_P(PSTR("M25 P; \n M24"));
#elif ENABLED(SDSUPPORT)
enqueue_and_echo_commands_P(PSTR("M25"));
#elif defined(ACTION_ON_PAUSE)
SERIAL_ECHOLNPGM("//action:" ACTION_ON_PAUSE);
#endif
planner.synchronize();
}
void lcd_resume() {
@@ -149,14 +145,14 @@ void menu_main() {
if (busy) {
MENU_ITEM(function, MSG_PAUSE_PRINT, lcd_pause);
MENU_ITEM(submenu, MSG_TUNE, menu_tune);
}
else {
MENU_ITEM(function, MSG_RESUME_PRINT, lcd_resume);
#if ENABLED(SDSUPPORT)
if (card.isFileOpen())
MENU_ITEM(submenu, MSG_STOP_PRINT, menu_sdcard_abort_confirm);
#endif
MENU_ITEM(submenu, MSG_TUNE, menu_tune);
}
else {
MENU_ITEM(function, MSG_RESUME_PRINT, lcd_resume);
MENU_ITEM(submenu, MSG_MOTION, menu_motion);
MENU_ITEM(submenu, MSG_TEMPERATURE, menu_temperature);
#if ENABLED(DUAL_X_CARRIAGE)
@@ -211,11 +207,13 @@ void menu_main() {
#endif
#if ENABLED(SDSUPPORT)
if (card.isDetected() && !card.isFileOpen()) {
if (card.isDetected()) {
if(!card.isFileOpen()) {
MENU_ITEM(submenu, MSG_CARD_MENU, menu_sdcard);
#if !PIN_EXISTS(SD_DETECT)
MENU_ITEM(gcode, MSG_CHANGE_SDCARD, PSTR("M21")); // SD-card changed by user
#endif
}
}
else {
MENU_ITEM(function, MSG_NO_CARD, NULL);