diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h index ec886b6809..d7c14d29a8 100644 --- a/Marlin/Marlin.h +++ b/Marlin/Marlin.h @@ -389,4 +389,6 @@ void calculate_volumetric_multipliers(); #endif #endif +void safe_delay(uint16_t del); + #endif //MARLIN_H diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index ac6d852a8f..15c27a43c4 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -946,7 +946,7 @@ void setup() { lcd_init(); #if ENABLED(SHOW_BOOTSCREEN) #if ENABLED(DOGLCD) - delay(BOOTSCREEN_TIMEOUT); + safe_delay(BOOTSCREEN_TIMEOUT); #elif ENABLED(ULTRA_LCD) bootscreen(); lcd_init(); diff --git a/Marlin/ultralcd_implementation_hitachi_HD44780.h b/Marlin/ultralcd_implementation_hitachi_HD44780.h index 24d48b1a93..b5342bd3bb 100644 --- a/Marlin/ultralcd_implementation_hitachi_HD44780.h +++ b/Marlin/ultralcd_implementation_hitachi_HD44780.h @@ -443,15 +443,6 @@ unsigned lcd_print(char c) { return charset_mapper(c); } lcd.setCursor(indent, 2); lcd.print('\x02'); lcd_printPGM(PSTR( "------" )); lcd.print('\x03'); } - void safe_delay(uint16_t del){ - while (del > 50) { - del -= 50; - delay(50); - thermalManager.manage_heater(); - } - delay(del); - } - void bootscreen() { byte top_left[8] = { B00000, diff --git a/Marlin/utility.cpp b/Marlin/utility.cpp new file mode 100644 index 0000000000..385fe3d391 --- /dev/null +++ b/Marlin/utility.cpp @@ -0,0 +1,33 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "Marlin.h" +#include "temperature.h" + +void safe_delay(uint16_t ms) { + while (ms > 50) { + ms -= 50; + delay(50); + thermalManager.manage_heater(); + } + delay(ms); +}