From ac32ed74b4529dbd496713e3f2d75315d8aeebaa Mon Sep 17 00:00:00 2001 From: Lino Barreca Date: Thu, 2 Jan 2020 04:13:43 +0100 Subject: [PATCH] Return from loop() on non-AVR boards (#16390) --- Marlin/src/Marlin.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp index a03d1f396..5dbb91486 100644 --- a/Marlin/src/Marlin.cpp +++ b/Marlin/src/Marlin.cpp @@ -1128,10 +1128,9 @@ void setup() { * - Call inactivity manager */ void loop() { + do { - for (;;) { - - idle(); // Do an idle first so boot is slightly faster + idle(); #if ENABLED(SDSUPPORT) card.checkautostart(); @@ -1141,5 +1140,10 @@ void loop() { queue.advance(); endstops.event_handler(); - } + + } while (false // Return to caller for best compatibility + #ifdef __AVR__ + || true // Loop forever on slower (AVR) boards + #endif + ); }