|
@ -74,9 +74,12 @@ |
|
|
#endif |
|
|
#endif |
|
|
#endif // SIMULATE_ROMFONT
|
|
|
#endif // SIMULATE_ROMFONT
|
|
|
|
|
|
|
|
|
#define FONT_MENU 1 |
|
|
#define FONT_STATUSMENU_NAME FONT_MENU_NAME |
|
|
|
|
|
|
|
|
|
|
|
#define FONT_STATUSMENU 1 |
|
|
#define FONT_SPECIAL 2 |
|
|
#define FONT_SPECIAL 2 |
|
|
#define FONT_MENU_EDIT 3 |
|
|
#define FONT_MENU_EDIT 3 |
|
|
|
|
|
#define FONT_MENU 4 |
|
|
|
|
|
|
|
|
// DOGM parameters (size in pixels)
|
|
|
// DOGM parameters (size in pixels)
|
|
|
#define DOG_CHAR_WIDTH 6 |
|
|
#define DOG_CHAR_WIDTH 6 |
|
@ -134,6 +137,7 @@ char currentfont = 0; |
|
|
|
|
|
|
|
|
static void lcd_setFont(char font_nr) { |
|
|
static void lcd_setFont(char font_nr) { |
|
|
switch(font_nr) { |
|
|
switch(font_nr) { |
|
|
|
|
|
case FONT_STATUSMENU : {u8g.setFont(FONT_STATUSMENU_NAME); currentfont = FONT_STATUSMENU;}; break; |
|
|
case FONT_MENU : {u8g.setFont(FONT_MENU_NAME); currentfont = FONT_MENU;}; break; |
|
|
case FONT_MENU : {u8g.setFont(FONT_MENU_NAME); currentfont = FONT_MENU;}; break; |
|
|
case FONT_SPECIAL : {u8g.setFont(FONT_SPECIAL_NAME); currentfont = FONT_SPECIAL;}; break; |
|
|
case FONT_SPECIAL : {u8g.setFont(FONT_SPECIAL_NAME); currentfont = FONT_SPECIAL;}; break; |
|
|
case FONT_MENU_EDIT : {u8g.setFont(FONT_MENU_EDIT_NAME); currentfont = FONT_MENU_EDIT;}; break; |
|
|
case FONT_MENU_EDIT : {u8g.setFont(FONT_MENU_EDIT_NAME); currentfont = FONT_MENU_EDIT;}; break; |
|
@ -223,7 +227,7 @@ static void _draw_heater_status(int x, int heater) { |
|
|
bool isBed = heater < 0; |
|
|
bool isBed = heater < 0; |
|
|
int y = 17 + (isBed ? 1 : 0); |
|
|
int y = 17 + (isBed ? 1 : 0); |
|
|
|
|
|
|
|
|
lcd_setFont(FONT_MENU); |
|
|
lcd_setFont(FONT_STATUSMENU); |
|
|
u8g.setPrintPos(x,7); |
|
|
u8g.setPrintPos(x,7); |
|
|
lcd_print(itostr3(int((heater >= 0 ? degTargetHotend(heater) : degTargetBed()) + 0.5))); |
|
|
lcd_print(itostr3(int((heater >= 0 ? degTargetHotend(heater) : degTargetBed()) + 0.5))); |
|
|
lcd_printPGM(PSTR(LCD_STR_DEGREE " ")); |
|
|
lcd_printPGM(PSTR(LCD_STR_DEGREE " ")); |
|
@ -248,7 +252,6 @@ static void lcd_implementation_status_screen() { |
|
|
|
|
|
|
|
|
// Symbols menu graphics, animated fan
|
|
|
// Symbols menu graphics, animated fan
|
|
|
u8g.drawBitmapP(9,1,STATUS_SCREENBYTEWIDTH,STATUS_SCREENHEIGHT, (blink % 2) && fanSpeed ? status_screen0_bmp : status_screen1_bmp); |
|
|
u8g.drawBitmapP(9,1,STATUS_SCREENBYTEWIDTH,STATUS_SCREENHEIGHT, (blink % 2) && fanSpeed ? status_screen0_bmp : status_screen1_bmp); |
|
|
lcd_setFont(FONT_MENU); |
|
|
|
|
|
|
|
|
|
|
|
#ifdef SDSUPPORT |
|
|
#ifdef SDSUPPORT |
|
|
// SD Card Symbol
|
|
|
// SD Card Symbol
|
|
@ -261,6 +264,8 @@ static void lcd_implementation_status_screen() { |
|
|
u8g.drawFrame(54,49,73,4); |
|
|
u8g.drawFrame(54,49,73,4); |
|
|
|
|
|
|
|
|
// SD Card Progress bar and clock
|
|
|
// SD Card Progress bar and clock
|
|
|
|
|
|
lcd_setFont(FONT_STATUSMENU); |
|
|
|
|
|
|
|
|
if (IS_SD_PRINTING) { |
|
|
if (IS_SD_PRINTING) { |
|
|
// Progress bar solid part
|
|
|
// Progress bar solid part
|
|
|
u8g.drawBox(55, 50, (unsigned int)(71.f * card.percentDone() / 100.f), 2); |
|
|
u8g.drawBox(55, 50, (unsigned int)(71.f * card.percentDone() / 100.f), 2); |
|
@ -285,6 +290,7 @@ static void lcd_implementation_status_screen() { |
|
|
if (EXTRUDERS < 4) _draw_heater_status(81, -1); |
|
|
if (EXTRUDERS < 4) _draw_heater_status(81, -1); |
|
|
|
|
|
|
|
|
// Fan
|
|
|
// Fan
|
|
|
|
|
|
lcd_setFont(FONT_STATUSMENU); |
|
|
u8g.setPrintPos(104,27); |
|
|
u8g.setPrintPos(104,27); |
|
|
#if defined(FAN_PIN) && FAN_PIN > -1 |
|
|
#if defined(FAN_PIN) && FAN_PIN > -1 |
|
|
int per = ((fanSpeed + 1) * 100) / 256; |
|
|
int per = ((fanSpeed + 1) * 100) / 256; |
|
@ -301,6 +307,7 @@ static void lcd_implementation_status_screen() { |
|
|
|
|
|
|
|
|
// X, Y, Z-Coordinates
|
|
|
// X, Y, Z-Coordinates
|
|
|
#define XYZ_BASELINE 38 |
|
|
#define XYZ_BASELINE 38 |
|
|
|
|
|
u8g.setFont(FONT_STATUSMENU); |
|
|
u8g.drawBox(0,30,128,9); |
|
|
u8g.drawBox(0,30,128,9); |
|
|
u8g.setColorIndex(0); // white on black
|
|
|
u8g.setColorIndex(0); // white on black
|
|
|
u8g.setPrintPos(2,XYZ_BASELINE); |
|
|
u8g.setPrintPos(2,XYZ_BASELINE); |
|
@ -324,13 +331,16 @@ static void lcd_implementation_status_screen() { |
|
|
u8g.setColorIndex(1); // black on white
|
|
|
u8g.setColorIndex(1); // black on white
|
|
|
|
|
|
|
|
|
// Feedrate
|
|
|
// Feedrate
|
|
|
|
|
|
lcd_setFont(FONT_MENU); |
|
|
u8g.setPrintPos(3,49); |
|
|
u8g.setPrintPos(3,49); |
|
|
lcd_print(LCD_STR_FEEDRATE[0]); |
|
|
lcd_print(LCD_STR_FEEDRATE[0]); |
|
|
|
|
|
u8g.setFont(FONT_STATUSMENU); |
|
|
u8g.setPrintPos(12,49); |
|
|
u8g.setPrintPos(12,49); |
|
|
lcd_print(itostr3(feedmultiply)); |
|
|
lcd_print(itostr3(feedmultiply)); |
|
|
lcd_print('%'); |
|
|
lcd_print('%'); |
|
|
|
|
|
|
|
|
// Status line
|
|
|
// Status line
|
|
|
|
|
|
u8g.setFont(FONT_STATUSMENU); |
|
|
u8g.setPrintPos(0,63); |
|
|
u8g.setPrintPos(0,63); |
|
|
#ifndef FILAMENT_LCD_DISPLAY |
|
|
#ifndef FILAMENT_LCD_DISPLAY |
|
|
lcd_print(lcd_status_message); |
|
|
lcd_print(lcd_status_message); |
|
|