|
@@ -86,9 +86,6 @@
|
86
|
86
|
|
87
|
87
|
#define PAUSE_HEAT
|
88
|
88
|
|
89
|
|
-#define USE_STRING_HEADINGS
|
90
|
|
-#define USE_STRING_TITLES
|
91
|
|
-
|
92
|
89
|
#define MENU_CHAR_LIMIT 24
|
93
|
90
|
|
94
|
91
|
// Print speed limit
|
|
@@ -133,8 +130,20 @@ HMI_data_t HMI_data;
|
133
|
130
|
|
134
|
131
|
millis_t dwin_heat_time = 0;
|
135
|
132
|
|
136
|
|
-uint8_t checkkey = MainMenu;
|
137
|
|
-uint8_t last_checkkey = MainMenu;
|
|
133
|
+uint8_t checkkey = MainMenu, last_checkkey = MainMenu;
|
|
134
|
+
|
|
135
|
+enum SelectItem : uint8_t {
|
|
136
|
+ PAGE_PRINT = 0,
|
|
137
|
+ PAGE_PREPARE,
|
|
138
|
+ PAGE_CONTROL,
|
|
139
|
+ PAGE_INFO_LEVELING,
|
|
140
|
+ PAGE_COUNT,
|
|
141
|
+
|
|
142
|
+ PRINT_SETUP = 0,
|
|
143
|
+ PRINT_PAUSE_RESUME,
|
|
144
|
+ PRINT_STOP,
|
|
145
|
+ PRINT_COUNT
|
|
146
|
+};
|
138
|
147
|
|
139
|
148
|
typedef struct {
|
140
|
149
|
uint8_t now, last;
|
|
@@ -266,7 +275,7 @@ void ICON_Print() {
|
266
|
275
|
{ 1, { 417, 449 }, 30, 14 },
|
267
|
276
|
{ 1, { 405, 447 }, 27, 15 }
|
268
|
277
|
};
|
269
|
|
- ICON_Button(select_page.now == 0, ICON_Print_0, ico, txt);
|
|
278
|
+ ICON_Button(select_page.now == PAGE_PRINT, ICON_Print_0, ico, txt);
|
270
|
279
|
}
|
271
|
280
|
|
272
|
281
|
//
|
|
@@ -278,7 +287,7 @@ void ICON_Prepare() {
|
278
|
287
|
{ 33, { 417, 449 }, 51, 14 },
|
279
|
288
|
{ 31, { 405, 447 }, 27, 15 }
|
280
|
289
|
};
|
281
|
|
- ICON_Button(select_page.now == 1, ICON_Prepare_0, ico, txt);
|
|
290
|
+ ICON_Button(select_page.now == PAGE_PREPARE, ICON_Prepare_0, ico, txt);
|
282
|
291
|
}
|
283
|
292
|
|
284
|
293
|
//
|
|
@@ -290,7 +299,7 @@ void ICON_Control() {
|
290
|
299
|
{ 85, { 417, 449 }, 46, 14 },
|
291
|
300
|
{ 61, { 405, 447 }, 27, 15 }
|
292
|
301
|
};
|
293
|
|
- ICON_Button(select_page.now == 2, ICON_Control_0, ico, txt);
|
|
302
|
+ ICON_Button(select_page.now == PAGE_CONTROL, ICON_Control_0, ico, txt);
|
294
|
303
|
}
|
295
|
304
|
|
296
|
305
|
//
|
|
@@ -302,7 +311,7 @@ void ICON_StartInfo() {
|
302
|
311
|
{ 133, { 417, 449 }, 23, 14 },
|
303
|
312
|
{ 91, { 405, 447 }, 27, 15 }
|
304
|
313
|
};
|
305
|
|
- ICON_Button(select_page.now == 3, ICON_Info_0, ico, txt);
|
|
314
|
+ ICON_Button(select_page.now == PAGE_INFO_LEVELING, ICON_Info_0, ico, txt);
|
306
|
315
|
}
|
307
|
316
|
|
308
|
317
|
//
|
|
@@ -314,7 +323,7 @@ void ICON_Leveling() {
|
314
|
323
|
{ 88, { 433, 464 }, 36, 14 },
|
315
|
324
|
{ 211, { 405, 447 }, 27, 15 }
|
316
|
325
|
};
|
317
|
|
- ICON_Button(select_page.now == 3, ICON_Leveling_0, ico, txt);
|
|
326
|
+ ICON_Button(select_page.now == PAGE_INFO_LEVELING, ICON_Leveling_0, ico, txt);
|
318
|
327
|
}
|
319
|
328
|
|
320
|
329
|
//
|
|
@@ -326,7 +335,7 @@ void ICON_Tune() {
|
326
|
335
|
{ 0, { 433, 464 }, 32, 14 },
|
327
|
336
|
{ 121, { 405, 447 }, 27, 15 }
|
328
|
337
|
};
|
329
|
|
- ICON_Button(select_print.now == 0, ICON_Setup_0, ico, txt);
|
|
338
|
+ ICON_Button(select_print.now == PRINT_SETUP, ICON_Setup_0, ico, txt);
|
330
|
339
|
}
|
331
|
340
|
|
332
|
341
|
//
|
|
@@ -338,7 +347,7 @@ void ICON_Pause() {
|
338
|
347
|
{ 157, { 417, 449 }, 39, 14 },
|
339
|
348
|
{ 181, { 405, 447 }, 27, 15 }
|
340
|
349
|
};
|
341
|
|
- ICON_Button(select_print.now == 1, ICON_Pause_0, ico, txt);
|
|
350
|
+ ICON_Button(select_print.now == PRINT_PAUSE_RESUME, ICON_Pause_0, ico, txt);
|
342
|
351
|
}
|
343
|
352
|
|
344
|
353
|
//
|
|
@@ -350,7 +359,7 @@ void ICON_Resume() {
|
350
|
359
|
{ 33, { 433, 464 }, 53, 14 },
|
351
|
360
|
{ 1, { 405, 447 }, 27, 15 }
|
352
|
361
|
};
|
353
|
|
- ICON_Button(select_print.now == 1, ICON_Continue_0, ico, txt);
|
|
362
|
+ ICON_Button(select_print.now == PRINT_PAUSE_RESUME, ICON_Continue_0, ico, txt);
|
354
|
363
|
}
|
355
|
364
|
|
356
|
365
|
//
|
|
@@ -362,7 +371,7 @@ void ICON_Stop() {
|
362
|
371
|
{ 196, { 417, 449 }, 29, 14 },
|
363
|
372
|
{ 151, { 405, 447 }, 27, 12 }
|
364
|
373
|
};
|
365
|
|
- ICON_Button(select_print.now == 2, ICON_Stop_0, ico, txt);
|
|
374
|
+ ICON_Button(select_print.now == PRINT_STOP, ICON_Stop_0, ico, txt);
|
366
|
375
|
}
|
367
|
376
|
|
368
|
377
|
void Draw_Menu_Cursor(const uint8_t line) {
|
|
@@ -537,14 +546,14 @@ void Popup_window_PauseOrStop() {
|
537
|
546
|
if (HMI_IsChinese()) {
|
538
|
547
|
DWINUI::ClearMenuArea();
|
539
|
548
|
Draw_Popup_Bkgd_60();
|
540
|
|
- if (select_print.now == 1) DWIN_Frame_AreaCopy(1, 237, 338, 269, 356, 98, 150);
|
541
|
|
- else if (select_print.now == 2) DWIN_Frame_AreaCopy(1, 221, 320, 253, 336, 98, 150);
|
|
549
|
+ if (select_print.now == PRINT_PAUSE_RESUME) DWIN_Frame_AreaCopy(1, 237, 338, 269, 356, 98, 150);
|
|
550
|
+ else if (select_print.now == PRINT_STOP) DWIN_Frame_AreaCopy(1, 221, 320, 253, 336, 98, 150);
|
542
|
551
|
DWIN_Frame_AreaCopy(1, 220, 304, 264, 319, 130, 150);
|
543
|
552
|
DWINUI::Draw_Icon(ICON_Confirm_C, 26, 280);
|
544
|
553
|
DWINUI::Draw_Icon(ICON_Cancel_C, 146, 280);
|
545
|
554
|
}
|
546
|
555
|
else {
|
547
|
|
- DWIN_Draw_Popup(ICON_BLTouch, "Please confirm",(select_print.now == 1) ? GET_TEXT(MSG_PAUSE_PRINT) : GET_TEXT(MSG_STOP_PRINT));
|
|
556
|
+ DWIN_Draw_Popup(ICON_BLTouch, "Please confirm", select_print.now == PRINT_PAUSE_RESUME ? GET_TEXT(MSG_PAUSE_PRINT) : GET_TEXT(MSG_STOP_PRINT));
|
548
|
557
|
DWINUI::Draw_Icon(ICON_Confirm_E, 26, 280);
|
549
|
558
|
DWINUI::Draw_Icon(ICON_Cancel_E, 146, 280);
|
550
|
559
|
}
|
|
@@ -589,16 +598,9 @@ void Draw_Print_Labels() {
|
589
|
598
|
DWIN_Frame_AreaCopy(1, 65, 72, 128, 86, 176, 173); // Remain
|
590
|
599
|
}
|
591
|
600
|
else {
|
592
|
|
- #ifdef USE_STRING_TITLES
|
593
|
|
- Title.ShowCaption(GET_TEXT(MSG_PRINTING));
|
594
|
|
- DWINUI::Draw_String( 46, 173, F("Print Time"));
|
595
|
|
- DWINUI::Draw_String(181, 173, F("Remain"));
|
596
|
|
- #else
|
597
|
|
- const uint16_t y = 168;
|
598
|
|
- Title.FrameCopy(42, 0, 47, 14); // "Printing"
|
599
|
|
- DWIN_Frame_AreaCopy(1, 0, 44, 96, 58, 41, y); // Printing Time
|
600
|
|
- DWIN_Frame_AreaCopy(1, 98, 44, 152, 58, 176, y); // Remain
|
601
|
|
- #endif
|
|
601
|
+ Title.ShowCaption(GET_TEXT(MSG_PRINTING));
|
|
602
|
+ DWINUI::Draw_String( 46, 173, F("Print Time"));
|
|
603
|
+ DWINUI::Draw_String(181, 173, F("Remain"));
|
602
|
604
|
}
|
603
|
605
|
}
|
604
|
606
|
|
|
@@ -678,13 +680,8 @@ void Draw_Main_Menu() {
|
678
|
680
|
|
679
|
681
|
if (HMI_IsChinese())
|
680
|
682
|
Title.FrameCopy(2, 2, 26, 13); // "Home" etc
|
681
|
|
- else {
|
682
|
|
- #ifdef USE_STRING_HEADINGS
|
683
|
|
- Title.ShowCaption(MACHINE_NAME);
|
684
|
|
- #else
|
685
|
|
- Title.FrameCopy(0, 2, 40, 11); // "Home"
|
686
|
|
- #endif
|
687
|
|
- }
|
|
683
|
+ else
|
|
684
|
+ Title.ShowCaption(MACHINE_NAME);
|
688
|
685
|
|
689
|
686
|
DWINUI::Draw_Icon(ICON_LOGO, 71, 52); // CREALITY logo
|
690
|
687
|
|
|
@@ -1075,11 +1072,7 @@ void Draw_Info_Menu() {
|
1075
|
1072
|
DWIN_Frame_AreaCopy(1, 58, 164, 113, 176, 105, 248); // "Contact Details"
|
1076
|
1073
|
}
|
1077
|
1074
|
else {
|
1078
|
|
- #ifdef USE_STRING_HEADINGS
|
1079
|
|
- Title.ShowCaption(GET_TEXT_F(MSG_INFO_SCREEN));
|
1080
|
|
- #else
|
1081
|
|
- Title.FrameCopy(192, 15, 23, 12); // "Info"
|
1082
|
|
- #endif
|
|
1075
|
+ Title.ShowCaption(GET_TEXT_F(MSG_INFO_SCREEN));
|
1083
|
1076
|
|
1084
|
1077
|
DWIN_Frame_AreaCopy(1, 120, 150, 146, 161, 124, 102); // "Size"
|
1085
|
1078
|
DWIN_Frame_AreaCopy(1, 146, 151, 254, 161, 82, 175); // "Firmware Version"
|
|
@@ -1098,13 +1091,8 @@ void Draw_Info_Menu() {
|
1098
|
1091
|
void Draw_Print_File_Menu() {
|
1099
|
1092
|
if (HMI_IsChinese())
|
1100
|
1093
|
Title.FrameCopy(0, 31, 56, 14); // "Print file"
|
1101
|
|
- else {
|
1102
|
|
- #ifdef USE_STRING_HEADINGS
|
1103
|
|
- Title.ShowCaption(GET_TEXT_F(MSG_MEDIA_MENU));
|
1104
|
|
- #else
|
1105
|
|
- Title.FrameCopy(52, 31, 86, 11); // "Print file"
|
1106
|
|
- #endif
|
1107
|
|
- }
|
|
1094
|
+ else
|
|
1095
|
+ Title.ShowCaption(GET_TEXT_F(MSG_MEDIA_MENU));
|
1108
|
1096
|
Redraw_SD_List();
|
1109
|
1097
|
}
|
1110
|
1098
|
|
|
@@ -1114,43 +1102,39 @@ void HMI_MainMenu() {
|
1114
|
1102
|
if (encoder_diffState == ENCODER_DIFF_NO) return;
|
1115
|
1103
|
|
1116
|
1104
|
if (encoder_diffState == ENCODER_DIFF_CW) {
|
1117
|
|
- if (select_page.inc(4)) {
|
|
1105
|
+ if (select_page.inc(PAGE_COUNT)) {
|
1118
|
1106
|
switch (select_page.now) {
|
1119
|
|
- case 0: ICON_Print(); break;
|
1120
|
|
- case 1: ICON_Print(); ICON_Prepare(); break;
|
1121
|
|
- case 2: ICON_Prepare(); ICON_Control(); break;
|
1122
|
|
- case 3: ICON_Control(); TERN(HAS_ONESTEP_LEVELING, ICON_Leveling, ICON_StartInfo)(); break;
|
|
1107
|
+ case PAGE_PRINT: ICON_Print(); break;
|
|
1108
|
+ case PAGE_PREPARE: ICON_Print(); ICON_Prepare(); break;
|
|
1109
|
+ case PAGE_CONTROL: ICON_Prepare(); ICON_Control(); break;
|
|
1110
|
+ case PAGE_INFO_LEVELING: ICON_Control(); TERN(HAS_ONESTEP_LEVELING, ICON_Leveling, ICON_StartInfo)(); break;
|
1123
|
1111
|
}
|
1124
|
1112
|
}
|
1125
|
1113
|
}
|
1126
|
1114
|
else if (encoder_diffState == ENCODER_DIFF_CCW) {
|
1127
|
1115
|
if (select_page.dec()) {
|
1128
|
1116
|
switch (select_page.now) {
|
1129
|
|
- case 0: ICON_Print(); ICON_Prepare(); break;
|
1130
|
|
- case 1: ICON_Prepare(); ICON_Control(); break;
|
1131
|
|
- case 2: ICON_Control(); TERN(HAS_ONESTEP_LEVELING, ICON_Leveling, ICON_StartInfo)(); break;
|
1132
|
|
- case 3: TERN(HAS_ONESTEP_LEVELING, ICON_Leveling, ICON_StartInfo)(); break;
|
|
1117
|
+ case PAGE_PRINT: ICON_Print(); ICON_Prepare(); break;
|
|
1118
|
+ case PAGE_PREPARE: ICON_Prepare(); ICON_Control(); break;
|
|
1119
|
+ case PAGE_CONTROL: ICON_Control(); TERN(HAS_ONESTEP_LEVELING, ICON_Leveling, ICON_StartInfo)(); break;
|
|
1120
|
+ case PAGE_INFO_LEVELING: TERN(HAS_ONESTEP_LEVELING, ICON_Leveling, ICON_StartInfo)(); break;
|
1133
|
1121
|
}
|
1134
|
1122
|
}
|
1135
|
1123
|
}
|
1136
|
1124
|
else if (encoder_diffState == ENCODER_DIFF_ENTER) {
|
1137
|
1125
|
switch (select_page.now) {
|
1138
|
|
- case 0: // Print File
|
|
1126
|
+ case PAGE_PRINT:
|
1139
|
1127
|
checkkey = SelectFile;
|
1140
|
1128
|
Draw_Print_File_Menu();
|
1141
|
1129
|
break;
|
1142
|
1130
|
|
1143
|
|
- case 1: // Prepare
|
1144
|
|
- Draw_Prepare_Menu();
|
1145
|
|
- break;
|
|
1131
|
+ case PAGE_PREPARE: Draw_Prepare_Menu(); break;
|
1146
|
1132
|
|
1147
|
|
- case 2: // Control
|
1148
|
|
- Draw_Control_Menu();
|
1149
|
|
- break;
|
|
1133
|
+ case PAGE_CONTROL: Draw_Control_Menu(); break;
|
1150
|
1134
|
|
1151
|
|
- case 3: // Leveling or Info
|
|
1135
|
+ case PAGE_INFO_LEVELING:
|
1152
|
1136
|
#if HAS_ONESTEP_LEVELING
|
1153
|
|
- queue.inject_P(PSTR("G28XYO\nG28Z\nG29"));
|
|
1137
|
+ queue.inject_P(PSTR("G28XYO\nG28Z\nG29")); // TODO: 'G29' should be homing when needed. Does it make sense for every LCD to do this differently?
|
1154
|
1138
|
#else
|
1155
|
1139
|
checkkey = Info;
|
1156
|
1140
|
Draw_Info_Menu();
|
|
@@ -1238,8 +1222,8 @@ void HMI_SelectFile() {
|
1238
|
1222
|
}
|
1239
|
1223
|
}
|
1240
|
1224
|
else if (encoder_diffState == ENCODER_DIFF_ENTER) {
|
1241
|
|
- if (select_file.now == 0) { // Back
|
1242
|
|
- select_page.set(0);
|
|
1225
|
+ if (select_file.now == 0) {
|
|
1226
|
+ select_page.set(PAGE_PRINT);
|
1243
|
1227
|
Goto_Main_Menu();
|
1244
|
1228
|
}
|
1245
|
1229
|
else if (hasUpDir && select_file.now == 1) { // CD-Up
|
|
@@ -1276,7 +1260,8 @@ void HMI_SelectFile() {
|
1276
|
1260
|
DWIN_Print_Started(true);
|
1277
|
1261
|
}
|
1278
|
1262
|
}
|
1279
|
|
-HMI_SelectFileExit:
|
|
1263
|
+
|
|
1264
|
+ HMI_SelectFileExit:
|
1280
|
1265
|
DWIN_UpdateLCD();
|
1281
|
1266
|
}
|
1282
|
1267
|
|
|
@@ -1286,44 +1271,30 @@ void HMI_Printing() {
|
1286
|
1271
|
if (encoder_diffState == ENCODER_DIFF_NO) return;
|
1287
|
1272
|
// Avoid flicker by updating only the previous menu
|
1288
|
1273
|
if (encoder_diffState == ENCODER_DIFF_CW) {
|
1289
|
|
- if (select_print.inc(3)) {
|
|
1274
|
+ if (select_print.inc(PRINT_COUNT)) {
|
1290
|
1275
|
switch (select_print.now) {
|
1291
|
|
- case 0: ICON_Tune(); break;
|
1292
|
|
- case 1:
|
1293
|
|
- ICON_Tune();
|
1294
|
|
- ICON_ResumeOrPause();
|
1295
|
|
- break;
|
1296
|
|
- case 2:
|
1297
|
|
- ICON_ResumeOrPause();
|
1298
|
|
- ICON_Stop();
|
1299
|
|
- break;
|
|
1276
|
+ case PRINT_SETUP: ICON_Tune(); break;
|
|
1277
|
+ case PRINT_PAUSE_RESUME: ICON_Tune(); ICON_ResumeOrPause(); break;
|
|
1278
|
+ case PRINT_STOP: ICON_ResumeOrPause(); ICON_Stop(); break;
|
1300
|
1279
|
}
|
1301
|
1280
|
}
|
1302
|
1281
|
}
|
1303
|
1282
|
else if (encoder_diffState == ENCODER_DIFF_CCW) {
|
1304
|
1283
|
if (select_print.dec()) {
|
1305
|
1284
|
switch (select_print.now) {
|
1306
|
|
- case 0:
|
1307
|
|
- ICON_Tune();
|
1308
|
|
- ICON_ResumeOrPause();
|
1309
|
|
- break;
|
1310
|
|
- case 1:
|
1311
|
|
- ICON_ResumeOrPause();
|
1312
|
|
- ICON_Stop();
|
1313
|
|
- break;
|
1314
|
|
- case 2: ICON_Stop(); break;
|
|
1285
|
+ case PRINT_SETUP: ICON_Tune(); ICON_ResumeOrPause(); break;
|
|
1286
|
+ case PRINT_PAUSE_RESUME: ICON_ResumeOrPause(); ICON_Stop(); break;
|
|
1287
|
+ case PRINT_STOP: ICON_Stop(); break;
|
1315
|
1288
|
}
|
1316
|
1289
|
}
|
1317
|
1290
|
}
|
1318
|
1291
|
else if (encoder_diffState == ENCODER_DIFF_ENTER) {
|
1319
|
1292
|
switch (select_print.now) {
|
1320
|
|
- case 0: // Tune
|
1321
|
|
- Draw_Tune_Menu();
|
1322
|
|
- break;
|
1323
|
|
- case 1: // Pause
|
|
1293
|
+ case PRINT_SETUP: Draw_Tune_Menu(); break;
|
|
1294
|
+ case PRINT_PAUSE_RESUME:
|
1324
|
1295
|
if (HMI_flag.pause_flag) {
|
1325
|
1296
|
ICON_Pause();
|
1326
|
|
- #ifndef ADVANCED_PAUSE_FEATURE
|
|
1297
|
+ #if DISABLED(ADVANCED_PAUSE_FEATURE)
|
1327
|
1298
|
char cmd[40];
|
1328
|
1299
|
cmd[0] = '\0';
|
1329
|
1300
|
#if BOTH(HAS_HEATED_BED, PAUSE_HEAT)
|
|
@@ -1346,7 +1317,7 @@ void HMI_Printing() {
|
1346
|
1317
|
}
|
1347
|
1318
|
break;
|
1348
|
1319
|
|
1349
|
|
- case 2: // Stop
|
|
1320
|
+ case PRINT_STOP:
|
1350
|
1321
|
HMI_flag.select_flag = true;
|
1351
|
1322
|
checkkey = PauseOrStop;
|
1352
|
1323
|
Popup_window_PauseOrStop();
|
|
@@ -1378,7 +1349,7 @@ void HMI_PauseOrStop() {
|
1378
|
1349
|
else if (encoder_diffState == ENCODER_DIFF_CCW)
|
1379
|
1350
|
Draw_Select_Highlight(true);
|
1380
|
1351
|
else if (encoder_diffState == ENCODER_DIFF_ENTER) {
|
1381
|
|
- if (select_print.now == 1) { // pause window
|
|
1352
|
+ if (select_print.now == PRINT_PAUSE_RESUME) {
|
1382
|
1353
|
if (HMI_flag.select_flag) {
|
1383
|
1354
|
HMI_flag.pause_action = true;
|
1384
|
1355
|
ICON_Resume();
|
|
@@ -1389,7 +1360,7 @@ void HMI_PauseOrStop() {
|
1389
|
1360
|
}
|
1390
|
1361
|
Goto_PrintProcess();
|
1391
|
1362
|
}
|
1392
|
|
- else if (select_print.now == 2) { // stop window
|
|
1363
|
+ else if (select_print.now == PRINT_STOP) {
|
1393
|
1364
|
if (HMI_flag.select_flag) {
|
1394
|
1365
|
checkkey = MainMenu;
|
1395
|
1366
|
if (HMI_flag.home_flag) planner.synchronize(); // Wait for planner moves to finish!
|
|
@@ -1511,22 +1482,12 @@ void EachMomentUpdate() {
|
1511
|
1482
|
if (HMI_flag.pause_action && printingIsPaused() && !planner.has_blocks_queued()) {
|
1512
|
1483
|
HMI_flag.pause_action = false;
|
1513
|
1484
|
#if ENABLED(PAUSE_HEAT)
|
1514
|
|
- if (sdprint) {
|
1515
|
|
- TERN_(HAS_HOTEND, resume_hotend_temp = thermalManager.degTargetHotend(0));
|
1516
|
|
- TERN_(HAS_HEATED_BED, resume_bed_temp = thermalManager.degTargetBed());
|
1517
|
|
- }
|
1518
|
|
- else {
|
1519
|
|
- TERN_(HAS_HOTEND, resume_hotend_temp = thermalManager.wholeDegHotend(0));
|
1520
|
|
- TERN_(HAS_HEATED_BED, resume_bed_temp = thermalManager.wholeDegBed());
|
1521
|
|
- }
|
|
1485
|
+ TERN_(HAS_HOTEND, resume_hotend_temp = sdprint ? thermalManager.degTargetHotend(0) : thermalManager.wholeDegHotend(0));
|
|
1486
|
+ TERN_(HAS_HEATED_BED, resume_bed_temp = sdprint ? thermalManager.degTargetBed() : thermalManager.wholeDegBed());
|
1522
|
1487
|
TERN_(HAS_FAN, resume_fan = thermalManager.fan_speed[0]);
|
1523
|
1488
|
#endif
|
1524
|
|
- #if DISABLED(ADVANCED_PAUSE_FEATURE)
|
1525
|
|
- thermalManager.disable_all_heaters();
|
1526
|
|
- #endif
|
1527
|
|
- #if DISABLED(PARK_HEAD_ON_PAUSE)
|
1528
|
|
- queue.inject_P(PSTR("G1 F1200 X0 Y0"));
|
1529
|
|
- #endif
|
|
1489
|
+ IF_DISABLED(ADVANCED_PAUSE_FEATURE, thermalManager.disable_all_heaters());
|
|
1490
|
+ IF_DISABLED(PARK_HEAD_ON_PAUSE, queue.inject_P(PSTR("G1 F1200 X0 Y0")));
|
1530
|
1491
|
}
|
1531
|
1492
|
|
1532
|
1493
|
if (checkkey == PrintProcess) { // print process
|
|
@@ -1565,7 +1526,7 @@ void EachMomentUpdate() {
|
1565
|
1526
|
else if (dwin_abort_flag && !HMI_flag.home_flag) { // Print Stop
|
1566
|
1527
|
dwin_abort_flag = false;
|
1567
|
1528
|
dwin_zoffset = BABY_Z_VAR;
|
1568
|
|
- select_page.set(0);
|
|
1529
|
+ select_page.set(PAGE_PRINT);
|
1569
|
1530
|
Goto_Main_Menu();
|
1570
|
1531
|
}
|
1571
|
1532
|
|
|
@@ -1615,7 +1576,7 @@ void EachMomentUpdate() {
|
1615
|
1576
|
watchdog_refresh();
|
1616
|
1577
|
}
|
1617
|
1578
|
|
1618
|
|
- select_print.set(0);
|
|
1579
|
+ select_print.set(PRINT_SETUP);
|
1619
|
1580
|
queue.inject_P(PSTR("M1000"));
|
1620
|
1581
|
sdprint = true;
|
1621
|
1582
|
Goto_PrintProcess();
|
|
@@ -1735,7 +1696,6 @@ void DWIN_PidTuning(pidresult_t result) {
|
1735
|
1696
|
|
1736
|
1697
|
// Update filename on print
|
1737
|
1698
|
void DWIN_Print_Header(const char *text = nullptr) {
|
1738
|
|
-
|
1739
|
1699
|
static char headertxt[31] = ""; // Print header text
|
1740
|
1700
|
|
1741
|
1701
|
if (text != nullptr) {
|
|
@@ -1917,6 +1877,7 @@ void DWIN_Redraw_screen() {
|
1917
|
1877
|
DWINUI::Draw_Icon(ICON_Confirm_E, 26, 280);
|
1918
|
1878
|
DWINUI::Draw_Icon(ICON_Continue_E, 146, 280);
|
1919
|
1879
|
Draw_Select_Highlight(true);
|
|
1880
|
+ DWIN_UpdateLCD();
|
1920
|
1881
|
}
|
1921
|
1882
|
|
1922
|
1883
|
// Handle responses such as:
|
|
@@ -1981,7 +1942,6 @@ void DWIN_LockScreen(const bool flag) {
|
1981
|
1942
|
// LiveUpdate: live update function when the encoder changes
|
1982
|
1943
|
// Apply: update function when the encoder is pressed
|
1983
|
1944
|
void SetOnClick(uint8_t process, const int32_t lo, const int32_t hi, uint8_t dp, const int32_t val, void (*Apply)() = nullptr, void (*LiveUpdate)() = nullptr) {
|
1984
|
|
- last_checkkey = Menu;
|
1985
|
1945
|
checkkey = process;
|
1986
|
1946
|
HMI_value.MinValue = lo;
|
1987
|
1947
|
HMI_value.MaxValue = hi;
|
|
@@ -2092,13 +2052,9 @@ void Goto_InfoMenu(){
|
2092
|
2052
|
Draw_Info_Menu();
|
2093
|
2053
|
}
|
2094
|
2054
|
|
2095
|
|
-void DisableMotors() {
|
2096
|
|
- queue.inject_P(PSTR("M84"));
|
2097
|
|
-}
|
|
2055
|
+void DisableMotors() { queue.inject_P(PSTR("M84")); }
|
2098
|
2056
|
|
2099
|
|
-void AutoHome() {
|
2100
|
|
- queue.inject_P(G28_STR);
|
2101
|
|
-}
|
|
2057
|
+void AutoHome() { queue.inject_P(G28_STR); }
|
2102
|
2058
|
|
2103
|
2059
|
void SetHome() {
|
2104
|
2060
|
// Apply workspace offset, making the current position 0,0,0
|
|
@@ -2116,9 +2072,11 @@ void SetHome() {
|
2116
|
2072
|
if (BABYSTEP_ALLOWED()) babystep.add_mm(Z_AXIS, dwin_zoffset - last_zoffset);
|
2117
|
2073
|
#endif
|
2118
|
2074
|
}
|
2119
|
|
- #if EITHER(HAS_BED_PROBE, BABYSTEPPING)
|
2120
|
|
- void SetZOffset() { SetPFloatOnClick(Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX, 2, ApplyZOffset, LiveZOffset); }
|
2121
|
|
- #endif
|
|
2075
|
+ #if EITHER(HAS_BED_PROBE, BABYSTEPPING)
|
|
2076
|
+ void SetZOffset() {
|
|
2077
|
+ SetPFloatOnClick(Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX, 2, ApplyZOffset, LiveZOffset);
|
|
2078
|
+ }
|
|
2079
|
+ #endif
|
2122
|
2080
|
#endif
|
2123
|
2081
|
|
2124
|
2082
|
#if HAS_PREHEAT
|
|
@@ -2233,9 +2191,7 @@ void SetPID(celsius_t t, heater_id_t h) {
|
2233
|
2191
|
}
|
2234
|
2192
|
#endif
|
2235
|
2193
|
|
2236
|
|
-void Goto_LockScreen() {
|
2237
|
|
- DWIN_LockScreen(true);
|
2238
|
|
-}
|
|
2194
|
+void Goto_LockScreen() { DWIN_LockScreen(true); }
|
2239
|
2195
|
|
2240
|
2196
|
#if HAS_HOME_OFFSET
|
2241
|
2197
|
void ApplyHomeOffset() { set_home_offset(HMI_value.axis, HMI_value.Value / MINUNITMULT); }
|
|
@@ -2327,6 +2283,7 @@ void SetSpeed() { SetPIntOnClick(MIN_PRINT_SPEED, MAX_PRINT_SPEED); }
|
2327
|
2283
|
#endif
|
2328
|
2284
|
|
2329
|
2285
|
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
|
2286
|
+
|
2330
|
2287
|
void ChangeFilament() {
|
2331
|
2288
|
HMI_SaveProcessID(NothingToDo);
|
2332
|
2289
|
queue.inject_P(PSTR("M600 B2"));
|
|
@@ -2348,7 +2305,8 @@ void SetSpeed() { SetPIntOnClick(MIN_PRINT_SPEED, MAX_PRINT_SPEED); }
|
2348
|
2305
|
queue.inject_P(PSTR("M701 Z20"));
|
2349
|
2306
|
}
|
2350
|
2307
|
#endif
|
2351
|
|
-#endif
|
|
2308
|
+
|
|
2309
|
+#endif // ADVANCED_PAUSE_FEATURE
|
2352
|
2310
|
|
2353
|
2311
|
void SetFlow() { SetPIntOnClick(MIN_PRINT_FLOW, MAX_PRINT_FLOW); }
|
2354
|
2312
|
|
|
@@ -2414,6 +2372,7 @@ void LevBedBL() { LevBed(3); }
|
2414
|
2372
|
void LevBedC () { LevBed(4); }
|
2415
|
2373
|
|
2416
|
2374
|
#if ENABLED(MESH_BED_LEVELING)
|
|
2375
|
+
|
2417
|
2376
|
void ManualMeshStart(){
|
2418
|
2377
|
ui.set_status_P(GET_TEXT(MSG_UBL_BUILD_MESH_MENU));
|
2419
|
2378
|
gcode.process_subcommands_now_P(PSTR("G28 XYO\nG28 Z\nM211 S0\nG29S1"));
|
|
@@ -2443,7 +2402,8 @@ void LevBedC () { LevBed(4); }
|
2443
|
2402
|
ui.set_status_P(GET_TEXT(MSG_UBL_STORAGE_MESH_MENU));
|
2444
|
2403
|
queue.inject_P(PSTR("M211 S1\nM500"));
|
2445
|
2404
|
}
|
2446
|
|
-#endif
|
|
2405
|
+
|
|
2406
|
+#endif // MESH_BED_LEVELING
|
2447
|
2407
|
|
2448
|
2408
|
#if HAS_PREHEAT
|
2449
|
2409
|
#if HAS_HOTEND
|
|
@@ -2516,6 +2476,7 @@ void SetStepsZ() { HMI_value.axis = Z_AXIS, SetPFloatOnClick( MIN_STEP, MAX_STEP
|
2516
|
2476
|
SetFloatOnClick(0, 1000, 2, value, ApplyPIDd);
|
2517
|
2477
|
}
|
2518
|
2478
|
#endif
|
|
2479
|
+
|
2519
|
2480
|
// Menuitem Drawing functions =================================================
|
2520
|
2481
|
|
2521
|
2482
|
void onDrawMenuItem(MenuItemClass* menuitem, int8_t line) {
|
|
@@ -2721,7 +2682,6 @@ void onDrawGetColorItem(MenuItemClass* menuitem, int8_t line) {
|
2721
|
2682
|
void onDrawPIDi(MenuItemClass* menuitem, int8_t line) { onDrawFloatMenu(menuitem, line, 2, unscalePID_i(*(float*)static_cast<MenuItemPtrClass*>(menuitem)->value)); }
|
2722
|
2683
|
void onDrawPIDd(MenuItemClass* menuitem, int8_t line) { onDrawFloatMenu(menuitem, line, 2, unscalePID_d(*(float*)static_cast<MenuItemPtrClass*>(menuitem)->value)); }
|
2723
|
2684
|
|
2724
|
|
-
|
2725
|
2685
|
void onDrawSpeedItem(MenuItemClass* menuitem, int8_t line) {
|
2726
|
2686
|
if (HMI_IsChinese()) menuitem->SetFrame(1, 116, 164, 171, 176);
|
2727
|
2687
|
onDrawPIntMenu(menuitem, line);
|
|
@@ -2748,30 +2708,6 @@ void onDrawSpeedItem(MenuItemClass* menuitem, int8_t line) {
|
2748
|
2708
|
}
|
2749
|
2709
|
#endif
|
2750
|
2710
|
|
2751
|
|
-void onDrawSpeed(MenuItemClass* menuitem, int8_t line) {
|
2752
|
|
- if (HMI_IsChinese()) menuitem->SetFrame(1, 173, 133, 228, 147);
|
2753
|
|
- onDrawSubMenu(menuitem, line);
|
2754
|
|
-}
|
2755
|
|
-
|
2756
|
|
-void onDrawAcc(MenuItemClass* menuitem, int8_t line) {
|
2757
|
|
- if (HMI_IsChinese()) {
|
2758
|
|
- menuitem->SetFrame(1, 173, 133, 200, 147);
|
2759
|
|
- DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(line) + 1); // ...Acceleration
|
2760
|
|
- }
|
2761
|
|
- onDrawSubMenu(menuitem, line);
|
2762
|
|
-}
|
2763
|
|
-
|
2764
|
|
-#if HAS_CLASSIC_JERK
|
2765
|
|
- void onDrawJerk(MenuItemClass* menuitem, int8_t line) {
|
2766
|
|
- if (HMI_IsChinese()) {
|
2767
|
|
- menuitem->SetFrame(1, 173, 133, 200, 147);
|
2768
|
|
- DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(line) + 1); // ...
|
2769
|
|
- DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 54, MBASE(line)); // ...Jerk
|
2770
|
|
- }
|
2771
|
|
- onDrawSubMenu(menuitem, line);
|
2772
|
|
- }
|
2773
|
|
-#endif
|
2774
|
|
-
|
2775
|
2711
|
void onDrawSteps(MenuItemClass* menuitem, int8_t line) {
|
2776
|
2712
|
if (HMI_IsChinese()) menuitem->SetFrame(1, 153, 148, 194, 161);
|
2777
|
2713
|
onDrawSubMenu(menuitem, line);
|
|
@@ -2786,10 +2722,10 @@ void onDrawSteps(MenuItemClass* menuitem, int8_t line) {
|
2786
|
2722
|
|
2787
|
2723
|
#if HAS_PREHEAT
|
2788
|
2724
|
#if HAS_HOTEND
|
2789
|
|
- void onDrawSetPreheatHotend(MenuItemClass* menuitem, int8_t line) {
|
2790
|
|
- if (HMI_IsChinese()) menuitem->SetFrame(1, 1, 134, 56, 146);
|
2791
|
|
- onDrawPIntMenu(menuitem, line);
|
2792
|
|
- }
|
|
2725
|
+ void onDrawSetPreheatHotend(MenuItemClass* menuitem, int8_t line) {
|
|
2726
|
+ if (HMI_IsChinese()) menuitem->SetFrame(1, 1, 134, 56, 146);
|
|
2727
|
+ onDrawPIntMenu(menuitem, line);
|
|
2728
|
+ }
|
2793
|
2729
|
#endif
|
2794
|
2730
|
#if HAS_HEATED_BED
|
2795
|
2731
|
void onDrawSetPreheatBed(MenuItemClass* menuitem, int8_t line) {
|
|
@@ -2811,7 +2747,13 @@ void onDrawSteps(MenuItemClass* menuitem, int8_t line) {
|
2811
|
2747
|
if (HMI_IsChinese()) menuitem->SetFrame(1, 180, 89, 260, 100);
|
2812
|
2748
|
onDrawSubMenu(menuitem,line);
|
2813
|
2749
|
}
|
2814
|
|
-#endif // HAS_HOTEND
|
|
2750
|
+#endif // HAS_PREHEAT
|
|
2751
|
+
|
|
2752
|
+void onDrawSpeed(MenuItemClass* menuitem, int8_t line) {
|
|
2753
|
+ if (HMI_IsChinese())
|
|
2754
|
+ menuitem->SetFrame(1, 173, 133, 228, 147);
|
|
2755
|
+ onDrawSubMenu(menuitem, line);
|
|
2756
|
+}
|
2815
|
2757
|
|
2816
|
2758
|
void onDrawMaxSpeedX(MenuItemClass* menuitem, int8_t line) {
|
2817
|
2759
|
if (HMI_IsChinese()) {
|
|
@@ -2847,9 +2789,17 @@ void onDrawMaxSpeedZ(MenuItemClass* menuitem, int8_t line) {
|
2847
|
2789
|
}
|
2848
|
2790
|
#endif
|
2849
|
2791
|
|
|
2792
|
+void onDrawAcc(MenuItemClass* menuitem, int8_t line) {
|
|
2793
|
+ if (HMI_IsChinese()) {
|
|
2794
|
+ menuitem->SetFrame(1, 173, 133, 200, 147);
|
|
2795
|
+ DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(line) + 1); // ...Acceleration
|
|
2796
|
+ }
|
|
2797
|
+ onDrawSubMenu(menuitem, line);
|
|
2798
|
+}
|
|
2799
|
+
|
2850
|
2800
|
void onDrawMaxAccelX(MenuItemClass* menuitem, int8_t line) {
|
2851
|
2801
|
if (HMI_IsChinese()) {
|
2852
|
|
- menuitem->SetFrame (1, 173, 133, 200, 147);
|
|
2802
|
+ menuitem->SetFrame(1, 173, 133, 200, 147);
|
2853
|
2803
|
DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(line));
|
2854
|
2804
|
DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 71, MBASE(line)); // X
|
2855
|
2805
|
}
|
|
@@ -2858,7 +2808,7 @@ void onDrawMaxAccelX(MenuItemClass* menuitem, int8_t line) {
|
2858
|
2808
|
|
2859
|
2809
|
void onDrawMaxAccelY(MenuItemClass* menuitem, int8_t line) {
|
2860
|
2810
|
if (HMI_IsChinese()) {
|
2861
|
|
- menuitem->SetFrame (1, 173, 133, 200, 147);
|
|
2811
|
+ menuitem->SetFrame(1, 173, 133, 200, 147);
|
2862
|
2812
|
DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(line));
|
2863
|
2813
|
DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 71, MBASE(line)); // Y
|
2864
|
2814
|
}
|
|
@@ -2867,7 +2817,7 @@ void onDrawMaxAccelY(MenuItemClass* menuitem, int8_t line) {
|
2867
|
2817
|
|
2868
|
2818
|
void onDrawMaxAccelZ(MenuItemClass* menuitem, int8_t line) {
|
2869
|
2819
|
if (HMI_IsChinese()) {
|
2870
|
|
- menuitem->SetFrame (1, 173, 133, 200, 147);
|
|
2820
|
+ menuitem->SetFrame(1, 173, 133, 200, 147);
|
2871
|
2821
|
DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(line));
|
2872
|
2822
|
DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 71, MBASE(line)); // Z
|
2873
|
2823
|
}
|
|
@@ -2877,7 +2827,7 @@ void onDrawMaxAccelZ(MenuItemClass* menuitem, int8_t line) {
|
2877
|
2827
|
#if HAS_HOTEND
|
2878
|
2828
|
void onDrawMaxAccelE(MenuItemClass* menuitem, int8_t line) {
|
2879
|
2829
|
if (HMI_IsChinese()) {
|
2880
|
|
- menuitem->SetFrame (1, 173, 133, 200, 147);
|
|
2830
|
+ menuitem->SetFrame(1, 173, 133, 200, 147);
|
2881
|
2831
|
DWIN_Frame_AreaCopy(1, 28, 149, 69, 161, LBLX + 27, MBASE(line));
|
2882
|
2832
|
DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 71, MBASE(line)); // E
|
2883
|
2833
|
}
|
|
@@ -2886,9 +2836,19 @@ void onDrawMaxAccelZ(MenuItemClass* menuitem, int8_t line) {
|
2886
|
2836
|
#endif
|
2887
|
2837
|
|
2888
|
2838
|
#if HAS_CLASSIC_JERK
|
|
2839
|
+
|
|
2840
|
+ void onDrawJerk(MenuItemClass* menuitem, int8_t line) {
|
|
2841
|
+ if (HMI_IsChinese()) {
|
|
2842
|
+ menuitem->SetFrame(1, 173, 133, 200, 147);
|
|
2843
|
+ DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(line) + 1); // ...
|
|
2844
|
+ DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 54, MBASE(line)); // ...Jerk
|
|
2845
|
+ }
|
|
2846
|
+ onDrawSubMenu(menuitem, line);
|
|
2847
|
+ }
|
|
2848
|
+
|
2889
|
2849
|
void onDrawMaxJerkX(MenuItemClass* menuitem, int8_t line) {
|
2890
|
2850
|
if (HMI_IsChinese()) {
|
2891
|
|
- menuitem->SetFrame (1, 173, 133, 200, 147);
|
|
2851
|
+ menuitem->SetFrame(1, 173, 133, 200, 147);
|
2892
|
2852
|
DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(line));
|
2893
|
2853
|
DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(line));
|
2894
|
2854
|
DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 83, MBASE(line));
|
|
@@ -2898,7 +2858,7 @@ void onDrawMaxAccelZ(MenuItemClass* menuitem, int8_t line) {
|
2898
|
2858
|
|
2899
|
2859
|
void onDrawMaxJerkY(MenuItemClass* menuitem, int8_t line) {
|
2900
|
2860
|
if (HMI_IsChinese()) {
|
2901
|
|
- menuitem->SetFrame (1, 173, 133, 200, 147);
|
|
2861
|
+ menuitem->SetFrame(1, 173, 133, 200, 147);
|
2902
|
2862
|
DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(line));
|
2903
|
2863
|
DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(line));
|
2904
|
2864
|
DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 83, MBASE(line));
|
|
@@ -2908,7 +2868,7 @@ void onDrawMaxAccelZ(MenuItemClass* menuitem, int8_t line) {
|
2908
|
2868
|
|
2909
|
2869
|
void onDrawMaxJerkZ(MenuItemClass* menuitem, int8_t line) {
|
2910
|
2870
|
if (HMI_IsChinese()) {
|
2911
|
|
- menuitem->SetFrame (1, 173, 133, 200, 147);
|
|
2871
|
+ menuitem->SetFrame(1, 173, 133, 200, 147);
|
2912
|
2872
|
DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(line));
|
2913
|
2873
|
DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(line));
|
2914
|
2874
|
DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 83, MBASE(line));
|
|
@@ -2919,7 +2879,7 @@ void onDrawMaxAccelZ(MenuItemClass* menuitem, int8_t line) {
|
2919
|
2879
|
#if HAS_HOTEND
|
2920
|
2880
|
void onDrawMaxJerkE(MenuItemClass* menuitem, int8_t line) {
|
2921
|
2881
|
if (HMI_IsChinese()) {
|
2922
|
|
- menuitem->SetFrame (1, 173, 133, 200, 147);
|
|
2882
|
+ menuitem->SetFrame(1, 173, 133, 200, 147);
|
2923
|
2883
|
DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(line));
|
2924
|
2884
|
DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(line));
|
2925
|
2885
|
DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 83, MBASE(line));
|
|
@@ -2927,11 +2887,12 @@ void onDrawMaxAccelZ(MenuItemClass* menuitem, int8_t line) {
|
2927
|
2887
|
onDrawPFloatMenu(menuitem, line);
|
2928
|
2888
|
}
|
2929
|
2889
|
#endif
|
|
2890
|
+
|
2930
|
2891
|
#endif // HAS_CLASSIC_JERK
|
2931
|
2892
|
|
2932
|
2893
|
void onDrawStepsX(MenuItemClass* menuitem, int8_t line) {
|
2933
|
2894
|
if (HMI_IsChinese()) {
|
2934
|
|
- menuitem->SetFrame (1, 153, 148, 194, 161);
|
|
2895
|
+ menuitem->SetFrame(1, 153, 148, 194, 161);
|
2935
|
2896
|
DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 44, MBASE(line)); // X
|
2936
|
2897
|
}
|
2937
|
2898
|
onDrawPFloatMenu(menuitem, line);
|
|
@@ -2939,7 +2900,7 @@ void onDrawStepsX(MenuItemClass* menuitem, int8_t line) {
|
2939
|
2900
|
|
2940
|
2901
|
void onDrawStepsY(MenuItemClass* menuitem, int8_t line) {
|
2941
|
2902
|
if (HMI_IsChinese()) {
|
2942
|
|
- menuitem->SetFrame (1, 153, 148, 194, 161);
|
|
2903
|
+ menuitem->SetFrame(1, 153, 148, 194, 161);
|
2943
|
2904
|
DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 44, MBASE(line)); // Y
|
2944
|
2905
|
}
|
2945
|
2906
|
onDrawPFloatMenu(menuitem, line);
|
|
@@ -2947,7 +2908,7 @@ void onDrawStepsY(MenuItemClass* menuitem, int8_t line) {
|
2947
|
2908
|
|
2948
|
2909
|
void onDrawStepsZ(MenuItemClass* menuitem, int8_t line) {
|
2949
|
2910
|
if (HMI_IsChinese()) {
|
2950
|
|
- menuitem->SetFrame (1, 153, 148, 194, 161);
|
|
2911
|
+ menuitem->SetFrame(1, 153, 148, 194, 161);
|
2951
|
2912
|
DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 44, MBASE(line)); // Z
|
2952
|
2913
|
}
|
2953
|
2914
|
onDrawPFloatMenu(menuitem, line);
|
|
@@ -2956,7 +2917,7 @@ void onDrawStepsZ(MenuItemClass* menuitem, int8_t line) {
|
2956
|
2917
|
#if HAS_HOTEND
|
2957
|
2918
|
void onDrawStepsE(MenuItemClass* menuitem, int8_t line) {
|
2958
|
2919
|
if (HMI_IsChinese()) {
|
2959
|
|
- menuitem->SetFrame (1, 153, 148, 194, 161);
|
|
2920
|
+ menuitem->SetFrame(1, 153, 148, 194, 161);
|
2960
|
2921
|
DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 44, MBASE(line)); // E
|
2961
|
2922
|
}
|
2962
|
2923
|
onDrawPFloatMenu(menuitem, line);
|
|
@@ -2986,7 +2947,7 @@ int8_t HMI_GetIntNoDraw(const int32_t lo, const int32_t hi) {
|
2986
|
2947
|
if (encoder_diffState != ENCODER_DIFF_NO) {
|
2987
|
2948
|
if (Apply_Encoder(encoder_diffState, HMI_value.Value)) {
|
2988
|
2949
|
EncoderRate.enabled = false;
|
2989
|
|
- checkkey = last_checkkey;
|
|
2950
|
+ checkkey = Menu;
|
2990
|
2951
|
return 2;
|
2991
|
2952
|
}
|
2992
|
2953
|
LIMIT(HMI_value.Value, lo, hi);
|
|
@@ -3008,7 +2969,7 @@ int8_t HMI_GetInt(const int32_t lo, const int32_t hi) {
|
3008
|
2969
|
if (Apply_Encoder(encoder_diffState, HMI_value.Value)) {
|
3009
|
2970
|
EncoderRate.enabled = false;
|
3010
|
2971
|
DWINUI::Draw_Int(HMI_data.Text_Color, HMI_data.Background_Color, 4 , VALX, MBASE(CurrentMenu->line()) - 1, HMI_value.Value);
|
3011
|
|
- checkkey = last_checkkey;
|
|
2972
|
+ checkkey = Menu;
|
3012
|
2973
|
return 2;
|
3013
|
2974
|
}
|
3014
|
2975
|
LIMIT(HMI_value.Value, lo, hi);
|
|
@@ -3048,7 +3009,7 @@ void HMI_SetPInt() {
|
3048
|
3009
|
} else if (HMI_value.LiveUpdate != nullptr) HMI_value.LiveUpdate();
|
3049
|
3010
|
}
|
3050
|
3011
|
|
3051
|
|
-// Get an scaled float value using the encoder
|
|
3012
|
+// Get a scaled float value using the encoder
|
3052
|
3013
|
// dp: decimal places
|
3053
|
3014
|
// lo: scaled low limit
|
3054
|
3015
|
// hi: scaled high limit
|
|
@@ -3062,7 +3023,7 @@ int8_t HMI_GetFloat(uint8_t dp, int32_t lo, int32_t hi) {
|
3062
|
3023
|
if (Apply_Encoder(encoder_diffState, HMI_value.Value)) {
|
3063
|
3024
|
EncoderRate.enabled = false;
|
3064
|
3025
|
DWINUI::Draw_Signed_Float(HMI_data.Text_Color, HMI_data.Background_Color, 3, dp, VALX - dp * DWINUI::Get_font_width(DWIN_FONT_MENU), MBASE(CurrentMenu->line()), HMI_value.Value / POW(10, dp));
|
3065
|
|
- checkkey = last_checkkey;
|
|
3026
|
+ checkkey = Menu;
|
3066
|
3027
|
return 2;
|
3067
|
3028
|
}
|
3068
|
3029
|
LIMIT(HMI_value.Value, lo, hi);
|
|
@@ -3072,38 +3033,34 @@ int8_t HMI_GetFloat(uint8_t dp, int32_t lo, int32_t hi) {
|
3072
|
3033
|
return 0;
|
3073
|
3034
|
}
|
3074
|
3035
|
|
3075
|
|
-// Set an scaled float using the encoder
|
|
3036
|
+// Set a scaled float using the encoder
|
3076
|
3037
|
void HMI_SetFloat() {
|
3077
|
|
- int8_t val = HMI_GetFloat(HMI_value.dp, HMI_value.MinValue, HMI_value.MaxValue);
|
|
3038
|
+ const int8_t val = HMI_GetFloat(HMI_value.dp, HMI_value.MinValue, HMI_value.MaxValue);
|
3078
|
3039
|
switch (val) {
|
3079
|
|
- case 0: return; break;
|
|
3040
|
+ case 0: return;
|
3080
|
3041
|
case 1: if (HMI_value.LiveUpdate != nullptr) HMI_value.LiveUpdate(); break;
|
3081
|
3042
|
case 2: if (HMI_value.Apply != nullptr) HMI_value.Apply(); break;
|
3082
|
3043
|
}
|
3083
|
3044
|
}
|
3084
|
3045
|
|
3085
|
|
-// Set an scaled float pointer variable using the encoder
|
|
3046
|
+// Set a scaled float pointer variable using the encoder
|
3086
|
3047
|
void HMI_SetPFloat() {
|
3087
|
|
- int8_t val = HMI_GetFloat(HMI_value.dp, HMI_value.MinValue, HMI_value.MaxValue);
|
|
3048
|
+ const int8_t val = HMI_GetFloat(HMI_value.dp, HMI_value.MinValue, HMI_value.MaxValue);
|
3088
|
3049
|
if (!val) return;
|
3089
|
|
- else if (val == 2) { // Apply
|
|
3050
|
+ if (val == 2) { // Apply
|
3090
|
3051
|
*HMI_value.P_Float = HMI_value.Value / POW(10, HMI_value.dp);
|
3091
|
3052
|
if (HMI_value.Apply != nullptr) HMI_value.Apply();
|
3092
|
|
- } else if (HMI_value.LiveUpdate != nullptr) HMI_value.LiveUpdate();
|
|
3053
|
+ }
|
|
3054
|
+ else if (HMI_value.LiveUpdate != nullptr) HMI_value.LiveUpdate();
|
3093
|
3055
|
}
|
3094
|
3056
|
|
3095
|
3057
|
// Menu Creation and Drawing functions ======================================================
|
3096
|
3058
|
|
3097
|
3059
|
void SetMenuTitle(frame_rect_t cn, frame_rect_t en, const __FlashStringHelper* text) {
|
3098
|
|
- if (HMI_IsChinese() && (cn.w != 0))
|
3099
|
|
- CurrentMenu->MenuTitle.SetFrame(cn.x, cn.y, cn.w, cn.h);
|
3100
|
|
- else {
|
3101
|
|
- #ifdef USE_STRING_HEADINGS
|
3102
|
|
- CurrentMenu->MenuTitle.SetCaption(text);
|
3103
|
|
- #else
|
3104
|
|
- if (en.w != 0) CurrentMenu->MenuTitle.SetFrame(en.x, en.y, en.w, en.h);
|
3105
|
|
- #endif
|
3106
|
|
- }
|
|
3060
|
+ if (HMI_IsChinese() && (cn.w != 0))
|
|
3061
|
+ CurrentMenu->MenuTitle.SetFrame(cn.x, cn.y, cn.w, cn.h);
|
|
3062
|
+ else
|
|
3063
|
+ CurrentMenu->MenuTitle.SetCaption(text);
|
3107
|
3064
|
}
|
3108
|
3065
|
|
3109
|
3066
|
void Draw_Prepare_Menu() {
|
|
@@ -3301,7 +3258,8 @@ void Draw_Move_Menu() {
|
3301
|
3258
|
}
|
3302
|
3259
|
CurrentMenu->Draw();
|
3303
|
3260
|
}
|
3304
|
|
-#endif
|
|
3261
|
+#endif // HAS_FILAMENT_SENSOR
|
|
3262
|
+
|
3305
|
3263
|
void Draw_SelectColors_Menu() {
|
3306
|
3264
|
checkkey = Menu;
|
3307
|
3265
|
if (SelectColorMenu == nullptr) SelectColorMenu = new MenuClass();
|
|
@@ -3441,6 +3399,7 @@ void Draw_Motion_Menu() {
|
3441
|
3399
|
#endif
|
3442
|
3400
|
|
3443
|
3401
|
#if HAS_PREHEAT
|
|
3402
|
+
|
3444
|
3403
|
void Draw_Preheat_Menu(frame_rect_t cn, frame_rect_t en, const __FlashStringHelper* text) {
|
3445
|
3404
|
checkkey = Menu;
|
3446
|
3405
|
if (CurrentMenu != PreheatMenu) {
|
|
@@ -3485,7 +3444,7 @@ void Draw_Motion_Menu() {
|
3485
|
3444
|
}
|
3486
|
3445
|
#endif
|
3487
|
3446
|
|
3488
|
|
-#endif
|
|
3447
|
+#endif // HAS_PREHEAT
|
3489
|
3448
|
|
3490
|
3449
|
void Draw_Temperature_Menu() {
|
3491
|
3450
|
checkkey = Menu;
|
|
@@ -3653,5 +3612,4 @@ void Draw_Steps_Menu() {
|
3653
|
3612
|
}
|
3654
|
3613
|
#endif
|
3655
|
3614
|
|
3656
|
|
-
|
3657
|
3615
|
#endif // DWIN_CREALITY_LCD_ENHANCED
|