|
@@ -486,24 +486,31 @@ void Clear_Popup_Area() {
|
486
|
486
|
DWIN_Draw_Rectangle(1, HMI_data.Background_Color, 0, 31, DWIN_WIDTH, DWIN_HEIGHT);
|
487
|
487
|
}
|
488
|
488
|
|
489
|
|
-void DWIN_Draw_Popup(uint8_t icon=0, const char * const msg1=nullptr, const char * const msg2=nullptr, uint8_t button=0) {
|
|
489
|
+void DWIN_Draw_Popup1(const uint8_t icon) {
|
490
|
490
|
DWINUI::ClearMenuArea();
|
491
|
491
|
Draw_Popup_Bkgd_60();
|
492
|
492
|
if (icon) DWINUI::Draw_Icon(icon, 101, 105);
|
493
|
|
- if (msg1) DWINUI::Draw_CenteredString(HMI_data.PopupTxt_Color, 210, msg1);
|
494
|
|
- if (msg2) DWINUI::Draw_CenteredString(HMI_data.PopupTxt_Color, 240, msg2);
|
|
493
|
+}
|
|
494
|
+void DWIN_Draw_Popup2(FSTR_P const fmsg2, uint8_t button) {
|
|
495
|
+ if (fmsg2) DWINUI::Draw_CenteredString(HMI_data.PopupTxt_Color, 240, fmsg2);
|
495
|
496
|
if (button) DWINUI::Draw_Icon(button, 86, 280);
|
496
|
497
|
}
|
497
|
498
|
|
498
|
|
-void DWIN_Popup_Confirm(uint8_t icon, const char * const msg1, const char * const msg2) {
|
499
|
|
- HMI_SaveProcessID(WaitResponse);
|
500
|
|
- DWIN_Draw_Popup(icon, msg1, msg2, ICON_Confirm_E); // Button Confirm
|
501
|
|
- DWIN_UpdateLCD();
|
|
499
|
+void DWIN_Draw_Popup(const uint8_t icon, const char * const cmsg1, FSTR_P const fmsg2, uint8_t button) {
|
|
500
|
+ DWIN_Draw_Popup1(icon);
|
|
501
|
+ if (cmsg1) DWINUI::Draw_CenteredString(HMI_data.PopupTxt_Color, 210, cmsg1);
|
|
502
|
+ DWIN_Draw_Popup2(fmsg2, button);
|
|
503
|
+}
|
|
504
|
+
|
|
505
|
+void DWIN_Draw_Popup(const uint8_t icon, FSTR_P const fmsg1, FSTR_P const fmsg2, uint8_t button) {
|
|
506
|
+ DWIN_Draw_Popup1(icon);
|
|
507
|
+ if (fmsg1) DWINUI::Draw_CenteredString(HMI_data.PopupTxt_Color, 210, fmsg1);
|
|
508
|
+ DWIN_Draw_Popup2(fmsg2, button);
|
502
|
509
|
}
|
503
|
510
|
|
504
|
|
-void DWIN_Popup_Continue(uint8_t icon, const char * const msg1, const char * const msg2) {
|
|
511
|
+void DWIN_Popup_Continue(const uint8_t icon, FSTR_P const fmsg1, FSTR_P const fmsg2) {
|
505
|
512
|
HMI_SaveProcessID(WaitResponse);
|
506
|
|
- DWIN_Draw_Popup(icon, msg1, msg2, ICON_Continue_E); // Button Continue
|
|
513
|
+ DWIN_Draw_Popup(icon, fmsg1, fmsg2, ICON_Continue_E); // Button Continue
|
507
|
514
|
DWIN_UpdateLCD();
|
508
|
515
|
}
|
509
|
516
|
|
|
@@ -521,7 +528,7 @@ void DWIN_Popup_Continue(uint8_t icon, const char * const msg1, const char * con
|
521
|
528
|
DWIN_UpdateLCD();
|
522
|
529
|
}
|
523
|
530
|
else
|
524
|
|
- DWIN_Popup_Confirm(ICON_TempTooLow, "Nozzle is too cold", "Preheat the hotend");
|
|
531
|
+ DWIN_Popup_Confirm(ICON_TempTooLow, F("Nozzle is too cold"), F("Preheat the hotend"));
|
525
|
532
|
}
|
526
|
533
|
|
527
|
534
|
#endif
|
|
@@ -565,7 +572,7 @@ void Popup_window_PauseOrStop() {
|
565
|
572
|
DWINUI::Draw_Icon(ICON_Cancel_C, 146, 280);
|
566
|
573
|
}
|
567
|
574
|
else {
|
568
|
|
- DWIN_Draw_Popup(ICON_BLTouch, "Please confirm", select_print.now == PRINT_PAUSE_RESUME ? GET_TEXT(MSG_PAUSE_PRINT) : GET_TEXT(MSG_STOP_PRINT));
|
|
575
|
+ DWIN_Draw_Popup(ICON_BLTouch, F("Please confirm"), select_print.now == PRINT_PAUSE_RESUME ? GET_TEXT_F(MSG_PAUSE_PRINT) : GET_TEXT_F(MSG_STOP_PRINT));
|
569
|
576
|
DWINUI::Draw_Icon(ICON_Confirm_E, 26, 280);
|
570
|
577
|
DWINUI::Draw_Icon(ICON_Cancel_E, 146, 280);
|
571
|
578
|
}
|
|
@@ -1386,7 +1393,7 @@ void HMI_PauseOrStop() {
|
1386
|
1393
|
#ifdef ACTION_ON_CANCEL
|
1387
|
1394
|
host_action_cancel();
|
1388
|
1395
|
#endif
|
1389
|
|
- DWIN_Draw_Popup(ICON_BLTouch, "Stopping..." , "Please wait until done.");
|
|
1396
|
+ DWIN_Draw_Popup(ICON_BLTouch, F("Stopping...") , F("Please wait until done."));
|
1390
|
1397
|
}
|
1391
|
1398
|
else
|
1392
|
1399
|
Goto_PrintProcess(); // cancel stop
|
|
@@ -1644,7 +1651,7 @@ void HMI_SaveProcessID(const uint8_t id) {
|
1644
|
1651
|
void DWIN_StartHoming() {
|
1645
|
1652
|
HMI_flag.home_flag = true;
|
1646
|
1653
|
HMI_SaveProcessID(Homing);
|
1647
|
|
- DWIN_Draw_Popup(ICON_BLTouch, "Axis Homing", "Please wait until done.");
|
|
1654
|
+ DWIN_Draw_Popup(ICON_BLTouch, F("Axis Homing"), F("Please wait until done."));
|
1648
|
1655
|
}
|
1649
|
1656
|
|
1650
|
1657
|
void DWIN_CompletedHoming() {
|
|
@@ -1659,7 +1666,7 @@ void DWIN_CompletedHoming() {
|
1659
|
1666
|
void DWIN_MeshLevelingStart() {
|
1660
|
1667
|
#if HAS_ONESTEP_LEVELING
|
1661
|
1668
|
HMI_SaveProcessID(Leveling);
|
1662
|
|
- DWIN_Draw_Popup(ICON_AutoLeveling, GET_TEXT(MSG_BED_LEVELING), "Please wait until done.");
|
|
1669
|
+ DWIN_Draw_Popup(ICON_AutoLeveling, GET_TEXT_F(MSG_BED_LEVELING), F("Please wait until done."));
|
1663
|
1670
|
#elif ENABLED(MESH_BED_LEVELING)
|
1664
|
1671
|
Draw_ManualMesh_Menu();
|
1665
|
1672
|
#endif
|
|
@@ -1682,27 +1689,27 @@ void DWIN_PidTuning(pidresult_t result) {
|
1682
|
1689
|
switch (result) {
|
1683
|
1690
|
case PID_BED_START:
|
1684
|
1691
|
HMI_SaveProcessID(NothingToDo);
|
1685
|
|
- DWIN_Draw_Popup(ICON_TempTooHigh, GET_TEXT(MSG_PID_AUTOTUNE), "for BED is running.");
|
|
1692
|
+ DWIN_Draw_Popup(ICON_TempTooHigh, GET_TEXT_F(MSG_PID_AUTOTUNE), F("for BED is running."));
|
1686
|
1693
|
break;
|
1687
|
1694
|
case PID_EXTR_START:
|
1688
|
1695
|
HMI_SaveProcessID(NothingToDo);
|
1689
|
|
- DWIN_Draw_Popup(ICON_TempTooHigh, GET_TEXT(MSG_PID_AUTOTUNE), "for Nozzle is running.");
|
|
1696
|
+ DWIN_Draw_Popup(ICON_TempTooHigh, GET_TEXT_F(MSG_PID_AUTOTUNE), F("for Nozzle is running."));
|
1690
|
1697
|
break;
|
1691
|
1698
|
case PID_BAD_EXTRUDER_NUM:
|
1692
|
1699
|
checkkey = last_checkkey;
|
1693
|
|
- DWIN_Popup_Confirm(ICON_TempTooLow, "PID Autotune failed!", "Bad extruder");
|
|
1700
|
+ DWIN_Popup_Confirm(ICON_TempTooLow, F("PID Autotune failed!"), F("Bad extruder"));
|
1694
|
1701
|
break;
|
1695
|
1702
|
case PID_TUNING_TIMEOUT:
|
1696
|
1703
|
checkkey = last_checkkey;
|
1697
|
|
- DWIN_Popup_Confirm(ICON_TempTooHigh, "Error", GET_TEXT(MSG_PID_TIMEOUT));
|
|
1704
|
+ DWIN_Popup_Confirm(ICON_TempTooHigh, F("Error"), GET_TEXT_F(MSG_PID_TIMEOUT));
|
1698
|
1705
|
break;
|
1699
|
1706
|
case PID_TEMP_TOO_HIGH:
|
1700
|
1707
|
checkkey = last_checkkey;
|
1701
|
|
- DWIN_Popup_Confirm(ICON_TempTooHigh, "PID Autotune failed!", "Temperature too high");
|
|
1708
|
+ DWIN_Popup_Confirm(ICON_TempTooHigh, F("PID Autotune failed!"), F("Temperature too high"));
|
1702
|
1709
|
break;
|
1703
|
1710
|
case PID_DONE:
|
1704
|
1711
|
checkkey = last_checkkey;
|
1705
|
|
- DWIN_Popup_Confirm(ICON_TempTooLow, GET_TEXT(MSG_PID_AUTOTUNE), GET_TEXT(MSG_BUTTON_DONE));
|
|
1712
|
+ DWIN_Popup_Confirm(ICON_TempTooLow, GET_TEXT_F(MSG_PID_AUTOTUNE), GET_TEXT_F(MSG_BUTTON_DONE));
|
1706
|
1713
|
break;
|
1707
|
1714
|
default:
|
1708
|
1715
|
checkkey = last_checkkey;
|
|
@@ -1864,24 +1871,24 @@ void DWIN_Redraw_screen() {
|
1864
|
1871
|
|
1865
|
1872
|
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
1866
|
1873
|
|
1867
|
|
- void DWIN_Popup_Pause(const char *msg, uint8_t button = 0) {
|
|
1874
|
+ void DWIN_Popup_Pause(FSTR_P const fmsg, uint8_t button = 0) {
|
1868
|
1875
|
HMI_SaveProcessID(button ? WaitResponse : NothingToDo);
|
1869
|
|
- DWIN_Draw_Popup(ICON_BLTouch, "Advanced Pause", msg, button);
|
|
1876
|
+ DWIN_Draw_Popup(ICON_BLTouch, F("Advanced Pause"), fmsg, button);
|
1870
|
1877
|
ui.reset_status(true);
|
1871
|
1878
|
}
|
1872
|
1879
|
|
1873
|
1880
|
void MarlinUI::pause_show_message(const PauseMessage message, const PauseMode mode/*=PAUSE_MODE_SAME*/, const uint8_t extruder/*=active_extruder*/) {
|
1874
|
1881
|
switch (message) {
|
1875
|
|
- case PAUSE_MESSAGE_PARKING: DWIN_Popup_Pause(GET_TEXT(MSG_PAUSE_PRINT_PARKING)); break;
|
1876
|
|
- case PAUSE_MESSAGE_CHANGING: DWIN_Popup_Pause(GET_TEXT(MSG_FILAMENT_CHANGE_INIT)); break;
|
1877
|
|
- case PAUSE_MESSAGE_UNLOAD: DWIN_Popup_Pause(GET_TEXT(MSG_FILAMENT_CHANGE_UNLOAD)); break;
|
1878
|
|
- case PAUSE_MESSAGE_WAITING: DWIN_Popup_Pause(GET_TEXT(MSG_ADVANCED_PAUSE_WAITING), ICON_Continue_E); break;
|
1879
|
|
- case PAUSE_MESSAGE_INSERT: DWIN_Popup_Continue(ICON_BLTouch, "Advanced Pause", GET_TEXT(MSG_FILAMENT_CHANGE_INSERT)); break;
|
1880
|
|
- case PAUSE_MESSAGE_LOAD: DWIN_Popup_Pause(GET_TEXT(MSG_FILAMENT_CHANGE_LOAD)); break;
|
1881
|
|
- case PAUSE_MESSAGE_PURGE: DWIN_Popup_Pause(GET_TEXT(MSG_FILAMENT_CHANGE_PURGE)); break;
|
|
1882
|
+ case PAUSE_MESSAGE_PARKING: DWIN_Popup_Pause(GET_TEXT_F(MSG_PAUSE_PRINT_PARKING)); break;
|
|
1883
|
+ case PAUSE_MESSAGE_CHANGING: DWIN_Popup_Pause(GET_TEXT_F(MSG_FILAMENT_CHANGE_INIT)); break;
|
|
1884
|
+ case PAUSE_MESSAGE_UNLOAD: DWIN_Popup_Pause(GET_TEXT_F(MSG_FILAMENT_CHANGE_UNLOAD)); break;
|
|
1885
|
+ case PAUSE_MESSAGE_WAITING: DWIN_Popup_Pause(GET_TEXT_F(MSG_ADVANCED_PAUSE_WAITING), ICON_Continue_E); break;
|
|
1886
|
+ case PAUSE_MESSAGE_INSERT: DWIN_Popup_Continue(ICON_BLTouch, F("Advanced Pause"), GET_TEXT_F(MSG_FILAMENT_CHANGE_INSERT)); break;
|
|
1887
|
+ case PAUSE_MESSAGE_LOAD: DWIN_Popup_Pause(GET_TEXT_F(MSG_FILAMENT_CHANGE_LOAD)); break;
|
|
1888
|
+ case PAUSE_MESSAGE_PURGE: DWIN_Popup_Pause(GET_TEXT_F(MSG_FILAMENT_CHANGE_PURGE)); break;
|
1882
|
1889
|
case PAUSE_MESSAGE_OPTION: DWIN_Popup_FilamentPurge(); break;
|
1883
|
|
- case PAUSE_MESSAGE_RESUME: DWIN_Popup_Pause(GET_TEXT(MSG_FILAMENT_CHANGE_RESUME)); break;
|
1884
|
|
- case PAUSE_MESSAGE_HEAT: DWIN_Popup_Pause(GET_TEXT(MSG_FILAMENT_CHANGE_HEAT), ICON_Continue_E); break;
|
|
1890
|
+ case PAUSE_MESSAGE_RESUME: DWIN_Popup_Pause(GET_TEXT_F(MSG_FILAMENT_CHANGE_RESUME)); break;
|
|
1891
|
+ case PAUSE_MESSAGE_HEAT: DWIN_Popup_Pause(GET_TEXT_F(MSG_FILAMENT_CHANGE_HEAT), ICON_Continue_E); break;
|
1885
|
1892
|
case PAUSE_MESSAGE_HEATING: ui.set_status_P(GET_TEXT(MSG_FILAMENT_CHANGE_HEATING)); break;
|
1886
|
1893
|
case PAUSE_MESSAGE_STATUS: HMI_ReturnScreen(); break;
|
1887
|
1894
|
default: break;
|
|
@@ -1889,7 +1896,7 @@ void DWIN_Redraw_screen() {
|
1889
|
1896
|
}
|
1890
|
1897
|
|
1891
|
1898
|
void Draw_Popup_FilamentPurge() {
|
1892
|
|
- DWIN_Draw_Popup(ICON_BLTouch, "Advanced Pause", "Purge or Continue?");
|
|
1899
|
+ DWIN_Draw_Popup(ICON_BLTouch, F("Advanced Pause"), F("Purge or Continue?"));
|
1893
|
1900
|
DWINUI::Draw_Icon(ICON_Confirm_E, 26, 280);
|
1894
|
1901
|
DWINUI::Draw_Icon(ICON_Continue_E, 146, 280);
|
1895
|
1902
|
Draw_Select_Highlight(true);
|
|
@@ -1928,7 +1935,7 @@ void DWIN_Redraw_screen() {
|
1928
|
1935
|
#if HAS_MESH
|
1929
|
1936
|
void DWIN_MeshViewer() {
|
1930
|
1937
|
if (!leveling_is_valid())
|
1931
|
|
- DWIN_Popup_Continue(ICON_BLTouch, "Mesh viewer", "No valid mesh");
|
|
1938
|
+ DWIN_Popup_Continue(ICON_BLTouch, F("Mesh viewer"), F("No valid mesh"));
|
1932
|
1939
|
else {
|
1933
|
1940
|
HMI_SaveProcessID(WaitResponse);
|
1934
|
1941
|
MeshViewer.Draw();
|