From 42bd6e74a716b9a32c2c5d835d057bd3cdf99cc8 Mon Sep 17 00:00:00 2001 From: InsanityAutomation Date: Sun, 19 Feb 2023 15:23:27 -0500 Subject: [PATCH] Slightly more robust pause resume and faster serial event handling --- Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp index 6afcbb6a77..e7bed7d90b 100644 --- a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp +++ b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp @@ -161,8 +161,8 @@ void onStartup() void onIdle() { - while (rtscheck.RTS_RecData() > 0 && (rtscheck.recdat.data[0]!=0 || rtscheck.recdat.addr!=0)) - rtscheck.RTS_HandleData(); + int dataRec; + do { dataRec = rtscheck.RTS_RecData(); } while (dataRec > 0); if (reEntryPrevent && reEntryCount < 120) { reEntryCount++; @@ -597,6 +597,7 @@ int RTSSHOW::RTS_RecData() SERIAL_ECHOLNPGM("d3: ", tmp[5] , " - d4 ", tmp[6]); rx_datagram_state = DGUS_IDLE; + RTS_HandleData(); return 2; break; } @@ -1905,7 +1906,7 @@ void RTSSHOW::RTS_HandleData() //PrinterStatusKey[1] = 3; //pause_resume_selected = true; } - else if (ExtUI::pauseModeStatus == PAUSE_MESSAGE_PURGE || ExtUI::pauseModeStatus == PAUSE_MESSAGE_OPTION) { + else { #if ENABLED(FILAMENT_RUNOUT_SENSOR) if(getFilamentRunoutState() && getFilamentRunoutEnabled(getActiveTool())) ExtUI::setFilamentRunoutEnabled(false, getActiveTool());