Merge pull request #1348 from stv0g/LogoLCD
Adding new Marlin to splash screen
This commit is contained in:
commit
1d4af46496
BIN
Documentation/Logo/Marlin Logo LCD High.png
Normal file
BIN
Documentation/Logo/Marlin Logo LCD High.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 392 B |
BIN
Documentation/Logo/Marlin Logo LCD Low.png
Normal file
BIN
Documentation/Logo/Marlin Logo LCD Low.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 249 B |
|
@ -24,8 +24,11 @@
|
||||||
// User-specified version info of this build to display in [Pronterface, etc] terminal window during
|
// User-specified version info of this build to display in [Pronterface, etc] terminal window during
|
||||||
// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
|
// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
|
||||||
// build by the user have been successfully uploaded into firmware.
|
// build by the user have been successfully uploaded into firmware.
|
||||||
|
#define STRING_VERSION "v1.0.2"
|
||||||
|
#define STRING_URL "reprap.org"
|
||||||
#define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time
|
#define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time
|
||||||
#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes.
|
#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes.
|
||||||
|
#define STRING_SPLASH STRING_VERSION " - " STRING_URL // will be shown during bootup
|
||||||
|
|
||||||
// SERIAL_PORT selects which serial port should be used for communication with the host.
|
// SERIAL_PORT selects which serial port should be used for communication with the host.
|
||||||
// This allows the connection of wireless adapters (for instance) to non-default port pins.
|
// This allows the connection of wireless adapters (for instance) to non-default port pins.
|
||||||
|
|
|
@ -1,28 +1,78 @@
|
||||||
#define START_BMPWIDTH 60 //Width in pixels - http://www.digole.com/tools/PicturetoC_Hex_converter.php
|
// BitMap for splashscreen
|
||||||
#define START_BMPHEIGHT 64 //Height in pixels
|
// Generated with: http://www.digole.com/tools/PicturetoC_Hex_converter.php
|
||||||
#define START_BMPBYTEWIDTH 8 //Width in bytes
|
// Please note that using the high-res version takes about 0.5KB of
|
||||||
const unsigned char start_bmp[574] PROGMEM = { //AVR-GCC, WinAVR
|
#ifdef START_BMPHIGH
|
||||||
0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
#define START_BMPWIDTH 112
|
||||||
0x30,0x00,0x00,0x00,0x00,0x00,0x3f,0xff,
|
#define START_BMPHEIGHT 38
|
||||||
0x40,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,
|
#define START_BMPBYTEWIDTH 14
|
||||||
0xc0,0x00,0x00,0x00,0x00,0x00,0x0f,0xff,
|
#define START_BMPBYTES 532 // START_BMPWIDTH * START_BMPHEIGHT / 8
|
||||||
0x80,0x83,0x00,0x00,0x01,0x80,0x07,0xff,
|
|
||||||
0x83,0xef,0xc0,0x00,0x01,0x8c,0x03,0xff,
|
const unsigned char start_bmp[START_BMPBYTES] PROGMEM = {
|
||||||
0x87,0xff,0xe0,0x00,0x01,0x8c,0x01,0xff,
|
0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
|
||||||
0x8e,0x38,0x60,0x00,0x01,0x80,0x00,0xff,
|
,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
|
||||||
0x8c,0x18,0x67,0xe0,0xf9,0x8c,0x7e,0x7f,
|
,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xff,0xff
|
||||||
0x8c,0x18,0x6f,0xf1,0xfd,0x8c,0xfe,0x3f,
|
,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xff,0xff
|
||||||
0x8c,0x18,0x6e,0x31,0x8d,0x8c,0xc7,0x1f,
|
,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xff,0xff
|
||||||
0x8c,0x18,0x6c,0x39,0x8d,0x8c,0xc3,0x1f,
|
,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff
|
||||||
0x8c,0x18,0x6c,0x19,0x81,0x8c,0xc3,0x1f,
|
,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff
|
||||||
0x8c,0x18,0x6e,0x19,0x81,0x8c,0xc3,0x1f,
|
,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x3f,0xff
|
||||||
0x8c,0x18,0x6f,0x9f,0x81,0xef,0xc3,0x1f,
|
,0xc0,0x0f,0xc0,0xfc,0x00,0x00,0x00,0x00,0x00,0x78,0x18,0x00,0x1f,0xff
|
||||||
0x8c,0x18,0x67,0xdf,0x80,0xef,0xc3,0x1f,
|
,0xc0,0x3f,0xe1,0xff,0x00,0x00,0x00,0x00,0x00,0x78,0x3c,0x00,0x0f,0xff
|
||||||
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,
|
,0xc0,0x7f,0xf3,0xff,0x80,0x00,0x00,0x00,0x00,0x78,0x3c,0x00,0x07,0xff
|
||||||
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x2f,
|
,0xc0,0xff,0xff,0xff,0xc0,0x00,0x00,0x00,0x00,0x78,0x3c,0x00,0x03,0xff
|
||||||
0x30,0x00,0x00,0x00,0x00,0x00,0x00,0xcf,
|
,0xc1,0xf8,0x7f,0x87,0xe0,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x01,0xff
|
||||||
0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x8f
|
,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 };
|
||||||
|
#else
|
||||||
|
#define START_BMPWIDTH 56
|
||||||
|
#define START_BMPHEIGHT 19
|
||||||
|
#define START_BMPBYTEWIDTH 7
|
||||||
|
#define START_BMPBYTES 133 // START_BMPWIDTH * START_BMPHEIGHT / 8
|
||||||
|
|
||||||
|
const unsigned char start_bmp[START_BMPBYTES] PROGMEM = {
|
||||||
|
0x1f,0xff,0xff,0xff,0xff,0xff,0xff
|
||||||
|
,0x60,0x00,0x00,0x00,0x00,0x01,0xff
|
||||||
|
,0x40,0x00,0x00,0x00,0x00,0x00,0xff
|
||||||
|
,0x80,0x00,0x00,0x00,0x00,0x00,0x7f
|
||||||
|
,0x83,0xcf,0x00,0x00,0x0c,0x30,0x3f
|
||||||
|
,0x87,0xff,0x80,0x00,0x0c,0x30,0x1f
|
||||||
|
,0x86,0x79,0x80,0x00,0x0c,0x00,0x0f
|
||||||
|
,0x8c,0x30,0xc7,0x83,0x8c,0x30,0xe7
|
||||||
|
,0x8c,0x30,0xcf,0xc7,0xcc,0x31,0xf3
|
||||||
|
,0x8c,0x30,0xdc,0xec,0xec,0x33,0xb9
|
||||||
|
,0x8c,0x30,0xd8,0x6c,0x6c,0x33,0x19
|
||||||
|
,0x8c,0x30,0xd0,0x6c,0x0c,0x33,0x19
|
||||||
|
,0x8c,0x30,0xd8,0x6c,0x0c,0x33,0x19
|
||||||
|
,0x8c,0x30,0xdc,0x6c,0x0e,0x3b,0x19
|
||||||
|
,0x8c,0x30,0xcf,0x7c,0x07,0x9f,0x19
|
||||||
|
,0x8c,0x30,0xc7,0x7c,0x03,0x8f,0x19
|
||||||
|
,0x40,0x00,0x00,0x00,0x00,0x00,0x02
|
||||||
|
,0x60,0x00,0x00,0x00,0x00,0x00,0x06
|
||||||
|
,0x1f,0xff,0xff,0xff,0xff,0xff,0xf8 };
|
||||||
|
#endif
|
||||||
|
|
||||||
// Here comes a compile-time operation to match the extruder symbols
|
// Here comes a compile-time operation to match the extruder symbols
|
||||||
// on the info screen to the set number of extruders in configuration.h
|
// on the info screen to the set number of extruders in configuration.h
|
||||||
|
|
|
@ -86,46 +86,53 @@ U8GLIB_NHD_C12864 u8g(DOGLCD_CS, DOGLCD_A0);
|
||||||
U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0
|
U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void lcd_implementation_init() {
|
static void lcd_implementation_init()
|
||||||
#ifdef LCD_PIN_BL
|
{
|
||||||
pinMode(LCD_PIN_BL, OUTPUT); // Enable LCD backlight
|
#ifdef LCD_PIN_BL // Enable LCD backlight
|
||||||
|
pinMode(LCD_PIN_BL, OUTPUT);
|
||||||
digitalWrite(LCD_PIN_BL, HIGH);
|
digitalWrite(LCD_PIN_BL, HIGH);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
u8g.setContrast(lcd_contrast);
|
u8g.setContrast(lcd_contrast);
|
||||||
|
// FIXME: remove this workaround
|
||||||
/*
|
|
||||||
// Uncomment this if you have the first generation (V1.10) of STBs board
|
// Uncomment this if you have the first generation (V1.10) of STBs board
|
||||||
|
// pinMode(17, OUTPUT); // Enable LCD backlight
|
||||||
|
// digitalWrite(17, HIGH);
|
||||||
|
|
||||||
pinMode(17, OUTPUT); // Enable LCD backlight
|
#ifdef LCD_SCREEN_ROT_90
|
||||||
digitalWrite(17, HIGH);
|
u8g.setRot90(); // Rotate screen by 90°
|
||||||
|
#elif defined(LCD_SCREEN_ROT_180)
|
||||||
//*/
|
u8g.setRot180(); // Rotate screen by 180°
|
||||||
|
#elif defined(LCD_SCREEN_ROT_270)
|
||||||
|
u8g.setRot270(); // Rotate screen by 270°
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// FIXME: whats the purpose of the box? Maybe clear screen?
|
||||||
u8g.firstPage();
|
u8g.firstPage();
|
||||||
do {
|
do {
|
||||||
u8g.setFont(u8g_font_6x10_marlin);
|
u8g.setFont(u8g_font_6x10_marlin);
|
||||||
u8g.setColorIndex(1);
|
u8g.setColorIndex(1);
|
||||||
u8g.drawBox (0, 0, u8g.getWidth(), u8g.getHeight());
|
u8g.drawBox (0, 0, u8g.getWidth(), u8g.getHeight());
|
||||||
u8g.setColorIndex(1);
|
u8g.setColorIndex(1);
|
||||||
} while( u8g.nextPage() );
|
} while(u8g.nextPage());
|
||||||
|
|
||||||
#if defined(LCD_SCREEN_ROT_90)
|
|
||||||
u8g.setRot90(); // Rotate screen by 90°
|
|
||||||
#elif defined(LCD_SCREEN_ROT_180)
|
|
||||||
u8g.setRot180(); // Rotate screen by 180°
|
|
||||||
#elif defined(LCD_SCREEN_ROT_270)
|
|
||||||
u8g.setRot270(); // Rotate screen by 270°
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
// Show splashscreen
|
||||||
|
int off = (u8g.getWidth() - START_BMPWIDTH) / 2;
|
||||||
|
int txtX = (u8g.getWidth() - sizeof(STRING_SPLASH) - 1) / 2;
|
||||||
|
int txtY = u8g.getHeight() - 10;
|
||||||
u8g.firstPage();
|
u8g.firstPage();
|
||||||
do {
|
do {
|
||||||
// RepRap init bmp
|
#ifdef START_BMPHIGH
|
||||||
u8g.drawBitmapP(7,7,START_BMPBYTEWIDTH,START_BMPHEIGHT,start_bmp);
|
u8g.drawBitmapP(off, off, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp);
|
||||||
// Welcome message
|
#else
|
||||||
|
u8g.setScale2x2();
|
||||||
|
u8g.drawBitmapP(off, off, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp);
|
||||||
|
u8g.undoScale();
|
||||||
|
#endif
|
||||||
|
|
||||||
u8g.setFont(u8g_font_5x8);
|
u8g.setFont(u8g_font_5x8);
|
||||||
u8g.drawStr(7, 51, "V" MARLIN_VERSION " - marlin.reprap.org");
|
u8g.drawStr(txtX, txtY, STRING_SPLASH);
|
||||||
} while( u8g.nextPage() );
|
} while(u8g.nextPage());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void lcd_implementation_clear() { } // Automatically cleared by Picture Loop
|
static void lcd_implementation_clear() { } // Automatically cleared by Picture Loop
|
||||||
|
|
Loading…
Reference in a new issue