Переглянути джерело

🚸 DWIN Enhanced improve, fix, and extend (#23240)

- Offset icon change to show mesh leveling status
- Reset extruder position when enter to Move menu
- New live end-stop diagnostic page
- Editable firmware retracts settings for Tune and filament settings menu
- Print Statistics page accessible from the Advanced Settings menu
- Reset printer draws the boot image
- Adds individual axes homing menu
- Adds probe deploy/stow to Probe Settings menu
- Updates lock screen
- Rebuilds main buttons to support text caption in other languages
- Increases probe offset limits to 60 mm
- Fix M303 PID variable update
- Fix Resume/Pause button update
- Fix redraw of print done
- Fix very large file name bug
- Fix bug in bed manual leveling
Miguel Risco-Castillo 3 роки тому
джерело
коміт
d58daaa42c
Аккаунт користувача з таким Email не знайдено
44 змінених файлів з 1071 додано та 526 видалено
  1. 1
    0
      Marlin/src/gcode/lcd/M0_M1.cpp
  2. 9
    2
      Marlin/src/gcode/temp/M303.cpp
  3. 379
    319
      Marlin/src/lcd/e3v2/enhanced/dwin.cpp
  4. 31
    60
      Marlin/src/lcd/e3v2/enhanced/dwin.h
  5. 92
    0
      Marlin/src/lcd/e3v2/enhanced/dwin_defines.h
  6. 1
    1
      Marlin/src/lcd/e3v2/enhanced/dwin_lcd.cpp
  7. 1
    1
      Marlin/src/lcd/e3v2/enhanced/dwin_lcd.h
  8. 55
    0
      Marlin/src/lcd/e3v2/enhanced/dwin_popup.cpp
  9. 62
    0
      Marlin/src/lcd/e3v2/enhanced/dwin_popup.h
  10. 2
    1
      Marlin/src/lcd/e3v2/enhanced/dwinui.cpp
  11. 30
    21
      Marlin/src/lcd/e3v2/enhanced/dwinui.h
  12. 109
    0
      Marlin/src/lcd/e3v2/enhanced/endstop_diag.cpp
  13. 37
    0
      Marlin/src/lcd/e3v2/enhanced/endstop_diag.h
  14. 4
    3
      Marlin/src/lcd/e3v2/enhanced/lockscreen.cpp
  15. 4
    3
      Marlin/src/lcd/e3v2/enhanced/lockscreen.h
  16. 15
    7
      Marlin/src/lcd/e3v2/enhanced/meshviewer.cpp
  17. 15
    7
      Marlin/src/lcd/e3v2/enhanced/meshviewer.h
  18. 76
    0
      Marlin/src/lcd/e3v2/enhanced/printstats.cpp
  19. 37
    0
      Marlin/src/lcd/e3v2/enhanced/printstats.h
  20. 1
    1
      Marlin/src/lcd/language/language_an.h
  21. 1
    1
      Marlin/src/lcd/language/language_ca.h
  22. 5
    5
      Marlin/src/lcd/language/language_cz.h
  23. 1
    1
      Marlin/src/lcd/language/language_da.h
  24. 1
    1
      Marlin/src/lcd/language/language_de.h
  25. 11
    1
      Marlin/src/lcd/language/language_en.h
  26. 1
    1
      Marlin/src/lcd/language/language_es.h
  27. 1
    1
      Marlin/src/lcd/language/language_eu.h
  28. 1
    1
      Marlin/src/lcd/language/language_fr.h
  29. 1
    1
      Marlin/src/lcd/language/language_gl.h
  30. 1
    1
      Marlin/src/lcd/language/language_hr.h
  31. 1
    1
      Marlin/src/lcd/language/language_hu.h
  32. 1
    1
      Marlin/src/lcd/language/language_it.h
  33. 1
    1
      Marlin/src/lcd/language/language_nl.h
  34. 1
    1
      Marlin/src/lcd/language/language_pl.h
  35. 1
    1
      Marlin/src/lcd/language/language_pt_br.h
  36. 1
    1
      Marlin/src/lcd/language/language_ro.h
  37. 37
    37
      Marlin/src/lcd/language/language_ru.h
  38. 1
    1
      Marlin/src/lcd/language/language_sk.h
  39. 1
    1
      Marlin/src/lcd/language/language_sv.h
  40. 1
    1
      Marlin/src/lcd/language/language_tr.h
  41. 37
    37
      Marlin/src/lcd/language/language_uk.h
  42. 1
    1
      Marlin/src/lcd/language/language_vi.h
  43. 1
    1
      Marlin/src/lcd/language/language_zh_CN.h
  44. 1
    1
      Marlin/src/lcd/language/language_zh_TW.h

+ 1
- 0
Marlin/src/gcode/lcd/M0_M1.cpp Переглянути файл

@@ -36,6 +36,7 @@
36 36
 #elif ENABLED(EXTENSIBLE_UI)
37 37
   #include "../../lcd/extui/ui_api.h"
38 38
 #elif ENABLED(DWIN_CREALITY_LCD_ENHANCED)
39
+  #include "../../lcd/e3v2/enhanced/dwin_popup.h"
39 40
   #include "../../lcd/e3v2/enhanced/dwin.h"
40 41
 #endif
41 42
 

+ 9
- 2
Marlin/src/gcode/temp/M303.cpp Переглянути файл

@@ -77,10 +77,17 @@ void GcodeSuite::M303() {
77 77
       return;
78 78
   }
79 79
 
80
-  const celsius_t temp = parser.celsiusval('S', default_temp);
81
-  const int c = parser.intval('C', 5);
80
+  const bool seenC = parser.seenval('C');
81
+  const int c = seenC ? parser.value_int() : 5;
82
+  const bool seenS = parser.seenval('S');
83
+  const celsius_t temp = seenS ? parser.value_celsius() : default_temp;
82 84
   const bool u = parser.boolval('U');
83 85
 
86
+  #if ENABLED(DWIN_CREALITY_LCD_ENHANCED)
87
+    if (seenC) HMI_data.PidCycles = c;
88
+    if (seenS) { if (hid == H_BED) HMI_data.BedPidT = temp; else HMI_data.HotendPidT = temp; }
89
+  #endif
90
+
84 91
   #if DISABLED(BUSY_WHILE_HEATING)
85 92
     KEEPALIVE_STATE(NOT_BUSY);
86 93
   #endif

+ 379
- 319
Marlin/src/lcd/e3v2/enhanced/dwin.cpp
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 31
- 60
Marlin/src/lcd/e3v2/enhanced/dwin.h Переглянути файл

@@ -24,8 +24,8 @@
24 24
 /**
25 25
  * DWIN UI Enhanced implementation
26 26
  * Author: Miguel A. Risco-Castillo
27
- * Version: 3.7.1
28
- * Date: 2021/11/09
27
+ * Version: 3.9.1
28
+ * Date: 2021/11/21
29 29
  */
30 30
 
31 31
 #include "../../../inc/MarlinConfigPre.h"
@@ -45,7 +45,7 @@
45 45
   #define HAS_ZOFFSET_ITEM 1
46 46
 #endif
47 47
 
48
-static constexpr size_t eeprom_data_size = 64;
48
+#include "dwin_defines.h"
49 49
 
50 50
 enum processID : uint8_t {
51 51
   // Process ID
@@ -59,11 +59,16 @@ enum processID : uint8_t {
59 59
   SelectFile,
60 60
   PrintProcess,
61 61
   PrintDone,
62
+  PwrlossRec,
63
+  Reboot,
62 64
   Info,
63 65
 
64 66
   // Popup Windows
65 67
   Homing,
66 68
   Leveling,
69
+  PidProcess,
70
+  ESDiagProcess,
71
+  PrintStatsProcess,
67 72
   PauseOrStop,
68 73
   FilamentPurge,
69 74
   WaitResponse,
@@ -98,39 +103,6 @@ typedef struct {
98 103
 } HMI_value_t;
99 104
 
100 105
 typedef struct {
101
-  uint16_t Background_Color = Def_Background_Color;
102
-  uint16_t Cursor_color     = Def_Cursor_color;
103
-  uint16_t TitleBg_color    = Def_TitleBg_color;
104
-  uint16_t TitleTxt_color   = Def_TitleTxt_color;
105
-  uint16_t Text_Color       = Def_Text_Color;
106
-  uint16_t Selected_Color   = Def_Selected_Color;
107
-  uint16_t SplitLine_Color  = Def_SplitLine_Color;
108
-  uint16_t Highlight_Color  = Def_Highlight_Color;
109
-  uint16_t StatusBg_Color   = Def_StatusBg_Color;
110
-  uint16_t StatusTxt_Color  = Def_StatusTxt_Color;
111
-  uint16_t PopupBg_color    = Def_PopupBg_color;
112
-  uint16_t PopupTxt_Color   = Def_PopupTxt_Color;
113
-  uint16_t AlertBg_Color    = Def_AlertBg_Color;
114
-  uint16_t AlertTxt_Color   = Def_AlertTxt_Color;
115
-  uint16_t PercentTxt_Color = Def_PercentTxt_Color;
116
-  uint16_t Barfill_Color    = Def_Barfill_Color;
117
-  uint16_t Indicator_Color  = Def_Indicator_Color;
118
-  uint16_t Coordinate_Color = Def_Coordinate_Color;
119
-  #if HAS_PREHEAT
120
-    #ifdef PREHEAT_1_TEMP_HOTEND
121
-      int16_t HotendPidT = PREHEAT_1_TEMP_HOTEND;
122
-      int16_t PidCycles = 10;
123
-    #endif
124
-    #ifdef PREHEAT_1_TEMP_BED
125
-      int16_t BedPidT = PREHEAT_1_TEMP_BED;
126
-    #endif
127
-  #endif
128
-  #if ENABLED(PREVENT_COLD_EXTRUSION)
129
-    int16_t ExtMinT = EXTRUDE_MINTEMP;
130
-  #endif
131
-} HMI_data_t;
132
-
133
-typedef struct {
134 106
   uint8_t language;
135 107
   bool pause_flag:1;    // printing is paused
136 108
   bool pause_action:1;  // flag a pause action
@@ -138,15 +110,24 @@ typedef struct {
138 110
   bool select_flag:1;   // Popup button selected
139 111
   bool home_flag:1;     // homing in course
140 112
   bool heat_flag:1;     // 0: heating done  1: during heating
141
-  bool lock_flag:1;     // 0: lock called from AdvSet  1: lock called from Tune
142 113
 } HMI_flag_t;
143 114
 
144 115
 extern HMI_value_t HMI_value;
145 116
 extern HMI_flag_t HMI_flag;
146
-extern HMI_data_t HMI_data;
147 117
 extern uint8_t checkkey;
148 118
 extern millis_t dwin_heat_time;
149 119
 
120
+// Popups
121
+#if HAS_HOTEND || HAS_HEATED_BED
122
+  void DWIN_Popup_Temperature(const bool toohigh);
123
+#endif
124
+#if HAS_HOTEND
125
+  void Popup_Window_ETempTooLow();
126
+#endif
127
+#if ENABLED(POWER_LOSS_RECOVERY)
128
+  void Popup_PowerLossRecovery();
129
+#endif
130
+
150 131
 // SD Card
151 132
 void HMI_SDCardInit();
152 133
 void HMI_SDCardUpdate();
@@ -154,8 +135,8 @@ void HMI_SDCardUpdate();
154 135
 // Other
155 136
 void Goto_PrintProcess();
156 137
 void Goto_Main_Menu();
157
-void Goto_InfoMenu();
158
-void Draw_Select_Highlight(const bool sel);
138
+void Goto_Info_Menu();
139
+void Goto_PowerLossRecovery();
159 140
 void Draw_Status_Area(const bool with_update); // Status Area
160 141
 void Draw_Main_Area();      // Redraw main area;
161 142
 void DWIN_Redraw_screen();  // Redraw all screen elements
@@ -204,11 +185,18 @@ void DWIN_RebootScreen();
204 185
 #endif
205 186
 
206 187
 // Utility and extensions
188
+void DWIN_LockScreen();
189
+void DWIN_UnLockScreen();
207 190
 void HMI_LockScreen();
208
-void DWIN_LockScreen(const bool flag = true);
209 191
 #if HAS_MESH
210 192
   void DWIN_MeshViewer();
211 193
 #endif
194
+#if HAS_ESDIAG
195
+  void Draw_EndStopDiag();
196
+#endif
197
+#if ENABLED(PRINTCOUNTER)
198
+  void Draw_PrintStats();
199
+#endif
212 200
 
213 201
 // HMI user control functions
214 202
 void HMI_Menu();
@@ -262,23 +250,6 @@ void Draw_Steps_Menu();
262 250
 #if EITHER(HAS_BED_PROBE, BABYSTEPPING)
263 251
   void Draw_ZOffsetWiz_Menu();
264 252
 #endif
265
-
266
-// Popup windows
267
-
268
-void DWIN_Draw_Popup(const uint8_t icon, const char * const cmsg1, FSTR_P const fmsg2, uint8_t button=0);
269
-void DWIN_Draw_Popup(const uint8_t icon, FSTR_P const fmsg1=nullptr, FSTR_P const fmsg2=nullptr, uint8_t button=0);
270
-
271
-template<typename T, typename U>
272
-void DWIN_Popup_Confirm(const uint8_t icon, T amsg1, U amsg2) {
273
-  HMI_SaveProcessID(WaitResponse);
274
-  DWIN_Draw_Popup(icon, amsg1, amsg2, ICON_Confirm_E);  // Button Confirm
275
-  DWIN_UpdateLCD();
276
-}
277
-
278
-#if HAS_HOTEND || HAS_HEATED_BED
279
-  void DWIN_Popup_Temperature(const bool toohigh);
280
-#endif
281
-#if HAS_HOTEND
282
-  void Popup_Window_ETempTooLow();
253
+#if ENABLED(INDIVIDUAL_AXIS_HOMING_SUBMENU)
254
+  void Draw_Homing_Menu();
283 255
 #endif
284
-void Popup_Window_Resume();

+ 92
- 0
Marlin/src/lcd/e3v2/enhanced/dwin_defines.h Переглянути файл

@@ -0,0 +1,92 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+#pragma once
23
+
24
+/**
25
+ * DWIN general defines and data structs
26
+ * Author: Miguel A. Risco-Castillo
27
+ * Version: 3.9.1
28
+ * Date: 2021/11/21
29
+ */
30
+
31
+#include "../../../core/types.h"
32
+#include "../common/dwin_color.h"
33
+
34
+#define Def_Background_Color  RGB( 1, 12,  8)
35
+#define Def_Cursor_color      RGB(20, 49, 31)
36
+#define Def_TitleBg_color     RGB( 0, 23, 16)
37
+#define Def_TitleTxt_color    Color_White
38
+#define Def_Text_Color        Color_White
39
+#define Def_Selected_Color    Select_Color
40
+#define Def_SplitLine_Color   RGB( 0, 23, 16)
41
+#define Def_Highlight_Color   Color_White
42
+#define Def_StatusBg_Color    RGB( 0, 23, 16)
43
+#define Def_StatusTxt_Color   Color_Yellow
44
+#define Def_PopupBg_color     Color_Bg_Window
45
+#define Def_PopupTxt_Color    Popup_Text_Color
46
+#define Def_AlertBg_Color     Color_Bg_Red
47
+#define Def_AlertTxt_Color    Color_Yellow
48
+#define Def_PercentTxt_Color  Percent_Color
49
+#define Def_Barfill_Color     BarFill_Color
50
+#define Def_Indicator_Color   Color_White
51
+#define Def_Coordinate_Color  Color_White
52
+
53
+#define HAS_ESDIAG 1
54
+#define DEFAULT_LCD_BRIGHTNESS 127
55
+
56
+typedef struct {
57
+// Color settings
58
+  uint16_t Background_Color = Def_Background_Color;
59
+  uint16_t Cursor_color     = Def_Cursor_color;
60
+  uint16_t TitleBg_color    = Def_TitleBg_color;
61
+  uint16_t TitleTxt_color   = Def_TitleTxt_color;
62
+  uint16_t Text_Color       = Def_Text_Color;
63
+  uint16_t Selected_Color   = Def_Selected_Color;
64
+  uint16_t SplitLine_Color  = Def_SplitLine_Color;
65
+  uint16_t Highlight_Color  = Def_Highlight_Color;
66
+  uint16_t StatusBg_Color   = Def_StatusBg_Color;
67
+  uint16_t StatusTxt_Color  = Def_StatusTxt_Color;
68
+  uint16_t PopupBg_color    = Def_PopupBg_color;
69
+  uint16_t PopupTxt_Color   = Def_PopupTxt_Color;
70
+  uint16_t AlertBg_Color    = Def_AlertBg_Color;
71
+  uint16_t AlertTxt_Color   = Def_AlertTxt_Color;
72
+  uint16_t PercentTxt_Color = Def_PercentTxt_Color;
73
+  uint16_t Barfill_Color    = Def_Barfill_Color;
74
+  uint16_t Indicator_Color  = Def_Indicator_Color;
75
+  uint16_t Coordinate_Color = Def_Coordinate_Color;
76
+//
77
+  #if defined(PREHEAT_1_TEMP_HOTEND) && HAS_HOTEND
78
+    int16_t HotendPidT = PREHEAT_1_TEMP_HOTEND;
79
+  #endif
80
+  #if defined(PREHEAT_1_TEMP_BED) && HAS_HEATED_BED
81
+    int16_t BedPidT = PREHEAT_1_TEMP_BED;
82
+  #endif
83
+  #if ANY(HAS_HOTEND, HAS_HEATED_BED)
84
+    int16_t PidCycles = 10;
85
+  #endif
86
+  #if ENABLED(PREVENT_COLD_EXTRUSION)
87
+    int16_t ExtMinT = EXTRUDE_MINTEMP;
88
+  #endif
89
+} HMI_data_t;
90
+
91
+static constexpr size_t eeprom_data_size = 64;
92
+extern HMI_data_t HMI_data;

+ 1
- 1
Marlin/src/lcd/e3v2/enhanced/dwin_lcd.cpp Переглянути файл

@@ -23,7 +23,7 @@
23 23
 /**
24 24
  * DWIN UI Enhanced implementation
25 25
  * Author: Miguel A. Risco-Castillo
26
- * Version: 3.7.1
26
+ * Version: 3.8.1
27 27
  * Date: 2021/11/09
28 28
  */
29 29
 

+ 1
- 1
Marlin/src/lcd/e3v2/enhanced/dwin_lcd.h Переглянути файл

@@ -24,7 +24,7 @@
24 24
 /**
25 25
  * DWIN UI Enhanced implementation
26 26
  * Author: Miguel A. Risco-Castillo
27
- * Version: 3.7.1
27
+ * Version: 3.8.1
28 28
  * Date: 2021/11/09
29 29
  */
30 30
 

+ 55
- 0
Marlin/src/lcd/e3v2/enhanced/dwin_popup.cpp Переглянути файл

@@ -0,0 +1,55 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+
23
+/**
24
+ * DWIN UI Enhanced implementation
25
+ * Author: Miguel A. Risco-Castillo
26
+ * Version: 3.8.1
27
+ * Date: 2021/11/06
28
+ */
29
+
30
+#include "dwin.h"
31
+#include "dwin_popup.h"
32
+
33
+void Draw_Select_Highlight(const bool sel) {
34
+  HMI_flag.select_flag = sel;
35
+  const uint16_t c1 = sel ? HMI_data.Highlight_Color : HMI_data.PopupBg_color,
36
+                 c2 = sel ? HMI_data.PopupBg_color : HMI_data.Highlight_Color;
37
+  DWIN_Draw_Rectangle(0, c1, 25, 279, 126, 318);
38
+  DWIN_Draw_Rectangle(0, c1, 24, 278, 127, 319);
39
+  DWIN_Draw_Rectangle(0, c2, 145, 279, 246, 318);
40
+  DWIN_Draw_Rectangle(0, c2, 144, 278, 247, 319);
41
+}
42
+
43
+void DWIN_Popup_Continue(const uint8_t icon, FSTR_P const fmsg1, FSTR_P const fmsg2) {
44
+  HMI_SaveProcessID(WaitResponse);
45
+  DWIN_Draw_Popup(icon, fmsg1, fmsg2, ICON_Continue_E);  // Button Continue
46
+  DWIN_UpdateLCD();
47
+}
48
+
49
+void DWIN_Popup_ConfirmCancel(const uint8_t icon, FSTR_P const fmsg2) {
50
+  DWIN_Draw_Popup(ICON_BLTouch, F("Please confirm"), fmsg2);
51
+  DWINUI::Draw_Icon(ICON_Confirm_E, 26, 280);
52
+  DWINUI::Draw_Icon(ICON_Cancel_E, 146, 280);
53
+  Draw_Select_Highlight(true);
54
+  DWIN_UpdateLCD();
55
+}

+ 62
- 0
Marlin/src/lcd/e3v2/enhanced/dwin_popup.h Переглянути файл

@@ -0,0 +1,62 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+#pragma once
23
+
24
+/**
25
+ * DWIN UI Enhanced implementation
26
+ * Author: Miguel A. Risco-Castillo
27
+ * Version: 3.8.1
28
+ * Date: 2021/11/06
29
+ */
30
+
31
+#include "dwinui.h"
32
+#include "dwin.h"
33
+
34
+// Popup windows
35
+
36
+void Draw_Select_Highlight(const bool sel);
37
+
38
+inline void Draw_Popup_Bkgd() {
39
+  DWIN_Draw_Rectangle(1, HMI_data.PopupBg_color, 14, 60, 258, 330);
40
+  DWIN_Draw_Rectangle(0, HMI_data.Highlight_Color, 14, 60, 258, 330);
41
+}
42
+
43
+template<typename T, typename U>
44
+void DWIN_Draw_Popup(const uint8_t icon, T amsg1=nullptr, U amsg2=nullptr, uint8_t button=0) {
45
+  DWINUI::ClearMenuArea();
46
+  Draw_Popup_Bkgd();
47
+  if (icon) DWINUI::Draw_Icon(icon, 101, 105);
48
+  if (amsg1) DWINUI::Draw_CenteredString(HMI_data.PopupTxt_Color, 210, amsg1);
49
+  if (amsg2) DWINUI::Draw_CenteredString(HMI_data.PopupTxt_Color, 240, amsg2);
50
+  if (button) DWINUI::Draw_Icon(button, 86, 280);
51
+}
52
+
53
+template<typename T, typename U>
54
+void DWIN_Popup_Confirm(const uint8_t icon, T amsg1, U amsg2) {
55
+  HMI_SaveProcessID(WaitResponse);
56
+  DWIN_Draw_Popup(icon, amsg1, amsg2, ICON_Confirm_E);  // Button Confirm
57
+  DWIN_UpdateLCD();
58
+}
59
+
60
+void DWIN_Popup_Continue(const uint8_t icon, FSTR_P const fmsg1, FSTR_P const fmsg2);
61
+
62
+void DWIN_Popup_ConfirmCancel(const uint8_t icon, FSTR_P const fmsg2);

+ 2
- 1
Marlin/src/lcd/e3v2/enhanced/dwinui.cpp Переглянути файл

@@ -23,7 +23,7 @@
23 23
 /**
24 24
  * DWIN UI Enhanced implementation
25 25
  * Author: Miguel A. Risco-Castillo
26
- * Version: 3.7.1
26
+ * Version: 3.8.1
27 27
  * Date: 2021/11/09
28 28
  */
29 29
 
@@ -34,6 +34,7 @@
34 34
 #include "../../../inc/MarlinConfig.h"
35 35
 #include "dwin_lcd.h"
36 36
 #include "dwinui.h"
37
+#include "dwin_defines.h"
37 38
 
38 39
 //#define DEBUG_OUT 1
39 40
 #include "../../../core/debug_out.h"

+ 30
- 21
Marlin/src/lcd/e3v2/enhanced/dwinui.h Переглянути файл

@@ -24,8 +24,8 @@
24 24
 /**
25 25
  * DWIN UI Enhanced implementation
26 26
  * Author: Miguel A. Risco-Castillo
27
- * Version: 3.7.1
28
- * Date: 2021/11/09
27
+ * Version: 3.9.1
28
+ * Date: 2021/11/21
29 29
  */
30 30
 
31 31
 #include "dwin_lcd.h"
@@ -38,12 +38,20 @@
38 38
 #define ICON_Cancel               ICON_StockConfiguration
39 39
 #define ICON_CustomPreheat        ICON_SetEndTemp
40 40
 #define ICON_Error                ICON_TempTooHigh
41
+#define ICON_ESDiag               ICON_Info
41 42
 #define ICON_ExtrudeMinT          ICON_HotendTemp
42 43
 #define ICON_FilLoad              ICON_WriteEEPROM
43 44
 #define ICON_FilMan               ICON_ResumeEEPROM
44 45
 #define ICON_FilSet               ICON_ResumeEEPROM
45 46
 #define ICON_FilUnload            ICON_ReadEEPROM
46 47
 #define ICON_Flow                 ICON_StepE
48
+#define ICON_FWRetLength          ICON_StepE
49
+#define ICON_FWRetSpeed           ICON_Setspeed
50
+#define ICON_FWRetZRaise          ICON_MoveZ
51
+#define ICON_FWRecSpeed           ICON_Setspeed
52
+#define ICON_HomeX                ICON_MoveX
53
+#define ICON_HomeY                ICON_MoveY
54
+#define ICON_HomeZ                ICON_MoveZ
47 55
 #define ICON_LevBed               ICON_SetEndTemp
48 56
 #define ICON_Lock                 ICON_Cool
49 57
 #define ICON_ManualMesh           ICON_HotendTemp
@@ -52,9 +60,14 @@
52 60
 #define ICON_MeshViewer           ICON_HotendTemp
53 61
 #define ICON_MoveZ0               ICON_HotendTemp
54 62
 #define ICON_Park                 ICON_Motion
63
+#define ICON_PIDbed               ICON_SetBedTemp
55 64
 #define ICON_PIDcycles            ICON_ResumeEEPROM
56 65
 #define ICON_PIDValue             ICON_Contact
66
+#define ICON_PrintStats           ICON_PrintTime
67
+#define ICON_PrintStatsReset      ICON_RemainTime
68
+#define ICON_ProbeDeploy          ICON_SetEndTemp
57 69
 #define ICON_ProbeSet             ICON_SetEndTemp
70
+#define ICON_ProbeStow            ICON_SetEndTemp
58 71
 #define ICON_ProbeTest            ICON_SetEndTemp
59 72
 #define ICON_Pwrlossr             ICON_Motion
60 73
 #define ICON_Reboot               ICON_ResumeEEPROM
@@ -63,25 +76,11 @@
63 76
 #define ICON_SetCustomPreheat     ICON_SetEndTemp
64 77
 #define ICON_Sound                ICON_Cool
65 78
 
66
-// Default UI Colors
67
-#define Def_Background_Color  Color_Bg_Black
68
-#define Def_Cursor_color      Rectangle_Color
69
-#define Def_TitleBg_color     Color_Bg_Blue
70
-#define Def_TitleTxt_color    Color_White
71
-#define Def_Text_Color        Color_White
72
-#define Def_Selected_Color    Select_Color
73
-#define Def_SplitLine_Color   Line_Color
74
-#define Def_Highlight_Color   Color_White
75
-#define Def_StatusBg_Color    RGB(0,20,20)
76
-#define Def_StatusTxt_Color   Color_Yellow
77
-#define Def_PopupBg_color     Color_Bg_Window
78
-#define Def_PopupTxt_Color    Popup_Text_Color
79
-#define Def_AlertBg_Color     Color_Bg_Red
80
-#define Def_AlertTxt_Color    Color_Yellow
81
-#define Def_PercentTxt_Color  Percent_Color
82
-#define Def_Barfill_Color     BarFill_Color
83
-#define Def_Indicator_Color   Color_White
84
-#define Def_Coordinate_Color   Color_White
79
+// Extended and default UI Colors
80
+#define Color_Black           0
81
+#define Color_Green           RGB(0,63,0)
82
+#define Color_Aqua            RGB(0,63,31)
83
+#define Color_Blue            RGB(0,0,31)
85 84
 
86 85
 // UI element defines and constants
87 86
 #define DWIN_FONT_MENU font8x16
@@ -197,9 +196,11 @@ namespace DWINUI {
197 196
 
198 197
   // Get font character width
199 198
   uint8_t fontWidth(uint8_t cfont);
199
+  inline uint8_t fontWidth() { return fontWidth(font); };
200 200
 
201 201
   // Get font character height
202 202
   uint8_t fontHeight(uint8_t cfont);
203
+  inline uint8_t fontHeight() { return fontHeight(font); };
203 204
 
204 205
   // Get screen x coordinates from text column
205 206
   uint16_t ColToX(uint8_t col);
@@ -412,6 +413,14 @@ namespace DWINUI {
412 413
     Draw_CenteredString(false, font, textcolor, backcolor, y, title);
413 414
   }
414 415
 
416
+  // Draw a box
417
+  //  mode: 0=frame, 1=fill, 2=XOR fill
418
+  //  color: Rectangle color
419
+  //  frame: Box coordinates and size
420
+  inline void Draw_Box(uint8_t mode, uint16_t color, frame_rect_t frame) {
421
+    DWIN_Draw_Box(mode, color, frame.x, frame.y, frame.w, frame.h);
422
+  }
423
+
415 424
   // Draw a circle
416 425
   //  Color: circle color
417 426
   //  x: abscissa of the center of the circle

+ 109
- 0
Marlin/src/lcd/e3v2/enhanced/endstop_diag.cpp Переглянути файл

@@ -0,0 +1,109 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+
23
+/**
24
+ * DWIN End Stops diagnostic page
25
+ * Author: Miguel A. Risco-Castillo
26
+ * Version: 1.0
27
+ * Date: 2021/11/06
28
+ */
29
+
30
+#include "../../../inc/MarlinConfigPre.h"
31
+#include "dwin_defines.h"
32
+
33
+#if BOTH(DWIN_CREALITY_LCD_ENHANCED, HAS_ESDIAG)
34
+
35
+#include "endstop_diag.h"
36
+
37
+#include "../../../core/types.h"
38
+#include "../../marlinui.h"
39
+#include "dwin_lcd.h"
40
+#include "dwinui.h"
41
+#include "dwin_popup.h"
42
+#include "dwin.h"
43
+
44
+#if HAS_FILAMENT_SENSOR
45
+  #include "../../../feature/runout.h"
46
+#endif
47
+
48
+#if HAS_BED_PROBE
49
+  #include "../../../module/probe.h"
50
+#endif
51
+
52
+ESDiagClass ESDiag;
53
+
54
+void draw_es_label(FSTR_P const flabel=nullptr) {
55
+  DWINUI::cursor.x = 40;
56
+  if (flabel) DWINUI::Draw_String(F(flabel));
57
+  DWINUI::Draw_String(F(": "));
58
+  DWINUI::MoveBy(0, 25);
59
+}
60
+
61
+void draw_es_state(const bool is_hit) {
62
+  const uint8_t LM = 130;
63
+  DWINUI::cursor.x = LM;
64
+  DWIN_Draw_Rectangle(1, HMI_data.PopupBg_color, LM, DWINUI::cursor.y, LM + 100, DWINUI::cursor.y + 20);
65
+  is_hit ? DWINUI::Draw_String(RGB(31,31,16), F(STR_ENDSTOP_HIT)) : DWINUI::Draw_String(RGB(16,63,16), F(STR_ENDSTOP_OPEN));
66
+  DWINUI::MoveBy(0, 25);
67
+}
68
+
69
+void ESDiagClass::Draw() {
70
+  Title.ShowCaption(F("End-stops Diagnostic"));
71
+  DWINUI::ClearMenuArea();
72
+  Draw_Popup_Bkgd();
73
+  DWINUI::Draw_Icon(ICON_Continue_E, 86, 250);
74
+  DWINUI::cursor.y = 80;
75
+  #define ES_LABEL(S) draw_es_label(F(STR_##S))
76
+  #if HAS_X_MIN
77
+    ES_LABEL(X_MIN);
78
+  #endif
79
+  #if HAS_Y_MIN
80
+    ES_LABEL(Y_MIN);
81
+  #endif
82
+  #if HAS_Z_MIN
83
+    ES_LABEL(Z_MIN);
84
+  #endif
85
+  #if HAS_FILAMENT_SENSOR
86
+    draw_es_label(F(STR_FILAMENT));
87
+  #endif
88
+  Update();
89
+}
90
+
91
+void ESDiagClass::Update() {
92
+  DWINUI::cursor.y = 80;
93
+  #define ES_REPORT(S) draw_es_state(READ(S##_PIN) != S##_ENDSTOP_INVERTING)
94
+  #if HAS_X_MIN
95
+    ES_REPORT(X_MIN);
96
+  #endif
97
+  #if HAS_Y_MIN
98
+    ES_REPORT(Y_MIN);
99
+  #endif
100
+  #if HAS_Z_MIN
101
+    ES_REPORT(Z_MIN);
102
+  #endif
103
+  #if HAS_FILAMENT_SENSOR
104
+    draw_es_state(READ(FIL_RUNOUT1_PIN) != FIL_RUNOUT1_STATE);
105
+  #endif
106
+  DWIN_UpdateLCD();
107
+}
108
+
109
+#endif // DWIN_CREALITY_LCD_ENHANCED && HAS_MESH

+ 37
- 0
Marlin/src/lcd/e3v2/enhanced/endstop_diag.h Переглянути файл

@@ -0,0 +1,37 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+#pragma once
23
+
24
+/**
25
+ * DWIN End Stops diagnostic page
26
+ * Author: Miguel A. Risco-Castillo
27
+ * Version: 1.0
28
+ * Date: 2021/11/06
29
+ */
30
+
31
+class ESDiagClass {
32
+public:
33
+  void Draw();
34
+  void Update();
35
+};
36
+
37
+extern ESDiagClass ESDiag;

+ 4
- 3
Marlin/src/lcd/e3v2/enhanced/lockscreen.cpp Переглянути файл

@@ -21,10 +21,10 @@
21 21
  */
22 22
 
23 23
 /**
24
- * DWIN UI Enhanced implementation
24
+ * Lock screen implementation for DWIN UI Enhanced implementation
25 25
  * Author: Miguel A. Risco-Castillo
26
- * Version: 3.6.3
27
- * Date: 2021/09/08
26
+ * Version: 2.1
27
+ * Date: 2021/11/09
28 28
  */
29 29
 
30 30
 #include "../../../inc/MarlinConfigPre.h"
@@ -41,6 +41,7 @@ LockScreenClass lockScreen;
41 41
 
42 42
 uint8_t LockScreenClass::lock_pos = 0;
43 43
 bool LockScreenClass::unlocked = false;
44
+uint8_t LockScreenClass::rprocess = 0;
44 45
 
45 46
 void LockScreenClass::init() {
46 47
   lock_pos = 0;

+ 4
- 3
Marlin/src/lcd/e3v2/enhanced/lockscreen.h Переглянути файл

@@ -22,10 +22,10 @@
22 22
 #pragma once
23 23
 
24 24
 /**
25
- * DWIN UI Enhanced implementation
25
+ * Lock screen implementation for DWIN UI Enhanced implementation
26 26
  * Author: Miguel A. Risco-Castillo
27
- * Version: 3.6.3
28
- * Date: 2021/09/08
27
+ * Version: 2.1
28
+ * Date: 2021/11/09
29 29
  */
30 30
 
31 31
 #include "../common/encoder.h"
@@ -36,6 +36,7 @@ private:
36 36
   static bool unlocked;
37 37
   static uint8_t lock_pos;
38 38
 public:
39
+  static uint8_t rprocess;
39 40
   static void init();
40 41
   static void onEncoder(EncoderState encoder_diffState);
41 42
   static void draw();

+ 15
- 7
Marlin/src/lcd/e3v2/enhanced/meshviewer.cpp Переглянути файл

@@ -1,12 +1,13 @@
1 1
 /**
2
- * DWIN Mesh Viewer
3
- * Author: Miguel A. Risco-Castillo
4
- * version: 3.8.1
5
- * Date: 2021/11/06
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
6 7
  *
7 8
  * This program is free software: you can redistribute it and/or modify
8
- * it under the terms of the GNU Lesser General Public License as
9
- * published by the Free Software Foundation, either version 3 of the License, or
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
10 11
  * (at your option) any later version.
11 12
  *
12 13
  * This program is distributed in the hope that it will be useful,
@@ -14,11 +15,18 @@
14 15
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 16
  * GNU General Public License for more details.
16 17
  *
17
- * You should have received a copy of the GNU Lesser General Public License
18
+ * You should have received a copy of the GNU General Public License
18 19
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19 20
  *
20 21
  */
21 22
 
23
+/**
24
+ * DWIN Mesh Viewer
25
+ * Author: Miguel A. Risco-Castillo
26
+ * Version: 3.8.1
27
+ * Date: 2021/11/06
28
+ */
29
+
22 30
 #include "../../../inc/MarlinConfigPre.h"
23 31
 
24 32
 #if BOTH(DWIN_CREALITY_LCD_ENHANCED, HAS_MESH)

+ 15
- 7
Marlin/src/lcd/e3v2/enhanced/meshviewer.h Переглянути файл

@@ -1,12 +1,13 @@
1 1
 /**
2
- * DWIN Mesh Viewer
3
- * Author: Miguel A. Risco-Castillo
4
- * Version: 3.8.1
5
- * Date: 2021/11/06
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
6 7
  *
7 8
  * This program is free software: you can redistribute it and/or modify
8
- * it under the terms of the GNU Lesser General Public License as
9
- * published by the Free Software Foundation, either version 3 of the License, or
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
10 11
  * (at your option) any later version.
11 12
  *
12 13
  * This program is distributed in the hope that it will be useful,
@@ -14,12 +15,19 @@
14 15
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 16
  * GNU General Public License for more details.
16 17
  *
17
- * You should have received a copy of the GNU Lesser General Public License
18
+ * You should have received a copy of the GNU General Public License
18 19
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19 20
  *
20 21
  */
21 22
 #pragma once
22 23
 
24
+/**
25
+ * DWIN Mesh Viewer
26
+ * Author: Miguel A. Risco-Castillo
27
+ * Version: 3.8.1
28
+ * Date: 2021/11/06
29
+ */
30
+
23 31
 class MeshViewerClass {
24 32
 public:
25 33
   void Draw();

+ 76
- 0
Marlin/src/lcd/e3v2/enhanced/printstats.cpp Переглянути файл

@@ -0,0 +1,76 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+
23
+/**
24
+ * DWIN Print Stats page
25
+ * Author: Miguel A. Risco-Castillo
26
+ * Version: 1.0
27
+ * Date: 2021/11/21
28
+ */
29
+
30
+#include "../../../inc/MarlinConfigPre.h"
31
+
32
+#if BOTH(DWIN_CREALITY_LCD_ENHANCED, PRINTCOUNTER)
33
+
34
+#include "printstats.h"
35
+
36
+#include "../../../core/types.h"
37
+#include "../../marlinui.h"
38
+#include "../../../module/printcounter.h"
39
+#include "dwin_lcd.h"
40
+#include "dwinui.h"
41
+#include "dwin_popup.h"
42
+#include "dwin.h"
43
+
44
+PrintStatsClass PrintStats;
45
+
46
+void PrintStatsClass::Draw() {
47
+  char buf[50] = "";
48
+  char str[30] = "";
49
+  constexpr int8_t MRG = 30;
50
+
51
+  Title.ShowCaption(GET_TEXT_F(MSG_INFO_STATS_MENU));
52
+  DWINUI::ClearMenuArea();
53
+  Draw_Popup_Bkgd();
54
+  DWINUI::Draw_Icon(ICON_Continue_E, 86, 250);
55
+  printStatistics ps = print_job_timer.getStats();
56
+
57
+  sprintf_P(buf, PSTR("%s: %i"), GET_TEXT(MSG_INFO_PRINT_COUNT), ps.totalPrints);
58
+  DWINUI::Draw_String(MRG, 80, buf);
59
+  sprintf_P(buf, PSTR("%s: %i"), GET_TEXT(MSG_INFO_COMPLETED_PRINTS), ps.finishedPrints);
60
+  DWINUI::Draw_String(MRG, 100, buf);
61
+  duration_t(print_job_timer.getStats().printTime).toDigital(str, true);
62
+  sprintf_P(buf, PSTR("%s: %s"), GET_TEXT(MSG_INFO_PRINT_TIME), str);
63
+  DWINUI::Draw_String(MRG, 120, buf);
64
+  duration_t(print_job_timer.getStats().longestPrint).toDigital(str, true);
65
+  sprintf_P(buf, PSTR("%s: %s"), GET_TEXT(MSG_INFO_PRINT_LONGEST), str);
66
+  DWINUI::Draw_String(MRG, 140, buf);
67
+  sprintf_P(buf, PSTR("%s: %s m"), GET_TEXT(MSG_INFO_PRINT_FILAMENT), dtostrf(ps.filamentUsed / 1000, 1, 2, str));
68
+  DWINUI::Draw_String(MRG, 160, buf);
69
+}
70
+
71
+void PrintStatsClass::Reset() {
72
+  print_job_timer.initStats();
73
+  HMI_AudioFeedback();
74
+}
75
+
76
+#endif // DWIN_CREALITY_LCD_ENHANCED && PRINTCOUNTER

+ 37
- 0
Marlin/src/lcd/e3v2/enhanced/printstats.h Переглянути файл

@@ -0,0 +1,37 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+#pragma once
23
+
24
+/**
25
+ * DWIN Print Stats page
26
+ * Author: Miguel A. Risco-Castillo
27
+ * Version: 1.0
28
+ * Date: 2021/11/21
29
+ */
30
+
31
+class PrintStatsClass {
32
+public:
33
+  void Draw();
34
+  static void Reset();
35
+};
36
+
37
+extern PrintStatsClass PrintStats;

+ 1
- 1
Marlin/src/lcd/language/language_an.h Переглянути файл

@@ -195,7 +195,7 @@ namespace Language_an {
195 195
   LSTR MSG_INFO_PROTOCOL                  = _UxGT("Protocolo");
196 196
   LSTR MSG_CASE_LIGHT                     = _UxGT("Luz");
197 197
 
198
-  #if LCD_WIDTH >= 20
198
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
199 199
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Conteo de impresion");
200 200
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Completadas");
201 201
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Tiempo total d'imp.");

+ 1
- 1
Marlin/src/lcd/language/language_ca.h Переглянути файл

@@ -183,7 +183,7 @@ namespace Language_ca {
183 183
   LSTR MSG_INFO_PROTOCOL                  = _UxGT("Protocol");
184 184
   LSTR MSG_CASE_LIGHT                     = _UxGT("Llum");
185 185
 
186
-  #if LCD_WIDTH >= 20
186
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
187 187
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Total impressions");
188 188
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Acabades");
189 189
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Temps imprimint");

+ 5
- 5
Marlin/src/lcd/language/language_cz.h Переглянути файл

@@ -60,7 +60,7 @@ namespace Language_cz {
60 60
   LSTR MSG_RUN_AUTO_FILES                 = _UxGT("Autostart");
61 61
   LSTR MSG_DISABLE_STEPPERS               = _UxGT("Uvolnit motory");
62 62
   LSTR MSG_DEBUG_MENU                     = _UxGT("Nabídka ladění");
63
-  #if LCD_WIDTH >= 20
63
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
64 64
     LSTR MSG_PROGRESS_BAR_TEST            = _UxGT("Test ukaz. průběhu");
65 65
   #else
66 66
     LSTR MSG_PROGRESS_BAR_TEST            = _UxGT("Test uk. průběhu");
@@ -421,12 +421,12 @@ namespace Language_cz {
421 421
   LSTR MSG_PLEASE_RESET                   = _UxGT("Proveďte reset");
422 422
   LSTR MSG_HEATING                        = _UxGT("Zahřívání...");
423 423
   LSTR MSG_COOLING                        = _UxGT("Chlazení...");
424
-  #if LCD_WIDTH >= 20
424
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
425 425
     LSTR MSG_BED_HEATING                  = _UxGT("Zahřívání podložky");
426 426
   #else
427 427
     LSTR MSG_BED_HEATING                  = _UxGT("Zahřívání podl.");
428 428
   #endif
429
-  #if LCD_WIDTH >= 20
429
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
430 430
     LSTR MSG_BED_COOLING                  = _UxGT("Chlazení podložky");
431 431
   #else
432 432
     LSTR MSG_BED_COOLING                  = _UxGT("Chlazení podl.");
@@ -465,7 +465,7 @@ namespace Language_cz {
465 465
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("Jas světla");
466 466
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("NESPRÁVNÁ TISKÁRNA");
467 467
 
468
-  #if LCD_WIDTH >= 20
468
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
469 469
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Počet tisků");
470 470
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Dokončeno");
471 471
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Celkový čas");
@@ -535,7 +535,7 @@ namespace Language_cz {
535 535
   LSTR MSG_CYCLE_MIX                      = _UxGT("Střídat mix");
536 536
   LSTR MSG_GRADIENT_MIX                   = _UxGT("Přechod mix");
537 537
   LSTR MSG_REVERSE_GRADIENT               = _UxGT("Opačný přechod");
538
-  #if LCD_WIDTH >= 20
538
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
539 539
     LSTR MSG_ACTIVE_VTOOL                 = _UxGT("Aktivní V-nástroj");
540 540
     LSTR MSG_START_VTOOL                  = _UxGT("Spustit V-nástroj");
541 541
     LSTR MSG_END_VTOOL                    = _UxGT("Ukončit V-nástroj");

+ 1
- 1
Marlin/src/lcd/language/language_da.h Переглянути файл

@@ -156,7 +156,7 @@ namespace Language_da {
156 156
   LSTR MSG_INFO_BOARD_MENU                = _UxGT("Kort Info");
157 157
   LSTR MSG_INFO_THERMISTOR_MENU           = _UxGT("Thermistors");
158 158
 
159
-  #if LCD_WIDTH >= 20
159
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
160 160
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Ant. Prints");
161 161
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Færdige");
162 162
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Total print tid");

+ 1
- 1
Marlin/src/lcd/language/language_de.h Переглянути файл

@@ -491,7 +491,7 @@ namespace Language_de {
491 491
 
492 492
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("Falscher Drucker");
493 493
 
494
-  #if LCD_WIDTH >= 20
494
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
495 495
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Gesamte Drucke");
496 496
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Komplette Drucke");
497 497
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Gesamte Druckzeit");

+ 11
- 1
Marlin/src/lcd/language/language_en.h Переглянути файл

@@ -75,6 +75,9 @@ namespace Language_en {
75 75
   LSTR MSG_HOMING                         = _UxGT("Homing");
76 76
   LSTR MSG_AUTO_HOME                      = _UxGT("Auto Home");
77 77
   LSTR MSG_AUTO_HOME_A                    = _UxGT("Home @");
78
+  LSTR MSG_AUTO_HOME_X                    = _UxGT("Home X");
79
+  LSTR MSG_AUTO_HOME_Y                    = _UxGT("Home Y");
80
+  LSTR MSG_AUTO_HOME_Z                    = _UxGT("Home Z");
78 81
   LSTR MSG_FILAMENT_SET                   = _UxGT("Filament Settings");
79 82
   LSTR MSG_FILAMENT_MAN                   = _UxGT("Filament Management");
80 83
   LSTR MSG_LEVBED_FL                      = _UxGT("Front Left");
@@ -83,6 +86,7 @@ namespace Language_en {
83 86
   LSTR MSG_LEVBED_BL                      = _UxGT("Back Left");
84 87
   LSTR MSG_LEVBED_BR                      = _UxGT("Back Right");
85 88
   LSTR MSG_MANUAL_MESH                    = _UxGT("Manual Mesh");
89
+  LSTR MSG_AUTO_MESH                      = _UxGT("Auto Build Mesh");
86 90
   LSTR MSG_AUTO_Z_ALIGN                   = _UxGT("Auto Z-Align");
87 91
   LSTR MSG_ITERATION                      = _UxGT("G34 Iteration: %i");
88 92
   LSTR MSG_DECREASING_ACCURACY            = _UxGT("Accuracy Decreasing!");
@@ -426,6 +430,11 @@ namespace Language_en {
426 430
   LSTR MSG_BUTTON_BACK                    = _UxGT("Back");
427 431
   LSTR MSG_BUTTON_PROCEED                 = _UxGT("Proceed");
428 432
   LSTR MSG_BUTTON_SKIP                    = _UxGT("Skip");
433
+  LSTR MSG_BUTTON_INFO                    = _UxGT("Info");
434
+  LSTR MSG_BUTTON_LEVEL                   = _UxGT("Level");
435
+  LSTR MSG_BUTTON_PAUSE                   = _UxGT("Pause");
436
+  LSTR MSG_BUTTON_RESUME                  = _UxGT("Resume");
437
+  LSTR MSG_BUTTON_ADVANCED                = _UxGT("Advanced");
429 438
   LSTR MSG_PAUSING                        = _UxGT("Pausing...");
430 439
   LSTR MSG_PAUSE_PRINT                    = _UxGT("Pause Print");
431 440
   LSTR MSG_RESUME_PRINT                   = _UxGT("Resume Print");
@@ -577,7 +586,8 @@ namespace Language_en {
577 586
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("Light Brightness");
578 587
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("INCORRECT PRINTER");
579 588
 
580
-  #if LCD_WIDTH >= 20
589
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
590
+    LSTR MSG_INFO_PRINT_COUNT_RESET       = _UxGT("Reset Print Count");
581 591
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Print Count");
582 592
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Completed");
583 593
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Total Print Time");

+ 1
- 1
Marlin/src/lcd/language/language_es.h Переглянути файл

@@ -463,7 +463,7 @@ namespace Language_es {
463 463
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("Brillo cabina");
464 464
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("Impresora incorrecta");
465 465
 
466
-  #if LCD_WIDTH >= 20
466
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
467 467
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Cont. de impresión");
468 468
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Completadas");
469 469
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Tiempo total de imp.");

+ 1
- 1
Marlin/src/lcd/language/language_eu.h Переглянути файл

@@ -280,7 +280,7 @@ namespace Language_eu {
280 280
   LSTR MSG_INFO_PROTOCOL                  = _UxGT("Protokoloa");
281 281
   LSTR MSG_CASE_LIGHT                     = _UxGT("Kabina Argia");
282 282
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("Argiaren Distira");
283
-  #if LCD_WIDTH >= 20
283
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
284 284
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Inprim. Zenbaketa");
285 285
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Burututa");
286 286
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Inprim. denbora");

+ 1
- 1
Marlin/src/lcd/language/language_fr.h Переглянути файл

@@ -504,7 +504,7 @@ namespace Language_fr {
504 504
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("Luminosité");
505 505
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("Imprimante incorrecte");
506 506
 
507
-  #if LCD_WIDTH >= 20
507
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
508 508
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Nbre impressions");
509 509
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Terminées");
510 510
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Tps impr. total");

+ 1
- 1
Marlin/src/lcd/language/language_gl.h Переглянути файл

@@ -479,7 +479,7 @@ namespace Language_gl {
479 479
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("Brillo Luces");
480 480
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("IMPRESORA INCORRECTA");
481 481
 
482
-  #if LCD_WIDTH >= 20
482
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
483 483
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Total Impresións");
484 484
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Completadas");
485 485
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Tempo Total Imp.");

+ 1
- 1
Marlin/src/lcd/language/language_hr.h Переглянути файл

@@ -137,7 +137,7 @@ namespace Language_hr {
137 137
 
138 138
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("Neispravan pisač");
139 139
 
140
-  #if LCD_WIDTH >= 20
140
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
141 141
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Broj printova");
142 142
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Završeni");
143 143
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Ukupno printanja");

+ 1
- 1
Marlin/src/lcd/language/language_hu.h Переглянути файл

@@ -553,7 +553,7 @@ namespace Language_hu {
553 553
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("Fényerösség");
554 554
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("HELYTELEN NYOMTATÓ");
555 555
 
556
-  #if LCD_WIDTH >= 20
556
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
557 557
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Nyomtatás számláló");
558 558
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Befejezett");
559 559
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Összes nyomtatási idö");

+ 1
- 1
Marlin/src/lcd/language/language_it.h Переглянути файл

@@ -562,7 +562,7 @@ namespace Language_it {
562 562
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("Luminosità Luci");
563 563
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("STAMPANTE ERRATA");
564 564
 
565
-  #if LCD_WIDTH >= 20
565
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
566 566
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Contat. stampa");
567 567
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Completati");
568 568
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Tempo totale");

+ 1
- 1
Marlin/src/lcd/language/language_nl.h Переглянути файл

@@ -180,7 +180,7 @@ namespace Language_nl {
180 180
 
181 181
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("Onjuiste printer");
182 182
 
183
-  #if LCD_WIDTH >= 20
183
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
184 184
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Printed Aantal");
185 185
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Totaal Voltooid");
186 186
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Totale Printtijd");

+ 1
- 1
Marlin/src/lcd/language/language_pl.h Переглянути файл

@@ -430,7 +430,7 @@ namespace Language_pl {
430 430
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("Jasność oświetlenia");
431 431
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("Niepoprawna drukarka");
432 432
 
433
-  #if LCD_WIDTH >= 20
433
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
434 434
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Wydrukowano");
435 435
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Ukończono");
436 436
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Czas druku");

+ 1
- 1
Marlin/src/lcd/language/language_pt_br.h Переглянути файл

@@ -400,7 +400,7 @@ namespace Language_pt_br {
400 400
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("Intensidade Brilho");
401 401
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("Impressora Incorreta");
402 402
 
403
-  #if LCD_WIDTH >= 20
403
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
404 404
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Total de Impressões");
405 405
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Realizadas");
406 406
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Tempo de Impressão");

+ 1
- 1
Marlin/src/lcd/language/language_ro.h Переглянути файл

@@ -486,7 +486,7 @@ namespace Language_ro {
486 486
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("Light Brightness");
487 487
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("INCORRECT PRINTER");
488 488
 
489
-#if LCD_WIDTH >= 20
489
+#if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
490 490
   LSTR MSG_INFO_PRINT_COUNT               = _UxGT("Total Printuri");
491 491
   LSTR MSG_INFO_COMPLETED_PRINTS          = _UxGT("Completat");
492 492
   LSTR MSG_INFO_PRINT_TIME                = _UxGT("Timp Imprimare Total");

+ 37
- 37
Marlin/src/lcd/language/language_ru.h Переглянути файл

@@ -43,7 +43,7 @@ namespace Language_ru {
43 43
   LSTR MSG_MEDIA_INSERTED                   = _UxGT("SD карта вставлена");
44 44
   LSTR MSG_MEDIA_REMOVED                    = _UxGT("SD карта извлечена");
45 45
   LSTR MSG_MEDIA_WAITING                    = _UxGT("Вставьте SD карту");
46
-  #if LCD_WIDTH > 21
46
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
47 47
     LSTR MSG_MEDIA_INIT_FAIL                = _UxGT("Сбой инициализации SD");
48 48
   #else
49 49
     LSTR MSG_MEDIA_INIT_FAIL                = _UxGT("Сбой инициализ. SD");
@@ -51,7 +51,7 @@ namespace Language_ru {
51 51
   LSTR MSG_MEDIA_READ_ERROR                 = _UxGT("Ошибка считывания");
52 52
   LSTR MSG_MEDIA_USB_REMOVED                = _UxGT("USB диск удалён");
53 53
   LSTR MSG_MEDIA_USB_FAILED                 = _UxGT("Ошибка USB диска");
54
-  #if LCD_WIDTH > 21
54
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
55 55
     LSTR MSG_KILL_SUBCALL_OVERFLOW          = _UxGT("Переполнение вызова");
56 56
   #else
57 57
     LSTR MSG_KILL_SUBCALL_OVERFLOW          = _UxGT("Переполн. вызова");
@@ -81,7 +81,7 @@ namespace Language_ru {
81 81
   LSTR MSG_LEVEL_BED_NEXT_POINT             = _UxGT("Следующая точка");
82 82
   LSTR MSG_LEVEL_BED_DONE                   = _UxGT("Выравнивание готово!");
83 83
   LSTR MSG_Z_FADE_HEIGHT                    = _UxGT("Высота спада");
84
-  #if LCD_WIDTH > 21
84
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
85 85
     LSTR MSG_SET_HOME_OFFSETS               = _UxGT("Установ. смещения дома");
86 86
     LSTR MSG_HOME_OFFSET_X                  = _UxGT("Смещение дома X");
87 87
     LSTR MSG_HOME_OFFSET_Y                  = _UxGT("Смещение дома Y");
@@ -101,7 +101,7 @@ namespace Language_ru {
101 101
   LSTR MSG_HOME_OFFSETS_APPLIED             = _UxGT("Смещения применены");
102 102
   LSTR MSG_SET_ORIGIN                       = _UxGT("Установить ноль");
103 103
   LSTR MSG_SELECT_ORIGIN                    = _UxGT("Выберите ноль");
104
-  #if LCD_WIDTH > 21
104
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
105 105
     LSTR MSG_LAST_VALUE_SP                  = _UxGT("Последнее знач. ");
106 106
   #else
107 107
     LSTR MSG_LAST_VALUE_SP                  = _UxGT("Послед. знач. ");
@@ -127,7 +127,7 @@ namespace Language_ru {
127 127
   LSTR MSG_COOLDOWN                         = _UxGT("Охлаждение");
128 128
   LSTR MSG_CUTTER_FREQUENCY                 = _UxGT("Частота");
129 129
   LSTR MSG_LASER_MENU                       = _UxGT("Управление лазером");
130
-  #if LCD_WIDTH > 21
130
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
131 131
     LSTR MSG_SPINDLE_MENU                   = _UxGT("Управление шпинделем");
132 132
     LSTR MSG_LASER_TOGGLE                   = _UxGT("Переключить лазер");
133 133
     LSTR MSG_SPINDLE_TOGGLE                 = _UxGT("Переключ.шпиндель");
@@ -161,7 +161,7 @@ namespace Language_ru {
161 161
   LSTR MSG_LEVEL_BED                        = _UxGT("Выровнять стол");
162 162
   LSTR MSG_BED_TRAMMING                     = _UxGT("Выровнять углы");
163 163
   LSTR MSG_NEXT_CORNER                      = _UxGT("Следующий угол");
164
-  #if LCD_WIDTH > 21
164
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
165 165
     LSTR MSG_BED_TRAMMING_RAISE             = _UxGT("Вверх до срабатыв. зонда");
166 166
     LSTR MSG_BED_TRAMMING_IN_RANGE          = _UxGT("Углы в норме. Вырав.стола");
167 167
   #else
@@ -170,7 +170,7 @@ namespace Language_ru {
170 170
   #endif
171 171
   LSTR MSG_BED_TRAMMING_GOOD_POINTS         = _UxGT("Хорошие точки: ");
172 172
   LSTR MSG_BED_TRAMMING_LAST_Z              = _UxGT("Последняя Z: ");
173
-  #if LCD_WIDTH > 21
173
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
174 174
     LSTR MSG_MESH_EDITOR                    = _UxGT("Смещение по Z");
175 175
     LSTR MSG_EDITING_STOPPED                = _UxGT("Правка сетки окончена");
176 176
   #else
@@ -205,7 +205,7 @@ namespace Language_ru {
205 205
   LSTR MSG_UBL_LEVEL_BED                    = _UxGT("Настройка UBL");
206 206
   LSTR MSG_LCD_TILTING_MESH                 = _UxGT("Точка разворота");
207 207
   LSTR MSG_UBL_MANUAL_MESH                  = _UxGT("Ручной ввод сетки");
208
-  #if LCD_WIDTH > 21
208
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
209 209
     LSTR MSG_UBL_BC_INSERT                  = _UxGT("Разместить шайбу,измерить");
210 210
     LSTR MSG_UBL_BC_REMOVE                  = _UxGT("Убрать и замерить стол");
211 211
   #else
@@ -219,7 +219,7 @@ namespace Language_ru {
219 219
   LSTR MSG_UBL_DEACTIVATE_MESH              = _UxGT("Деактивировать UBL");
220 220
   LSTR MSG_UBL_MESH_EDIT                    = _UxGT("Редактор сеток");
221 221
   LSTR MSG_UBL_EDIT_CUSTOM_MESH             = _UxGT("Править свою сетку");
222
-  #if LCD_WIDTH > 21
222
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
223 223
     LSTR MSG_UBL_SET_TEMP_BED               = _UxGT("Температура стола");
224 224
     LSTR MSG_UBL_BED_TEMP_CUSTOM            = _UxGT("Температура стола");
225 225
     LSTR MSG_UBL_SET_TEMP_HOTEND            = _UxGT("Температура сопла");
@@ -237,7 +237,7 @@ namespace Language_ru {
237 237
   LSTR MSG_UBL_FINE_TUNE_MESH               = _UxGT("Точная правка сетки");
238 238
   LSTR MSG_UBL_BUILD_MESH_MENU              = _UxGT("Построить сетку");
239 239
   LSTR MSG_UBL_BUILD_MESH_M                 = _UxGT("Построить сетку $");
240
-  #if LCD_WIDTH > 21
240
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
241 241
     LSTR MSG_UBL_BUILD_COLD_MESH            = _UxGT("Построить холодную сетку");
242 242
   #else
243 243
     LSTR MSG_UBL_BUILD_COLD_MESH            = _UxGT("Строить холод.сетку");
@@ -245,7 +245,7 @@ namespace Language_ru {
245 245
   LSTR MSG_UBL_MESH_HEIGHT_ADJUST           = _UxGT("Правка высоты сетки");
246 246
   LSTR MSG_UBL_MESH_HEIGHT_AMOUNT           = _UxGT("Высота");
247 247
   LSTR MSG_UBL_VALIDATE_MESH_MENU           = _UxGT("Проверить сетку");
248
-  #if LCD_WIDTH > 21
248
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
249 249
     LSTR MSG_UBL_VALIDATE_MESH_M            = _UxGT("Проверить сетку $");
250 250
     LSTR MSG_UBL_VALIDATE_CUSTOM_MESH       = _UxGT("Проверить свою сетку");
251 251
   #else
@@ -261,7 +261,7 @@ namespace Language_ru {
261 261
   LSTR MSG_G26_LEAVING                      = _UxGT("Выйти из G26");
262 262
   LSTR MSG_UBL_CONTINUE_MESH                = _UxGT("Продолжить сетку");
263 263
   LSTR MSG_UBL_MESH_LEVELING                = _UxGT("Выравнивание сетки");
264
-  #if LCD_WIDTH > 21
264
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
265 265
     LSTR MSG_UBL_3POINT_MESH_LEVELING       = _UxGT("3-х точечное выравнивание");
266 266
   #else
267 267
     LSTR MSG_UBL_3POINT_MESH_LEVELING       = _UxGT("3-точечное выравн.");
@@ -273,7 +273,7 @@ namespace Language_ru {
273 273
   LSTR MSG_UBL_OUTPUT_MAP                   = _UxGT("Вывести карту сетки");
274 274
   LSTR MSG_UBL_OUTPUT_MAP_HOST              = _UxGT("Вывести на хост");
275 275
   LSTR MSG_UBL_OUTPUT_MAP_CSV               = _UxGT("Вывести в CSV");
276
-  #if LCD_WIDTH > 21
276
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
277 277
     LSTR MSG_UBL_OUTPUT_MAP_BACKUP          = _UxGT("Сохранить сетку снаружи");
278 278
     LSTR MSG_UBL_INFO_UBL                   = _UxGT("Вывод информации UBL");
279 279
     LSTR MSG_UBL_FILLIN_AMOUNT              = _UxGT("Кол-во заполнителя");
@@ -323,7 +323,7 @@ namespace Language_ru {
323 323
   LSTR MSG_SET_LEDS_DEFAULT                 = _UxGT("Свет по умолчанию");
324 324
   LSTR MSG_LED_CHANNEL_N                    = _UxGT("Канал =");
325 325
   LSTR MSG_LEDS2                            = _UxGT("Свет #2");
326
-  #if LCD_WIDTH > 21
326
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
327 327
     LSTR MSG_NEO2_PRESETS                   = _UxGT("Свет #2 предустановки");
328 328
   #else
329 329
     LSTR MSG_NEO2_PRESETS                   = _UxGT("Свет #2 предустан.");
@@ -360,7 +360,7 @@ namespace Language_ru {
360 360
   LSTR MSG_NOZZLE_STANDBY                   = _UxGT("Сопло ожидает");
361 361
   LSTR MSG_BED                              = _UxGT("Стол,  ") LCD_STR_DEGREE "C";
362 362
   LSTR MSG_CHAMBER                          = _UxGT("Камера,") LCD_STR_DEGREE "C";
363
-  #if LCD_WIDTH > 21
363
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
364 364
     LSTR MSG_COOLER                         = _UxGT("Охлаждение лазера");
365 365
     LSTR MSG_COOLER_TOGGLE                  = _UxGT("Переключ. охлажд.");
366 366
     LSTR MSG_FLOWMETER_SAFETY               = _UxGT("Безопасн. потока");
@@ -408,7 +408,7 @@ namespace Language_ru {
408 408
   LSTR MSG_VJ_JERK                          = _UxGT("V") LCD_STR_J _UxGT("-рывок");
409 409
   LSTR MSG_VK_JERK                          = _UxGT("V") LCD_STR_K _UxGT("-рывок");
410 410
   LSTR MSG_VE_JERK                          = _UxGT("Ve-рывок");
411
-  #if LCD_WIDTH > 21
411
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
412 412
     LSTR MSG_JUNCTION_DEVIATION             = _UxGT("Отклонение узла");
413 413
   #else
414 414
     LSTR MSG_JUNCTION_DEVIATION             = _UxGT("Отклон. узла");
@@ -452,7 +452,7 @@ namespace Language_ru {
452 452
   LSTR MSG_VOLUMETRIC_ENABLED               = _UxGT("E в мм") SUPERSCRIPT_THREE;
453 453
   LSTR MSG_VOLUMETRIC_LIMIT                 = _UxGT("E огран.,мм") SUPERSCRIPT_THREE;
454 454
   LSTR MSG_VOLUMETRIC_LIMIT_E               = _UxGT("E огран. *");
455
-  #if LCD_WIDTH > 21
455
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
456 456
     LSTR MSG_FILAMENT_DIAM                  = _UxGT("Диам. филамента");
457 457
     LSTR MSG_FILAMENT_DIAM_E                = _UxGT("Диам. филамента *");
458 458
   #else
@@ -466,7 +466,7 @@ namespace Language_ru {
466 466
   LSTR MSG_CONTRAST                         = _UxGT("Контраст экрана");
467 467
   LSTR MSG_STORE_EEPROM                     = _UxGT("Сохранить настройки");
468 468
   LSTR MSG_LOAD_EEPROM                      = _UxGT("Загрузить настройки");
469
-  #if LCD_WIDTH > 21
469
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
470 470
     LSTR MSG_RESTORE_DEFAULTS               = _UxGT("На базовые параметры");
471 471
     LSTR MSG_INIT_EEPROM                    = _UxGT("Инициализация EEPROM");
472 472
   #else
@@ -520,7 +520,7 @@ namespace Language_ru {
520 520
   LSTR MSG_NO_MOVE                          = _UxGT("Нет движения.");
521 521
   LSTR MSG_KILLED                           = _UxGT("УБИТО. ");
522 522
   LSTR MSG_STOPPED                          = _UxGT("ОСТАНОВЛЕНО. ");
523
-  #if LCD_WIDTH > 21
523
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
524 524
     LSTR MSG_CONTROL_RETRACT                = _UxGT("Втягивание, мм");
525 525
     LSTR MSG_CONTROL_RETRACT_SWAP           = _UxGT("Смена втягив., мм");
526 526
     LSTR MSG_CONTROL_RETRACT_RECOVER_SWAP   = _UxGT("Возврат смены, мм");
@@ -539,7 +539,7 @@ namespace Language_ru {
539 539
   LSTR MSG_CONTROL_RETRACT_RECOVERF         = _UxGT("Возврат V");
540 540
 
541 541
   LSTR MSG_FILAMENT_SWAP_LENGTH             = _UxGT("Поменять длины");
542
-  #if LCD_WIDTH > 21
542
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
543 543
     LSTR MSG_FILAMENT_SWAP_EXTRA            = _UxGT("Поменять дополнительно");
544 544
   #else
545 545
     LSTR MSG_FILAMENT_SWAP_EXTRA            = _UxGT("Поменять дополнит.");
@@ -548,7 +548,7 @@ namespace Language_ru {
548 548
 
549 549
   LSTR MSG_TOOL_CHANGE                      = _UxGT("Смена сопел");
550 550
   LSTR MSG_TOOL_CHANGE_ZLIFT                = _UxGT("Поднятие по Z");
551
-  #if LCD_WIDTH > 21
551
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
552 552
     LSTR MSG_SINGLENOZZLE_PRIME_SPEED       = _UxGT("Начальная скор.");
553 553
     LSTR MSG_SINGLENOZZLE_RETRACT_SPEED     = _UxGT("Скорость втягив.");
554 554
   #else
@@ -568,7 +568,7 @@ namespace Language_ru {
568 568
   LSTR MSG_FILAMENTCHANGE                   = _UxGT("Смена филамента");
569 569
   LSTR MSG_FILAMENTCHANGE_E                 = _UxGT("Смена филамента *");
570 570
   LSTR MSG_FILAMENTLOAD                     = _UxGT("Загрузить филамент");
571
-  #if LCD_WIDTH > 21
571
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
572 572
     LSTR MSG_FILAMENTLOAD_E                 = _UxGT("Загрузить филамент *");
573 573
     LSTR MSG_FILAMENTUNLOAD_E               = _UxGT("Выгрузить филамент *");
574 574
   #else
@@ -606,7 +606,7 @@ namespace Language_ru {
606 606
   LSTR MSG_ZPROBE_XOFFSET                   = _UxGT("Смещение X");
607 607
   LSTR MSG_ZPROBE_YOFFSET                   = _UxGT("Смещение Y");
608 608
   LSTR MSG_ZPROBE_ZOFFSET                   = _UxGT("Смещение Z");
609
-  #if LCD_WIDTH > 21
609
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
610 610
     LSTR MSG_MOVE_NOZZLE_TO_BED             = _UxGT("Двигать сопло к столу");
611 611
   #else
612 612
     LSTR MSG_MOVE_NOZZLE_TO_BED             = _UxGT("Двиг. сопло к столу");
@@ -650,7 +650,7 @@ namespace Language_ru {
650 650
   LSTR MSG_DELTA_SETTINGS                   = _UxGT("Настройки Delta");
651 651
   LSTR MSG_DELTA_AUTO_CALIBRATE             = _UxGT("Авто калибровка");
652 652
   LSTR MSG_DELTA_HEIGHT_CALIBRATE           = _UxGT("Высота Delta");
653
-  #if LCD_WIDTH > 21
653
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
654 654
     LSTR MSG_DELTA_Z_OFFSET_CALIBRATE       = _UxGT("Зондировать Z-смещения");
655 655
   #else
656 656
     LSTR MSG_DELTA_Z_OFFSET_CALIBRATE       = _UxGT("Зондир. Z-смещения");
@@ -660,7 +660,7 @@ namespace Language_ru {
660 660
   LSTR MSG_DELTA_RADIUS                     = _UxGT("Радиус");
661 661
   LSTR MSG_INFO_MENU                        = _UxGT("О принтере");
662 662
   LSTR MSG_INFO_PRINTER_MENU                = _UxGT("Данные принтера");
663
-  #if LCD_WIDTH > 21
663
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
664 664
     LSTR MSG_3POINT_LEVELING                = _UxGT("3-точечное выравнивание");
665 665
     LSTR MSG_LINEAR_LEVELING                = _UxGT("Линейное выравнивание");
666 666
     LSTR MSG_BILINEAR_LEVELING              = _UxGT("Билинейное выравнивание");
@@ -671,7 +671,7 @@ namespace Language_ru {
671 671
   #endif
672 672
   LSTR MSG_UBL_LEVELING                     = _UxGT("Управление UBL");
673 673
   LSTR MSG_MESH_LEVELING                    = _UxGT("Выравнивание сетки");
674
-  #if LCD_WIDTH > 21
674
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
675 675
     LSTR MSG_MESH_DONE                      = _UxGT("Зондирование выполнено");
676 676
   #else
677 677
     LSTR MSG_MESH_DONE                      = _UxGT("Зондиров. выполнено");
@@ -683,7 +683,7 @@ namespace Language_ru {
683 683
   LSTR MSG_INFO_EXTRUDERS                   = _UxGT("Экструдеры");
684 684
   LSTR MSG_INFO_BAUDRATE                    = _UxGT("Скорость,БОД");
685 685
   LSTR MSG_INFO_PROTOCOL                    = _UxGT("Протокол");
686
-  #if LCD_WIDTH > 21
686
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
687 687
     LSTR MSG_INFO_RUNAWAY_OFF               = _UxGT("Контроль утечки Т: Выкл");
688 688
     LSTR MSG_INFO_RUNAWAY_ON                = _UxGT("Контроль утечки Т: Вкл");
689 689
     LSTR MSG_HOTEND_IDLE_TIMEOUT            = _UxGT("Время простоя хотенда");
@@ -696,7 +696,7 @@ namespace Language_ru {
696 696
   LSTR MSG_CASE_LIGHT_BRIGHTNESS            = _UxGT("Яркость подсветки");
697 697
   LSTR MSG_KILL_EXPECTED_PRINTER            = _UxGT("Неверный принтер");
698 698
 
699
-  #if LCD_WIDTH > 21
699
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
700 700
     LSTR MSG_INFO_PRINT_COUNT               = _UxGT("Счётчик печати");
701 701
     LSTR MSG_INFO_PRINT_TIME                = _UxGT("Общее время печати");
702 702
     LSTR MSG_INFO_PRINT_LONGEST             = _UxGT("Наидольшее задание");
@@ -730,7 +730,7 @@ namespace Language_ru {
730 730
   LSTR MSG_FILAMENT_CHANGE_OPTION_PURGE     = _UxGT("Выдавить ещё");
731 731
   LSTR MSG_FILAMENT_CHANGE_OPTION_RESUME    = _UxGT("Возобновить печать");
732 732
   LSTR MSG_FILAMENT_CHANGE_NOZZLE           = _UxGT("  Сопла: ");
733
-  #if LCD_WIDTH > 21
733
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
734 734
     LSTR MSG_RUNOUT_SENSOR                  = _UxGT("Датчик оконч. филамента");
735 735
   #else
736 736
     LSTR MSG_RUNOUT_SENSOR                  = _UxGT("Датчик оконч.филам.");
@@ -741,7 +741,7 @@ namespace Language_ru {
741 741
 
742 742
   LSTR MSG_MMU2_CHOOSE_FILAMENT_HEADER      = _UxGT("ВЫБИРЕТЕ ФИЛАМЕНТ");
743 743
   LSTR MSG_MMU2_MENU                        = _UxGT("Настройки MMU");
744
-  #if LCD_WIDTH > 21
744
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
745 745
     LSTR MSG_KILL_MMU2_FIRMWARE             = _UxGT("Обновить прошивку MMU!");
746 746
   #else
747 747
     LSTR MSG_KILL_MMU2_FIRMWARE             = _UxGT("Обнови прошивку MMU");
@@ -756,7 +756,7 @@ namespace Language_ru {
756 756
   LSTR MSG_MMU2_EJECT_FILAMENT_N            = _UxGT("Извлечь филамент ~");
757 757
   LSTR MSG_MMU2_UNLOAD_FILAMENT             = _UxGT("Выгрузить филамент");
758 758
   LSTR MSG_MMU2_LOADING_FILAMENT            = _UxGT("Загрузка %i...");
759
-  #if LCD_WIDTH > 21
759
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
760 760
     LSTR MSG_MMU2_EJECTING_FILAMENT         = _UxGT("Извлечение филамента...");
761 761
   #else
762 762
     LSTR MSG_MMU2_EJECTING_FILAMENT         = _UxGT("Извлеч.филамента...");
@@ -768,7 +768,7 @@ namespace Language_ru {
768 768
   LSTR MSG_MMU2_RESETTING                   = _UxGT("Перезапуск MMU...");
769 769
   LSTR MSG_MMU2_EJECT_RECOVER               = _UxGT("Удалите и нажмите");
770 770
 
771
-  #if LCD_WIDTH > 21
771
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
772 772
     LSTR MSG_MIX                            = _UxGT("Смешивание");
773 773
   #else
774 774
     LSTR MSG_MIX                            = _UxGT("Смешив.");
@@ -780,7 +780,7 @@ namespace Language_ru {
780 780
   LSTR MSG_CYCLE_MIX                        = _UxGT("Цикличное смешивание");
781 781
   LSTR MSG_GRADIENT_MIX                     = _UxGT("Градиент смешивания");
782 782
   LSTR MSG_REVERSE_GRADIENT                 = _UxGT("Сменить градиент");
783
-  #if LCD_WIDTH > 21
783
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
784 784
     LSTR MSG_TOGGLE_MIX                     = _UxGT("Переключить смешивание");
785 785
     LSTR MSG_ACTIVE_VTOOL                   = _UxGT("Активация В-инструм.");
786 786
     LSTR MSG_START_VTOOL                    = _UxGT("Начало В-инструмента");
@@ -808,7 +808,7 @@ namespace Language_ru {
808 808
   LSTR MSG_SNAKE                            = _UxGT("Змейка");
809 809
   LSTR MSG_MAZE                             = _UxGT("Лабиринт");
810 810
 
811
-  #if LCD_WIDTH > 21
811
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
812 812
     LSTR MSG_BAD_PAGE                       = _UxGT("Плохой индекс страницы");
813 813
     LSTR MSG_BAD_PAGE_SPEED                 = _UxGT("Плохая скорость страницы");
814 814
   #else
@@ -824,7 +824,7 @@ namespace Language_ru {
824 824
   LSTR MSG_REMOVE_PASSWORD                  = _UxGT("Удалить пароль");
825 825
   LSTR MSG_PASSWORD_SET                     = _UxGT("Пароль это ");
826 826
   LSTR MSG_START_OVER                       = _UxGT("Старт через");
827
-  #if LCD_WIDTH > 21
827
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
828 828
     LSTR MSG_REMINDER_SAVE_SETTINGS         = _UxGT("Запомни для сохранения!");
829 829
   #else
830 830
     LSTR MSG_REMINDER_SAVE_SETTINGS         = _UxGT("Запомни, сохрани!");
@@ -875,7 +875,7 @@ namespace Language_ru {
875 875
 
876 876
   LSTR MSG_LEVEL_X_AXIS                     = _UxGT("Уровень оси X");
877 877
   LSTR MSG_AUTO_CALIBRATE                   = _UxGT("Авто калибровка");
878
-  #if LCD_WIDTH > 21
878
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
879 879
     LSTR MSG_HEATER_TIMEOUT                 = _UxGT("Время нагревателя вышло");
880 880
   #else
881 881
     LSTR MSG_HEATER_TIMEOUT                 = _UxGT("Время нагрев. вышло");
@@ -884,7 +884,7 @@ namespace Language_ru {
884 884
   LSTR MSG_REHEATING                        = _UxGT("Нагрев...");
885 885
 
886 886
   LSTR MSG_PROBE_WIZARD                     = _UxGT("Мастер Z-зонда");
887
-  #if LCD_WIDTH > 21
887
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
888 888
     LSTR MSG_PROBE_WIZARD_PROBING           = _UxGT("Зондиров. контр. точки Z");
889 889
     LSTR MSG_PROBE_WIZARD_MOVING            = _UxGT("Движение к точке зондиров.");
890 890
   #else

+ 1
- 1
Marlin/src/lcd/language/language_sk.h Переглянути файл

@@ -575,7 +575,7 @@ namespace Language_sk {
575 575
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("Jas svetla");
576 576
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("Nesprávna tlačiareň");
577 577
 
578
-  #if LCD_WIDTH >= 20
578
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
579 579
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Počet tlačí");
580 580
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Dokončené");
581 581
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Celkový čas");

+ 1
- 1
Marlin/src/lcd/language/language_sv.h Переглянути файл

@@ -523,7 +523,7 @@ namespace Language_sv {
523 523
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("Ljus ljusstyrka");
524 524
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("INKORREKT SKRIVARE");
525 525
 
526
-  #if LCD_WIDTH >= 20
526
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
527 527
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Utskriftsantal");
528 528
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Färdiga");
529 529
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Total Utskriftstid");

+ 1
- 1
Marlin/src/lcd/language/language_tr.h Переглянути файл

@@ -456,7 +456,7 @@ namespace Language_tr {
456 456
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("Aydınlatma Parlaklğı");
457 457
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("Yanlış Yazıcı");
458 458
 
459
-  #if LCD_WIDTH >= 20
459
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
460 460
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Baskı Sayısı");
461 461
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Tamamlanan");
462 462
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Toplam Baskı Süresi");

+ 37
- 37
Marlin/src/lcd/language/language_uk.h Переглянути файл

@@ -44,7 +44,7 @@ namespace Language_uk {
44 44
   LSTR MSG_MEDIA_INSERTED                   = _UxGT("SD-картка вставлена");
45 45
   LSTR MSG_MEDIA_REMOVED                    = _UxGT("SD-картка видалена");
46 46
   LSTR MSG_MEDIA_WAITING                    = _UxGT("Вставте SD-картку");
47
-  #if LCD_WIDTH > 21
47
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
48 48
     LSTR MSG_MEDIA_INIT_FAIL                = _UxGT("Збій ініціалізації SD");
49 49
   #else
50 50
     LSTR MSG_MEDIA_INIT_FAIL                = _UxGT("Збій ініціаліз. SD");
@@ -52,7 +52,7 @@ namespace Language_uk {
52 52
   LSTR MSG_MEDIA_READ_ERROR                 = _UxGT("Помилка зчитування");
53 53
   LSTR MSG_MEDIA_USB_REMOVED                = _UxGT("USB диск видалений");
54 54
   LSTR MSG_MEDIA_USB_FAILED                 = _UxGT("Помилка USB диску");
55
-  #if LCD_WIDTH > 21
55
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
56 56
     LSTR MSG_KILL_SUBCALL_OVERFLOW          = _UxGT("Переповнення виклику");
57 57
     LSTR MSG_LCD_SOFT_ENDSTOPS              = _UxGT("Програмні кінцевики");
58 58
   #else
@@ -83,7 +83,7 @@ namespace Language_uk {
83 83
   LSTR MSG_LEVEL_BED_NEXT_POINT             = _UxGT("Наступна точка");
84 84
   LSTR MSG_LEVEL_BED_DONE                   = _UxGT("Завершено!");
85 85
   LSTR MSG_Z_FADE_HEIGHT                    = _UxGT("Висота спаду");
86
-  #if LCD_WIDTH > 21
86
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
87 87
     LSTR MSG_SET_HOME_OFFSETS               = _UxGT("Встанов. зміщення дому");
88 88
     LSTR MSG_HOME_OFFSET_X                  = _UxGT("Зміщення дому X");
89 89
     LSTR MSG_HOME_OFFSET_Y                  = _UxGT("Зміщення дому Y");
@@ -103,7 +103,7 @@ namespace Language_uk {
103 103
   LSTR MSG_HOME_OFFSETS_APPLIED             = _UxGT("Зміщення прийняті");
104 104
   LSTR MSG_SET_ORIGIN                       = _UxGT("Встановити нуль");
105 105
   LSTR MSG_SELECT_ORIGIN                    = _UxGT("Оберіть нуль");
106
-  #if LCD_WIDTH > 21
106
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
107 107
     LSTR MSG_LAST_VALUE_SP                  = _UxGT("Останнє значення ");
108 108
   #else
109 109
     LSTR MSG_LAST_VALUE_SP                  = _UxGT("Останнє знач. ");
@@ -131,7 +131,7 @@ namespace Language_uk {
131 131
   LSTR MSG_CUTTER_FREQUENCY                 = _UxGT("Частота");
132 132
   LSTR MSG_LASER_MENU                       = _UxGT("Керування лазером");
133 133
   LSTR MSG_SPINDLE_MENU                     = _UxGT("Керування шпінделем");
134
-  #if LCD_WIDTH > 21
134
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
135 135
     LSTR MSG_LASER_POWER                    = _UxGT("Потужність лазера");
136 136
     LSTR MSG_SPINDLE_TOGGLE                 = _UxGT("Перемкн. шпіндель");
137 137
     LSTR MSG_SPINDLE_EVAC_TOGGLE            = _UxGT("Перемкнути вакуум");
@@ -162,7 +162,7 @@ namespace Language_uk {
162 162
   LSTR MSG_BED_LEVELING                     = _UxGT("Вирівнювання столу");
163 163
   LSTR MSG_LEVEL_BED                        = _UxGT("Вирівняти стіл");
164 164
   LSTR MSG_BED_TRAMMING                     = _UxGT("Вирівняти кути");
165
-  #if LCD_WIDTH > 21
165
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
166 166
     LSTR MSG_BED_TRAMMING_RAISE             = _UxGT("Вгору до спрацюв. зонду");
167 167
     LSTR MSG_BED_TRAMMING_IN_RANGE          = _UxGT("Кути в межах. Вирів.столу");
168 168
   #else
@@ -172,7 +172,7 @@ namespace Language_uk {
172 172
   LSTR MSG_BED_TRAMMING_GOOD_POINTS         = _UxGT("Хороші точки: ");
173 173
   LSTR MSG_BED_TRAMMING_LAST_Z              = _UxGT("Остання Z: ");
174 174
   LSTR MSG_NEXT_CORNER                      = _UxGT("Наступний кут");
175
-  #if LCD_WIDTH > 21
175
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
176 176
     LSTR MSG_MESH_EDITOR                    = _UxGT("Зміщення по Z");
177 177
   #else
178 178
     LSTR MSG_MESH_EDITOR                    = _UxGT("Зміщення Z");
@@ -205,7 +205,7 @@ namespace Language_uk {
205 205
   LSTR MSG_UBL_TOOLS                        = _UxGT("Інструменти UBL");
206 206
   LSTR MSG_UBL_LEVEL_BED                    = _UxGT("Налаштування UBL");
207 207
   LSTR MSG_LCD_TILTING_MESH                 = _UxGT("Точка нахилу");
208
-  #if LCD_WIDTH > 21
208
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
209 209
     LSTR MSG_UBL_MANUAL_MESH                = _UxGT("Ручне введення сітки");
210 210
     LSTR MSG_UBL_BC_INSERT                  = _UxGT("Розмістити шайбу і вимір.");
211 211
   #else
@@ -214,7 +214,7 @@ namespace Language_uk {
214 214
   #endif
215 215
   LSTR MSG_UBL_MESH_WIZARD                  = _UxGT("Майстер сіток UBL");
216 216
   LSTR MSG_UBL_BC_INSERT2                   = _UxGT("Вимірювання");
217
-  #if LCD_WIDTH > 21
217
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
218 218
     LSTR MSG_UBL_BC_REMOVE                  = _UxGT("Видалити і виміряти стіл");
219 219
   #else
220 220
     LSTR MSG_UBL_BC_REMOVE                  = _UxGT("Видали і вимір. стіл");
@@ -226,7 +226,7 @@ namespace Language_uk {
226 226
   LSTR MSG_UBL_BED_TEMP_CUSTOM              = _UxGT("Своя ") LCD_STR_THERMOMETER _UxGT(" столу,") LCD_STR_DEGREE "C";
227 227
   LSTR MSG_UBL_SET_TEMP_HOTEND              = LCD_STR_THERMOMETER _UxGT(" сопла, ") LCD_STR_DEGREE "C";
228 228
   LSTR MSG_UBL_HOTEND_TEMP_CUSTOM           = _UxGT("Своя ") LCD_STR_THERMOMETER _UxGT(" сопла,") LCD_STR_DEGREE "C";
229
-  #if LCD_WIDTH > 21
229
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
230 230
     LSTR MSG_UBL_EDIT_CUSTOM_MESH           = _UxGT("Редагувати свою сітку");
231 231
     LSTR MSG_UBL_FINE_TUNE_MESH             = _UxGT("Точне редагування сітки");
232 232
     LSTR MSG_UBL_BUILD_CUSTOM_MESH          = _UxGT("Будувати свою сітку");
@@ -256,7 +256,7 @@ namespace Language_uk {
256 256
   LSTR MSG_UBL_CONTINUE_MESH                = _UxGT("Продовжити сітку");
257 257
   LSTR MSG_UBL_MESH_LEVELING                = _UxGT("Вирівнювання сітки");
258 258
   LSTR MSG_UBL_3POINT_MESH_LEVELING         = _UxGT("3-точкове вирівн.");
259
-  #if LCD_WIDTH > 21
259
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
260 260
     LSTR MSG_UBL_GRID_MESH_LEVELING         = _UxGT("Вирівнювання растру");
261 261
   #else
262 262
     LSTR MSG_UBL_GRID_MESH_LEVELING         = _UxGT("Вирівнюв. растру");
@@ -269,7 +269,7 @@ namespace Language_uk {
269 269
   LSTR MSG_UBL_OUTPUT_MAP_CSV               = _UxGT("Вивести в CSV");
270 270
   LSTR MSG_UBL_OUTPUT_MAP_BACKUP            = _UxGT("Зберегти зовні");
271 271
   LSTR MSG_UBL_INFO_UBL                     = _UxGT("Інформація по UBL");
272
-  #if LCD_WIDTH > 21
272
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
273 273
     LSTR MSG_UBL_FILLIN_AMOUNT              = _UxGT("Обсяг заповнюв.");
274 274
   #else
275 275
     LSTR MSG_UBL_FILLIN_AMOUNT              = _UxGT("Обсяг заповн.");
@@ -279,7 +279,7 @@ namespace Language_uk {
279 279
   LSTR MSG_UBL_FILLIN_MESH                  = _UxGT("Заповнити сітку");
280 280
   LSTR MSG_UBL_INVALIDATE_ALL               = _UxGT("Анулювати все");
281 281
   LSTR MSG_UBL_INVALIDATE_CLOSEST           = _UxGT("Анулювати найближчу");
282
-  #if LCD_WIDTH > 21
282
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
283 283
     LSTR MSG_UBL_FINE_TUNE_ALL              = _UxGT("Точно налаштувати все");
284 284
     LSTR MSG_UBL_FINE_TUNE_CLOSEST          = _UxGT("Точно налашт.найближчу");
285 285
   #else
@@ -308,7 +308,7 @@ namespace Language_uk {
308 308
 
309 309
   LSTR MSG_LED_CONTROL                      = _UxGT("Керування світлом");
310 310
   LSTR MSG_LEDS                             = _UxGT("Підсвітка");
311
-  #if LCD_WIDTH > 21
311
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
312 312
     LSTR MSG_LED_PRESETS                    = _UxGT("Передустановки світла");
313 313
   #else
314 314
     LSTR MSG_LED_PRESETS                    = _UxGT("Передустан. світла");
@@ -324,7 +324,7 @@ namespace Language_uk {
324 324
   LSTR MSG_SET_LEDS_DEFAULT                 = _UxGT("За умовчанням");
325 325
   LSTR MSG_LED_CHANNEL_N                    = _UxGT("Канал =");
326 326
   LSTR MSG_LEDS2                            = _UxGT("Світло #2");
327
-  #if LCD_WIDTH > 21
327
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
328 328
     LSTR MSG_NEO2_PRESETS                   = _UxGT("Передустановка світла #2");
329 329
   #else
330 330
     LSTR MSG_NEO2_PRESETS                   = _UxGT("Передуст. світла #2");
@@ -361,7 +361,7 @@ namespace Language_uk {
361 361
   LSTR MSG_NOZZLE_STANDBY                   = _UxGT("Сопло очікує");
362 362
   LSTR MSG_BED                              = _UxGT("Стіл,  ") LCD_STR_DEGREE "C";
363 363
   LSTR MSG_CHAMBER                          = _UxGT("Камера,") LCD_STR_DEGREE "C";
364
-  #if LCD_WIDTH > 21
364
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
365 365
     LSTR MSG_COOLER                         = _UxGT("Охолодження лазеру");
366 366
     LSTR MSG_COOLER_TOGGLE                  = _UxGT("Перемк. охолодж.");
367 367
   #else
@@ -372,7 +372,7 @@ namespace Language_uk {
372 372
   LSTR MSG_LASER                            = _UxGT("Лазер");
373 373
   LSTR MSG_FAN_SPEED                        = _UxGT("Швидк. вент.");
374 374
   LSTR MSG_FAN_SPEED_N                      = _UxGT("Швидк. вент. ~");
375
-  #if LCD_WIDTH > 21
375
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
376 376
     LSTR MSG_STORED_FAN_N                   = _UxGT("Збереж.швидк.вент. ~");
377 377
     LSTR MSG_EXTRA_FAN_SPEED_N              = _UxGT("Дод. швидк. вент. ~");
378 378
   #else
@@ -413,7 +413,7 @@ namespace Language_uk {
413 413
   LSTR MSG_VJ_JERK                          = _UxGT("V") LCD_STR_J _UxGT("-ривок");
414 414
   LSTR MSG_VK_JERK                          = _UxGT("V") LCD_STR_K _UxGT("-ривок");
415 415
   LSTR MSG_VE_JERK                          = _UxGT("Ve-ривок");
416
-  #if LCD_WIDTH > 21
416
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
417 417
     LSTR MSG_JUNCTION_DEVIATION             = _UxGT("Відхилення вузла");
418 418
   #else
419 419
     LSTR MSG_JUNCTION_DEVIATION             = _UxGT("Відхил.вузла");
@@ -428,7 +428,7 @@ namespace Language_uk {
428 428
   LSTR MSG_VMAX_E                           = _UxGT("Швидк.макс ") LCD_STR_E;
429 429
   LSTR MSG_VMAX_EN                          = _UxGT("Швидк.макс *");
430 430
   LSTR MSG_VMIN                             = _UxGT("Швидк. мін");
431
-  #if LCD_WIDTH > 21
431
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
432 432
     LSTR MSG_VTRAV_MIN                      = _UxGT("Переміщення мін");
433 433
   #else
434 434
     LSTR MSG_VTRAV_MIN                      = _UxGT("Переміщ. мін");
@@ -471,7 +471,7 @@ namespace Language_uk {
471 471
   LSTR MSG_STORE_EEPROM                     = _UxGT("Зберегти в EEPROM");
472 472
   LSTR MSG_LOAD_EEPROM                      = _UxGT("Зчитати з EEPROM");
473 473
   LSTR MSG_RESTORE_DEFAULTS                 = _UxGT("На базові параметри");
474
-  #if LCD_WIDTH > 21
474
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
475 475
     LSTR MSG_INIT_EEPROM                    = _UxGT("Ініціалізація EEPROM");
476 476
   #else
477 477
     LSTR MSG_INIT_EEPROM                    = _UxGT("Ініціаліз. EEPROM");
@@ -525,7 +525,7 @@ namespace Language_uk {
525 525
   LSTR MSG_NO_MOVE                          = _UxGT("Немає руху.");
526 526
   LSTR MSG_KILLED                           = _UxGT("ПЕРЕРВАНО. ");
527 527
   LSTR MSG_STOPPED                          = _UxGT("ЗУПИНЕНО. ");
528
-  #if LCD_WIDTH > 21
528
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
529 529
     LSTR MSG_CONTROL_RETRACT                = _UxGT("Втягування, мм");
530 530
     LSTR MSG_CONTROL_RETRACT_SWAP           = _UxGT("Зміна втягув.,мм");
531 531
     LSTR MSG_CONTROL_RETRACT_RECOVER        = _UxGT("Повернення, мм");
@@ -547,7 +547,7 @@ namespace Language_uk {
547 547
   LSTR MSG_FILAMENT_PURGE_LENGTH            = _UxGT("Очистити довжину");
548 548
   LSTR MSG_TOOL_CHANGE                      = _UxGT("Зміна сопла");
549 549
   LSTR MSG_TOOL_CHANGE_ZLIFT                = _UxGT("Підняти по Z");
550
-  #if LCD_WIDTH > 21
550
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
551 551
     LSTR MSG_SINGLENOZZLE_PRIME_SPEED       = _UxGT("Початк.швидкість");
552 552
     LSTR MSG_SINGLENOZZLE_RETRACT_SPEED     = _UxGT("Швидкість втягув.");
553 553
   #else
@@ -556,7 +556,7 @@ namespace Language_uk {
556 556
   #endif
557 557
   LSTR MSG_FILAMENT_PARK_ENABLED            = _UxGT("Паркувати голову");
558 558
   LSTR MSG_SINGLENOZZLE_UNRETRACT_SPEED     = _UxGT("Відновити швидкість");
559
-  #if LCD_WIDTH > 21
559
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
560 560
     LSTR MSG_SINGLENOZZLE_FAN_SPEED         = _UxGT("Оберти вентилятора");
561 561
     LSTR MSG_SINGLENOZZLE_FAN_TIME          = _UxGT("Час вентилятора");
562 562
   #else
@@ -621,7 +621,7 @@ namespace Language_uk {
621 621
   LSTR MSG_THERMAL_RUNAWAY_BED              = _UxGT("ВИТІК ТЕПЛА СТОЛУ");
622 622
   LSTR MSG_THERMAL_RUNAWAY_CHAMBER          = _UxGT("ВИТІК ТЕПЛА КАМЕРИ");
623 623
   LSTR MSG_THERMAL_RUNAWAY_COOLER           = _UxGT("ВИТІК ОХОЛОДЖЕННЯ");
624
-  #if LCD_WIDTH >= 20
624
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
625 625
     LSTR MSG_COOLING_FAILED                 = _UxGT("ОХОЛОДЖЕННЯ НЕ ВДАЛОСЬ");
626 626
   #else
627 627
     LSTR MSG_COOLING_FAILED                 = _UxGT("ОХОЛОДЖ. НЕ ВДАЛОСЬ");
@@ -638,7 +638,7 @@ namespace Language_uk {
638 638
   LSTR MSG_BED_HEATING                      = _UxGT("Нагрів столу...");
639 639
   LSTR MSG_PROBE_HEATING                    = _UxGT("Нагрів зонду...");
640 640
   LSTR MSG_CHAMBER_HEATING                  = _UxGT("Нагрів камери...");
641
-  #if LCD_WIDTH >= 20
641
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
642 642
     LSTR MSG_BED_COOLING                    = _UxGT("Охолодження столу...");
643 643
     LSTR MSG_PROBE_COOLING                  = _UxGT("Охолодження зонду...");
644 644
     LSTR MSG_CHAMBER_COOLING                = _UxGT("Охолодження камери...");
@@ -665,7 +665,7 @@ namespace Language_uk {
665 665
   LSTR MSG_INFO_MENU                        = _UxGT("Про принтер");
666 666
   LSTR MSG_INFO_PRINTER_MENU                = _UxGT("Дані принтера");
667 667
 
668
-  #if LCD_WIDTH > 21
668
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
669 669
     LSTR MSG_3POINT_LEVELING                = _UxGT("3-точкове вирівнювання");
670 670
     LSTR MSG_LINEAR_LEVELING                = _UxGT("Лінійне вирівнювання");
671 671
     LSTR MSG_BILINEAR_LEVELING              = _UxGT("Білінійне вирівнювання");
@@ -676,7 +676,7 @@ namespace Language_uk {
676 676
   #endif
677 677
   LSTR MSG_UBL_LEVELING                     = _UxGT("UBL");
678 678
   LSTR MSG_MESH_LEVELING                    = _UxGT("Вирівнювання сітки");
679
-  #if LCD_WIDTH > 21
679
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
680 680
     LSTR MSG_MESH_DONE                      = _UxGT("Зондування сітки виконано");
681 681
   #else
682 682
     LSTR MSG_MESH_DONE                      = _UxGT("Зондування виконано");
@@ -688,7 +688,7 @@ namespace Language_uk {
688 688
   LSTR MSG_INFO_EXTRUDERS                   = _UxGT("Екструдери");
689 689
   LSTR MSG_INFO_BAUDRATE                    = _UxGT("Бод");
690 690
   LSTR MSG_INFO_PROTOCOL                    = _UxGT("Протокол");
691
-  #if LCD_WIDTH > 21
691
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
692 692
     LSTR MSG_INFO_RUNAWAY_OFF               = _UxGT("Контроль витіку ") LCD_STR_THERMOMETER _UxGT(" Вимк");
693 693
     LSTR MSG_INFO_RUNAWAY_ON                = _UxGT("Контроль витіку ") LCD_STR_THERMOMETER _UxGT(" Увімк");
694 694
     LSTR MSG_HOTEND_IDLE_TIMEOUT            = _UxGT("Час простою хотенду");
@@ -704,7 +704,7 @@ namespace Language_uk {
704 704
 
705 705
   LSTR MSG_INFO_COMPLETED_PRINTS            = _UxGT("Завершено");
706 706
   LSTR MSG_INFO_PRINT_FILAMENT              = _UxGT("Екструдовано");
707
-  #if LCD_WIDTH >= 20
707
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
708 708
     LSTR MSG_INFO_PRINT_COUNT               = _UxGT("Кількість друків");
709 709
     LSTR MSG_INFO_PRINT_TIME                = _UxGT("Весь час друку");
710 710
     LSTR MSG_INFO_PRINT_LONGEST             = _UxGT("Найдовший час");
@@ -731,7 +731,7 @@ namespace Language_uk {
731 731
   LSTR MSG_FILAMENT_CHANGE_HEADER_PAUSE     = _UxGT("ЗУПИНКА ДРУКУ");
732 732
   LSTR MSG_FILAMENT_CHANGE_HEADER_LOAD      = _UxGT("ЗАВАНТАЖИТИ ПРУТОК");
733 733
   LSTR MSG_FILAMENT_CHANGE_HEADER_UNLOAD    = _UxGT("ВИВАНТАЖИТИ ПРУТОК");
734
-  #if LCD_WIDTH > 21
734
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
735 735
     LSTR MSG_FILAMENT_CHANGE_OPTION_HEADER  = _UxGT("ПАРАМЕТРИ ПРОДОВЖЕННЯ:");
736 736
   #else
737 737
     LSTR MSG_FILAMENT_CHANGE_OPTION_HEADER  = _UxGT("ПАРАМ.ПРОДОВЖЕННЯ:");
@@ -739,7 +739,7 @@ namespace Language_uk {
739 739
   LSTR MSG_FILAMENT_CHANGE_OPTION_PURGE     = _UxGT("Видавити ще");
740 740
   LSTR MSG_FILAMENT_CHANGE_OPTION_RESUME    = _UxGT("Відновити друк");
741 741
   LSTR MSG_FILAMENT_CHANGE_NOZZLE           = _UxGT("  Сопло: ");
742
-  #if LCD_WIDTH > 21
742
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
743 743
     LSTR MSG_RUNOUT_SENSOR                  = _UxGT("Датчик закінчення прутка");
744 744
     LSTR MSG_RUNOUT_DISTANCE_MM             = _UxGT("Відстань закінч.,мм");
745 745
   #else
@@ -757,7 +757,7 @@ namespace Language_uk {
757 757
   LSTR MSG_MMU2_RESUMING                    = _UxGT("MMU Продовження...");
758 758
   LSTR MSG_MMU2_LOAD_FILAMENT               = _UxGT("MMU Завантажити");
759 759
   LSTR MSG_MMU2_LOAD_ALL                    = _UxGT("MMU Завантажити все");
760
-  #if LCD_WIDTH > 21
760
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
761 761
     LSTR MSG_MMU2_LOAD_TO_NOZZLE            = _UxGT("MMU Завантажити в сопло");
762 762
   #else
763 763
     LSTR MSG_MMU2_LOAD_TO_NOZZLE            = _UxGT("MMU Завант. в сопло");
@@ -774,7 +774,7 @@ namespace Language_uk {
774 774
   LSTR MSG_MMU2_RESETTING                   = _UxGT("MMU Перезапуск...");
775 775
   LSTR MSG_MMU2_EJECT_RECOVER               = _UxGT("Видаліть, натисніть");
776 776
 
777
-  #if LCD_WIDTH > 21
777
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
778 778
     LSTR MSG_MIX                            = _UxGT("Змішування");
779 779
   #else
780 780
     LSTR MSG_MIX                            = _UxGT("Змішув.");
@@ -783,7 +783,7 @@ namespace Language_uk {
783 783
   LSTR MSG_MIXER                            = _UxGT("Змішувач");
784 784
   LSTR MSG_GRADIENT                         = _UxGT("Градієнт");
785 785
   LSTR MSG_FULL_GRADIENT                    = _UxGT("Повний градієнт");
786
-  #if LCD_WIDTH > 21
786
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
787 787
     LSTR MSG_TOGGLE_MIX                     = _UxGT("Переключити змішування");
788 788
   #else
789 789
     LSTR MSG_TOGGLE_MIX                     = _UxGT("Переключ.змішування");
@@ -792,7 +792,7 @@ namespace Language_uk {
792 792
   LSTR MSG_GRADIENT_MIX                     = _UxGT("Градієнт змішування");
793 793
   LSTR MSG_REVERSE_GRADIENT                 = _UxGT("Змінити градієнт");
794 794
 
795
-  #if LCD_WIDTH > 21
795
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
796 796
     LSTR MSG_ACTIVE_VTOOL                   = _UxGT("Активація В-інструменту");
797 797
     LSTR MSG_GRADIENT_ALIAS                 = _UxGT("Псевдонім В-інструменту");
798 798
     LSTR MSG_RESET_VTOOLS                   = _UxGT("Зкидання В-інструментів");
@@ -815,7 +815,7 @@ namespace Language_uk {
815 815
   LSTR MSG_MAZE                             = _UxGT("Лабіринт");
816 816
 
817 817
   LSTR MSG_BAD_PAGE                         = _UxGT("Погана сторінка");
818
-  #if LCD_WIDTH > 21
818
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
819 819
     LSTR MSG_BAD_PAGE_SPEED                 = _UxGT("Погана швидкість стор.");
820 820
   #else
821 821
     LSTR MSG_BAD_PAGE_SPEED                 = _UxGT("Погана швидк. стор.");
@@ -888,7 +888,7 @@ namespace Language_uk {
888 888
   LSTR MSG_REHEATING                        = _UxGT("Нагрівання...");
889 889
 
890 890
   LSTR MSG_PROBE_WIZARD                     = _UxGT("Майстер Z-зонда");
891
-  #if LCD_WIDTH > 21
891
+  #if LCD_WIDTH > 21 || HAS_DWIN_E3V2
892 892
     LSTR MSG_PROBE_WIZARD_PROBING           = _UxGT("Зондув. контрольної точки Z");
893 893
     LSTR MSG_PROBE_WIZARD_MOVING            = _UxGT("Рух до точки зондування");
894 894
   #else

+ 1
- 1
Marlin/src/lcd/language/language_vi.h Переглянути файл

@@ -383,7 +383,7 @@ namespace Language_vi {
383 383
   LSTR MSG_INFO_PROTOCOL                  = _UxGT("Giao Thức");                            // Protocol
384 384
   LSTR MSG_CASE_LIGHT                     = _UxGT("Đèn Khuông");                           // Case light
385 385
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("Độ Sáng");                              // Light Brightness
386
-  #if LCD_WIDTH >= 20
386
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
387 387
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("Số In");                                // Print Count
388 388
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("Đã hoàn thành");
389 389
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("Tổng số thời gian in");                // Total print time

+ 1
- 1
Marlin/src/lcd/language/language_zh_CN.h Переглянути файл

@@ -489,7 +489,7 @@ namespace Language_zh_CN {
489 489
 
490 490
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("打印机不正确");     // "The printer is incorrect"
491 491
 
492
-  #if LCD_WIDTH >= 20
492
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
493 493
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("打印计数");     // "Print Count"
494 494
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("完成了");     // "Completed"
495 495
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("总打印时间");     // "Total print time"

+ 1
- 1
Marlin/src/lcd/language/language_zh_TW.h Переглянути файл

@@ -437,7 +437,7 @@ namespace Language_zh_TW {
437 437
   LSTR MSG_CASE_LIGHT_BRIGHTNESS          = _UxGT("燈亮度");     // "Light BRIGHTNESS"
438 438
   LSTR MSG_KILL_EXPECTED_PRINTER          = _UxGT("打印機不正確");     // "The printer is incorrect"
439 439
 
440
-  #if LCD_WIDTH >= 20
440
+  #if LCD_WIDTH >= 20 || HAS_DWIN_E3V2
441 441
     LSTR MSG_INFO_PRINT_COUNT             = _UxGT("列印計數");     // "Print Count"
442 442
     LSTR MSG_INFO_COMPLETED_PRINTS        = _UxGT("已完成");     // "Completed"
443 443
     LSTR MSG_INFO_PRINT_TIME              = _UxGT("總列印時間");     // "Total print time"

Завантаження…
Відмінити
Зберегти