Full Graphic Smart Controller Hacks
When using the RepRapDiscount Full Graphic Smart Controller, there are some possible hacks to modify the display.
Display of just one extruder
(THIS APPLIES TO MARLIN V1.0.0-RC2! Other versions may require a different approach.)
To remove the second and third extruder display from the info screen, two files have to be modified:
DOGMbitmaps.h
In this file some lines have to be changed in the variables "status_screen0_bmp" and "status_screen1_bmp":
const unsigned char status_screen0_bmp[] PROGMEM = { //AVR-GCC, WinAVR 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xE0, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x0C,0x60, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x47,0x0E,0x20, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4F,0x0F,0x20, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5F,0x0F,0xA0, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5E,0x07,0xA0, 0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x40,0x60,0x20, // changed 0xFB,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x40,0xF0,0x20, // changed 0xF3,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x40,0xF0,0x20, // changed 0xEB,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x40,0x60,0x20, // changed 0x7B,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x5E,0x07,0xA0, // changed 0x7B,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x5F,0x0F,0xA0, // changed 0xFB,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x4F,0x0F,0x20, // changed 0xFB,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x47,0x0E,0x20, // changed 0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x63,0x0C,0x60, // changed 0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, // changed 0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x7F,0xFF,0xE0, // changed 0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00,0x00 // changed };
const unsigned char status_screen1_bmp[] PROGMEM = { //AVR-GCC, WinAVR 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xE0, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0xF8,0x60, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0xF8,0x20, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xF0,0x20, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x60,0x20, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x01,0xA0, 0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x5C,0x63,0xA0, // changed 0xFB,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x5E,0xF7,0xA0, // changed 0xF3,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x5E,0xF7,0xA0, // changed 0xEB,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x5C,0x63,0xA0, // changed 0x7B,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x58,0x01,0xA0, // changed 0x7B,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x40,0x60,0x20, // changed 0xFB,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x40,0xF0,0x20, // changed 0xFB,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x41,0xF8,0x20, // changed 0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x61,0xF8,0x60, // changed 0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0, // changed 0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x7F,0xFF,0xE0, // changed 0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00,0x00 // changed };
dogm_lcd_implementation.h
In this file, you first have to find the lines
u8g.setPrintPos(31,27); u8g.print("---");
replace them by
u8g.setPrintPos(31,27); u8g.print(" ");
Now find the lines
u8g.setPrintPos(55,27); u8g.print("---");
replace them by
u8g.setPrintPos(55,27); u8g.print(" ");
That's it, no more unessesary extruders on that info screen.
Replacement of RepRap Bootup Logo
(THIS APPLIES TO MARLIN V1.0.0-RC2! Other versions may require a different approach.)
In dogm_lcd_implementation.h you can change the lines below
const unsigned char start_bmp[574] PROGMEM = { //AVR-GCC, WinAVR
to a new logo. The comma seperated values are the binary pixel information in hexadecimal format, one byte at a time. The logo image has a size of 60x64px. One possible way to get a new logo is to download the software LCD Bitmap Converter [[1]]. With it's help, you can load a bitmap file and convert it to the pixel informations. There are some [[2]] other tools [[3]] designed to do the same.
When you have your own logo converted, it seems to be important to break lines after every 8 numbers. As soon as you have done that, you can copy these numbers in the dogm_lcd_implementation.h, overwriting the old contents of start_bmp. Note, that it not important to convert the numbers to hex, decimal works fine. An example for a custom logo follows.
const unsigned char start_bmp[574] PROGMEM = { //AVR-GCC, WinAVR 0, 0, 0, 31, 192, 0, 0, 0, 0, 0, 3, 255, 254, 0, 0, 0, 0, 0, 31, 255, 255, 192, 0, 0, 0, 0, 127, 255, 255, 240, 0, 0, 0, 1, 255, 255, 255, 252, 0, 0, 0, 3, 255, 224, 63, 254, 0, 0, 0, 15, 254, 0, 3, 255, 0, 0, 0, 31, 240, 0, 0, 127, 192, 0, 0, 63, 192, 0, 0, 31, 224, 0, 0, 127, 128, 0, 0, 15, 240, 0, 0, 254, 0, 0, 0, 3, 248, 0, 1, 252, 0, 0, 0, 1, 248, 0, 1, 248, 0, 0, 0, 0, 252, 0, 3, 240, 0, 0, 0, 0, 126, 0, 7, 224, 0, 0, 0, 0, 62, 0, 7, 192, 0, 0, 0, 0, 31, 0, 15, 128, 0, 0, 0, 0, 31, 128, 15, 128, 62, 0, 7, 192, 15, 128, 31, 0, 127, 128, 15, 240, 7, 192, 31, 0, 255, 128, 31, 240, 7, 192, 62, 0, 255, 192, 31, 248, 3, 192, 62, 0, 255, 192, 31, 248, 3, 224, 60, 0, 255, 192, 31, 248, 3, 224, 124, 0, 255, 192, 31, 248, 1, 224, 124, 0, 255, 128, 31, 240, 1, 240, 124, 0, 127, 128, 15, 240, 1, 240, 120, 0, 63, 0, 7, 224, 1, 240, 120, 0, 12, 0, 3, 128, 0, 240, 120, 0, 0, 0, 0, 0, 0, 240, 248, 0, 0, 0, 0, 0, 0, 240, 248, 0, 0, 0, 0, 0, 0, 240, 248, 0, 0, 0, 0, 0, 0, 240, 248, 0, 0, 0, 0, 0, 0, 240, 248, 6, 0, 0, 0, 3, 0, 240, 248, 7, 0, 0, 0, 7, 0, 240, 120, 7, 0, 0, 0, 7, 0, 240, 120, 7, 0, 0, 0, 15, 0, 240, 120, 7, 128, 0, 0, 15, 1, 240, 120, 7, 128, 0, 0, 14, 1, 240, 124, 3, 192, 0, 0, 30, 1, 240, 124, 3, 192, 0, 0, 62, 1, 224, 60, 3, 224, 0, 0, 60, 3, 224, 62, 1, 240, 0, 0, 124, 3, 224, 62, 1, 248, 0, 0, 248, 3, 192, 31, 0, 254, 0, 3, 248, 7, 192, 31, 0, 127, 128, 15, 240, 7, 192, 15, 128, 127, 249, 255, 224, 15, 128, 15, 128, 63, 255, 255, 192, 31, 128, 7, 192, 15, 255, 255, 128, 31, 0, 7, 224, 7, 255, 255, 0, 63, 0, 3, 240, 1, 255, 252, 0, 126, 0, 3, 248, 0, 127, 240, 0, 252, 0, 1, 252, 0, 0, 0, 1, 252, 0, 0, 254, 0, 0, 0, 3, 248, 0, 0, 127, 0, 0, 0, 7, 240, 0, 0, 63, 192, 0, 0, 31, 224, 0, 0, 31, 240, 0, 0, 127, 192, 0, 0, 15, 252, 0, 1, 255, 128, 0, 0, 7, 255, 192, 31, 255, 0, 0, 0, 1, 255, 255, 255, 252, 0, 0, 0, 0, 255, 255, 255, 240, 0, 0, 0, 0, 63, 255, 255, 192, 0, 0, 0, 0, 7, 255, 255, 0, 0, 0, 0, 0, 1, 255, 252, 0, 0, 0 };