Tweak M600 display resume

- Add startFileprint(); call to M108 display routine to fix progress and ensure "printing done" gets shown
- Add SD printing check in marlin_main.cpp M600 routine to skip TFTstate if not necessary (e.g. USB printing)
- Move routine to the top again to ensure immediate execution
This commit is contained in:
David Ramiro
2019-02-24 15:48:03 +01:00
parent 8fc01144f1
commit 2c53c33d52
3 changed files with 35 additions and 32 deletions

View File

@@ -264,13 +264,14 @@ void AnycubicTFTClass::FilamentChangeResume(){
HOTEND_LOOP() thermalManager.reset_heater_idle_timer(e); // resume heating if timed out
wait_for_heatup = false;
wait_for_user = false; // remove waiting flags
// TFTstate=ANYCUBIC_TFT_STATE_SDPRINT;
card.startFileprint(); // resume with proper progress state
#ifdef ANYCUBIC_TFT_DEBUG
SERIAL_ECHOLNPGM("DEBUG: M108 Resume called");
#endif
}
void AnycubicTFTClass::FilamentChangePause(){
PausedByFilamentChange=true;
enqueue_and_echo_commands_P(PSTR("M600"));
TFTstate=ANYCUBIC_TFT_STATE_SDPAUSE_REQ; // set TFT state to paused
#ifdef ANYCUBIC_TFT_DEBUG
@@ -329,7 +330,6 @@ void AnycubicTFTClass::HandleSpecialMenu()
enqueue_and_echo_commands_P(PSTR("G91\nG1 Z-0.1\nG90"));
} else if (strcmp(SelectedDirectory, "<filamentchange pause>")==0) {
SERIAL_PROTOCOLLNPGM("Special Menu: FilamentChange Pause");
PausedByFilamentChange=true;
FilamentChangePause();
} else if (strcmp(SelectedDirectory, "<filamentchange resume>")==0) {
SERIAL_PROTOCOLLNPGM("Special Menu: FilamentChange Resume");