Browse Source

Enhance and fix FTDI EVE Touch UI (#17755)

- Stop print and play error sound if USB drive is removed.
- Allow configuration of version string in touch UI.
- Print a completion message in the bed mesh leveling screen.
- Don't play redundant sound at the start of a print.
- Clicking on percentage in status screen now goes into print speed screen
- Clicking on axis in status screen now goes to nozzle motion screens
- Use default increment of 100 when nozzle is preheated in temp screen, 10 otherwise
- Fixed grayed out change filament button in tune menu
- Eliminated code duplication in tune menu
- Add button for resetting BLTouch to advanced settings menu
Marcio T 5 years ago
parent
commit
07a6bf9b84
No account linked to committer's email address

+ 2
- 0
Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h View File

147
   PROGMEM Language_Str MSG_TOUCH_CALIBRATION_START  = u8"Release to begin screen calibration";
147
   PROGMEM Language_Str MSG_TOUCH_CALIBRATION_START  = u8"Release to begin screen calibration";
148
   PROGMEM Language_Str MSG_TOUCH_CALIBRATION_PROMPT = u8"Touch the dots to calibrate";
148
   PROGMEM Language_Str MSG_TOUCH_CALIBRATION_PROMPT = u8"Touch the dots to calibrate";
149
   PROGMEM Language_Str MSG_AUTOLEVEL_X_AXIS         = u8"Level X Axis";
149
   PROGMEM Language_Str MSG_AUTOLEVEL_X_AXIS         = u8"Level X Axis";
150
+  PROGMEM Language_Str MSG_BED_MAPPING_DONE         = u8"Bed mapping finished";
151
+  PROGMEM Language_Str MSG_RESET_BLTOUCH            = u8"Reset BLTouch";
150
 
152
 
151
   #ifdef TOUCH_UI_LULZBOT_BIO
153
   #ifdef TOUCH_UI_LULZBOT_BIO
152
     PROGMEM Language_Str MSG_MOVE_TO_HOME           = u8"Move to Home";
154
     PROGMEM Language_Str MSG_MOVE_TO_HOME           = u8"Move to Home";

+ 10
- 5
Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp View File

51
   }
51
   }
52
 
52
 
53
   void onMediaRemoved() {
53
   void onMediaRemoved() {
54
-    if (AT_SCREEN(StatusScreen))
55
-      StatusScreen::setStatusMessage(GET_TEXT_F(MSG_MEDIA_REMOVED));
56
-    sound.play(media_removed, PLAY_ASYNCHRONOUS);
57
-    if (AT_SCREEN(FilesScreen)) {
58
-      GOTO_SCREEN(StatusScreen)
54
+    if (isPrintingFromMedia()) {
55
+      stopPrint();
56
+      InterfaceSoundsScreen::playEventSound(InterfaceSoundsScreen::PRINTING_FAILED);
59
     }
57
     }
58
+    else
59
+      sound.play(media_removed, PLAY_ASYNCHRONOUS);
60
+
61
+    if (AT_SCREEN(StatusScreen) || isPrintingFromMedia())
62
+      StatusScreen::setStatusMessage(GET_TEXT_F(MSG_MEDIA_REMOVED));
63
+
64
+    if (AT_SCREEN(FilesScreen)) GOTO_SCREEN(StatusScreen)
60
   }
65
   }
61
 
66
 
62
   void onMediaError() {
67
   void onMediaError() {

+ 8
- 2
Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/about_screen.cpp View File

80
     #endif
80
     #endif
81
     , OPT_CENTER, font_xlarge
81
     , OPT_CENTER, font_xlarge
82
   );
82
   );
83
-  draw_text_box(cmd, FW_VERS_POS, progmem_str(getFirmwareName_str()), OPT_CENTER, font_medium);
83
+  draw_text_box(cmd, FW_VERS_POS,
84
+  #ifdef TOUCH_UI_VERSION
85
+    F(TOUCH_UI_VERSION)
86
+  #else
87
+    progmem_str(getFirmwareName_str())
88
+  #endif
89
+  , OPT_CENTER, font_medium);
84
   draw_text_box(cmd, FW_INFO_POS, about_str, OPT_CENTER, font_medium);
90
   draw_text_box(cmd, FW_INFO_POS, about_str, OPT_CENTER, font_medium);
85
-  draw_text_box(cmd.tag(3), INSET_POS(LICENSE_POS), GET_TEXT_F(MSG_LICENSE), OPT_CENTER, font_tiny);
91
+  draw_text_box(cmd, INSET_POS(LICENSE_POS), GET_TEXT_F(MSG_LICENSE), OPT_CENTER, font_tiny);
86
 
92
 
87
   cmd.font(font_medium)
93
   cmd.font(font_medium)
88
      .colors(normal_btn)
94
      .colors(normal_btn)

+ 22
- 57
Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp View File

89
     CommandProcessor cmd;
89
     CommandProcessor cmd;
90
     cmd.colors(normal_btn)
90
     cmd.colors(normal_btn)
91
        .font(Theme::font_medium)
91
        .font(Theme::font_medium)
92
-      .enabled(
93
-        #if HAS_BED_PROBE
94
-          1
95
-        #endif
96
-      )
92
+      .enabled(ENABLED(HAS_BED_PROBE))
97
       .tag(2) .button( ZPROBE_ZOFFSET_POS,     GET_TEXT_F(MSG_ZPROBE_ZOFFSET))
93
       .tag(2) .button( ZPROBE_ZOFFSET_POS,     GET_TEXT_F(MSG_ZPROBE_ZOFFSET))
98
-      .enabled(
99
-        #if HAS_CASE_LIGHT
100
-          1
101
-        #endif
102
-      )
94
+      .enabled(ENABLED(HAS_CASE_LIGHT))
103
       .tag(16).button( CASE_LIGHT_POS,         GET_TEXT_F(MSG_CASE_LIGHT))
95
       .tag(16).button( CASE_LIGHT_POS,         GET_TEXT_F(MSG_CASE_LIGHT))
104
       .tag(3) .button( STEPS_PER_MM_POS,       GET_TEXT_F(MSG_STEPS_PER_MM))
96
       .tag(3) .button( STEPS_PER_MM_POS,       GET_TEXT_F(MSG_STEPS_PER_MM))
105
-      .enabled(
106
-        #if HAS_TRINAMIC_CONFIG
107
-          1
108
-        #endif
109
-      )
97
+      .enabled(ENABLED(HAS_TRINAMIC_CONFIG))
110
       .tag(13).button( TMC_CURRENT_POS,        GET_TEXT_F(MSG_TMC_CURRENT))
98
       .tag(13).button( TMC_CURRENT_POS,        GET_TEXT_F(MSG_TMC_CURRENT))
111
-      .enabled(
112
-        #if ENABLED(SENSORLESS_HOMING)
113
-          1
114
-        #endif
115
-      )
99
+      .enabled(ENABLED(SENSORLESS_HOMING))
116
       .tag(14).button( TMC_HOMING_THRS_POS,    GET_TEXT_F(MSG_TMC_HOMING_THRS))
100
       .tag(14).button( TMC_HOMING_THRS_POS,    GET_TEXT_F(MSG_TMC_HOMING_THRS))
117
-      .enabled(
118
-        #if HAS_MULTI_HOTEND
119
-          1
120
-        #endif
121
-      )
122
-      .tag(4) .button( OFFSETS_POS,            GET_TEXT_F(MSG_OFFSETS_MENU))
123
-      .enabled(
124
-        #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
125
-          1
126
-        #endif
101
+      .enabled(EITHER(HAS_MULTI_HOTEND, BLTOUCH))
102
+      .tag(4) .button( OFFSETS_POS,            GET_TEXT_F(TERN(HAS_MULTI_HOTEND, MSG_OFFSETS_MENU, MSG_RESET_BLTOUCH))
103
+      .enabled(EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
127
       )
104
       )
128
       .tag(11).button( FILAMENT_POS,           GET_TEXT_F(MSG_FILAMENT))
105
       .tag(11).button( FILAMENT_POS,           GET_TEXT_F(MSG_FILAMENT))
129
       .tag(12).button( ENDSTOPS_POS,           GET_TEXT_F(MSG_LCD_ENDSTOPS))
106
       .tag(12).button( ENDSTOPS_POS,           GET_TEXT_F(MSG_LCD_ENDSTOPS))
132
       .tag(10).button( RESTORE_DEFAULTS_POS,   GET_TEXT_F(MSG_RESTORE_DEFAULTS))
109
       .tag(10).button( RESTORE_DEFAULTS_POS,   GET_TEXT_F(MSG_RESTORE_DEFAULTS))
133
       .tag(5) .button( VELOCITY_POS,           GET_TEXT_F(MSG_VELOCITY))
110
       .tag(5) .button( VELOCITY_POS,           GET_TEXT_F(MSG_VELOCITY))
134
       .tag(6) .button( ACCELERATION_POS,       GET_TEXT_F(MSG_ACCELERATION))
111
       .tag(6) .button( ACCELERATION_POS,       GET_TEXT_F(MSG_ACCELERATION))
135
-      .tag(7) .button( JERK_POS,               GET_TEXT_F(
136
-        #if HAS_JUNCTION_DEVIATION
137
-          MSG_JUNCTION_DEVIATION
138
-        #else
139
-          MSG_JERK
140
-        #endif
141
-       ))
142
-      .enabled(
143
-        #if ENABLED(BACKLASH_GCODE)
144
-          1
145
-        #endif
146
-      )
112
+      .tag(7) .button( JERK_POS,               GET_TEXT_F(TERN(HAS_JUNCTION_DEVIATION, MSG_JUNCTION_DEVIATION, MSG_JERK))
113
+      .enabled(ENABLED(BACKLASH_GCODE))
147
       .tag(8).button( BACKLASH_POS,            GET_TEXT_F(MSG_BACKLASH))
114
       .tag(8).button( BACKLASH_POS,            GET_TEXT_F(MSG_BACKLASH))
148
       .colors(action_btn)
115
       .colors(action_btn)
149
       .tag(1).button( BACK_POS,                GET_TEXT_F(MSG_BACK));
116
       .tag(1).button( BACK_POS,                GET_TEXT_F(MSG_BACK));
152
 
119
 
153
 bool AdvancedSettingsMenu::onTouchEnd(uint8_t tag) {
120
 bool AdvancedSettingsMenu::onTouchEnd(uint8_t tag) {
154
   switch (tag) {
121
   switch (tag) {
155
-    case 1: SaveSettingsDialogBox::promptToSaveSettings(); break;
122
+    case  1: SaveSettingsDialogBox::promptToSaveSettings(); break;
156
     #if HAS_BED_PROBE
123
     #if HAS_BED_PROBE
157
-    case 2:  GOTO_SCREEN(ZOffsetScreen);              break;
124
+    case  2: GOTO_SCREEN(ZOffsetScreen);              break;
158
     #endif
125
     #endif
159
-    case 3:  GOTO_SCREEN(StepsScreen);                break;
160
-    #if HAS_MULTI_HOTEND
161
-    case 4:  GOTO_SCREEN(NozzleOffsetScreen);         break;
162
-    #endif
163
-    case 5:  GOTO_SCREEN(MaxVelocityScreen);          break;
164
-    case 6:  GOTO_SCREEN(DefaultAccelerationScreen);  break;
165
-    case 7:
166
-      #if HAS_JUNCTION_DEVIATION
167
-        GOTO_SCREEN(JunctionDeviationScreen);
168
-      #else
169
-        GOTO_SCREEN(JerkScreen);
126
+    case  3: GOTO_SCREEN(StepsScreen);                break;
127
+    case  4:
128
+      #if HAS_MULTI_HOTEND
129
+        GOTO_SCREEN(NozzleOffsetScreen);
130
+      #elif ENABLED(BLTOUCH)
131
+        injectCommands_P(PSTR("M280 P0 S60"));
170
       #endif
132
       #endif
171
       break;
133
       break;
134
+    case  5: GOTO_SCREEN(MaxVelocityScreen);          break;
135
+    case  6: GOTO_SCREEN(DefaultAccelerationScreen);  break;
136
+    case  7: GOTO_SCREEN(TERN(HAS_JUNCTION_DEVIATION, JunctionDeviationScreen, JerkScreen)); break;
172
     #if ENABLED(BACKLASH_GCODE)
137
     #if ENABLED(BACKLASH_GCODE)
173
-    case 8:  GOTO_SCREEN(BacklashCompensationScreen); break;
138
+    case  8: GOTO_SCREEN(BacklashCompensationScreen); break;
174
     #endif
139
     #endif
175
-    case 9:  GOTO_SCREEN(InterfaceSettingsScreen);  LockScreen::check_passcode(); break;
140
+    case  9: GOTO_SCREEN(InterfaceSettingsScreen);  LockScreen::check_passcode(); break;
176
     case 10: GOTO_SCREEN(RestoreFailsafeDialogBox); LockScreen::check_passcode(); break;
141
     case 10: GOTO_SCREEN(RestoreFailsafeDialogBox); LockScreen::check_passcode(); break;
177
     #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
142
     #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
178
     case 11: GOTO_SCREEN(FilamentMenu); break;
143
     case 11: GOTO_SCREEN(FilamentMenu); break;

+ 14
- 9
Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp View File

35
   #define GRID_ROWS 10
35
   #define GRID_ROWS 10
36
 
36
 
37
   #define MESH_POS    BTN_POS(1, 2), BTN_SIZE(2,5)
37
   #define MESH_POS    BTN_POS(1, 2), BTN_SIZE(2,5)
38
+  #define MESSAGE_POS BTN_POS(1, 7), BTN_SIZE(2,1)
38
   #define Z_LABEL_POS BTN_POS(1, 8), BTN_SIZE(1,1)
39
   #define Z_LABEL_POS BTN_POS(1, 8), BTN_SIZE(1,1)
39
   #define Z_VALUE_POS BTN_POS(2, 8), BTN_SIZE(1,1)
40
   #define Z_VALUE_POS BTN_POS(2, 8), BTN_SIZE(1,1)
40
-  #define WAIT_POS    BTN_POS(1, 8), BTN_SIZE(2,1)
41
-  #define BACK_POS    BTN_POS(1,10), BTN_SIZE(2,1)
41
+  #define OKAY_POS    BTN_POS(1,10), BTN_SIZE(2,1)
42
 #else
42
 #else
43
   #define GRID_COLS 5
43
   #define GRID_COLS 5
44
   #define GRID_ROWS 5
44
   #define GRID_ROWS 5
45
 
45
 
46
-  #define MESH_POS       BTN_POS(1,1), BTN_SIZE(3,5)
47
-  #define Z_LABEL_POS    BTN_POS(4,2), BTN_SIZE(2,1)
48
-  #define Z_VALUE_POS    BTN_POS(4,3), BTN_SIZE(2,1)
49
-  #define WAIT_POS       BTN_POS(4,2), BTN_SIZE(2,2)
50
-  #define BACK_POS       BTN_POS(4,5), BTN_SIZE(2,1)
46
+  #define MESH_POS    BTN_POS(1,1), BTN_SIZE(3,5)
47
+  #define MESSAGE_POS BTN_POS(4,1), BTN_SIZE(2,1)
48
+  #define Z_LABEL_POS BTN_POS(4,2), BTN_SIZE(2,1)
49
+  #define Z_VALUE_POS BTN_POS(4,3), BTN_SIZE(2,1)
50
+  #define OKAY_POS    BTN_POS(4,5), BTN_SIZE(2,1)
51
 #endif
51
 #endif
52
 
52
 
53
 void BedMeshScreen::drawMesh(int16_t x, int16_t y, int16_t w, int16_t h, ExtUI::bed_mesh_t data, uint8_t opts, float autoscale_max) {
53
 void BedMeshScreen::drawMesh(int16_t x, int16_t y, int16_t w, int16_t h, ExtUI::bed_mesh_t data, uint8_t opts, float autoscale_max) {
238
      .text(Z_LABEL_POS, GET_TEXT_F(MSG_MESH_EDIT_Z))
238
      .text(Z_LABEL_POS, GET_TEXT_F(MSG_MESH_EDIT_Z))
239
      .text(Z_VALUE_POS, str)
239
      .text(Z_VALUE_POS, str)
240
      .colors(action_btn)
240
      .colors(action_btn)
241
-     .tag(1).button( BACK_POS, GET_TEXT_F(MSG_BACK))
241
+     .tag(1).button( OKAY_POS, GET_TEXT_F(MSG_BUTTON_OKAY))
242
      .tag(0);
242
      .tag(0);
243
 }
243
 }
244
 
244
 
261
     constexpr float autoscale_max_amplitude = 0.03;
261
     constexpr float autoscale_max_amplitude = 0.03;
262
     const bool levelingFinished = screen_data.BedMeshScreen.count >= GRID_MAX_POINTS;
262
     const bool levelingFinished = screen_data.BedMeshScreen.count >= GRID_MAX_POINTS;
263
     const float levelingProgress = sq(float(screen_data.BedMeshScreen.count) / GRID_MAX_POINTS);
263
     const float levelingProgress = sq(float(screen_data.BedMeshScreen.count) / GRID_MAX_POINTS);
264
-    if (levelingFinished) drawHighlightedPointValue();
264
+    if (levelingFinished) {
265
+      drawHighlightedPointValue();
266
+      CommandProcessor cmd;
267
+      cmd.font(Theme::font_medium)
268
+         .text(MESSAGE_POS, GET_TEXT_F(MSG_BED_MAPPING_DONE));
269
+    }
265
 
270
 
266
     BedMeshScreen::drawMesh(INSET_POS(MESH_POS), ExtUI::getMeshArray(),
271
     BedMeshScreen::drawMesh(INSET_POS(MESH_POS), ExtUI::getMeshArray(),
267
       USE_POINTS | USE_HIGHLIGHT | USE_AUTOSCALE | (levelingFinished ? USE_COLORS : 0),
272
       USE_POINTS | USE_HIGHLIGHT | USE_AUTOSCALE | (levelingFinished ? USE_COLORS : 0),

+ 0
- 5
Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/confirm_start_print_dialog_box.cpp View File

31
 using namespace Theme;
31
 using namespace Theme;
32
 using namespace ExtUI;
32
 using namespace ExtUI;
33
 
33
 
34
-void ConfirmStartPrintDialogBox::onEntry() {
35
-  BaseScreen::onEntry();
36
-  sound.play(twinkle, PLAY_ASYNCHRONOUS);
37
-}
38
-
39
 void ConfirmStartPrintDialogBox::onRedraw(draw_mode_t) {
34
 void ConfirmStartPrintDialogBox::onRedraw(draw_mode_t) {
40
   const char *filename = getLongFilename();
35
   const char *filename = getLongFilename();
41
   char buffer[strlen_P(GET_TEXT(MSG_START_PRINT_CONFIRMATION)) + strlen(filename) + 1];
36
   char buffer[strlen_P(GET_TEXT(MSG_START_PRINT_CONFIRMATION)) + strlen(filename) + 1];

+ 0
- 1
Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h View File

223
 
223
 
224
     static const char *getFilename(bool longName);
224
     static const char *getFilename(bool longName);
225
   public:
225
   public:
226
-    static void onEntry();
227
     static void onRedraw(draw_mode_t);
226
     static void onRedraw(draw_mode_t);
228
     static bool onTouchEnd(uint8_t);
227
     static bool onTouchEnd(uint8_t);
229
 
228
 

+ 11
- 2
Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp View File

246
     sprintf_P(progress_str, PSTR("%-3d %%"),      getProgress_percent() );
246
     sprintf_P(progress_str, PSTR("%-3d %%"),      getProgress_percent() );
247
 
247
 
248
     cmd.font(font_medium)
248
     cmd.font(font_medium)
249
-       .tag(0).text(TIME_POS, time_str)
249
+       .tag(7).text(TIME_POS, time_str)
250
               .text(PROGRESS_POS, progress_str);
250
               .text(PROGRESS_POS, progress_str);
251
   }
251
   }
252
 }
252
 }
386
       break;
386
       break;
387
     case 5:  GOTO_SCREEN(TemperatureScreen); break;
387
     case 5:  GOTO_SCREEN(TemperatureScreen); break;
388
     case 6:
388
     case 6:
389
-      if (!isPrinting()) {
389
+      if (isPrinting()) {
390
+        #if ENABLED(BABYSTEPPING)
391
+          GOTO_SCREEN(NudgeNozzleScreen);
392
+        #elif HAS_BED_PROBE
393
+          GOTO_SCREEN(ZOffsetScreen);
394
+        #else
395
+          return false;
396
+        #endif
397
+      } else {
390
         GOTO_SCREEN(MoveAxisScreen);
398
         GOTO_SCREEN(MoveAxisScreen);
391
       }
399
       }
392
       break;
400
       break;
401
+    case 7:  GOTO_SCREEN(FeedratePercentScreen); break;
393
     default:
402
     default:
394
       return true;
403
       return true;
395
   }
404
   }

+ 1
- 1
Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/temperature_screen.cpp View File

35
   #if TOUCH_UI_LCD_TEMP_SCALING == 10
35
   #if TOUCH_UI_LCD_TEMP_SCALING == 10
36
     w.precision(1)
36
     w.precision(1)
37
   #else
37
   #else
38
-    w.precision(0)
38
+    w.precision(0, getTargetTemp_celsius(E0) == 0 ? DEFAULT_HIGHEST : DEFAULT_MIDRANGE)
39
   #endif
39
   #endif
40
    .color(temp).units(GET_TEXT_F(MSG_UNITS_C));
40
    .color(temp).units(GET_TEXT_F(MSG_UNITS_C));
41
   w.heading(GET_TEXT_F(MSG_TEMPERATURE));
41
   w.heading(GET_TEXT_F(MSG_TEMPERATURE));

+ 29
- 73
Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/tune_menu.cpp View File

39
   #ifdef TOUCH_UI_PORTRAIT
39
   #ifdef TOUCH_UI_PORTRAIT
40
     #define GRID_ROWS 8
40
     #define GRID_ROWS 8
41
     #define GRID_COLS 2
41
     #define GRID_COLS 2
42
+    #define TEMPERATURE_POS BTN_POS(1,1), BTN_SIZE(2,1)
43
+    #define FIL_CHANGE_POS  BTN_POS(1,2), BTN_SIZE(2,1)
44
+    #define FILAMENT_POS    BTN_POS(1,3), BTN_SIZE(2,1)
45
+    #define NUDGE_NOZ_POS   BTN_POS(1,4), BTN_SIZE(2,1)
46
+    #define SPEED_POS       BTN_POS(1,5), BTN_SIZE(2,1)
47
+    #define PAUSE_POS       BTN_POS(1,6), BTN_SIZE(2,1)
48
+    #define STOP_POS        BTN_POS(1,7), BTN_SIZE(2,1)
49
+    #define BACK_POS        BTN_POS(1,8), BTN_SIZE(2,1)
42
   #else
50
   #else
43
     #define GRID_ROWS 4
51
     #define GRID_ROWS 4
44
     #define GRID_COLS 2
52
     #define GRID_COLS 2
53
+    #define TEMPERATURE_POS BTN_POS(1,1), BTN_SIZE(1,1)
54
+    #define NUDGE_NOZ_POS   BTN_POS(2,1), BTN_SIZE(1,1)
55
+    #define FIL_CHANGE_POS  BTN_POS(1,2), BTN_SIZE(1,1)
56
+    #define SPEED_POS       BTN_POS(2,2), BTN_SIZE(1,1)
57
+    #define PAUSE_POS       BTN_POS(1,3), BTN_SIZE(1,1)
58
+    #define STOP_POS        BTN_POS(2,3), BTN_SIZE(1,1)
59
+    #define FILAMENT_POS    BTN_POS(1,4), BTN_SIZE(1,1)
60
+    #defome BACK_POS        BTN_POS(2,4), BTN_SIZE(1,1)
45
   #endif
61
   #endif
46
 
62
 
47
   if (what & FOREGROUND) {
63
   if (what & FOREGROUND) {
50
     CommandProcessor cmd;
66
     CommandProcessor cmd;
51
     cmd.colors(normal_btn)
67
     cmd.colors(normal_btn)
52
        .font(font_medium)
68
        .font(font_medium)
53
-    #ifdef TOUCH_UI_PORTRAIT
54
-       .tag(2).enabled(1)      .button( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXT_F(MSG_TEMPERATURE))
55
-       .tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(MSG_FILAMENTCHANGE))
56
-       .enabled(
57
-         #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
58
-           1
59
-         #endif
60
-       )
61
-       .tag(9).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(MSG_FILAMENT))
62
-      #if ENABLED(BABYSTEPPING)
63
-       .tag(4).enabled(1)      .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(MSG_NUDGE_NOZZLE))
64
-      #else
65
-        .enabled(
66
-          #if HAS_BED_PROBE
67
-            1
68
-          #endif
69
-        )
70
-       .tag(4)                 .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(MSG_ZPROBE_ZOFFSET))
71
-      #endif
72
-       .tag(5).enabled(1)      .button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(MSG_PRINT_SPEED))
69
+       .tag(2).button( TEMPERATURE_POS, GET_TEXT_F(MSG_TEMPERATURE))
70
+       .enabled(!isPrinting() || isPrintingFromMediaPaused())
71
+       .tag(3).button( FIL_CHANGE_POS,  GET_TEXT_F(MSG_FILAMENTCHANGE))
72
+       .enabled(EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR))
73
+       .tag(9).button( FILAMENT_POS, GET_TEXT_F(MSG_FILAMENT))
74
+       .enabled(EITHER(HAS_BED_PROBE, BABYSTEPPING))
75
+       .tag(4).button( NUDGE_NOZ_POS, GET_TEXT_F(TERN(BABYSTEPPING, MSG_NUDGE_NOZZLE, MSG_ZPROBE_ZOFFSET))
76
+       .tag(5).button( SPEED_POS, GET_TEXT_F(MSG_PRINT_SPEED))
73
        .tag(isPrintingFromMediaPaused() ? 7 : 6)
77
        .tag(isPrintingFromMediaPaused() ? 7 : 6)
74
-       .enabled(
75
-         #if ENABLED(SDSUPPORT)
76
-           isPrintingFromMedia()
77
-         #endif
78
-       )
79
-        .button( BTN_POS(1,6), BTN_SIZE(2,1), isPrintingFromMediaPaused() ? GET_TEXT_F(MSG_RESUME_PRINT) : GET_TEXT_F(MSG_PAUSE_PRINT))
80
-        .enabled(
81
-          #if ENABLED(SDSUPPORT)
82
-            isPrintingFromMedia()
83
-          #endif
84
-        )
85
-      .tag(8)             .button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(MSG_STOP_PRINT))
78
+       .enabled(TERN0(SDSUPPORT, isPrintingFromMedia()))
79
+       .button( PAUSE_POS, isPrintingFromMediaPaused() ? GET_TEXT_F(MSG_RESUME_PRINT) : GET_TEXT_F(MSG_PAUSE_PRINT))
80
+       .enabled(TERN0(SDSUPPORT, isPrintingFromMedia()))
81
+      .tag(8).button( STOP_POS, GET_TEXT_F(MSG_STOP_PRINT))
86
       .tag(1).colors(action_btn)
82
       .tag(1).colors(action_btn)
87
-                          .button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(MSG_BACK));
88
-    #else // TOUCH_UI_PORTRAIT
89
-       .tag(2).enabled(1) .button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_TEMPERATURE))
90
-       .tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_FILAMENTCHANGE))
91
-       .enabled(
92
-         #if ENABLED(BABYSTEPPING)
93
-           isPrintingFromMedia()
94
-         #endif
95
-       )
96
-        #if ENABLED(BABYSTEPPING)
97
-          .tag(4)         .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_NUDGE_NOZZLE))
98
-        #else
99
-          .enabled(
100
-            #if HAS_BED_PROBE
101
-              isPrintingFromMedia()
102
-            #endif
103
-          )
104
-          .tag(4)         .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(MSG_ZPROBE_ZOFFSET))
105
-        #endif
106
-       .tag(5).enabled(1) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_PRINT_SPEED))
107
-       .tag(isPrintingFromMediaPaused() ? 7 : 6)
108
-       .enabled(
109
-         #if ENABLED(SDSUPPORT)
110
-           isPrintingFromMedia()
111
-         #endif
112
-       )
113
-                          .button( BTN_POS(1,3), BTN_SIZE(1,1), isPrintingFromMediaPaused() ? GET_TEXT_F(MSG_RESUME_PRINT) : GET_TEXT_F(MSG_PAUSE_PRINT))
114
-       .enabled(
115
-         #if ENABLED(SDSUPPORT)
116
-           isPrintingFromMedia()
117
-         #endif
118
-       )
119
-       .tag(8).           button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXT_F(MSG_STOP_PRINT))
120
-       .enabled(
121
-         #if ANY(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
122
-           1
123
-         #endif
124
-       )
125
-       .tag(9).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_FILAMENT))
126
-       .tag(1).colors(action_btn) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_BACK));
127
-    #endif
83
+             .button( BACK_POS, GET_TEXT_F(MSG_BACK));
128
   }
84
   }
129
   #undef GRID_COLS
85
   #undef GRID_COLS
130
   #undef GRID_ROWS
86
   #undef GRID_ROWS

Loading…
Cancel
Save