diff --git a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp index bc57242815..aa8a53445b 100644 --- a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp +++ b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp @@ -72,6 +72,7 @@ namespace ExtUI uint8_t dwin_settings_version = 1; bool reEntryPrevent = false; + uint8_t reEntryCount = 0; uint16_t idleThrottling = 0; @@ -155,12 +156,16 @@ void onStartup() void onIdle() { - if (reEntryPrevent) - return; - if (rtscheck.RTS_RecData() > 0 && (rtscheck.recdat.data[0]!=0 || rtscheck.recdat.addr!=0)) + while (rtscheck.RTS_RecData() > 0 && (rtscheck.recdat.data[0]!=0 || rtscheck.recdat.addr!=0)) rtscheck.RTS_HandleData(); + if (reEntryPrevent && reEntryCount < 120) { + reEntryCount++; + return; + } + reEntryCount = 0; + if(idleThrottling++ < 750){ return; }