Full Graphic Smart Controller Hacks

From RepRap
Revision as of 02:15, 12 November 2014 by Silly105 (talk | contribs) (Added replacement of RepRap bootup logo)
Jump to: navigation, search

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.

Modified info screen


(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
};

Custom bootup logo