|
@@ -51,11 +51,24 @@
|
51
|
51
|
#endif
|
52
|
52
|
*/
|
53
|
53
|
|
|
54
|
+#define USE_BIG_EDIT_FONT
|
|
55
|
+#define FONT_STATUSMENU u8g_font_6x9
|
|
56
|
+#define FONT_MENU u8g_font_6x10_marlin
|
|
57
|
+
|
54
|
58
|
// DOGM parameters (size in pixels)
|
55
|
59
|
#define DOG_CHAR_WIDTH 6
|
56
|
60
|
#define DOG_CHAR_HEIGHT 12
|
57
|
|
-#define DOG_CHAR_WIDTH_LARGE 9
|
58
|
|
-#define DOG_CHAR_HEIGHT_LARGE 18
|
|
61
|
+#ifdef USE_BIG_EDIT_FONT
|
|
62
|
+ #define FONT_MENU_EDIT u8g_font_9x18
|
|
63
|
+ #define DOG_CHAR_WIDTH_EDIT 9
|
|
64
|
+ #define DOG_CHAR_HEIGHT_EDIT 18
|
|
65
|
+ #define LCD_WIDTH_EDIT 14
|
|
66
|
+#else
|
|
67
|
+ #define FONT_MENU_EDIT u8g_font_6x10_marlin
|
|
68
|
+ #define DOG_CHAR_WIDTH_EDIT 6
|
|
69
|
+ #define DOG_CHAR_HEIGHT_EDIT 12
|
|
70
|
+ #define LCD_WIDTH_EDIT 22
|
|
71
|
+#endif
|
59
|
72
|
|
60
|
73
|
#define START_ROW 0
|
61
|
74
|
|
|
@@ -70,8 +83,6 @@
|
70
|
83
|
#define LCD_STR_BEDTEMP "\xFE"
|
71
|
84
|
#define LCD_STR_THERMOMETER "\xFF"
|
72
|
85
|
|
73
|
|
-#define FONT_STATUSMENU u8g_font_6x9
|
74
|
|
-
|
75
|
86
|
int lcd_contrast;
|
76
|
87
|
|
77
|
88
|
// LCD selection
|
|
@@ -107,26 +118,27 @@ static void lcd_implementation_init()
|
107
|
118
|
u8g.setRot270(); // Rotate screen by 270°
|
108
|
119
|
#endif
|
109
|
120
|
|
110
|
|
- // FIXME: whats the purpose of the box? Maybe clear screen?
|
111
|
|
- u8g.firstPage();
|
112
|
|
- do {
|
113
|
|
- u8g.setFont(u8g_font_6x10_marlin);
|
114
|
|
- u8g.setColorIndex(1);
|
115
|
|
- u8g.drawBox (0, 0, u8g.getWidth(), u8g.getHeight());
|
116
|
|
- u8g.setColorIndex(1);
|
117
|
|
- } while(u8g.nextPage());
|
118
|
|
-
|
119
|
121
|
// Show splashscreen
|
120
|
122
|
int offx = (u8g.getWidth() - START_BMPWIDTH) / 2;
|
121
|
|
- int offy = (u8g.getHeight() - 18 - START_BMPHEIGHT) / 2;
|
122
|
|
- int txtX = (u8g.getWidth() - (sizeof(STRING_SPLASH) - 1)*5) / 2; // 5 is fontwidth in pixel
|
123
|
|
- int txtY = u8g.getHeight() - 10;
|
|
123
|
+ #ifdef START_BMPHIGH
|
|
124
|
+ int offy = 0;
|
|
125
|
+ #else
|
|
126
|
+ int offy = DOG_CHAR_HEIGHT;
|
|
127
|
+ #endif
|
|
128
|
+
|
|
129
|
+ int txt1X = (u8g.getWidth() - (sizeof(STRING_SPLASH_LINE1) - 1)*DOG_CHAR_WIDTH) / 2;
|
|
130
|
+
|
124
|
131
|
u8g.firstPage();
|
125
|
132
|
do {
|
126
|
|
- u8g.drawBitmapP(offx, offy, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp);
|
127
|
|
-
|
128
|
|
- u8g.setFont(u8g_font_5x8);
|
129
|
|
- u8g.drawStr(txtX, txtY, STRING_SPLASH);
|
|
133
|
+ u8g.drawBitmapP(offx, offy, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp);
|
|
134
|
+ u8g.setFont(FONT_MENU);
|
|
135
|
+ #ifndef STRING_SPLASH_LINE2
|
|
136
|
+ u8g.drawStr(txt1X, u8g.getHeight() - DOG_CHAR_HEIGHT, STRING_SPLASH_LINE1);
|
|
137
|
+ #else
|
|
138
|
+ int txt2X = (u8g.getWidth() - (sizeof(STRING_SPLASH_LINE2) - 1)*DOG_CHAR_WIDTH) / 2;
|
|
139
|
+ u8g.drawStr(txt1X, u8g.getHeight() - DOG_CHAR_HEIGHT*3/2, STRING_SPLASH_LINE1);
|
|
140
|
+ u8g.drawStr(txt2X, u8g.getHeight() - DOG_CHAR_HEIGHT*1/2, STRING_SPLASH_LINE2);
|
|
141
|
+ #endif
|
130
|
142
|
} while(u8g.nextPage());
|
131
|
143
|
}
|
132
|
144
|
|
|
@@ -244,7 +256,7 @@ static void lcd_implementation_status_screen() {
|
244
|
256
|
u8g.setColorIndex(1); // black on white
|
245
|
257
|
|
246
|
258
|
// Feedrate
|
247
|
|
- u8g.setFont(u8g_font_6x10_marlin);
|
|
259
|
+ u8g.setFont(FONT_MENU);
|
248
|
260
|
u8g.setPrintPos(3,49);
|
249
|
261
|
u8g.print(LCD_STR_FEEDRATE[0]);
|
250
|
262
|
u8g.setFont(FONT_STATUSMENU);
|
|
@@ -363,11 +375,11 @@ static void _drawmenu_setting_edit_generic(uint8_t row, const char* pstr, char p
|
363
|
375
|
#define lcd_implementation_drawmenu_setting_edit_callback_bool(row, pstr, pstr2, data, callback) lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, ' ', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
|
364
|
376
|
|
365
|
377
|
void lcd_implementation_drawedit(const char* pstr, char* value) {
|
366
|
|
- u8g.setPrintPos(0 * DOG_CHAR_WIDTH_LARGE, (u8g.getHeight() - 1 - DOG_CHAR_HEIGHT_LARGE) - (1 * DOG_CHAR_HEIGHT_LARGE) - START_ROW );
|
367
|
|
- u8g.setFont(u8g_font_9x18);
|
|
378
|
+ u8g.setPrintPos(0 * DOG_CHAR_WIDTH_EDIT, (u8g.getHeight() - 1 - DOG_CHAR_HEIGHT_EDIT) - (1 * DOG_CHAR_HEIGHT_EDIT) - START_ROW );
|
|
379
|
+ u8g.setFont(FONT_MENU_EDIT);
|
368
|
380
|
lcd_printPGM(pstr);
|
369
|
381
|
u8g.print(':');
|
370
|
|
- u8g.setPrintPos((14 - strlen(value)) * DOG_CHAR_WIDTH_LARGE, (u8g.getHeight() - 1 - DOG_CHAR_HEIGHT_LARGE) - (1 * DOG_CHAR_HEIGHT_LARGE) - START_ROW );
|
|
382
|
+ u8g.setPrintPos((14 - strlen(value)) * DOG_CHAR_WIDTH_EDIT, (u8g.getHeight() - 1 - DOG_CHAR_HEIGHT_EDIT) - (1 * DOG_CHAR_HEIGHT_EDIT) - START_ROW );
|
371
|
383
|
u8g.print(value);
|
372
|
384
|
}
|
373
|
385
|
|