Sfoglia il codice sorgente

MKS UI: Monitor state when idle (#21452)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Leoric 3 anni fa
parent
commit
532df198da
Nessun account collegato all'indirizzo email del committer

+ 7
- 0
Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.cpp Vedi File

@@ -65,6 +65,13 @@ extern uint32_t upload_time;
65 65
 extern uint32_t upload_size;
66 66
 extern bool temps_update_flag;
67 67
 
68
+//#define CANCEL_ON_RIGHT   // Put 'Cancel' on the right (as it was before)
69
+
70
+#define BTN_OK_X      TERN(CANCEL_ON_RIGHT, 100, 280)
71
+#define BTN_CANCEL_X  TERN(CANCEL_ON_RIGHT, 280, 100)
72
+#define BTN_OK_Y      180
73
+#define BTN_CANCEL_Y  180
74
+
68 75
 static void btn_ok_event_cb(lv_obj_t *btn, lv_event_t event) {
69 76
   if (event != LV_EVENT_RELEASED) return;
70 77
   if (DIALOG_IS(TYPE_PRINT_FILE)) {

+ 0
- 5
Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.h Vedi File

@@ -74,11 +74,6 @@ enum {
74 74
   DIALOG_TRANSFER_NO_DEVICE
75 75
 };
76 76
 
77
-#define BTN_OK_X      100
78
-#define BTN_OK_Y      180
79
-#define BTN_CANCEL_X  280
80
-#define BTN_CANCEL_Y  180
81
-
82 77
 extern void lv_draw_dialog(uint8_t type);
83 78
 extern void lv_clear_dialog();
84 79
 extern void filament_sprayer_temp();

+ 1
- 1
Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp Vedi File

@@ -222,7 +222,7 @@ void disp_bed_temp() {
222 222
 }
223 223
 
224 224
 void disp_fan_speed() {
225
-  sprintf_P(public_buf_l, PSTR("%3d"), thermalManager.fan_speed[0]);
225
+  sprintf_P(public_buf_l, PSTR("%d%%"), thermalManager.fanPercent(thermalManager.fan_speed[0]));
226 226
   lv_label_set_text(labelFan, public_buf_l);
227 227
 }
228 228
 

+ 136
- 62
Marlin/src/lcd/extui/lib/mks_ui/draw_ready_print.cpp Vedi File

@@ -42,32 +42,36 @@
42 42
 
43 43
 #include <stdio.h>
44 44
 
45
+#define ICON_POS_Y          38
46
+#define TARGET_LABEL_MOD_Y -36
47
+#define LABEL_MOD_Y         30
48
+#define SECOND_EXT_MOD_Y   100
49
+
45 50
 extern lv_group_t*  g;
46 51
 static lv_obj_t *scr;
52
+static lv_obj_t *labelExt1, *labelExt1Target, *labelFan;
53
+
54
+#if HAS_MULTI_EXTRUDER
55
+  static lv_obj_t *labelExt2, *labelExt2Target;
56
+#endif
57
+
58
+#if HAS_HEATED_BED
59
+  static lv_obj_t *labelBed, *labelBedTarget;
60
+#endif
61
+
47 62
 #if ENABLED(MKS_TEST)
48 63
   uint8_t curent_disp_ui = 0;
49 64
 #endif
50 65
 
51
-enum {
52
-  ID_TOOL = 1,
53
-  ID_SET,
54
-  ID_PRINT
55
-};
66
+enum { ID_TOOL = 1, ID_SET, ID_PRINT };
56 67
 
57 68
 static void event_handler(lv_obj_t *obj, lv_event_t event) {
58 69
   if (event != LV_EVENT_RELEASED) return;
59 70
   lv_clear_ready_print();
60
-
61 71
   switch (obj->mks_obj_id) {
62
-    case ID_TOOL:
63
-      lv_draw_tool();
64
-      break;
65
-    case ID_SET:
66
-      lv_draw_set();
67
-      break;
68
-    case ID_PRINT:
69
-      lv_draw_print_file();
70
-      break;
72
+    case ID_TOOL:   lv_draw_tool(); break;
73
+    case ID_SET:    lv_draw_set(); break;
74
+    case ID_PRINT:  lv_draw_print_file(); break;
71 75
   }
72 76
 }
73 77
 
@@ -98,14 +102,14 @@ void disp_det_error() {
98 102
 lv_obj_t *e1, *e2, *e3, *bed;
99 103
 void mks_disp_test() {
100 104
   char buf[30] = {0};
101
-  sprintf_P(buf, PSTR("e1:%d"), (int)thermalManager.degHotend(0));
105
+  sprintf_P(buf, PSTR("e1:%d"), thermalManager.degHotend(0));
102 106
   lv_label_set_text(e1, buf);
103 107
   #if HAS_MULTI_HOTEND
104
-    sprintf_P(buf, PSTR("e2:%d"), (int)thermalManager.degHotend(1));
108
+    sprintf_P(buf, PSTR("e2:%d"), thermalManager.degHotend(1));
105 109
     lv_label_set_text(e2, buf);
106 110
   #endif
107 111
   #if HAS_HEATED_BED
108
-    sprintf_P(buf, PSTR("bed:%d"), (int)thermalManager.temp_bed.celsius);
112
+    sprintf_P(buf, PSTR("bed:%d"), thermalManager.degBed());
109 113
     lv_label_set_text(bed, buf);
110 114
   #endif
111 115
 }
@@ -130,53 +134,123 @@ void lv_draw_ready_print() {
130 134
       lv_obj_align(label_tool, buttonTool, LV_ALIGN_IN_BOTTOM_MID, 0, BUTTON_TEXT_Y_OFFSET);
131 135
     }
132 136
 
133
-    #if 1
134
-      e1 = lv_label_create_empty(scr);
135
-      lv_obj_set_pos(e1, 20, 20);
136
-      sprintf_P(buf, PSTR("e1:  %d"), (int)thermalManager.degHotend(0));
137
-      lv_label_set_text(e1, buf);
138
-      #if HAS_MULTI_HOTEND
139
-        e2 = lv_label_create_empty(scr);
140
-        lv_obj_set_pos(e2, 20, 45);
141
-        sprintf_P(buf, PSTR("e1:  %d"), (int)thermalManager.degHotend(1));
142
-        lv_label_set_text(e2, buf);
143
-      #endif
144
-
145
-      #if HAS_HEATED_BED
146
-        bed = lv_label_create_empty(scr);
147
-        lv_obj_set_pos(bed, 20, 95);
148
-        sprintf_P(buf, PSTR("bed:  %d"), (int)thermalManager.temp_bed.celsius);
149
-        lv_label_set_text(bed, buf);
150
-      #endif
151
-
152
-      limit_info = lv_label_create_empty(scr);
153
-
154
-      lv_style_copy(&limit_style, &lv_style_scr);
155
-      limit_style.body.main_color.full = 0x0000;
156
-      limit_style.body.grad_color.full = 0x0000;
157
-      limit_style.text.color.full      = 0xffff;
158
-      lv_obj_set_style(limit_info, &limit_style);
159
-
160
-      lv_obj_set_pos(limit_info, 20, 120);
161
-      lv_label_set_text(limit_info, " ");
162
-
163
-      det_info = lv_label_create_empty(scr);
164
-
165
-      lv_style_copy(&det_style, &lv_style_scr);
166
-      det_style.body.main_color.full = 0x0000;
167
-      det_style.body.grad_color.full = 0x0000;
168
-      det_style.text.color.full      = 0xffff;
169
-      lv_obj_set_style(det_info, &det_style);
170
-
171
-      lv_obj_set_pos(det_info, 20, 145);
172
-      lv_label_set_text(det_info, " ");
173
-    #endif // if 1
137
+    e1 = lv_label_create_empty(scr);
138
+    lv_obj_set_pos(e1, 20, 20);
139
+    sprintf_P(buf, PSTR("e1:  %d"), thermalManager.degHotend(0));
140
+    lv_label_set_text(e1, buf);
141
+
142
+    #if HAS_MULTI_HOTEND
143
+      e2 = lv_label_create_empty(scr);
144
+      lv_obj_set_pos(e2, 20, 45);
145
+      sprintf_P(buf, PSTR("e1:  %d"), thermalManager.degHotend(1));
146
+      lv_label_set_text(e2, buf);
147
+    #endif
148
+
149
+    #if HAS_HEATED_BED
150
+      bed = lv_label_create_empty(scr);
151
+      lv_obj_set_pos(bed, 20, 95);
152
+      sprintf_P(buf, PSTR("bed:  %d"), thermalManager.degBed());
153
+      lv_label_set_text(bed, buf);
154
+    #endif
155
+
156
+    limit_info = lv_label_create_empty(scr);
157
+
158
+    lv_style_copy(&limit_style, &lv_style_scr);
159
+    limit_style.body.main_color.full = 0x0000;
160
+    limit_style.body.grad_color.full = 0x0000;
161
+    limit_style.text.color.full      = 0xFFFF;
162
+    lv_obj_set_style(limit_info, &limit_style);
163
+
164
+    lv_obj_set_pos(limit_info, 20, 120);
165
+    lv_label_set_text(limit_info, " ");
166
+
167
+    det_info = lv_label_create_empty(scr);
174 168
 
169
+    lv_style_copy(&det_style, &lv_style_scr);
170
+    det_style.body.main_color.full = 0x0000;
171
+    det_style.body.grad_color.full = 0x0000;
172
+    det_style.text.color.full      = 0xFFFF;
173
+    lv_obj_set_style(det_info, &det_style);
174
+
175
+    lv_obj_set_pos(det_info, 20, 145);
176
+    lv_label_set_text(det_info, " ");
175 177
   }
176 178
   else {
177
-    lv_big_button_create(scr, "F:/bmp_tool.bin", main_menu.tool, 20, 90, event_handler, ID_TOOL);
178
-    lv_big_button_create(scr, "F:/bmp_set.bin", main_menu.set, 180, 90, event_handler, ID_SET);
179
-    lv_big_button_create(scr, "F:/bmp_printing.bin", main_menu.print, 340, 90, event_handler, ID_PRINT);
179
+    lv_big_button_create(scr, "F:/bmp_tool.bin", main_menu.tool, 20, 180, event_handler, ID_TOOL);
180
+    lv_big_button_create(scr, "F:/bmp_set.bin", main_menu.set, 180, 180, event_handler, ID_SET);
181
+    lv_big_button_create(scr, "F:/bmp_printing.bin", main_menu.print, 340, 180, event_handler, ID_PRINT);
182
+
183
+    // Monitoring
184
+    lv_obj_t *buttonExt1 = lv_img_create(scr, NULL);
185
+    #if HAS_MULTI_EXTRUDER
186
+      lv_obj_t *buttonExt2 = lv_img_create(scr, NULL);
187
+    #endif
188
+    #if HAS_HEATED_BED
189
+      lv_obj_t *buttonBedstate = lv_img_create(scr, NULL);
190
+    #endif
191
+    lv_obj_t *buttonFanstate = lv_img_create(scr, NULL);
192
+
193
+    lv_img_set_src(buttonExt1, "F:/bmp_ext1_state.bin");
194
+    #if HAS_MULTI_EXTRUDER
195
+      lv_img_set_src(buttonExt2, "F:/bmp_ext2_state.bin");
196
+    #endif
197
+    #if HAS_HEATED_BED
198
+      lv_img_set_src(buttonBedstate, "F:/bmp_bed_state.bin");
199
+    #endif
200
+    lv_img_set_src(buttonFanstate, "F:/bmp_fan_state.bin");
201
+
202
+    lv_obj_set_pos(buttonExt1, 55, ICON_POS_Y);
203
+    #if HAS_MULTI_EXTRUDER
204
+      lv_obj_set_pos(buttonExt2, 55, ICON_POS_Y + SECOND_EXT_MOD_Y);
205
+    #endif
206
+    #if HAS_HEATED_BED
207
+      lv_obj_set_pos(buttonBedstate, 210, ICON_POS_Y);
208
+    #endif
209
+    lv_obj_set_pos(buttonFanstate, 380, ICON_POS_Y);
210
+
211
+    labelExt1 = lv_label_create(scr, 55, LABEL_MOD_Y, nullptr);
212
+    labelExt1Target = lv_label_create(scr, 55, LABEL_MOD_Y, nullptr);
213
+
214
+    #if HAS_MULTI_EXTRUDER
215
+      labelExt2 = lv_label_create(scr, 55, LABEL_MOD_Y + SECOND_EXT_MOD_Y, nullptr);
216
+      labelExt2Target = lv_label_create(scr, 55, LABEL_MOD_Y + SECOND_EXT_MOD_Y, nullptr);
217
+    #endif
218
+
219
+    #if HAS_HEATED_BED
220
+      labelBed = lv_label_create(scr, 210, LABEL_MOD_Y, nullptr);
221
+      labelBedTarget = lv_label_create(scr, 210, LABEL_MOD_Y, nullptr);
222
+    #endif
223
+
224
+    labelFan = lv_label_create(scr, 380, 80, nullptr);
225
+
226
+    sprintf_P(buf, PSTR("%d"), thermalManager.degHotend(0));
227
+    lv_label_set_text(labelExt1, buf);
228
+    lv_obj_align(labelExt1, buttonExt1, LV_ALIGN_CENTER, 0, LABEL_MOD_Y);
229
+    sprintf_P(buf, PSTR("-> %d"), thermalManager.degTargetHotend(0));
230
+    lv_label_set_text(labelExt1Target, buf);
231
+    lv_obj_align(labelExt1Target, buttonExt1, LV_ALIGN_CENTER, 0, TARGET_LABEL_MOD_Y);
232
+
233
+    #if HAS_MULTI_EXTRUDER
234
+      sprintf_P(buf, PSTR("%d"), thermalManager.degHotend(1));
235
+      lv_label_set_text(labelExt2, buf);
236
+      lv_obj_align(labelExt2, buttonExt2, LV_ALIGN_CENTER, 0, LABEL_MOD_Y);
237
+      sprintf_P(buf, PSTR("-> %d"), thermalManager.degTargetHotend(1));
238
+      lv_label_set_text(labelExt2Target, buf);
239
+      lv_obj_align(labelExt2Target, buttonExt2, LV_ALIGN_CENTER, 0, TARGET_LABEL_MOD_Y);
240
+    #endif
241
+
242
+    #if HAS_HEATED_BED
243
+      sprintf_P(buf, PSTR("%d"), thermalManager.degBed());
244
+      lv_label_set_text(labelBed, buf);
245
+      lv_obj_align(labelBed, buttonBedstate, LV_ALIGN_CENTER, 0, LABEL_MOD_Y);
246
+      sprintf_P(buf, PSTR("-> %d"), thermalManager.degTargetBed());
247
+      lv_label_set_text(labelBedTarget, buf);
248
+      lv_obj_align(labelBedTarget, buttonBedstate, LV_ALIGN_CENTER, 0, TARGET_LABEL_MOD_Y);
249
+    #endif
250
+
251
+    sprintf_P(buf, PSTR("%d%%"), thermalManager.fanPercent(thermalManager.fan_speed[0]));
252
+    lv_label_set_text(labelFan, buf);
253
+    lv_obj_align(labelFan, buttonFanstate, LV_ALIGN_CENTER, 0, LABEL_MOD_Y);
180 254
   }
181 255
 
182 256
   #if ENABLED(TOUCH_SCREEN_CALIBRATION)

+ 3
- 3
Marlin/src/lcd/extui/lib/mks_ui/tft_multi_language.cpp Vedi File

@@ -815,9 +815,9 @@ void disp_language_init() {
815 815
   wifi_menu.disconnected = WIFI_DISCONNECTED_TEXT;
816 816
   wifi_menu.exception    = WIFI_EXCEPTION_TEXT;
817 817
 
818
-  printing_menu.temp1    = TEXT_VALUE;
819
-  printing_menu.temp2    = TEXT_VALUE;
820
-  printing_menu.bed_temp = TEXT_VALUE;
818
+  printing_menu.temp1    = TEXT_VALUE_TARGET;
819
+  printing_menu.temp2    = TEXT_VALUE_TARGET;
820
+  printing_menu.bed_temp = TEXT_VALUE_TARGET;
821 821
 
822 822
   filament_menu.stat_temp = TEXT_VALUE;
823 823
 

+ 1
- 0
Marlin/src/lcd/extui/lib/mks_ui/tft_multi_language.h Vedi File

@@ -748,6 +748,7 @@ extern eeprom_def eeprom_menu;
748 748
 /*****************************************/
749 749
 //
750 750
 #define TEXT_VALUE          "%d/%d"
751
+#define TEXT_VALUE_TARGET   "%d -> %d"
751 752
 
752 753
 #define TEXT_VALUE_T        ": %d℃"
753 754
 #define TEXT_VALUE_mm       ": %dmm"

Loading…
Annulla
Salva