diff --git a/Marlin/Conditionals.h b/Marlin/Conditionals.h index 1d0e02519..bfd485f9e 100644 --- a/Marlin/Conditionals.h +++ b/Marlin/Conditionals.h @@ -55,7 +55,7 @@ #define LCD_CONTRAST_MIN 60 #define LCD_CONTRAST_MAX 140 #endif - + #if ENABLED(MAKRPANEL) || ENABLED(MINIPANEL) #define DOGLCD #define ULTIPANEL @@ -269,6 +269,10 @@ #endif #endif + #ifndef BOOTSCREEN_TIMEOUT + #define BOOTSCREEN_TIMEOUT 2500 + #endif + #else // CONFIGURATION_LCD #define CONDITIONALS_H diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 96cb58068..9e8662a11 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -98,7 +98,23 @@ #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. #define SHOW_BOOTSCREEN #define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_Bootscreen.h" +#endif // @section machine diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h index ec886b680..d7c14d29a 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 5091c421c..15c27a43c 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(1000); + safe_delay(BOOTSCREEN_TIMEOUT); #elif ENABLED(ULTRA_LCD) bootscreen(); lcd_init(); diff --git a/Marlin/dogm_custom_bitmaps.h b/Marlin/dogm_custom_bitmaps.h deleted file mode 100644 index 4f3030599..000000000 --- a/Marlin/dogm_custom_bitmaps.h +++ /dev/null @@ -1,77 +0,0 @@ -/** - * 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 . - * - */ - -/** - * BitMap for custom splashscreen - * Generated with: http://www.digole.com/tools/PicturetoC_Hex_converter.php - */ - -//#define CUSTOM_START_BMP - -#if ENABLED(CUSTOM_START_BMP) - - #define CUSTOM_START_BMP_DELAY 2000 - #define CUSTOM_START_BMPWIDTH 112 - #define CUSTOM_START_BMPHEIGHT 38 - #define CUSTOM_START_BMPBYTEWIDTH 14 - #define CUSTOM_START_BMPBYTES 532 // CUSTOM_START_BMPWIDTH * CUSTOM_START_BMPHEIGHT / 8 - - const unsigned char custom_start_bmp[CUSTOM_START_BMPBYTES] PROGMEM = { - 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, - 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, - 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, - 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, - 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, - 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x3F, 0xFF, - 0xC0, 0x0F, 0xC0, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x00, 0x1F, 0xFF, - 0xC0, 0x3F, 0xE1, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x3C, 0x00, 0x0F, 0xFF, - 0xC0, 0x7F, 0xF3, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0x3C, 0x00, 0x07, 0xFF, - 0xC0, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x78, 0x3C, 0x00, 0x03, 0xFF, - 0xC1, 0xF8, 0x7F, 0x87, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x01, 0xFF, - 0xC1, 0xF0, 0x3F, 0x03, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0xFF, - 0xC1, 0xE0, 0x1E, 0x01, 0xE0, 0x1F, 0x00, 0x03, 0xE0, 0x78, 0x3C, 0x03, 0xF0, 0x7F, - 0xC1, 0xE0, 0x1E, 0x01, 0xE0, 0x7F, 0xC0, 0x0F, 0xF8, 0x78, 0x3C, 0x07, 0xFC, 0x3F, - 0xC1, 0xE0, 0x1E, 0x01, 0xE1, 0xFF, 0xE0, 0x1F, 0xFC, 0x78, 0x3C, 0x0F, 0xFE, 0x1F, - 0xC1, 0xE0, 0x1E, 0x01, 0xE3, 0xFF, 0xF0, 0x3F, 0xFE, 0x78, 0x3C, 0x1F, 0xFE, 0x0F, - 0xC1, 0xE0, 0x1E, 0x01, 0xE3, 0xF3, 0xF8, 0x3F, 0x3E, 0x78, 0x3C, 0x3F, 0x3F, 0x07, - 0xC1, 0xE0, 0x1E, 0x01, 0xE7, 0xE0, 0xFC, 0x7C, 0x1F, 0x78, 0x3C, 0x3E, 0x1F, 0x07, - 0xC1, 0xE0, 0x1E, 0x01, 0xE7, 0xC0, 0x7C, 0x7C, 0x0F, 0x78, 0x3C, 0x3C, 0x0F, 0x03, - 0xC1, 0xE0, 0x1E, 0x01, 0xE7, 0x80, 0x7C, 0x78, 0x0F, 0x78, 0x3C, 0x3C, 0x0F, 0x03, - 0xC1, 0xE0, 0x1E, 0x01, 0xE7, 0x80, 0x3C, 0x78, 0x00, 0x78, 0x3C, 0x3C, 0x0F, 0x03, - 0xC1, 0xE0, 0x1E, 0x01, 0xE7, 0x80, 0x3C, 0x78, 0x00, 0x78, 0x3C, 0x3C, 0x0F, 0x03, - 0xC1, 0xE0, 0x1E, 0x01, 0xE7, 0x80, 0x3C, 0x78, 0x00, 0x78, 0x3C, 0x3C, 0x0F, 0x03, - 0xC1, 0xE0, 0x1E, 0x01, 0xE7, 0xC0, 0x3C, 0x78, 0x00, 0x78, 0x3C, 0x3C, 0x0F, 0x03, - 0xC1, 0xE0, 0x1E, 0x01, 0xE3, 0xE0, 0x3C, 0x78, 0x00, 0x7C, 0x3C, 0x3C, 0x0F, 0x03, - 0xC1, 0xE0, 0x1E, 0x01, 0xE3, 0xFF, 0x3F, 0xF8, 0x00, 0x7F, 0xBC, 0x3C, 0x0F, 0x03, - 0xC1, 0xE0, 0x1E, 0x01, 0xE1, 0xFF, 0x3F, 0xF8, 0x00, 0x3F, 0xBF, 0xFC, 0x0F, 0x03, - 0xC1, 0xE0, 0x1E, 0x01, 0xE0, 0xFF, 0x3F, 0xF8, 0x00, 0x1F, 0xBF, 0xFC, 0x0F, 0x03, - 0xC1, 0xE0, 0x1E, 0x01, 0xE0, 0x7F, 0x3F, 0xF8, 0x00, 0x0F, 0xBF, 0xFC, 0x0F, 0x03, - 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, - 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, - 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, - 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, - 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, - 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, - 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80 }; -#endif diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index be45fb6ca..257eae5ba 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -53,8 +53,6 @@ #include #include "dogm_bitmaps.h" -#include "dogm_custom_bitmaps.h" - #include "ultralcd.h" #include "ultralcd_st7920_u8glib_rrd.h" @@ -220,10 +218,6 @@ char lcd_printPGM(const char* str) { return n; } -#if ENABLED(SHOW_BOOTSCREEN) - static bool show_bootscreen = true; -#endif - /* Warning: This function is called from interrupt context */ static void lcd_implementation_init() { @@ -241,11 +235,6 @@ static void lcd_implementation_init() { u8g.setContrast(lcd_contrast); #endif - // FIXME: remove this workaround - // Uncomment this if you have the first generation (V1.10) of STBs board - // pinMode(17, OUTPUT); // Enable LCD backlight - // digitalWrite(17, HIGH); - #if ENABLED(LCD_SCREEN_ROT_90) u8g.setRot90(); // Rotate screen by 90° #elif ENABLED(LCD_SCREEN_ROT_180) @@ -255,16 +244,23 @@ static void lcd_implementation_init() { #endif #if ENABLED(SHOW_BOOTSCREEN) - #if ENABLED(CUSTOM_START_BMP) + static bool show_bootscreen = true; + + #if ENABLED(SHOW_CUSTOM_BOOTSCREEN) if (show_bootscreen) { u8g.firstPage(); do { - u8g.drawBitmapP((128-(CUSTOM_START_BMPWIDTH))/2, (64 - (CUSTOM_START_BMPHEIGHT))/2, CUSTOM_START_BMPBYTEWIDTH, CUSTOM_START_BMPHEIGHT, custom_start_bmp); + u8g.drawBitmapP( + (128 - (CUSTOM_BOOTSCREEN_BMPWIDTH)) /2, + ( 64 - (CUSTOM_BOOTSCREEN_BMPHEIGHT)) /2, + CEILING(CUSTOM_BOOTSCREEN_BMPWIDTH, 8), CUSTOM_BOOTSCREEN_BMPHEIGHT, custom_start_bmp); } while (u8g.nextPage()); - delay(CUSTOM_START_BMP_DELAY); + safe_delay(CUSTOM_BOOTSCREEN_TIMEOUT); } - #endif + #endif // SHOW_CUSTOM_BOOTSCREEN + int offx = (u8g.getWidth() - (START_BMPWIDTH)) / 2; + #if ENABLED(START_BMPHIGH) int offy = 0; #else @@ -273,9 +269,9 @@ static void lcd_implementation_init() { int txt1X = (u8g.getWidth() - (sizeof(STRING_SPLASH_LINE1) - 1) * (DOG_CHAR_WIDTH)) / 2; - u8g.firstPage(); - do { - if (show_bootscreen) { + if (show_bootscreen) { + u8g.firstPage(); + do { u8g.drawBitmapP(offx, offy, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp); lcd_setFont(FONT_MENU); #ifndef STRING_SPLASH_LINE2 @@ -285,12 +281,12 @@ static void lcd_implementation_init() { u8g.drawStr(txt1X, u8g.getHeight() - (DOG_CHAR_HEIGHT) * 3 / 2, STRING_SPLASH_LINE1); u8g.drawStr(txt2X, u8g.getHeight() - (DOG_CHAR_HEIGHT) * 1 / 2, STRING_SPLASH_LINE2); #endif - } - } while (u8g.nextPage()); + } while (u8g.nextPage()); + } show_bootscreen = false; - #endif + #endif // SHOW_BOOTSCREEN } void lcd_kill_screen() { diff --git a/Marlin/example_configurations/Cartesio/Configuration.h b/Marlin/example_configurations/Cartesio/Configuration.h index b4d1f0852..a97ec341c 100644 --- a/Marlin/example_configurations/Cartesio/Configuration.h +++ b/Marlin/example_configurations/Cartesio/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(MaukCC, CartesioE)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 "Cartesio" // will be shown during bootup in line1 -#define STRING_SPLASH_LINE2 "Marlin " SHORT_BUILD_VERSION // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_Bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/Cartesio/_Bootscreen.h b/Marlin/example_configurations/Cartesio/_Bootscreen.h new file mode 100644 index 000000000..254fbdf06 --- /dev/null +++ b/Marlin/example_configurations/Cartesio/_Bootscreen.h @@ -0,0 +1,95 @@ +/** + * 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 + +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #define CUSTOM_BOOTSCREEN_TIMEOUT 2500 + #define CUSTOM_BOOTSCREEN_BMPWIDTH 63 + #define CUSTOM_BOOTSCREEN_BMPHEIGHT 64 + + const unsigned char 81x0i84fkcmoqbu7vte29[512] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0x07, 0x87, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x1f, 0x8f, 0xc7, 0xff, 0xff, 0xf1, 0x00, + 0x01, 0x1f, 0x8f, 0xc7, 0xff, 0xff, 0xf1, 0x80, + 0x03, 0x1f, 0x8f, 0xc7, 0xff, 0xff, 0xf1, 0x80, + 0x07, 0x1f, 0x8f, 0xc7, 0xff, 0xff, 0xe1, 0xc0, + 0x07, 0x1f, 0x8f, 0xc7, 0xc0, 0x00, 0x01, 0xe0, + 0x0f, 0x1f, 0x8f, 0xc7, 0xc0, 0x00, 0x01, 0xe0, + 0x0f, 0x1f, 0x8f, 0xc7, 0xc0, 0x00, 0x01, 0xf0, + 0x1f, 0x1f, 0x8f, 0xc7, 0xc0, 0x00, 0x01, 0xf0, + 0x1f, 0x1f, 0x8f, 0xc7, 0xff, 0xff, 0xe1, 0xf0, + 0x3f, 0x1f, 0x8f, 0xc7, 0xff, 0xff, 0xf1, 0xf8, + 0x3f, 0x1f, 0x8f, 0xc7, 0xff, 0xff, 0xf1, 0xf8, + 0x3f, 0x1f, 0x8f, 0xc7, 0xff, 0xff, 0xf1, 0xf8, + 0x3f, 0x1f, 0x8f, 0xc7, 0xff, 0xff, 0xe1, 0xf8, + 0x7f, 0x1f, 0x8f, 0xc7, 0xc0, 0x00, 0x01, 0xfc, + 0x7f, 0x1f, 0x8f, 0xc7, 0xc0, 0x00, 0x01, 0xfc, + 0x7f, 0x1f, 0x8f, 0xc7, 0xc0, 0x00, 0x01, 0xfc, + 0x7f, 0x1f, 0x8f, 0xc7, 0xc0, 0x00, 0x01, 0xfc, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x7f, 0x00, 0x00, 0x07, 0xc7, 0xe3, 0xf1, 0xfc, + 0x7f, 0x00, 0x00, 0x07, 0xc7, 0xe3, 0xf1, 0xfc, + 0x7f, 0x00, 0x00, 0x07, 0xc7, 0xe3, 0xf1, 0xfc, + 0x3f, 0x0f, 0xff, 0xff, 0xc7, 0xe3, 0xf1, 0xf8, + 0x3f, 0x1f, 0xff, 0xff, 0xc7, 0xe3, 0xf1, 0xf8, + 0x3f, 0x1f, 0xff, 0xff, 0xc7, 0xe3, 0xf1, 0xf8, + 0x3f, 0x1f, 0xff, 0xff, 0xc7, 0xe3, 0xf1, 0xf8, + 0x1f, 0x1f, 0xff, 0xff, 0xc7, 0xe3, 0xf1, 0xf0, + 0x1f, 0x0f, 0xff, 0xff, 0xc7, 0xe3, 0xf1, 0xf0, + 0x1f, 0x00, 0x00, 0x07, 0xc7, 0xe3, 0xf1, 0xe0, + 0x0f, 0x00, 0x00, 0x07, 0xc7, 0xe3, 0xf1, 0xe0, + 0x0f, 0x00, 0x00, 0x07, 0xc7, 0xe3, 0xf1, 0xc0, + 0x07, 0x0f, 0xff, 0xff, 0xc7, 0xe3, 0xf1, 0xc0, + 0x03, 0x1f, 0xff, 0xff, 0xc7, 0xe3, 0xf1, 0x80, + 0x03, 0x1f, 0xff, 0xff, 0xc7, 0xe3, 0xf1, 0x00, + 0x01, 0x1f, 0xff, 0xff, 0xc7, 0xe3, 0xf0, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xc7, 0xe3, 0xf0, 0x00, + 0x00, 0x0f, 0xff, 0xff, 0xc3, 0xc1, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, + 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x01, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }; +#endif diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h index 50ace1c2d..576b2715c 100644 --- a/Marlin/example_configurations/Felix/Configuration.h +++ b/Marlin/example_configurations/Felix/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/Felix/DUAL/Configuration.h b/Marlin/example_configurations/Felix/DUAL/Configuration.h index 3c2be5a22..072f74c7f 100644 --- a/Marlin/example_configurations/Felix/DUAL/Configuration.h +++ b/Marlin/example_configurations/Felix/DUAL/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h index 31ac6728f..747dcbdda 100644 --- a/Marlin/example_configurations/Hephestos/Configuration.h +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/Hephestos_2/Configuration.h b/Marlin/example_configurations/Hephestos_2/Configuration.h index 648df90a0..3146c9245 100644 --- a/Marlin/example_configurations/Hephestos_2/Configuration.h +++ b/Marlin/example_configurations/Hephestos_2/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "@jbrazio" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_Bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/Hephestos_2/_Bootscreen.h b/Marlin/example_configurations/Hephestos_2/_Bootscreen.h new file mode 100644 index 000000000..7e7f8f4c4 --- /dev/null +++ b/Marlin/example_configurations/Hephestos_2/_Bootscreen.h @@ -0,0 +1,95 @@ +/** + * 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 + +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #define CUSTOM_BOOTSCREEN_TIMEOUT 2500 + #define CUSTOM_BOOTSCREEN_BMPWIDTH 62 + #define CUSTOM_BOOTSCREEN_BMPHEIGHT 64 + + const unsigned char custom_start_bmp[512] PROGMEM = { + 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xc0, 0x0f, 0xf0, 0x07, 0x80, 0x00, + 0x00, 0x07, 0xe0, 0x07, 0xe0, 0x0f, 0xc0, 0x00, + 0x00, 0x0f, 0xf0, 0x03, 0xc0, 0x1f, 0xe0, 0x00, + 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x07, 0xe0, 0x00, 0x00, 0x0f, 0xc0, 0x00, + 0x00, 0x03, 0xc0, 0x00, 0x00, 0x07, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, + 0x7f, 0x80, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0xf7, 0xc0, 0x1f, 0x80, + 0xff, 0xc0, 0x00, 0x00, 0xff, 0xf0, 0x7f, 0xc0, + 0x7f, 0x80, 0x00, 0x00, 0xff, 0xf8, 0xff, 0xe0, + 0x3f, 0x00, 0x00, 0x00, 0xfc, 0xf8, 0xf0, 0xf8, + 0x1e, 0x00, 0x00, 0x00, 0xf8, 0x7d, 0xe0, 0x78, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3d, 0xe0, 0x78, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3d, 0xe0, 0x78, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3d, 0xe0, 0x78, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3d, 0xe0, 0x78, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3d, 0xe0, 0x78, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3d, 0xe0, 0x78, + 0x00, 0x00, 0x00, 0x00, 0xf8, 0x79, 0xf0, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xff, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x7f, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xe0, 0x3f, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x0e, 0x78, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, + }; +#endif diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index 37fe86722..b7ed47584 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -104,8 +104,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(K8200, @CONSULitAS)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/K8400/Configuration.h b/Marlin/example_configurations/K8400/Configuration.h index c900fc263..602f490ae 100644 --- a/Marlin/example_configurations/K8400/Configuration.h +++ b/Marlin/example_configurations/K8400/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(Anthony Birkett, default config)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/K8400/Dual-head/Configuration.h b/Marlin/example_configurations/K8400/Dual-head/Configuration.h index d69c5bdfe..3f5644dd8 100644 --- a/Marlin/example_configurations/K8400/Dual-head/Configuration.h +++ b/Marlin/example_configurations/K8400/Dual-head/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(Anthony Birkett, default config)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h index 315010fe8..3817fcb98 100644 --- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "RepRapWorld.com" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/RigidBot/Configuration.h b/Marlin/example_configurations/RigidBot/Configuration.h index 829c8d8a5..26e46c666 100644 --- a/Marlin/example_configurations/RigidBot/Configuration.h +++ b/Marlin/example_configurations/RigidBot/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index 4d32f85a7..758c4514a 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -122,8 +122,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/TAZ4/Configuration.h b/Marlin/example_configurations/TAZ4/Configuration.h index f8f49db47..4e2dee37c 100644 --- a/Marlin/example_configurations/TAZ4/Configuration.h +++ b/Marlin/example_configurations/TAZ4/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(Aleph Objects, Inc, TAZ config)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index d4102ef99..bce118532 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(bq Witbox)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_Bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/adafruit/ST7565/Configuration.h b/Marlin/example_configurations/adafruit/ST7565/Configuration.h index 2bb90a191..63ffcf2ae 100644 --- a/Marlin/example_configurations/adafruit/ST7565/Configuration.h +++ b/Marlin/example_configurations/adafruit/ST7565/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/delta/biv2.5/Configuration.h b/Marlin/example_configurations/delta/biv2.5/Configuration.h index 981ae59dd..4c0c46f95 100644 --- a/Marlin/example_configurations/delta/biv2.5/Configuration.h +++ b/Marlin/example_configurations/delta/biv2.5/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h index 2fed91a1a..beab01f55 100644 --- a/Marlin/example_configurations/delta/generic/Configuration.h +++ b/Marlin/example_configurations/delta/generic/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h index 9e97af3c3..ac5b6ba44 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration.h b/Marlin/example_configurations/delta/kossel_pro/Configuration.h index 2b49bd039..a10a8a847 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration.h @@ -103,8 +103,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration.h b/Marlin/example_configurations/delta/kossel_xl/Configuration.h index 258ba72c9..5eee789c2 100644 --- a/Marlin/example_configurations/delta/kossel_xl/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_xl/Configuration.h @@ -90,8 +90,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(oxivanisher)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index c51d75d36..b0c210ff5 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_bootscreen.h" +#endif // @section machine diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index eeee65304..697f426d0 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -97,8 +97,24 @@ // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. #define SHOW_BOOTSCREEN -#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 -//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 +#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during boot in line 1 +#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during boot in line 2 + +// +// *** VENDORS PLEASE READ ***************************************************** +// +// Marlin now allow you to have a vendor boot image to be displayed on machine +// start. When SHOW_CUSTOM_BOOTSCREEN is defined Marlin will first show your +// custom boot image and them the default Marlin boot image is shown. +// +// We suggest for you to take advantage of this new feature and keep the Marlin +// boot image unmodified. For an example have a look at the bq Hephestos 2 +// example configuration folder. +// +//#define SHOW_CUSTOM_BOOTSCREEN +#if ENABLED(SHOW_BOOTSCREEN) && ENABLED(SHOW_CUSTOM_BOOTSCREEN) + #include "_Bootscreen.h" +#endif // @section machine diff --git a/Marlin/macros.h b/Marlin/macros.h index 2b535bbdd..7dbadee08 100644 --- a/Marlin/macros.h +++ b/Marlin/macros.h @@ -97,6 +97,8 @@ #define PENDING(NOW,SOON) ((long)(NOW-(SOON))<0) #define ELAPSED(NOW,SOON) (!PENDING(NOW,SOON)) -#define NOOP do{}while(0) +#define NOOP do{} while(0) + +#define CEILING(x,y) (((x) + (y) - 1) / (y)) #endif //__MACROS_H diff --git a/Marlin/ultralcd_implementation_hitachi_HD44780.h b/Marlin/ultralcd_implementation_hitachi_HD44780.h index 24d48b1a9..b5342bd3b 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 000000000..385fe3d39 --- /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); +} diff --git a/buildroot/bin/restore_configs b/buildroot/bin/restore_configs index ca77e556a..ba7a72cd8 100755 --- a/buildroot/bin/restore_configs +++ b/buildroot/bin/restore_configs @@ -3,3 +3,7 @@ cp Marlin/Configuration.h.backup Marlin/Configuration.h cp Marlin/Configuration_adv.h.backup Marlin/Configuration_adv.h cp Marlin/pins_RAMPS_14.h.backup Marlin/pins_RAMPS_14.h + +if [ -f Marlin/_Bootscreen.h ]; then + rm Marlin/_Bootscreen.h +fi diff --git a/buildroot/bin/use_example_configs b/buildroot/bin/use_example_configs index d1e6e468f..9f55c52e1 100755 --- a/buildroot/bin/use_example_configs +++ b/buildroot/bin/use_example_configs @@ -1,3 +1,7 @@ #!/usr/bin/env bash -eval "cp Marlin/example_configurations/$1/Configuration* Marlin/" +eval "cp Marlin/example_configurations/${1}/Configuration* Marlin/" + +if [ -f "Marlin/example_configurations/${1}/_Bootscreen.h" ]; then + cp "Marlin/example_configurations/${1}/_Bootscreen.h" Marlin/ +fi