Browse Source

Aliases for common menu item types

Scott Lahteine 5 years ago
parent
commit
273cbe931e

+ 1
- 1
Marlin/src/lcd/menu/menu.cpp View File

@@ -134,7 +134,7 @@ void MenuItem_gcode::action(PGM_P const, PGM_P const pgcode) { queue.inject_P(pg
134 134
  *   void MenuItem_int3::action_edit(PGM_P const pstr, int16_t * const ptr, const int16_t minValue, const int16_t maxValue, const screenFunc_t callback = null, const bool live = false);
135 135
  *
136 136
  * You can then use one of the menu macros to present the edit interface:
137
- *   MENU_ITEM_EDIT(int3, MSG_SPEED, &feedrate_percentage, 10, 999)
137
+ *   EDIT_ITEM(int3, MSG_SPEED, &feedrate_percentage, 10, 999)
138 138
  *
139 139
  * This expands into a more primitive menu item:
140 140
  *   MENU_ITEM_VARIANT(int3, _edit, MSG_SPEED, PSTR(MSG_SPEED), &feedrate_percentage, 10, 999)

+ 14
- 12
Marlin/src/lcd/menu/menu.h View File

@@ -293,17 +293,17 @@ class MenuItem_bool {
293 293
  *   MenuItem_<type>::action[_variant](arg3...)
294 294
  *
295 295
  * Examples:
296
- *   MENU_ITEM(back, MSG_WATCH, 0 [dummy parameter] )
297
- *   or
298
- *   MENU_BACK(MSG_WATCH)
296
+ *   BACK_ITEM(MSG_WATCH)
297
+ *   MENU_ITEM(back, MSG_WATCH)
299 298
  *     draw_menu_item_back(sel, row, PSTR(MSG_WATCH))
300 299
  *     MenuItem_back::action()
301 300
  *
301
+ *   ACTION_ITEM(MSG_PAUSE_PRINT, lcd_sdcard_pause)
302 302
  *   MENU_ITEM(function, MSG_PAUSE_PRINT, lcd_sdcard_pause)
303 303
  *     draw_menu_item_function(sel, row, PSTR(MSG_PAUSE_PRINT), lcd_sdcard_pause)
304 304
  *     MenuItem_function::action(lcd_sdcard_pause)
305 305
  *
306
- *   MENU_ITEM_EDIT(int3, MSG_SPEED, &feedrate_percentage, 10, 999)
306
+ *   EDIT_ITEM(int3, MSG_SPEED, &feedrate_percentage, 10, 999)
307 307
  *     draw_menu_item_edit_int3(sel, row, PSTR(MSG_SPEED), &feedrate_percentage, 10, 999)
308 308
  *     MenuItem_int3::action_edit(PSTR(MSG_SPEED), &feedrate_percentage, 10, 999)
309 309
  *
@@ -346,14 +346,16 @@ class MenuItem_bool {
346 346
 
347 347
 #define STATIC_ITEM(LABEL, V...) STATIC_ITEM_P(PSTR(LABEL), ##V)
348 348
 
349
-#define MENU_BACK(LABEL) MENU_ITEM(back, LABEL)
350
-#define MENU_ITEM_DUMMY() do { _thisItemNr++; }while(0)
351
-#define MENU_ITEM_P(TYPE, PLABEL, V...)                       _MENU_ITEM_VARIANT_P(TYPE,      , false, PLABEL,      ##V)
352
-#define MENU_ITEM(TYPE, LABEL, V...)                          _MENU_ITEM_VARIANT_P(TYPE,      , false, PSTR(LABEL), ##V)
353
-#define MENU_ITEM_EDIT(TYPE, LABEL, V...)                     _MENU_ITEM_VARIANT_P(TYPE, _edit, false, PSTR(LABEL), ##V)
354
-#define MENU_ITEM_EDIT_CALLBACK(TYPE, LABEL, V...)            _MENU_ITEM_VARIANT_P(TYPE, _edit, false, PSTR(LABEL), ##V)
355
-#define MENU_MULTIPLIER_ITEM_EDIT(TYPE, LABEL, V...)          _MENU_ITEM_VARIANT_P(TYPE, _edit,  true, PSTR(LABEL), ##V)
356
-#define MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(TYPE, LABEL, V...) _MENU_ITEM_VARIANT_P(TYPE, _edit,  true, PSTR(LABEL), ##V)
349
+#define MENU_ITEM_P(TYPE, PLABEL, V...)   _MENU_ITEM_VARIANT_P(TYPE,      , false, PLABEL,      ##V)
350
+#define MENU_ITEM(TYPE, LABEL, V...)      _MENU_ITEM_VARIANT_P(TYPE,      , false, PSTR(LABEL), ##V)
351
+#define EDIT_ITEM(TYPE, LABEL, V...)      _MENU_ITEM_VARIANT_P(TYPE, _edit, false, PSTR(LABEL), ##V)
352
+#define EDIT_ITEM_FAST(TYPE, LABEL, V...) _MENU_ITEM_VARIANT_P(TYPE, _edit,  true, PSTR(LABEL), ##V)
353
+
354
+#define SKIP_ITEM()                 (_thisItemNr++)
355
+#define BACK_ITEM(LABEL)            MENU_ITEM(back,LABEL)
356
+#define SUBMENU(LABEL, DEST)        MENU_ITEM(submenu, LABEL, DEST)
357
+#define GCODES_ITEM(LABEL, GCODES)  MENU_ITEM(gcode, LABEL, GCODES)
358
+#define ACTION_ITEM(LABEL, ACTION)  MENU_ITEM(function, LABEL, ACTION)
357 359
 
358 360
 ////////////////////////////////////////////
359 361
 /////////////// Menu Screens ///////////////

+ 72
- 72
Marlin/src/lcd/menu/menu_advanced.cpp View File

@@ -62,13 +62,13 @@ void menu_backlash();
62 62
   void menu_dac() {
63 63
     dac_driver_getValues();
64 64
     START_MENU();
65
-    MENU_BACK(MSG_ADVANCED_SETTINGS);
66
-    #define EDIT_DAC_PERCENT(N) MENU_ITEM_EDIT_CALLBACK(uint8, MSG_##N " " MSG_DAC_PERCENT, &driverPercent[_AXIS(N)], 0, 100, dac_driver_commit)
65
+    BACK_ITEM(MSG_ADVANCED_SETTINGS);
66
+    #define EDIT_DAC_PERCENT(N) EDIT_ITEM(uint8, MSG_##N " " MSG_DAC_PERCENT, &driverPercent[_AXIS(N)], 0, 100, dac_driver_commit)
67 67
     EDIT_DAC_PERCENT(X);
68 68
     EDIT_DAC_PERCENT(Y);
69 69
     EDIT_DAC_PERCENT(Z);
70 70
     EDIT_DAC_PERCENT(E);
71
-    MENU_ITEM(function, MSG_DAC_EEPROM_WRITE, dac_commit_eeprom);
71
+    ACTION_ITEM(MSG_DAC_EEPROM_WRITE, dac_commit_eeprom);
72 72
     END_MENU();
73 73
   }
74 74
 
@@ -80,8 +80,8 @@ void menu_backlash();
80 80
 
81 81
   void menu_pwm() {
82 82
     START_MENU();
83
-    MENU_BACK(MSG_ADVANCED_SETTINGS);
84
-    #define EDIT_CURRENT_PWM(LABEL,I) MENU_ITEM_EDIT_CALLBACK(long5, LABEL, &stepper.motor_current_setting[I], 100, 2000, stepper.refresh_motor_power)
83
+    BACK_ITEM(MSG_ADVANCED_SETTINGS);
84
+    #define EDIT_CURRENT_PWM(LABEL,I) EDIT_ITEM(long5, LABEL, &stepper.motor_current_setting[I], 100, 2000, stepper.refresh_motor_power)
85 85
     #if PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
86 86
       EDIT_CURRENT_PWM(MSG_X MSG_Y, 0);
87 87
     #endif
@@ -116,13 +116,13 @@ void menu_backlash();
116 116
   //
117 117
   void menu_advanced_filament() {
118 118
     START_MENU();
119
-    MENU_BACK(MSG_ADVANCED_SETTINGS);
119
+    BACK_ITEM(MSG_ADVANCED_SETTINGS);
120 120
 
121 121
     #if ENABLED(LIN_ADVANCE)
122 122
       #if EXTRUDERS == 1
123
-        MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999);
123
+        EDIT_ITEM(float52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999);
124 124
       #elif EXTRUDERS > 1
125
-        #define EDIT_ADVANCE_K(N) MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E##N, &planner.extruder_advance_K[N-1], 0, 999)
125
+        #define EDIT_ADVANCE_K(N) EDIT_ITEM(float52, MSG_ADVANCE_K MSG_E##N, &planner.extruder_advance_K[N-1], 0, 999)
126 126
         EDIT_ADVANCE_K(1);
127 127
         EDIT_ADVANCE_K(2);
128 128
         #if EXTRUDERS > 2
@@ -141,14 +141,14 @@ void menu_backlash();
141 141
     #endif
142 142
 
143 143
     #if DISABLED(NO_VOLUMETRICS)
144
-      MENU_ITEM_EDIT_CALLBACK(bool, MSG_VOLUMETRIC_ENABLED, &parser.volumetric_enabled, planner.calculate_volumetric_multipliers);
144
+      EDIT_ITEM(bool, MSG_VOLUMETRIC_ENABLED, &parser.volumetric_enabled, planner.calculate_volumetric_multipliers);
145 145
 
146 146
       if (parser.volumetric_enabled) {
147 147
         #if EXTRUDERS == 1
148
-          MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &planner.filament_size[0], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
148
+          EDIT_ITEM_FAST(float43, MSG_FILAMENT_DIAM, &planner.filament_size[0], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
149 149
         #else // EXTRUDERS > 1
150
-          #define EDIT_FIL_DIAM(N) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E##N, &planner.filament_size[N-1], 1.5f, 3.25f, planner.calculate_volumetric_multipliers)
151
-          MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &planner.filament_size[active_extruder], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
150
+          #define EDIT_FIL_DIAM(N) EDIT_ITEM_FAST(float43, MSG_FILAMENT_DIAM MSG_DIAM_E##N, &planner.filament_size[N-1], 1.5f, 3.25f, planner.calculate_volumetric_multipliers)
151
+          EDIT_ITEM_FAST(float43, MSG_FILAMENT_DIAM, &planner.filament_size[active_extruder], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
152 152
           EDIT_FIL_DIAM(1);
153 153
           EDIT_FIL_DIAM(2);
154 154
           #if EXTRUDERS > 2
@@ -177,10 +177,10 @@ void menu_backlash();
177 177
       ;
178 178
 
179 179
       #if EXTRUDERS == 1
180
-        MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD, &fc_settings[0].unload_length, 0, extrude_maxlength);
180
+        EDIT_ITEM_FAST(float3, MSG_FILAMENT_UNLOAD, &fc_settings[0].unload_length, 0, extrude_maxlength);
181 181
       #elif EXTRUDERS > 1
182
-        #define EDIT_FIL_UNLOAD(N) MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E##N, &fc_settings[N-1].unload_length, 0, extrude_maxlength)
183
-        MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD, &fc_settings[active_extruder].unload_length, 0, extrude_maxlength);
182
+        #define EDIT_FIL_UNLOAD(N) EDIT_ITEM_FAST(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E##N, &fc_settings[N-1].unload_length, 0, extrude_maxlength)
183
+        EDIT_ITEM_FAST(float3, MSG_FILAMENT_UNLOAD, &fc_settings[active_extruder].unload_length, 0, extrude_maxlength);
184 184
         EDIT_FIL_UNLOAD(1);
185 185
         EDIT_FIL_UNLOAD(2);
186 186
         #if EXTRUDERS > 2
@@ -198,10 +198,10 @@ void menu_backlash();
198 198
       #endif // EXTRUDERS > 1
199 199
 
200 200
       #if EXTRUDERS == 1
201
-        MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD, &fc_settings[0].load_length, 0, extrude_maxlength);
201
+        EDIT_ITEM_FAST(float3, MSG_FILAMENT_LOAD, &fc_settings[0].load_length, 0, extrude_maxlength);
202 202
       #elif EXTRUDERS > 1
203
-        #define EDIT_FIL_LOAD(N) MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E##N, &fc_settings[N-1].load_length, 0, extrude_maxlength)
204
-        MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD, &fc_settings[active_extruder].load_length, 0, extrude_maxlength);
203
+        #define EDIT_FIL_LOAD(N) EDIT_ITEM_FAST(float3, MSG_FILAMENT_LOAD MSG_DIAM_E##N, &fc_settings[N-1].load_length, 0, extrude_maxlength)
204
+        EDIT_ITEM_FAST(float3, MSG_FILAMENT_LOAD, &fc_settings[active_extruder].load_length, 0, extrude_maxlength);
205 205
         EDIT_FIL_LOAD(1);
206 206
         EDIT_FIL_LOAD(2);
207 207
         #if EXTRUDERS > 2
@@ -220,7 +220,7 @@ void menu_backlash();
220 220
     #endif
221 221
 
222 222
     #if ENABLED(FILAMENT_RUNOUT_SENSOR) && FILAMENT_RUNOUT_DISTANCE_MM
223
-      MENU_ITEM_EDIT_CALLBACK(float3, MSG_RUNOUT_DISTANCE_MM, &lcd_runout_distance_mm, 1, 30, []{
223
+      EDIT_ITEM(float3, MSG_RUNOUT_DISTANCE_MM, &lcd_runout_distance_mm, 1, 30, []{
224 224
         runout.set_runout_distance(lcd_runout_distance_mm);
225 225
       });
226 226
     #endif
@@ -328,15 +328,15 @@ void menu_backlash();
328 328
 
329 329
   void menu_advanced_temperature() {
330 330
     START_MENU();
331
-    MENU_BACK(MSG_ADVANCED_SETTINGS);
331
+    BACK_ITEM(MSG_ADVANCED_SETTINGS);
332 332
     //
333 333
     // Autotemp, Min, Max, Fact
334 334
     //
335 335
     #if ENABLED(AUTOTEMP) && HAS_TEMP_HOTEND
336
-      MENU_ITEM_EDIT(bool, MSG_AUTOTEMP, &planner.autotemp_enabled);
337
-      MENU_ITEM_EDIT(float3, MSG_MIN, &planner.autotemp_min, 0, float(HEATER_0_MAXTEMP) - 15);
338
-      MENU_ITEM_EDIT(float3, MSG_MAX, &planner.autotemp_max, 0, float(HEATER_0_MAXTEMP) - 15);
339
-      MENU_ITEM_EDIT(float52, MSG_FACTOR, &planner.autotemp_factor, 0, 10);
336
+      EDIT_ITEM(bool, MSG_AUTOTEMP, &planner.autotemp_enabled);
337
+      EDIT_ITEM(float3, MSG_MIN, &planner.autotemp_min, 0, float(HEATER_0_MAXTEMP) - 15);
338
+      EDIT_ITEM(float3, MSG_MAX, &planner.autotemp_max, 0, float(HEATER_0_MAXTEMP) - 15);
339
+      EDIT_ITEM(float52, MSG_FACTOR, &planner.autotemp_factor, 0, 10);
340 340
     #endif
341 341
 
342 342
     //
@@ -352,14 +352,14 @@ void menu_backlash();
352 352
       #define _PID_BASE_MENU_ITEMS(ELABEL, eindex) \
353 353
         raw_Ki = unscalePID_i(PID_PARAM(Ki, eindex)); \
354 354
         raw_Kd = unscalePID_d(PID_PARAM(Kd, eindex)); \
355
-        MENU_ITEM_EDIT(float52sign, MSG_PID_P ELABEL, &PID_PARAM(Kp, eindex), 1, 9990); \
356
-        MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_PID_I ELABEL, &raw_Ki, 0.01f, 9990, copy_and_scalePID_i_E ## eindex); \
357
-        MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_PID_D ELABEL, &raw_Kd, 1, 9990, copy_and_scalePID_d_E ## eindex)
355
+        EDIT_ITEM(float52sign, MSG_PID_P ELABEL, &PID_PARAM(Kp, eindex), 1, 9990); \
356
+        EDIT_ITEM(float52sign, MSG_PID_I ELABEL, &raw_Ki, 0.01f, 9990, copy_and_scalePID_i_E ## eindex); \
357
+        EDIT_ITEM(float52sign, MSG_PID_D ELABEL, &raw_Kd, 1, 9990, copy_and_scalePID_d_E ## eindex)
358 358
 
359 359
       #if ENABLED(PID_EXTRUSION_SCALING)
360 360
         #define _PID_EDIT_MENU_ITEMS(ELABEL, eindex) \
361 361
           _PID_BASE_MENU_ITEMS(ELABEL, eindex); \
362
-          MENU_ITEM_EDIT(float3, MSG_PID_C ELABEL, &PID_PARAM(Kc, eindex), 1, 9990)
362
+          EDIT_ITEM(float3, MSG_PID_C ELABEL, &PID_PARAM(Kc, eindex), 1, 9990)
363 363
       #else
364 364
         #define _PID_EDIT_MENU_ITEMS(ELABEL, eindex) _PID_BASE_MENU_ITEMS(ELABEL, eindex)
365 365
       #endif
@@ -373,7 +373,7 @@ void menu_backlash();
373 373
     #if ENABLED(PID_AUTOTUNE_MENU)
374 374
       #define PID_EDIT_MENU_ITEMS(ELABEL, eindex) \
375 375
         _PID_EDIT_MENU_ITEMS(ELABEL, eindex); \
376
-        MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_PID_AUTOTUNE ELABEL, &autotune_temp[eindex], 150, heater_maxtemp[eindex] - 15, lcd_autotune_callback_E ## eindex)
376
+        EDIT_ITEM_FAST(int3, MSG_PID_AUTOTUNE ELABEL, &autotune_temp[eindex], 150, heater_maxtemp[eindex] - 15, lcd_autotune_callback_E ## eindex)
377 377
     #else
378 378
       #define PID_EDIT_MENU_ITEMS(ELABEL, eindex) _PID_EDIT_MENU_ITEMS(ELABEL, eindex)
379 379
     #endif
@@ -450,7 +450,7 @@ void menu_backlash();
450 450
   // M203 / M205 Velocity options
451 451
   void menu_advanced_velocity() {
452 452
     START_MENU();
453
-    MENU_BACK(MSG_ADVANCED_SETTINGS);
453
+    BACK_ITEM(MSG_ADVANCED_SETTINGS);
454 454
 
455 455
     // M203 Max Feedrate
456 456
     constexpr xyze_feedrate_t max_fr_edit =
@@ -467,14 +467,14 @@ void menu_backlash();
467 467
     #else
468 468
       const xyze_feedrate_t &max_fr_edit_scaled = max_fr_edit;
469 469
     #endif
470
-    #define EDIT_VMAX(N) MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_##N, &planner.settings.max_feedrate_mm_s[_AXIS(N)], 1, max_fr_edit_scaled[_AXIS(N)])
470
+    #define EDIT_VMAX(N) EDIT_ITEM_FAST(float3, MSG_VMAX MSG_##N, &planner.settings.max_feedrate_mm_s[_AXIS(N)], 1, max_fr_edit_scaled[_AXIS(N)])
471 471
     EDIT_VMAX(A);
472 472
     EDIT_VMAX(B);
473 473
     EDIT_VMAX(C);
474 474
 
475 475
     #if ENABLED(DISTINCT_E_FACTORS)
476
-      #define EDIT_VMAX_E(N) MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E##N, &planner.settings.max_feedrate_mm_s[E_AXIS_N(N-1)], 1, max_fr_edit_scaled.e)
477
-      MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E, &planner.settings.max_feedrate_mm_s[E_AXIS_N(active_extruder)], 1, max_fr_edit_scaled.e);
476
+      #define EDIT_VMAX_E(N) EDIT_ITEM_FAST(float3, MSG_VMAX MSG_E##N, &planner.settings.max_feedrate_mm_s[E_AXIS_N(N-1)], 1, max_fr_edit_scaled.e)
477
+      EDIT_ITEM_FAST(float3, MSG_VMAX MSG_E, &planner.settings.max_feedrate_mm_s[E_AXIS_N(active_extruder)], 1, max_fr_edit_scaled.e);
478 478
       EDIT_VMAX_E(1);
479 479
       EDIT_VMAX_E(2);
480 480
       #if E_STEPPERS > 2
@@ -490,14 +490,14 @@ void menu_backlash();
490 490
         #endif // E_STEPPERS > 3
491 491
       #endif // E_STEPPERS > 2
492 492
     #elif E_STEPPERS
493
-      MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E, &planner.settings.max_feedrate_mm_s[E_AXIS], 1, max_fr_edit_scaled.e);
493
+      EDIT_ITEM_FAST(float3, MSG_VMAX MSG_E, &planner.settings.max_feedrate_mm_s[E_AXIS], 1, max_fr_edit_scaled.e);
494 494
     #endif
495 495
 
496 496
     // M205 S Min Feedrate
497
-    MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMIN, &planner.settings.min_feedrate_mm_s, 0, 999);
497
+    EDIT_ITEM_FAST(float3, MSG_VMIN, &planner.settings.min_feedrate_mm_s, 0, 999);
498 498
 
499 499
     // M205 T Min Travel Feedrate
500
-    MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VTRAV_MIN, &planner.settings.min_travel_feedrate_mm_s, 0, 999);
500
+    EDIT_ITEM_FAST(float3, MSG_VTRAV_MIN, &planner.settings.min_travel_feedrate_mm_s, 0, 999);
501 501
 
502 502
     END_MENU();
503 503
   }
@@ -505,17 +505,17 @@ void menu_backlash();
505 505
   // M201 / M204 Accelerations
506 506
   void menu_advanced_acceleration() {
507 507
     START_MENU();
508
-    MENU_BACK(MSG_ADVANCED_SETTINGS);
508
+    BACK_ITEM(MSG_ADVANCED_SETTINGS);
509 509
 
510 510
     static float max_accel = _MAX(planner.settings.max_acceleration_mm_per_s2[A_AXIS], planner.settings.max_acceleration_mm_per_s2[B_AXIS], planner.settings.max_acceleration_mm_per_s2[C_AXIS]);
511 511
     // M204 P Acceleration
512
-    MENU_MULTIPLIER_ITEM_EDIT(float5_25, MSG_ACC, &planner.settings.acceleration, 25, max_accel);
512
+    EDIT_ITEM_FAST(float5_25, MSG_ACC, &planner.settings.acceleration, 25, max_accel);
513 513
 
514 514
     // M204 R Retract Acceleration
515
-    MENU_MULTIPLIER_ITEM_EDIT(float5, MSG_A_RETRACT, &planner.settings.retract_acceleration, 100, max_accel);
515
+    EDIT_ITEM_FAST(float5, MSG_A_RETRACT, &planner.settings.retract_acceleration, 100, max_accel);
516 516
 
517 517
     // M204 T Travel Acceleration
518
-    MENU_MULTIPLIER_ITEM_EDIT(float5_25, MSG_A_TRAVEL, &planner.settings.travel_acceleration, 25, max_accel);
518
+    EDIT_ITEM_FAST(float5_25, MSG_A_TRAVEL, &planner.settings.travel_acceleration, 25, max_accel);
519 519
 
520 520
     // M201 settings
521 521
     constexpr xyze_ulong_t max_accel_edit =
@@ -533,15 +533,15 @@ void menu_backlash();
533 533
       const xyze_ulong_t &max_accel_edit_scaled = max_accel_edit;
534 534
     #endif
535 535
 
536
-    #define EDIT_AMAX(Q,L) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5_25, MSG_AMAX MSG_##Q, &planner.settings.max_acceleration_mm_per_s2[_AXIS(Q)], L, max_accel_edit_scaled[_AXIS(Q)], _reset_acceleration_rates)
536
+    #define EDIT_AMAX(Q,L) EDIT_ITEM_FAST(long5_25, MSG_AMAX MSG_##Q, &planner.settings.max_acceleration_mm_per_s2[_AXIS(Q)], L, max_accel_edit_scaled[_AXIS(Q)], _reset_acceleration_rates)
537 537
 
538 538
     EDIT_AMAX(A,100);
539 539
     EDIT_AMAX(B,100);
540 540
     EDIT_AMAX(C, 10);
541 541
 
542 542
     #if ENABLED(DISTINCT_E_FACTORS)
543
-      #define EDIT_AMAX_E(N,E) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5_25, MSG_AMAX MSG_E##N, &planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(E)], 100, max_accel_edit_scaled.e, _reset_e##E##_acceleration_rate)
544
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5_25, MSG_AMAX MSG_E, &planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(active_extruder)], 100, max_accel_edit_scaled.e, _reset_acceleration_rates);
543
+      #define EDIT_AMAX_E(N,E) EDIT_ITEM_FAST(long5_25, MSG_AMAX MSG_E##N, &planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(E)], 100, max_accel_edit_scaled.e, _reset_e##E##_acceleration_rate)
544
+      EDIT_ITEM_FAST(long5_25, MSG_AMAX MSG_E, &planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(active_extruder)], 100, max_accel_edit_scaled.e, _reset_acceleration_rates);
545 545
       EDIT_AMAX_E(1,0);
546 546
       EDIT_AMAX_E(2,1);
547 547
       #if E_STEPPERS > 2
@@ -557,7 +557,7 @@ void menu_backlash();
557 557
         #endif // E_STEPPERS > 3
558 558
       #endif // E_STEPPERS > 2
559 559
     #elif E_STEPPERS
560
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5_25, MSG_AMAX MSG_E, &planner.settings.max_acceleration_mm_per_s2[E_AXIS], 100, max_accel_edit_scaled.e, _reset_acceleration_rates);
560
+      EDIT_ITEM_FAST(long5_25, MSG_AMAX MSG_E, &planner.settings.max_acceleration_mm_per_s2[E_AXIS], 100, max_accel_edit_scaled.e, _reset_acceleration_rates);
561 561
     #endif
562 562
 
563 563
     END_MENU();
@@ -566,13 +566,13 @@ void menu_backlash();
566 566
   // M205 Jerk
567 567
   void menu_advanced_jerk() {
568 568
     START_MENU();
569
-    MENU_BACK(MSG_ADVANCED_SETTINGS);
569
+    BACK_ITEM(MSG_ADVANCED_SETTINGS);
570 570
 
571 571
     #if ENABLED(JUNCTION_DEVIATION)
572 572
       #if ENABLED(LIN_ADVANCE)
573
-        MENU_ITEM_EDIT_CALLBACK(float43, MSG_JUNCTION_DEVIATION, &planner.junction_deviation_mm, 0.01f, 0.3f, planner.recalculate_max_e_jerk);
573
+        EDIT_ITEM(float43, MSG_JUNCTION_DEVIATION, &planner.junction_deviation_mm, 0.01f, 0.3f, planner.recalculate_max_e_jerk);
574 574
       #else
575
-        MENU_ITEM_EDIT(float43, MSG_JUNCTION_DEVIATION, &planner.junction_deviation_mm, 0.01f, 0.3f);
575
+        EDIT_ITEM(float43, MSG_JUNCTION_DEVIATION, &planner.junction_deviation_mm, 0.01f, 0.3f);
576 576
       #endif
577 577
     #endif
578 578
     #if HAS_CLASSIC_JERK
@@ -585,16 +585,16 @@ void menu_backlash();
585 585
           { 990, 990, 990, 990 }
586 586
         #endif
587 587
       ;
588
-      #define EDIT_JERK(N) MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_V##N##_JERK, &planner.max_jerk[_AXIS(N)], 1, max_jerk_edit[_AXIS(N)])
588
+      #define EDIT_JERK(N) EDIT_ITEM_FAST(float3, MSG_V##N##_JERK, &planner.max_jerk[_AXIS(N)], 1, max_jerk_edit[_AXIS(N)])
589 589
       EDIT_JERK(A);
590 590
       EDIT_JERK(B);
591 591
       #if ENABLED(DELTA)
592 592
         EDIT_JERK(C);
593 593
       #else
594
-        MENU_MULTIPLIER_ITEM_EDIT(float52sign, MSG_VC_JERK, &planner.max_jerk.c, 0.1f, max_jerk_edit.c);
594
+        EDIT_ITEM_FAST(float52sign, MSG_VC_JERK, &planner.max_jerk.c, 0.1f, max_jerk_edit.c);
595 595
       #endif
596 596
       #if !BOTH(JUNCTION_DEVIATION, LIN_ADVANCE)
597
-        MENU_MULTIPLIER_ITEM_EDIT(float52sign, MSG_VE_JERK, &planner.max_jerk.e, 0.1f, max_jerk_edit.e);
597
+        EDIT_ITEM_FAST(float52sign, MSG_VE_JERK, &planner.max_jerk.e, 0.1f, max_jerk_edit.e);
598 598
       #endif
599 599
     #endif
600 600
 
@@ -604,16 +604,16 @@ void menu_backlash();
604 604
   // M92 Steps-per-mm
605 605
   void menu_advanced_steps_per_mm() {
606 606
     START_MENU();
607
-    MENU_BACK(MSG_ADVANCED_SETTINGS);
607
+    BACK_ITEM(MSG_ADVANCED_SETTINGS);
608 608
 
609
-    #define EDIT_QSTEPS(Q) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float51, MSG_##Q##STEPS, &planner.settings.axis_steps_per_mm[_AXIS(Q)], 5, 9999, _planner_refresh_positioning)
609
+    #define EDIT_QSTEPS(Q) EDIT_ITEM_FAST(float51, MSG_##Q##STEPS, &planner.settings.axis_steps_per_mm[_AXIS(Q)], 5, 9999, _planner_refresh_positioning)
610 610
     EDIT_QSTEPS(A);
611 611
     EDIT_QSTEPS(B);
612 612
     EDIT_QSTEPS(C);
613 613
 
614 614
     #if ENABLED(DISTINCT_E_FACTORS)
615
-      #define EDIT_ESTEPS(N,E) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float51, MSG_E##N##STEPS, &planner.settings.axis_steps_per_mm[E_AXIS_N(E)], 5, 9999, _planner_refresh_e##E##_positioning)
616
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float51, MSG_ESTEPS, &planner.settings.axis_steps_per_mm[E_AXIS_N(active_extruder)], 5, 9999, _planner_refresh_positioning);
615
+      #define EDIT_ESTEPS(N,E) EDIT_ITEM_FAST(float51, MSG_E##N##STEPS, &planner.settings.axis_steps_per_mm[E_AXIS_N(E)], 5, 9999, _planner_refresh_e##E##_positioning)
616
+      EDIT_ITEM_FAST(float51, MSG_ESTEPS, &planner.settings.axis_steps_per_mm[E_AXIS_N(active_extruder)], 5, 9999, _planner_refresh_positioning);
617 617
       EDIT_ESTEPS(1,0);
618 618
       EDIT_ESTEPS(2,1);
619 619
       #if E_STEPPERS > 2
@@ -629,7 +629,7 @@ void menu_backlash();
629 629
         #endif // E_STEPPERS > 3
630 630
       #endif // E_STEPPERS > 2
631 631
     #elif E_STEPPERS
632
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float51, MSG_ESTEPS, &planner.settings.axis_steps_per_mm[E_AXIS], 5, 9999, _planner_refresh_positioning);
632
+      EDIT_ITEM_FAST(float51, MSG_ESTEPS, &planner.settings.axis_steps_per_mm[E_AXIS], 5, 9999, _planner_refresh_positioning);
633 633
     #endif
634 634
 
635 635
     END_MENU();
@@ -663,7 +663,7 @@ void menu_advanced_settings() {
663 663
     lcd_runout_distance_mm = runout.runout_distance();
664 664
   #endif
665 665
   START_MENU();
666
-  MENU_BACK(MSG_CONFIGURATION);
666
+  BACK_ITEM(MSG_CONFIGURATION);
667 667
 
668 668
   #if DISABLED(SLIM_LCD_MENUS)
669 669
 
@@ -671,50 +671,50 @@ void menu_advanced_settings() {
671 671
       //
672 672
       // Set Home Offsets
673 673
       //
674
-      MENU_ITEM(function, MSG_SET_HOME_OFFSETS, _lcd_set_home_offsets);
674
+      ACTION_ITEM(MSG_SET_HOME_OFFSETS, _lcd_set_home_offsets);
675 675
     #endif
676 676
 
677 677
     // M203 / M205 - Feedrate items
678
-    MENU_ITEM(submenu, MSG_VELOCITY, menu_advanced_velocity);
678
+    SUBMENU(MSG_VELOCITY, menu_advanced_velocity);
679 679
 
680 680
     // M201 - Acceleration items
681
-    MENU_ITEM(submenu, MSG_ACCELERATION, menu_advanced_acceleration);
681
+    SUBMENU(MSG_ACCELERATION, menu_advanced_acceleration);
682 682
 
683 683
     // M205 - Max Jerk
684
-    MENU_ITEM(submenu, MSG_JERK, menu_advanced_jerk);
684
+    SUBMENU(MSG_JERK, menu_advanced_jerk);
685 685
 
686 686
     if (!printer_busy()) {
687 687
       // M92 - Steps Per mm
688
-      MENU_ITEM(submenu, MSG_STEPS_PER_MM, menu_advanced_steps_per_mm);
688
+      SUBMENU(MSG_STEPS_PER_MM, menu_advanced_steps_per_mm);
689 689
     }
690 690
   #endif // !SLIM_LCD_MENUS
691 691
 
692 692
   #if ENABLED(BACKLASH_GCODE)
693
-    MENU_ITEM(submenu, MSG_BACKLASH, menu_backlash);
693
+    SUBMENU(MSG_BACKLASH, menu_backlash);
694 694
   #endif
695 695
 
696 696
   #if ENABLED(DAC_STEPPER_CURRENT)
697
-    MENU_ITEM(submenu, MSG_DRIVE_STRENGTH, menu_dac);
697
+    SUBMENU(MSG_DRIVE_STRENGTH, menu_dac);
698 698
   #endif
699 699
   #if HAS_MOTOR_CURRENT_PWM
700
-    MENU_ITEM(submenu, MSG_DRIVE_STRENGTH, menu_pwm);
700
+    SUBMENU(MSG_DRIVE_STRENGTH, menu_pwm);
701 701
   #endif
702 702
 
703 703
   #if HAS_TRINAMIC
704
-    MENU_ITEM(submenu, MSG_TMC_DRIVERS, menu_tmc);
704
+    SUBMENU(MSG_TMC_DRIVERS, menu_tmc);
705 705
   #endif
706 706
 
707 707
   #if SHOW_MENU_ADVANCED_TEMPERATURE
708
-    MENU_ITEM(submenu, MSG_TEMPERATURE, menu_advanced_temperature);
708
+    SUBMENU(MSG_TEMPERATURE, menu_advanced_temperature);
709 709
   #endif
710 710
 
711 711
   #if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE)
712
-    MENU_ITEM(submenu, MSG_FILAMENT, menu_advanced_filament);
712
+    SUBMENU(MSG_FILAMENT, menu_advanced_filament);
713 713
   #elif ENABLED(LIN_ADVANCE)
714 714
     #if EXTRUDERS == 1
715
-      MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999);
715
+      EDIT_ITEM(float52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999);
716 716
     #elif EXTRUDERS > 1
717
-      #define EDIT_ADVANCE_K(N) MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E##N, &planner.extruder_advance_K[N-1], 0, 999)
717
+      #define EDIT_ADVANCE_K(N) EDIT_ITEM(float52, MSG_ADVANCE_K MSG_E##N, &planner.extruder_advance_K[N-1], 0, 999)
718 718
       EDIT_ADVANCE_K(1);
719 719
       EDIT_ADVANCE_K(2);
720 720
       #if EXTRUDERS > 2
@@ -734,12 +734,12 @@ void menu_advanced_settings() {
734 734
 
735 735
   // M540 S - Abort on endstop hit when SD printing
736 736
   #if ENABLED(SD_ABORT_ON_ENDSTOP_HIT)
737
-    MENU_ITEM_EDIT(bool, MSG_ENDSTOP_ABORT, &planner.abort_on_endstop_hit);
737
+    EDIT_ITEM(bool, MSG_ENDSTOP_ABORT, &planner.abort_on_endstop_hit);
738 738
   #endif
739 739
 
740 740
   #if ENABLED(SD_FIRMWARE_UPDATE)
741 741
     bool sd_update_state = settings.sd_update_status();
742
-    MENU_ITEM_EDIT_CALLBACK(bool, MSG_MEDIA_UPDATE, &sd_update_state, []{
742
+    EDIT_ITEM(bool, MSG_MEDIA_UPDATE, &sd_update_state, []{
743 743
       //
744 744
       // Toggle the SD Firmware Update state in EEPROM
745 745
       //
@@ -754,7 +754,7 @@ void menu_advanced_settings() {
754 754
   #endif
755 755
 
756 756
   #if ENABLED(EEPROM_SETTINGS) && DISABLED(SLIM_LCD_MENUS)
757
-    MENU_ITEM(submenu, MSG_INIT_EEPROM, lcd_init_eeprom_confirm);
757
+    SUBMENU(MSG_INIT_EEPROM, lcd_init_eeprom_confirm);
758 758
   #endif
759 759
 
760 760
   END_MENU();

+ 4
- 4
Marlin/src/lcd/menu/menu_backlash.cpp View File

@@ -34,17 +34,17 @@
34 34
 
35 35
 void menu_backlash() {
36 36
   START_MENU();
37
-  MENU_BACK(MSG_MAIN);
37
+  BACK_ITEM(MSG_MAIN);
38 38
 
39
-  MENU_MULTIPLIER_ITEM_EDIT(percent, MSG_BACKLASH_CORRECTION, &backlash.correction, all_off, all_on);
39
+  EDIT_ITEM_FAST(percent, MSG_BACKLASH_CORRECTION, &backlash.correction, all_off, all_on);
40 40
 
41
-  #define EDIT_BACKLASH_DISTANCE(N) MENU_MULTIPLIER_ITEM_EDIT(float43, MSG_##N, &backlash.distance_mm[_AXIS(N)], 0.0f, 9.9f);
41
+  #define EDIT_BACKLASH_DISTANCE(N) EDIT_ITEM_FAST(float43, MSG_##N, &backlash.distance_mm[_AXIS(N)], 0.0f, 9.9f);
42 42
   EDIT_BACKLASH_DISTANCE(A);
43 43
   EDIT_BACKLASH_DISTANCE(B);
44 44
   EDIT_BACKLASH_DISTANCE(C);
45 45
 
46 46
   #ifdef BACKLASH_SMOOTHING_MM
47
-    MENU_MULTIPLIER_ITEM_EDIT(float43, MSG_BACKLASH_SMOOTHING, &backlash.smoothing_mm, 0.0f, 9.9f);
47
+    EDIT_ITEM_FAST(float43, MSG_BACKLASH_SMOOTHING, &backlash.smoothing_mm, 0.0f, 9.9f);
48 48
   #endif
49 49
 
50 50
   END_MENU();

+ 17
- 17
Marlin/src/lcd/menu/menu_bed_leveling.cpp View File

@@ -210,10 +210,10 @@
210 210
   void menu_edit_mesh() {
211 211
     static uint8_t xind, yind; // =0
212 212
     START_MENU();
213
-    MENU_BACK(MSG_BED_LEVELING);
214
-    MENU_ITEM_EDIT(uint8, MSG_MESH_X, &xind, 0, GRID_MAX_POINTS_X - 1);
215
-    MENU_ITEM_EDIT(uint8, MSG_MESH_Y, &yind, 0, GRID_MAX_POINTS_Y - 1);
216
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_MESH_EDIT_Z, &Z_VALUES(xind, yind), -(LCD_PROBE_Z_RANGE) * 0.5, (LCD_PROBE_Z_RANGE) * 0.5, refresh_planner);
213
+    BACK_ITEM(MSG_BED_LEVELING);
214
+    EDIT_ITEM(uint8, MSG_MESH_X, &xind, 0, GRID_MAX_POINTS_X - 1);
215
+    EDIT_ITEM(uint8, MSG_MESH_Y, &yind, 0, GRID_MAX_POINTS_Y - 1);
216
+    EDIT_ITEM_FAST(float43, MSG_MESH_EDIT_Z, &Z_VALUES(xind, yind), -(LCD_PROBE_Z_RANGE) * 0.5, (LCD_PROBE_Z_RANGE) * 0.5, refresh_planner);
217 217
     END_MENU();
218 218
   }
219 219
 
@@ -235,60 +235,60 @@
235 235
  */
236 236
 void menu_bed_leveling() {
237 237
   START_MENU();
238
-  MENU_BACK(MSG_MOTION);
238
+  BACK_ITEM(MSG_MOTION);
239 239
 
240 240
   const bool is_homed = all_axes_known();
241 241
 
242 242
   // Auto Home if not using manual probing
243 243
   #if NONE(PROBE_MANUALLY, MESH_BED_LEVELING)
244
-    if (!is_homed) MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28"));
244
+    if (!is_homed) GCODES_ITEM(MSG_AUTO_HOME, PSTR("G28"));
245 245
   #endif
246 246
 
247 247
   // Level Bed
248 248
   #if EITHER(PROBE_MANUALLY, MESH_BED_LEVELING)
249 249
     // Manual leveling uses a guided procedure
250
-    MENU_ITEM(submenu, MSG_LEVEL_BED, _lcd_level_bed_continue);
250
+    SUBMENU(MSG_LEVEL_BED, _lcd_level_bed_continue);
251 251
   #else
252 252
     // Automatic leveling can just run the G-code
253
-    MENU_ITEM(gcode, MSG_LEVEL_BED, is_homed ? PSTR("G29") : PSTR("G28\nG29"));
253
+    GCODES_ITEM(MSG_LEVEL_BED, is_homed ? PSTR("G29") : PSTR("G28\nG29"));
254 254
   #endif
255 255
 
256 256
   #if ENABLED(MESH_EDIT_MENU)
257 257
     if (leveling_is_valid())
258
-      MENU_ITEM(submenu, MSG_EDIT_MESH, menu_edit_mesh);
258
+      SUBMENU(MSG_EDIT_MESH, menu_edit_mesh);
259 259
   #endif
260 260
 
261 261
   // Homed and leveling is valid? Then leveling can be toggled.
262 262
   if (is_homed && leveling_is_valid()) {
263 263
     bool new_level_state = planner.leveling_active;
264
-    MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling);
264
+    EDIT_ITEM(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling);
265 265
   }
266 266
 
267 267
   // Z Fade Height
268 268
   #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
269
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float3, MSG_Z_FADE_HEIGHT, &lcd_z_fade_height, 0, 100, _lcd_set_z_fade_height);
269
+    EDIT_ITEM_FAST(float3, MSG_Z_FADE_HEIGHT, &lcd_z_fade_height, 0, 100, _lcd_set_z_fade_height);
270 270
   #endif
271 271
 
272 272
   //
273 273
   // Mesh Bed Leveling Z-Offset
274 274
   //
275 275
   #if ENABLED(MESH_BED_LEVELING)
276
-    MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1);
276
+    EDIT_ITEM(float43, MSG_BED_Z, &mbl.z_offset, -1, 1);
277 277
   #endif
278 278
 
279 279
   #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
280
-    MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
280
+    SUBMENU(MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
281 281
   #elif HAS_BED_PROBE
282
-    MENU_ITEM_EDIT(float52, MSG_ZPROBE_ZOFFSET, &probe_offset.z, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX);
282
+    EDIT_ITEM(float52, MSG_ZPROBE_ZOFFSET, &probe_offset.z, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX);
283 283
   #endif
284 284
 
285 285
   #if ENABLED(LEVEL_BED_CORNERS)
286
-    MENU_ITEM(submenu, MSG_LEVEL_CORNERS, _lcd_level_bed_corners);
286
+    SUBMENU(MSG_LEVEL_CORNERS, _lcd_level_bed_corners);
287 287
   #endif
288 288
 
289 289
   #if ENABLED(EEPROM_SETTINGS)
290
-    MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings);
291
-    MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
290
+    ACTION_ITEM(MSG_LOAD_EEPROM, lcd_load_settings);
291
+    ACTION_ITEM(MSG_STORE_EEPROM, lcd_store_settings);
292 292
   #endif
293 293
   END_MENU();
294 294
 }

+ 78
- 76
Marlin/src/lcd/menu/menu_configuration.cpp View File

@@ -92,10 +92,10 @@ static void lcd_factory_settings() {
92 92
   void menu_debug() {
93 93
     START_MENU();
94 94
 
95
-    MENU_BACK(MSG_CONFIGURATION);
95
+    BACK_ITEM(MSG_CONFIGURATION);
96 96
 
97 97
     #if ENABLED(LCD_PROGRESS_BAR_TEST)
98
-      MENU_ITEM(submenu, MSG_PROGRESS_BAR_TEST, _progress_bar_test);
98
+      SUBMENU(MSG_PROGRESS_BAR_TEST, _progress_bar_test);
99 99
     #endif
100 100
 
101 101
     END_MENU();
@@ -109,7 +109,7 @@ static void lcd_factory_settings() {
109 109
 
110 110
   void menu_tool_change() {
111 111
     START_MENU();
112
-    MENU_BACK(MSG_CONFIGURATION);
112
+    BACK_ITEM(MSG_CONFIGURATION);
113 113
     #if ENABLED(TOOLCHANGE_FILAMENT_SWAP)
114 114
       static constexpr float max_extrude =
115 115
         #if ENABLED(PREVENT_LENGTHY_EXTRUDE)
@@ -118,12 +118,12 @@ static void lcd_factory_settings() {
118 118
           500
119 119
         #endif
120 120
       ;
121
-      MENU_ITEM_EDIT(float3, MSG_FILAMENT_SWAP_LENGTH, &toolchange_settings.swap_length, 0, max_extrude);
122
-      MENU_ITEM_EDIT(float3, MSG_FILAMENT_PURGE_LENGTH, &toolchange_settings.extra_prime, 0, max_extrude);
123
-      MENU_MULTIPLIER_ITEM_EDIT(int4, MSG_SINGLENOZZLE_RETRACT_SPD, &toolchange_settings.retract_speed, 10, 5400);
124
-      MENU_MULTIPLIER_ITEM_EDIT(int4, MSG_SINGLENOZZLE_PRIME_SPD, &toolchange_settings.prime_speed, 10, 5400);
121
+      EDIT_ITEM(float3, MSG_FILAMENT_SWAP_LENGTH, &toolchange_settings.swap_length, 0, max_extrude);
122
+      EDIT_ITEM(float3, MSG_FILAMENT_PURGE_LENGTH, &toolchange_settings.extra_prime, 0, max_extrude);
123
+      EDIT_ITEM_FAST(int4, MSG_SINGLENOZZLE_RETRACT_SPD, &toolchange_settings.retract_speed, 10, 5400);
124
+      EDIT_ITEM_FAST(int4, MSG_SINGLENOZZLE_PRIME_SPD, &toolchange_settings.prime_speed, 10, 5400);
125 125
     #endif
126
-    MENU_ITEM_EDIT(float3, MSG_TOOL_CHANGE_ZLIFT, &toolchange_settings.z_raise, 0, 10);
126
+    EDIT_ITEM(float3, MSG_TOOL_CHANGE_ZLIFT, &toolchange_settings.z_raise, 0, 10);
127 127
     END_MENU();
128 128
   }
129 129
 
@@ -143,16 +143,16 @@ static void lcd_factory_settings() {
143 143
     };
144 144
 
145 145
     START_MENU();
146
-    MENU_BACK(MSG_CONFIGURATION);
146
+    BACK_ITEM(MSG_CONFIGURATION);
147 147
     #if ENABLED(DUAL_X_CARRIAGE)
148
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float51, MSG_X_OFFSET, &hotend_offset[1].x, float(X2_HOME_POS - 25), float(X2_HOME_POS + 25), _recalc_offsets);
148
+      EDIT_ITEM_FAST(float51, MSG_X_OFFSET, &hotend_offset[1].x, float(X2_HOME_POS - 25), float(X2_HOME_POS + 25), _recalc_offsets);
149 149
     #else
150
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float52sign, MSG_X_OFFSET, &hotend_offset[1].x, -99.0, 99.0, _recalc_offsets);
150
+      EDIT_ITEM_FAST(float52sign, MSG_X_OFFSET, &hotend_offset[1].x, -99.0, 99.0, _recalc_offsets);
151 151
     #endif
152
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float52sign, MSG_Y_OFFSET, &hotend_offset[1].y, -99.0, 99.0, _recalc_offsets);
153
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float52sign, MSG_Z_OFFSET, &hotend_offset[1].z, Z_PROBE_LOW_POINT, 10.0, _recalc_offsets);
152
+    EDIT_ITEM_FAST(float52sign, MSG_Y_OFFSET, &hotend_offset[1].y, -99.0, 99.0, _recalc_offsets);
153
+    EDIT_ITEM_FAST(float52sign, MSG_Z_OFFSET, &hotend_offset[1].z, Z_PROBE_LOW_POINT, 10.0, _recalc_offsets);
154 154
     #if ENABLED(EEPROM_SETTINGS)
155
-      MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
155
+      ACTION_ITEM(MSG_STORE_EEPROM, lcd_store_settings);
156 156
     #endif
157 157
     END_MENU();
158 158
   }
@@ -162,19 +162,21 @@ static void lcd_factory_settings() {
162 162
 
163 163
   void menu_idex() {
164 164
     START_MENU();
165
-    MENU_BACK(MSG_CONFIGURATION);
165
+    BACK_ITEM(MSG_CONFIGURATION);
166 166
 
167
-    MENU_ITEM(gcode, MSG_IDEX_MODE_AUTOPARK,  PSTR("M605 S1\nG28 X\nG1 X100"));
167
+    GCODES_ITEM(MSG_IDEX_MODE_AUTOPARK,  PSTR("M605 S1\nG28 X\nG1 X100"));
168 168
     const bool need_g28 = !(TEST(axis_known_position, Y_AXIS) && TEST(axis_known_position, Z_AXIS));
169
-    MENU_ITEM(gcode, MSG_IDEX_MODE_DUPLICATE, need_g28
169
+
170
+    GCODES_ITEM(MSG_IDEX_MODE_DUPLICATE, need_g28
170 171
       ? PSTR("M605 S1\nT0\nG28\nM605 S2 X200\nG28 X\nG1 X100")                // If Y or Z is not homed, do a full G28 first
171 172
       : PSTR("M605 S1\nT0\nM605 S2 X200\nG28 X\nG1 X100")
172 173
     );
173
-    MENU_ITEM(gcode, MSG_IDEX_MODE_MIRRORED_COPY, need_g28
174
+
175
+    GCODES_ITEM(MSG_IDEX_MODE_MIRRORED_COPY, need_g28
174 176
       ? PSTR("M605 S1\nT0\nG28\nM605 S2 X200\nG28 X\nG1 X100\nM605 S3 X200")  // If Y or Z is not homed, do a full G28 first
175 177
       : PSTR("M605 S1\nT0\nM605 S2 X200\nG28 X\nG1 X100\nM605 S3 X200")
176 178
     );
177
-    MENU_ITEM(gcode, MSG_IDEX_MODE_FULL_CTRL, PSTR("M605 S0\nG28 X"));
179
+    GCODES_ITEM(MSG_IDEX_MODE_FULL_CTRL, PSTR("M605 S0\nG28 X"));
178 180
     END_MENU();
179 181
   }
180 182
 
@@ -202,27 +204,27 @@ static void lcd_factory_settings() {
202 204
 
203 205
   void menu_bltouch() {
204 206
     START_MENU();
205
-    MENU_BACK(MSG_CONFIGURATION);
206
-    MENU_ITEM(function, MSG_BLTOUCH_RESET, bltouch._reset);
207
-    MENU_ITEM(function, MSG_BLTOUCH_SELFTEST, bltouch._selftest);
208
-    MENU_ITEM(function, MSG_BLTOUCH_DEPLOY, bltouch._deploy);
209
-    MENU_ITEM(function, MSG_BLTOUCH_STOW, bltouch._stow);
210
-    MENU_ITEM(function, MSG_BLTOUCH_SW_MODE, bltouch._set_SW_mode);
207
+    BACK_ITEM(MSG_CONFIGURATION);
208
+    ACTION_ITEM(MSG_BLTOUCH_RESET, bltouch._reset);
209
+    ACTION_ITEM(MSG_BLTOUCH_SELFTEST, bltouch._selftest);
210
+    ACTION_ITEM(MSG_BLTOUCH_DEPLOY, bltouch._deploy);
211
+    ACTION_ITEM(MSG_BLTOUCH_STOW, bltouch._stow);
212
+    ACTION_ITEM(MSG_BLTOUCH_SW_MODE, bltouch._set_SW_mode);
211 213
     #if ENABLED(BLTOUCH_LCD_VOLTAGE_MENU)
212
-      MENU_ITEM(submenu, MSG_BLTOUCH_5V_MODE, []{
214
+      SUBMENU(MSG_BLTOUCH_5V_MODE, []{
213 215
         do_select_screen(PSTR(MSG_BLTOUCH_5V_MODE), PSTR(MSG_BUTTON_CANCEL), bltouch._set_5V_mode, ui.goto_previous_screen, PSTR(MSG_BLTOUCH_MODE_CHANGE));
214 216
       });
215
-      MENU_ITEM(submenu, MSG_BLTOUCH_OD_MODE, []{
217
+      SUBMENU(MSG_BLTOUCH_OD_MODE, []{
216 218
         do_select_screen(PSTR(MSG_BLTOUCH_OD_MODE), PSTR(MSG_BUTTON_CANCEL), bltouch._set_OD_mode, ui.goto_previous_screen, PSTR(MSG_BLTOUCH_MODE_CHANGE));
217 219
       });
218
-      MENU_ITEM(function, MSG_BLTOUCH_MODE_STORE, bltouch._mode_store);
219
-      MENU_ITEM(submenu, MSG_BLTOUCH_MODE_STORE_5V, []{
220
+      ACTION_ITEM(MSG_BLTOUCH_MODE_STORE, bltouch._mode_store);
221
+      SUBMENU(MSG_BLTOUCH_MODE_STORE_5V, []{
220 222
         do_select_screen(PSTR(MSG_BLTOUCH_MODE_STORE_5V), PSTR(MSG_BUTTON_CANCEL), bltouch.mode_conv_5V, ui.goto_previous_screen, PSTR(MSG_BLTOUCH_MODE_CHANGE));
221 223
       });
222
-      MENU_ITEM(submenu, MSG_BLTOUCH_MODE_STORE_OD, []{
224
+      SUBMENU(MSG_BLTOUCH_MODE_STORE_OD, []{
223 225
         do_select_screen(PSTR(MSG_BLTOUCH_MODE_STORE_OD), PSTR(MSG_BUTTON_CANCEL), bltouch.mode_conv_OD, ui.goto_previous_screen, PSTR(MSG_BLTOUCH_MODE_CHANGE));
224 226
       });
225
-      MENU_ITEM(function, MSG_BLTOUCH_MODE_ECHO, bltouch_report);
227
+      ACTION_ITEM(MSG_BLTOUCH_MODE_ECHO, bltouch_report);
226 228
     #endif
227 229
     END_MENU();
228 230
   }
@@ -233,11 +235,11 @@ static void lcd_factory_settings() {
233 235
   void menu_touchmi() {
234 236
     START_MENU();
235 237
     ui.defer_status_screen();
236
-    MENU_BACK(MSG_CONFIGURATION);
237
-    MENU_ITEM(gcode, MSG_TOUCHMI_INIT, PSTR("M851 Z0\nG28\nG1 F200 Z0"));
238
-    MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
239
-    MENU_ITEM(gcode, MSG_TOUCHMI_SAVE, PSTR("M500\nG1 F200 Z10"));
240
-    MENU_ITEM(gcode, MSG_TOUCHMI_ZTEST, PSTR("G28\nG1 F200 Z0"));
238
+    BACK_ITEM(MSG_CONFIGURATION);
239
+    GCODES_ITEM(MSG_TOUCHMI_INIT, PSTR("M851 Z0\nG28\nG1 F200 Z0"));
240
+    SUBMENU(MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
241
+    GCODES_ITEM(MSG_TOUCHMI_SAVE, PSTR("M500\nG1 F200 Z10"));
242
+    GCODES_ITEM(MSG_TOUCHMI_ZTEST, PSTR("G28\nG1 F200 Z0"));
241 243
     END_MENU();
242 244
   }
243 245
 #endif
@@ -250,9 +252,9 @@ static void lcd_factory_settings() {
250 252
 
251 253
     void menu_case_light() {
252 254
       START_MENU();
253
-      MENU_BACK(MSG_CONFIGURATION);
254
-      MENU_ITEM_EDIT_CALLBACK(uint8, MSG_CASE_LIGHT_BRIGHTNESS, &case_light_brightness, 0, 255, update_case_light, true);
255
-      MENU_ITEM_EDIT_CALLBACK(bool, MSG_CASE_LIGHT, (bool*)&case_light_on, update_case_light);
255
+      BACK_ITEM(MSG_CONFIGURATION);
256
+      EDIT_ITEM(uint8, MSG_CASE_LIGHT_BRIGHTNESS, &case_light_brightness, 0, 255, update_case_light, true);
257
+      EDIT_ITEM(bool, MSG_CASE_LIGHT, (bool*)&case_light_on, update_case_light);
256 258
       END_MENU();
257 259
     }
258 260
 
@@ -266,23 +268,23 @@ static void lcd_factory_settings() {
266 268
 
267 269
   void menu_config_retract() {
268 270
     START_MENU();
269
-    MENU_BACK(MSG_CONFIGURATION);
271
+    BACK_ITEM(MSG_CONFIGURATION);
270 272
     #if ENABLED(FWRETRACT_AUTORETRACT)
271
-      MENU_ITEM_EDIT_CALLBACK(bool, MSG_AUTORETRACT, &fwretract.autoretract_enabled, fwretract.refresh_autoretract);
273
+      EDIT_ITEM(bool, MSG_AUTORETRACT, &fwretract.autoretract_enabled, fwretract.refresh_autoretract);
272 274
     #endif
273
-    MENU_ITEM_EDIT(float52sign, MSG_CONTROL_RETRACT, &fwretract.settings.retract_length, 0, 100);
275
+    EDIT_ITEM(float52sign, MSG_CONTROL_RETRACT, &fwretract.settings.retract_length, 0, 100);
274 276
     #if EXTRUDERS > 1
275
-      MENU_ITEM_EDIT(float52sign, MSG_CONTROL_RETRACT_SWAP, &fwretract.settings.swap_retract_length, 0, 100);
277
+      EDIT_ITEM(float52sign, MSG_CONTROL_RETRACT_SWAP, &fwretract.settings.swap_retract_length, 0, 100);
276 278
     #endif
277
-    MENU_ITEM_EDIT(float3, MSG_CONTROL_RETRACTF, &fwretract.settings.retract_feedrate_mm_s, 1, 999);
278
-    MENU_ITEM_EDIT(float52sign, MSG_CONTROL_RETRACT_ZHOP, &fwretract.settings.retract_zraise, 0, 999);
279
-    MENU_ITEM_EDIT(float52sign, MSG_CONTROL_RETRACT_RECOVER, &fwretract.settings.retract_recover_extra, -100, 100);
279
+    EDIT_ITEM(float3, MSG_CONTROL_RETRACTF, &fwretract.settings.retract_feedrate_mm_s, 1, 999);
280
+    EDIT_ITEM(float52sign, MSG_CONTROL_RETRACT_ZHOP, &fwretract.settings.retract_zraise, 0, 999);
281
+    EDIT_ITEM(float52sign, MSG_CONTROL_RETRACT_RECOVER, &fwretract.settings.retract_recover_extra, -100, 100);
280 282
     #if EXTRUDERS > 1
281
-      MENU_ITEM_EDIT(float52sign, MSG_CONTROL_RETRACT_RECOVER_SWAP, &fwretract.settings.swap_retract_recover_extra, -100, 100);
283
+      EDIT_ITEM(float52sign, MSG_CONTROL_RETRACT_RECOVER_SWAP, &fwretract.settings.swap_retract_recover_extra, -100, 100);
282 284
     #endif
283
-    MENU_ITEM_EDIT(float3, MSG_CONTROL_RETRACT_RECOVERF, &fwretract.settings.retract_recover_feedrate_mm_s, 1, 999);
285
+    EDIT_ITEM(float3, MSG_CONTROL_RETRACT_RECOVERF, &fwretract.settings.retract_recover_feedrate_mm_s, 1, 999);
284 286
     #if EXTRUDERS > 1
285
-      MENU_ITEM_EDIT(float3, MSG_CONTROL_RETRACT_RECOVER_SWAPF, &fwretract.settings.swap_retract_recover_feedrate_mm_s, 1, 999);
287
+      EDIT_ITEM(float3, MSG_CONTROL_RETRACT_RECOVER_SWAPF, &fwretract.settings.swap_retract_recover_feedrate_mm_s, 1, 999);
286 288
     #endif
287 289
     END_MENU();
288 290
   }
@@ -312,16 +314,16 @@ static void lcd_factory_settings() {
312 314
       #define MAXTEMP_ALL HEATER_0_MAXTEMP
313 315
     #endif
314 316
     START_MENU();
315
-    MENU_BACK(MSG_CONFIGURATION);
316
-    MENU_ITEM_EDIT(percent, MSG_FAN_SPEED, &ui.preheat_fan_speed[material], 0, 255);
317
+    BACK_ITEM(MSG_CONFIGURATION);
318
+    EDIT_ITEM(percent, MSG_FAN_SPEED, &ui.preheat_fan_speed[material], 0, 255);
317 319
     #if HAS_TEMP_HOTEND
318
-      MENU_ITEM_EDIT(int3, MSG_NOZZLE, &ui.preheat_hotend_temp[material], MINTEMP_ALL, MAXTEMP_ALL - 15);
320
+      EDIT_ITEM(int3, MSG_NOZZLE, &ui.preheat_hotend_temp[material], MINTEMP_ALL, MAXTEMP_ALL - 15);
319 321
     #endif
320 322
     #if HAS_HEATED_BED
321
-      MENU_ITEM_EDIT(int3, MSG_BED, &ui.preheat_bed_temp[material], BED_MINTEMP, BED_MAXTEMP - 10);
323
+      EDIT_ITEM(int3, MSG_BED, &ui.preheat_bed_temp[material], BED_MINTEMP, BED_MAXTEMP - 10);
322 324
     #endif
323 325
     #if ENABLED(EEPROM_SETTINGS)
324
-      MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
326
+      ACTION_ITEM(MSG_STORE_EEPROM, lcd_store_settings);
325 327
     #endif
326 328
     END_MENU();
327 329
   }
@@ -333,21 +335,21 @@ static void lcd_factory_settings() {
333 335
 
334 336
 void menu_configuration() {
335 337
   START_MENU();
336
-  MENU_BACK(MSG_MAIN);
338
+  BACK_ITEM(MSG_MAIN);
337 339
 
338 340
   //
339 341
   // Debug Menu when certain options are enabled
340 342
   //
341 343
   #if HAS_DEBUG_MENU
342
-    MENU_ITEM(submenu, MSG_DEBUG_MENU, menu_debug);
344
+    SUBMENU(MSG_DEBUG_MENU, menu_debug);
343 345
   #endif
344 346
 
345
-  MENU_ITEM(submenu, MSG_ADVANCED_SETTINGS, menu_advanced_settings);
347
+  SUBMENU(MSG_ADVANCED_SETTINGS, menu_advanced_settings);
346 348
 
347 349
   #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
348
-    MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
350
+    SUBMENU(MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
349 351
   #elif HAS_BED_PROBE
350
-    MENU_ITEM_EDIT(float52, MSG_ZPROBE_ZOFFSET, &probe_offset.z, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX);
352
+    EDIT_ITEM(float52, MSG_ZPROBE_ZOFFSET, &probe_offset.z, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX);
351 353
   #endif
352 354
 
353 355
   const bool busy = printer_busy();
@@ -356,23 +358,23 @@ void menu_configuration() {
356 358
     // Delta Calibration
357 359
     //
358 360
     #if EITHER(DELTA_CALIBRATION_MENU, DELTA_AUTO_CALIBRATION)
359
-      MENU_ITEM(submenu, MSG_DELTA_CALIBRATE, menu_delta_calibrate);
361
+      SUBMENU(MSG_DELTA_CALIBRATE, menu_delta_calibrate);
360 362
     #endif
361 363
 
362 364
     #if HAS_HOTEND_OFFSET
363
-      MENU_ITEM(submenu, MSG_OFFSETS_MENU, menu_tool_offsets);
365
+      SUBMENU(MSG_OFFSETS_MENU, menu_tool_offsets);
364 366
     #endif
365 367
 
366 368
     #if ENABLED(DUAL_X_CARRIAGE)
367
-      MENU_ITEM(submenu, MSG_IDEX_MENU, menu_idex);
369
+      SUBMENU(MSG_IDEX_MENU, menu_idex);
368 370
     #endif
369 371
 
370 372
     #if ENABLED(BLTOUCH)
371
-      MENU_ITEM(submenu, MSG_BLTOUCH, menu_bltouch);
373
+      SUBMENU(MSG_BLTOUCH, menu_bltouch);
372 374
     #endif
373 375
 
374 376
     #if ENABLED(TOUCH_MI_PROBE)
375
-      MENU_ITEM(submenu, MSG_TOUCHMI_PROBE, menu_touchmi);
377
+      SUBMENU(MSG_TOUCHMI_PROBE, menu_touchmi);
376 378
     #endif
377 379
   }
378 380
 
@@ -380,7 +382,7 @@ void menu_configuration() {
380 382
   // Set single nozzle filament retract and prime length
381 383
   //
382 384
   #if EXTRUDERS > 1
383
-    MENU_ITEM(submenu, MSG_TOOL_CHANGE, menu_tool_change);
385
+    SUBMENU(MSG_TOOL_CHANGE, menu_tool_change);
384 386
   #endif
385 387
 
386 388
   //
@@ -389,41 +391,41 @@ void menu_configuration() {
389 391
   #if ENABLED(CASE_LIGHT_MENU)
390 392
     #if DISABLED(CASE_LIGHT_NO_BRIGHTNESS)
391 393
       if (PWM_PIN(CASE_LIGHT_PIN))
392
-        MENU_ITEM(submenu, MSG_CASE_LIGHT, menu_case_light);
394
+        SUBMENU(MSG_CASE_LIGHT, menu_case_light);
393 395
       else
394 396
     #endif
395
-        MENU_ITEM_EDIT_CALLBACK(bool, MSG_CASE_LIGHT, (bool*)&case_light_on, update_case_light);
397
+        EDIT_ITEM(bool, MSG_CASE_LIGHT, (bool*)&case_light_on, update_case_light);
396 398
   #endif
397 399
 
398 400
   #if HAS_LCD_CONTRAST
399
-    MENU_ITEM_EDIT_CALLBACK(int3, MSG_CONTRAST, &ui.contrast, LCD_CONTRAST_MIN, LCD_CONTRAST_MAX, ui.refresh_contrast, true);
401
+    EDIT_ITEM(int3, MSG_CONTRAST, &ui.contrast, LCD_CONTRAST_MIN, LCD_CONTRAST_MAX, ui.refresh_contrast, true);
400 402
   #endif
401 403
   #if ENABLED(FWRETRACT)
402
-    MENU_ITEM(submenu, MSG_RETRACT, menu_config_retract);
404
+    SUBMENU(MSG_RETRACT, menu_config_retract);
403 405
   #endif
404 406
 
405 407
   #if HAS_FILAMENT_SENSOR
406
-    MENU_ITEM_EDIT_CALLBACK(bool, MSG_RUNOUT_SENSOR, &runout.enabled, runout.reset);
408
+    EDIT_ITEM(bool, MSG_RUNOUT_SENSOR, &runout.enabled, runout.reset);
407 409
   #endif
408 410
 
409 411
   #if ENABLED(POWER_LOSS_RECOVERY)
410
-    MENU_ITEM_EDIT_CALLBACK(bool, MSG_OUTAGE_RECOVERY, &recovery.enabled, recovery.changed);
412
+    EDIT_ITEM(bool, MSG_OUTAGE_RECOVERY, &recovery.enabled, recovery.changed);
411 413
   #endif
412 414
 
413 415
   #if DISABLED(SLIM_LCD_MENUS)
414 416
     // Preheat configurations
415
-    MENU_ITEM(submenu, MSG_PREHEAT_1_SETTINGS, menu_preheat_material1_settings);
416
-    MENU_ITEM(submenu, MSG_PREHEAT_2_SETTINGS, menu_preheat_material2_settings);
417
+    SUBMENU(MSG_PREHEAT_1_SETTINGS, menu_preheat_material1_settings);
418
+    SUBMENU(MSG_PREHEAT_2_SETTINGS, menu_preheat_material2_settings);
417 419
   #endif
418 420
 
419 421
   #if ENABLED(EEPROM_SETTINGS)
420
-    MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
422
+    ACTION_ITEM(MSG_STORE_EEPROM, lcd_store_settings);
421 423
     if (!busy)
422
-      MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings);
424
+      ACTION_ITEM(MSG_LOAD_EEPROM, lcd_load_settings);
423 425
   #endif
424 426
 
425 427
   if (!busy)
426
-    MENU_ITEM(function, MSG_RESTORE_FAILSAFE, lcd_factory_settings);
428
+    ACTION_ITEM(MSG_RESTORE_FAILSAFE, lcd_factory_settings);
427 429
 
428 430
   END_MENU();
429 431
 }

+ 6
- 6
Marlin/src/lcd/menu/menu_custom.cpp View File

@@ -65,21 +65,21 @@ void _lcd_user_gcode(PGM_P const cmd) {
65 65
 
66 66
 void menu_user() {
67 67
   START_MENU();
68
-  MENU_BACK(MSG_MAIN);
68
+  BACK_ITEM(MSG_MAIN);
69 69
   #if defined(USER_DESC_1) && defined(USER_GCODE_1)
70
-    MENU_ITEM(function, USER_DESC_1, lcd_user_gcode_1);
70
+    ACTION_ITEM(USER_DESC_1, lcd_user_gcode_1);
71 71
   #endif
72 72
   #if defined(USER_DESC_2) && defined(USER_GCODE_2)
73
-    MENU_ITEM(function, USER_DESC_2, lcd_user_gcode_2);
73
+    ACTION_ITEM(USER_DESC_2, lcd_user_gcode_2);
74 74
   #endif
75 75
   #if defined(USER_DESC_3) && defined(USER_GCODE_3)
76
-    MENU_ITEM(function, USER_DESC_3, lcd_user_gcode_3);
76
+    ACTION_ITEM(USER_DESC_3, lcd_user_gcode_3);
77 77
   #endif
78 78
   #if defined(USER_DESC_4) && defined(USER_GCODE_4)
79
-    MENU_ITEM(function, USER_DESC_4, lcd_user_gcode_4);
79
+    ACTION_ITEM(USER_DESC_4, lcd_user_gcode_4);
80 80
   #endif
81 81
   #if defined(USER_DESC_5) && defined(USER_GCODE_5)
82
-    MENU_ITEM(function, USER_DESC_5, lcd_user_gcode_5);
82
+    ACTION_ITEM(USER_DESC_5, lcd_user_gcode_5);
83 83
   #endif
84 84
   END_MENU();
85 85
 }

+ 16
- 16
Marlin/src/lcd/menu/menu_delta_calibrate.cpp View File

@@ -103,42 +103,42 @@ void _recalc_delta_settings() {
103 103
 
104 104
 void lcd_delta_settings() {
105 105
   START_MENU();
106
-  MENU_BACK(MSG_DELTA_CALIBRATE);
107
-  MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_DELTA_HEIGHT, &delta_height, delta_height - 10, delta_height + 10, _recalc_delta_settings);
108
-  #define EDIT_ENDSTOP_ADJ(LABEL,N) MENU_ITEM_EDIT_CALLBACK(float43, LABEL, &delta_endstop_adj.N, -5, 5, _recalc_delta_settings)
106
+  BACK_ITEM(MSG_DELTA_CALIBRATE);
107
+  EDIT_ITEM(float52sign, MSG_DELTA_HEIGHT, &delta_height, delta_height - 10, delta_height + 10, _recalc_delta_settings);
108
+  #define EDIT_ENDSTOP_ADJ(LABEL,N) EDIT_ITEM(float43, LABEL, &delta_endstop_adj.N, -5, 5, _recalc_delta_settings)
109 109
   EDIT_ENDSTOP_ADJ("Ex",a);
110 110
   EDIT_ENDSTOP_ADJ("Ey",b);
111 111
   EDIT_ENDSTOP_ADJ("Ez",c);
112
-  MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_DELTA_RADIUS, &delta_radius, delta_radius - 5, delta_radius + 5, _recalc_delta_settings);
113
-  #define EDIT_ANGLE_TRIM(LABEL,N) MENU_ITEM_EDIT_CALLBACK(float43, LABEL, &delta_tower_angle_trim.N, -5, 5, _recalc_delta_settings)
112
+  EDIT_ITEM(float52sign, MSG_DELTA_RADIUS, &delta_radius, delta_radius - 5, delta_radius + 5, _recalc_delta_settings);
113
+  #define EDIT_ANGLE_TRIM(LABEL,N) EDIT_ITEM(float43, LABEL, &delta_tower_angle_trim.N, -5, 5, _recalc_delta_settings)
114 114
   EDIT_ANGLE_TRIM("Tx",a);
115 115
   EDIT_ANGLE_TRIM("Ty",b);
116 116
   EDIT_ANGLE_TRIM("Tz",c);
117
-  MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_DELTA_DIAG_ROD, &delta_diagonal_rod, delta_diagonal_rod - 5, delta_diagonal_rod + 5, _recalc_delta_settings);
117
+  EDIT_ITEM(float52sign, MSG_DELTA_DIAG_ROD, &delta_diagonal_rod, delta_diagonal_rod - 5, delta_diagonal_rod + 5, _recalc_delta_settings);
118 118
   END_MENU();
119 119
 }
120 120
 
121 121
 void menu_delta_calibrate() {
122 122
   START_MENU();
123
-  MENU_BACK(MSG_MAIN);
123
+  BACK_ITEM(MSG_MAIN);
124 124
 
125 125
   #if ENABLED(DELTA_AUTO_CALIBRATION)
126
-    MENU_ITEM(gcode, MSG_DELTA_AUTO_CALIBRATE, PSTR("G33"));
126
+    GCODES_ITEM(MSG_DELTA_AUTO_CALIBRATE, PSTR("G33"));
127 127
     #if ENABLED(EEPROM_SETTINGS)
128
-      MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
129
-      MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings);
128
+      ACTION_ITEM(MSG_STORE_EEPROM, lcd_store_settings);
129
+      ACTION_ITEM(MSG_LOAD_EEPROM, lcd_load_settings);
130 130
     #endif
131 131
   #endif
132 132
 
133
-  MENU_ITEM(submenu, MSG_DELTA_SETTINGS, lcd_delta_settings);
133
+  SUBMENU(MSG_DELTA_SETTINGS, lcd_delta_settings);
134 134
 
135 135
   #if ENABLED(DELTA_CALIBRATION_MENU)
136
-    MENU_ITEM(submenu, MSG_AUTO_HOME, _lcd_delta_calibrate_home);
136
+    SUBMENU(MSG_AUTO_HOME, _lcd_delta_calibrate_home);
137 137
     if (all_axes_homed()) {
138
-      MENU_ITEM(submenu, MSG_DELTA_CALIBRATE_X, _goto_tower_x);
139
-      MENU_ITEM(submenu, MSG_DELTA_CALIBRATE_Y, _goto_tower_y);
140
-      MENU_ITEM(submenu, MSG_DELTA_CALIBRATE_Z, _goto_tower_z);
141
-      MENU_ITEM(submenu, MSG_DELTA_CALIBRATE_CENTER, _goto_center);
138
+      SUBMENU(MSG_DELTA_CALIBRATE_X, _goto_tower_x);
139
+      SUBMENU(MSG_DELTA_CALIBRATE_Y, _goto_tower_y);
140
+      SUBMENU(MSG_DELTA_CALIBRATE_Z, _goto_tower_z);
141
+      SUBMENU(MSG_DELTA_CALIBRATE_CENTER, _goto_center);
142 142
     }
143 143
   #endif
144 144
 

+ 24
- 24
Marlin/src/lcd/menu/menu_filament.cpp View File

@@ -80,9 +80,9 @@ void _menu_temp_filament_op(const PauseMode mode, const int8_t extruder) {
80 80
   _change_filament_temp_extruder = extruder;
81 81
   START_MENU();
82 82
   if (LCD_HEIGHT >= 4) STATIC_ITEM_P(change_filament_header(mode), SS_CENTER|SS_INVERT);
83
-  MENU_BACK(MSG_BACK);
84
-  MENU_ITEM(function, MSG_PREHEAT_1, _lcd_change_filament_temp_1_func);
85
-  MENU_ITEM(function, MSG_PREHEAT_2, _lcd_change_filament_temp_2_func);
83
+  BACK_ITEM(MSG_BACK);
84
+  ACTION_ITEM(MSG_PREHEAT_1, _lcd_change_filament_temp_1_func);
85
+  ACTION_ITEM(MSG_PREHEAT_2, _lcd_change_filament_temp_2_func);
86 86
   uint16_t max_temp;
87 87
   switch (extruder) {
88 88
     default: max_temp = HEATER_0_MAXTEMP;
@@ -102,7 +102,7 @@ void _menu_temp_filament_op(const PauseMode mode, const int8_t extruder) {
102 102
       #endif
103 103
     #endif
104 104
   }
105
-  MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_PREHEAT_CUSTOM, &thermalManager.temp_hotend[_change_filament_temp_extruder].target, EXTRUDE_MINTEMP, max_temp - 15, _lcd_change_filament_temp_custom_cb);
105
+  EDIT_ITEM_FAST(int3, MSG_PREHEAT_CUSTOM, &thermalManager.temp_hotend[_change_filament_temp_extruder].target, EXTRUDE_MINTEMP, max_temp - 15, _lcd_change_filament_temp_custom_cb);
106 106
   END_MENU();
107 107
 }
108 108
 #if E_STEPPERS
@@ -142,7 +142,7 @@ void _menu_temp_filament_op(const PauseMode mode, const int8_t extruder) {
142 142
 #if E_STEPPERS > 1 || ENABLED(FILAMENT_LOAD_UNLOAD_GCODES)
143 143
   void menu_change_filament() {
144 144
     START_MENU();
145
-    MENU_BACK(MSG_MAIN);
145
+    BACK_ITEM(MSG_MAIN);
146 146
 
147 147
     // Change filament
148 148
     #if E_STEPPERS == 1
@@ -245,9 +245,9 @@ void _menu_temp_filament_op(const PauseMode mode, const int8_t extruder) {
245 245
         // Unload filament
246 246
         #if E_STEPPERS == 1
247 247
           if (thermalManager.targetHotEnoughToExtrude(active_extruder))
248
-            MENU_ITEM(gcode, MSG_FILAMENTUNLOAD, PSTR("M702"));
248
+            GCODES_ITEM(MSG_FILAMENTUNLOAD, PSTR("M702"));
249 249
           else
250
-            MENU_ITEM(submenu, MSG_FILAMENTUNLOAD, menu_temp_e0_filament_unload);
250
+            SUBMENU(MSG_FILAMENTUNLOAD, menu_temp_e0_filament_unload);
251 251
         #else
252 252
           #if ENABLED(FILAMENT_UNLOAD_ALL_EXTRUDERS)
253 253
             if (thermalManager.targetHotEnoughToExtrude(0)
@@ -267,38 +267,38 @@ void _menu_temp_filament_op(const PauseMode mode, const int8_t extruder) {
267 267
                 #endif // E_STEPPERS > 2
268 268
               #endif // E_STEPPERS > 1
269 269
             )
270
-              MENU_ITEM(gcode, MSG_FILAMENTUNLOAD_ALL, PSTR("M702"));
270
+              GCODES_ITEM(MSG_FILAMENTUNLOAD_ALL, PSTR("M702"));
271 271
           else
272
-            MENU_ITEM(submenu, MSG_FILAMENTUNLOAD_ALL, menu_unload_filament_all_temp);
272
+            SUBMENU(MSG_FILAMENTUNLOAD_ALL, menu_unload_filament_all_temp);
273 273
           #endif
274 274
           if (thermalManager.targetHotEnoughToExtrude(0))
275
-            MENU_ITEM(gcode, MSG_FILAMENTUNLOAD " " MSG_E1, PSTR("M702 T0"));
275
+            GCODES_ITEM(MSG_FILAMENTUNLOAD " " MSG_E1, PSTR("M702 T0"));
276 276
           else
277
-            MENU_ITEM(submenu, MSG_FILAMENTUNLOAD " " MSG_E1, menu_temp_e0_filament_unload);
277
+            SUBMENU(MSG_FILAMENTUNLOAD " " MSG_E1, menu_temp_e0_filament_unload);
278 278
           if (thermalManager.targetHotEnoughToExtrude(1))
279
-            MENU_ITEM(gcode, MSG_FILAMENTUNLOAD " " MSG_E2, PSTR("M702 T1"));
279
+            GCODES_ITEM(MSG_FILAMENTUNLOAD " " MSG_E2, PSTR("M702 T1"));
280 280
           else
281
-            MENU_ITEM(submenu, MSG_FILAMENTUNLOAD " " MSG_E2, menu_temp_e1_filament_unload);
281
+            SUBMENU(MSG_FILAMENTUNLOAD " " MSG_E2, menu_temp_e1_filament_unload);
282 282
           #if E_STEPPERS > 2
283 283
             if (thermalManager.targetHotEnoughToExtrude(2))
284
-              MENU_ITEM(gcode, MSG_FILAMENTUNLOAD " " MSG_E3, PSTR("M702 T2"));
284
+              GCODES_ITEM(MSG_FILAMENTUNLOAD " " MSG_E3, PSTR("M702 T2"));
285 285
             else
286
-              MENU_ITEM(submenu, MSG_FILAMENTUNLOAD " " MSG_E3, menu_temp_e2_filament_unload);
286
+              SUBMENU(MSG_FILAMENTUNLOAD " " MSG_E3, menu_temp_e2_filament_unload);
287 287
             #if E_STEPPERS > 3
288 288
               if (thermalManager.targetHotEnoughToExtrude(3))
289
-                MENU_ITEM(gcode, MSG_FILAMENTUNLOAD " " MSG_E4, PSTR("M702 T3"));
289
+                GCODES_ITEM(MSG_FILAMENTUNLOAD " " MSG_E4, PSTR("M702 T3"));
290 290
               else
291
-                MENU_ITEM(submenu, MSG_FILAMENTUNLOAD " " MSG_E4, menu_temp_e3_filament_unload);
291
+                SUBMENU(MSG_FILAMENTUNLOAD " " MSG_E4, menu_temp_e3_filament_unload);
292 292
               #if E_STEPPERS > 4
293 293
                 if (thermalManager.targetHotEnoughToExtrude(4))
294
-                  MENU_ITEM(gcode, MSG_FILAMENTUNLOAD " " MSG_E5, PSTR("M702 T4"));
294
+                  GCODES_ITEM(MSG_FILAMENTUNLOAD " " MSG_E5, PSTR("M702 T4"));
295 295
                 else
296
-                  MENU_ITEM(submenu, MSG_FILAMENTUNLOAD " " MSG_E5, menu_temp_e4_filament_unload);
296
+                  SUBMENU(MSG_FILAMENTUNLOAD " " MSG_E5, menu_temp_e4_filament_unload);
297 297
                 #if E_STEPPERS > 5
298 298
                   if (thermalManager.targetHotEnoughToExtrude(5))
299
-                    MENU_ITEM(gcode, MSG_FILAMENTUNLOAD " " MSG_E6, PSTR("M702 T5"));
299
+                    GCODES_ITEM(MSG_FILAMENTUNLOAD " " MSG_E6, PSTR("M702 T5"));
300 300
                   else
301
-                    MENU_ITEM(submenu, MSG_FILAMENTUNLOAD " " MSG_E6, menu_temp_e5_filament_unload);
301
+                    SUBMENU(MSG_FILAMENTUNLOAD " " MSG_E6, menu_temp_e5_filament_unload);
302 302
                 #endif // E_STEPPERS > 5
303 303
               #endif // E_STEPPERS > 4
304 304
             #endif // E_STEPPERS > 3
@@ -353,13 +353,13 @@ void menu_pause_option() {
353 353
   #if LCD_HEIGHT > 2
354 354
     STATIC_ITEM(MSG_FILAMENT_CHANGE_OPTION_HEADER);
355 355
   #endif
356
-  MENU_ITEM(function, MSG_FILAMENT_CHANGE_OPTION_PURGE, lcd_pause_extrude_more);
356
+  ACTION_ITEM(MSG_FILAMENT_CHANGE_OPTION_PURGE, lcd_pause_extrude_more);
357 357
   #if HAS_FILAMENT_SENSOR
358 358
     if (runout.filament_ran_out)
359
-      MENU_ITEM_EDIT_CALLBACK(bool, MSG_RUNOUT_SENSOR, &runout.enabled, runout.reset);
359
+      EDIT_ITEM(bool, MSG_RUNOUT_SENSOR, &runout.enabled, runout.reset);
360 360
     else
361 361
   #endif
362
-      MENU_ITEM(function, MSG_FILAMENT_CHANGE_OPTION_RESUME, lcd_pause_resume_print);
362
+      ACTION_ITEM(MSG_FILAMENT_CHANGE_OPTION_RESUME, lcd_pause_resume_print);
363 363
   END_MENU();
364 364
 }
365 365
 

+ 5
- 5
Marlin/src/lcd/menu/menu_game.cpp View File

@@ -29,18 +29,18 @@
29 29
 
30 30
 void menu_game() {
31 31
   START_MENU();
32
-  MENU_BACK(MSG_MAIN);
32
+  BACK_ITEM(MSG_MAIN);
33 33
   #if ENABLED(MARLIN_BRICKOUT)
34
-    MENU_ITEM(submenu, MSG_BRICKOUT, brickout.enter_game);
34
+    SUBMENU(MSG_BRICKOUT, brickout.enter_game);
35 35
   #endif
36 36
   #if ENABLED(MARLIN_INVADERS)
37
-    MENU_ITEM(submenu, MSG_INVADERS, invaders.enter_game);
37
+    SUBMENU(MSG_INVADERS, invaders.enter_game);
38 38
   #endif
39 39
   #if ENABLED(MARLIN_SNAKE)
40
-    MENU_ITEM(submenu, MSG_SNAKE, snake.enter_game);
40
+    SUBMENU(MSG_SNAKE, snake.enter_game);
41 41
   #endif
42 42
   #if ENABLED(MARLIN_MAZE)
43
-    MENU_ITEM(submenu, MSG_MAZE, maze.enter_game);
43
+    SUBMENU(MSG_MAZE, maze.enter_game);
44 44
   #endif
45 45
   END_MENU();
46 46
 }

+ 10
- 10
Marlin/src/lcd/menu/menu_info.cpp View File

@@ -286,9 +286,9 @@ void menu_info_board() {
286 286
 //
287 287
 void menu_info() {
288 288
   START_MENU();
289
-  MENU_BACK(MSG_MAIN);
289
+  BACK_ITEM(MSG_MAIN);
290 290
   #if ENABLED(LCD_PRINTER_INFO_IS_BOOTSCREEN)
291
-    MENU_ITEM(submenu, MSG_INFO_PRINTER_MENU, (
291
+    SUBMENU(MSG_INFO_PRINTER_MENU, (
292 292
       #if ENABLED(SHOW_CUSTOM_BOOTSCREEN)
293 293
         menu_show_custom_bootscreen
294 294
       #else
@@ -296,24 +296,24 @@ void menu_info() {
296 296
       #endif
297 297
     ));
298 298
   #else
299
-    MENU_ITEM(submenu, MSG_INFO_PRINTER_MENU, menu_info_printer);           // Printer Info >
300
-    MENU_ITEM(submenu, MSG_INFO_BOARD_MENU, menu_info_board);               // Board Info >
299
+    SUBMENU(MSG_INFO_PRINTER_MENU, menu_info_printer);           // Printer Info >
300
+    SUBMENU(MSG_INFO_BOARD_MENU, menu_info_board);               // Board Info >
301 301
     #if EXTRUDERS
302
-      MENU_ITEM(submenu, MSG_INFO_THERMISTOR_MENU, menu_info_thermistors);  // Thermistors >
302
+      SUBMENU(MSG_INFO_THERMISTOR_MENU, menu_info_thermistors);  // Thermistors >
303 303
     #endif
304 304
   #endif
305 305
 
306 306
   #if ENABLED(PRINTCOUNTER)
307
-    MENU_ITEM(submenu, MSG_INFO_STATS_MENU, menu_info_stats);               // Printer Stats >
307
+    SUBMENU(MSG_INFO_STATS_MENU, menu_info_stats);               // Printer Stats >
308 308
   #endif
309 309
 
310 310
   #if HAS_GAMES
311 311
     #if ENABLED(GAMES_EASTER_EGG)
312
-      MENU_ITEM_DUMMY();
313
-      MENU_ITEM_DUMMY();
314
-      MENU_ITEM_DUMMY();
312
+      SKIP_ITEM();
313
+      SKIP_ITEM();
314
+      SKIP_ITEM();
315 315
     #endif
316
-    MENU_ITEM(submenu, MSG_GAMES, (
316
+    SUBMENU(MSG_GAMES, (
317 317
       #if HAS_GAME_MENU
318 318
         menu_game
319 319
       #elif ENABLED(MARLIN_BRICKOUT)

+ 2
- 2
Marlin/src/lcd/menu/menu_job_recovery.cpp View File

@@ -50,8 +50,8 @@ void menu_job_recovery() {
50 50
   ui.defer_status_screen();
51 51
   START_MENU();
52 52
   STATIC_ITEM(MSG_OUTAGE_RECOVERY);
53
-  MENU_ITEM(function, MSG_RESUME_PRINT, lcd_power_loss_recovery_resume);
54
-  MENU_ITEM(function, MSG_STOP_PRINT, lcd_power_loss_recovery_cancel);
53
+  ACTION_ITEM(MSG_RESUME_PRINT, lcd_power_loss_recovery_resume);
54
+  ACTION_ITEM(MSG_STOP_PRINT, lcd_power_loss_recovery_cancel);
55 55
   END_MENU();
56 56
 }
57 57
 

+ 20
- 20
Marlin/src/lcd/menu/menu_led.cpp View File

@@ -38,15 +38,15 @@
38 38
     #if LCD_HEIGHT > 2
39 39
       STATIC_ITEM(MSG_LED_PRESETS, SS_CENTER|SS_INVERT);
40 40
     #endif
41
-    MENU_BACK(MSG_LED_CONTROL);
42
-    MENU_ITEM(function, MSG_SET_LEDS_WHITE, leds.set_white);
43
-    MENU_ITEM(function, MSG_SET_LEDS_RED, leds.set_red);
44
-    MENU_ITEM(function, MSG_SET_LEDS_ORANGE, leds.set_orange);
45
-    MENU_ITEM(function, MSG_SET_LEDS_YELLOW,leds.set_yellow);
46
-    MENU_ITEM(function, MSG_SET_LEDS_GREEN, leds.set_green);
47
-    MENU_ITEM(function, MSG_SET_LEDS_BLUE, leds.set_blue);
48
-    MENU_ITEM(function, MSG_SET_LEDS_INDIGO, leds.set_indigo);
49
-    MENU_ITEM(function, MSG_SET_LEDS_VIOLET, leds.set_violet);
41
+    BACK_ITEM(MSG_LED_CONTROL);
42
+    ACTION_ITEM(MSG_SET_LEDS_WHITE, leds.set_white);
43
+    ACTION_ITEM(MSG_SET_LEDS_RED, leds.set_red);
44
+    ACTION_ITEM(MSG_SET_LEDS_ORANGE, leds.set_orange);
45
+    ACTION_ITEM(MSG_SET_LEDS_YELLOW,leds.set_yellow);
46
+    ACTION_ITEM(MSG_SET_LEDS_GREEN, leds.set_green);
47
+    ACTION_ITEM(MSG_SET_LEDS_BLUE, leds.set_blue);
48
+    ACTION_ITEM(MSG_SET_LEDS_INDIGO, leds.set_indigo);
49
+    ACTION_ITEM(MSG_SET_LEDS_VIOLET, leds.set_violet);
50 50
     END_MENU();
51 51
   }
52 52
 
@@ -54,14 +54,14 @@
54 54
 
55 55
 void menu_led_custom() {
56 56
   START_MENU();
57
-  MENU_BACK(MSG_LED_CONTROL);
58
-  MENU_ITEM_EDIT_CALLBACK(uint8, MSG_INTENSITY_R, &leds.color.r, 0, 255, leds.update, true);
59
-  MENU_ITEM_EDIT_CALLBACK(uint8, MSG_INTENSITY_G, &leds.color.g, 0, 255, leds.update, true);
60
-  MENU_ITEM_EDIT_CALLBACK(uint8, MSG_INTENSITY_B, &leds.color.b, 0, 255, leds.update, true);
57
+  BACK_ITEM(MSG_LED_CONTROL);
58
+  EDIT_ITEM(uint8, MSG_INTENSITY_R, &leds.color.r, 0, 255, leds.update, true);
59
+  EDIT_ITEM(uint8, MSG_INTENSITY_G, &leds.color.g, 0, 255, leds.update, true);
60
+  EDIT_ITEM(uint8, MSG_INTENSITY_B, &leds.color.b, 0, 255, leds.update, true);
61 61
   #if EITHER(RGBW_LED, NEOPIXEL_LED)
62
-    MENU_ITEM_EDIT_CALLBACK(uint8, MSG_INTENSITY_W, &leds.color.w, 0, 255, leds.update, true);
62
+    EDIT_ITEM(uint8, MSG_INTENSITY_W, &leds.color.w, 0, 255, leds.update, true);
63 63
     #if ENABLED(NEOPIXEL_LED)
64
-      MENU_ITEM_EDIT_CALLBACK(uint8, MSG_LED_BRIGHTNESS, &leds.color.i, 0, 255, leds.update, true);
64
+      EDIT_ITEM(uint8, MSG_LED_BRIGHTNESS, &leds.color.i, 0, 255, leds.update, true);
65 65
     #endif
66 66
   #endif
67 67
   END_MENU();
@@ -69,14 +69,14 @@ void menu_led_custom() {
69 69
 
70 70
 void menu_led() {
71 71
   START_MENU();
72
-  MENU_BACK(MSG_MAIN);
72
+  BACK_ITEM(MSG_MAIN);
73 73
   bool led_on = leds.lights_on;
74
-  MENU_ITEM_EDIT_CALLBACK(bool, MSG_LEDS, &led_on, leds.toggle);
75
-  MENU_ITEM(function, MSG_SET_LEDS_DEFAULT, leds.set_default);
74
+  EDIT_ITEM(bool, MSG_LEDS, &led_on, leds.toggle);
75
+  ACTION_ITEM(MSG_SET_LEDS_DEFAULT, leds.set_default);
76 76
   #if ENABLED(LED_COLOR_PRESETS)
77
-    MENU_ITEM(submenu, MSG_LED_PRESETS, menu_led_presets);
77
+    SUBMENU(MSG_LED_PRESETS, menu_led_presets);
78 78
   #endif
79
-  MENU_ITEM(submenu, MSG_CUSTOM_LEDS, menu_led_custom);
79
+  SUBMENU(MSG_CUSTOM_LEDS, menu_led_custom);
80 80
   END_MENU();
81 81
 }
82 82
 

+ 35
- 35
Marlin/src/lcd/menu/menu_main.cpp View File

@@ -97,7 +97,7 @@ void menu_configuration();
97 97
 
98 98
 void menu_main() {
99 99
   START_MENU();
100
-  MENU_BACK(MSG_WATCH);
100
+  BACK_ITEM(MSG_WATCH);
101 101
 
102 102
   const bool busy = IS_SD_PRINTING() || print_job_timer.isRunning()
103 103
     #if ENABLED(SDSUPPORT)
@@ -108,12 +108,12 @@ void menu_main() {
108 108
 
109 109
   if (busy) {
110 110
     #if MACHINE_CAN_PAUSE
111
-      MENU_ITEM(function, MSG_PAUSE_PRINT, ui.pause_print);
111
+      ACTION_ITEM(MSG_PAUSE_PRINT, ui.pause_print);
112 112
     #endif
113 113
     #if MACHINE_CAN_STOP
114
-      MENU_ITEM(submenu, MSG_STOP_PRINT, menu_abort_confirm);
114
+      SUBMENU(MSG_STOP_PRINT, menu_abort_confirm);
115 115
     #endif
116
-    MENU_ITEM(submenu, MSG_TUNE, menu_tune);
116
+    SUBMENU(MSG_TUNE, menu_tune);
117 117
   }
118 118
   else {
119 119
     #if !HAS_ENCODER_WHEEL && ENABLED(SDSUPPORT)
@@ -121,12 +121,12 @@ void menu_main() {
121 121
       // Autostart
122 122
       //
123 123
       #if ENABLED(MENU_ADDAUTOSTART)
124
-        if (!busy) MENU_ITEM(function, MSG_AUTOSTART, card.beginautostart);
124
+        if (!busy) ACTION_ITEM(MSG_AUTOSTART, card.beginautostart);
125 125
       #endif
126 126
 
127 127
       if (card_detected) {
128 128
         if (!card_open) {
129
-          MENU_ITEM(submenu, MSG_MEDIA_MENU, menu_media);
129
+          SUBMENU(MSG_MEDIA_MENU, menu_media);
130 130
           MENU_ITEM(gcode,
131 131
             #if PIN_EXISTS(SD_DETECT)
132 132
               MSG_CHANGE_MEDIA, PSTR("M21")
@@ -138,10 +138,10 @@ void menu_main() {
138 138
       }
139 139
       else {
140 140
         #if PIN_EXISTS(SD_DETECT)
141
-          MENU_ITEM(function, MSG_NO_MEDIA, nullptr);
141
+          ACTION_ITEM(MSG_NO_MEDIA, nullptr);
142 142
         #else
143
-          MENU_ITEM(gcode, MSG_INIT_MEDIA, PSTR("M21"));
144
-          MENU_ITEM(function, MSG_MEDIA_RELEASED, nullptr);
143
+          GCODES_ITEM(MSG_INIT_MEDIA, PSTR("M21"));
144
+          ACTION_ITEM(MSG_MEDIA_RELEASED, nullptr);
145 145
         #endif
146 146
       }
147 147
     #endif // !HAS_ENCODER_WHEEL && SDSUPPORT
@@ -152,49 +152,49 @@ void menu_main() {
152 152
           || card.isPaused()
153 153
         #endif
154 154
       );
155
-      if (paused) MENU_ITEM(function, MSG_RESUME_PRINT, ui.resume_print);
155
+      if (paused) ACTION_ITEM(MSG_RESUME_PRINT, ui.resume_print);
156 156
     #endif
157 157
 
158
-    MENU_ITEM(submenu, MSG_MOTION, menu_motion);
158
+    SUBMENU(MSG_MOTION, menu_motion);
159 159
   }
160 160
 
161 161
   #if HAS_CUTTER
162
-    MENU_ITEM(submenu, MSG_CUTTER(MENU), menu_spindle_laser);
162
+    SUBMENU(MSG_CUTTER(MENU), menu_spindle_laser);
163 163
   #endif
164 164
 
165
-  MENU_ITEM(submenu, MSG_TEMPERATURE, menu_temperature);
165
+  SUBMENU(MSG_TEMPERATURE, menu_temperature);
166 166
 
167 167
   #if ENABLED(MIXING_EXTRUDER)
168
-    MENU_ITEM(submenu, MSG_MIXER, menu_mixer);
168
+    SUBMENU(MSG_MIXER, menu_mixer);
169 169
   #endif
170 170
 
171 171
   #if ENABLED(MMU2_MENUS)
172
-    if (!busy) MENU_ITEM(submenu, MSG_MMU2_MENU, menu_mmu2);
172
+    if (!busy) SUBMENU(MSG_MMU2_MENU, menu_mmu2);
173 173
   #endif
174 174
 
175
-  MENU_ITEM(submenu, MSG_CONFIGURATION, menu_configuration);
175
+  SUBMENU(MSG_CONFIGURATION, menu_configuration);
176 176
 
177 177
   #if ENABLED(CUSTOM_USER_MENUS)
178
-    MENU_ITEM(submenu, MSG_USER_MENU, menu_user);
178
+    SUBMENU(MSG_USER_MENU, menu_user);
179 179
   #endif
180 180
 
181 181
   #if ENABLED(ADVANCED_PAUSE_FEATURE)
182 182
     #if E_STEPPERS == 1 && DISABLED(FILAMENT_LOAD_UNLOAD_GCODES)
183 183
       if (thermalManager.targetHotEnoughToExtrude(active_extruder))
184
-        MENU_ITEM(gcode, MSG_FILAMENTCHANGE, PSTR("M600 B0"));
184
+        GCODES_ITEM(MSG_FILAMENTCHANGE, PSTR("M600 B0"));
185 185
       else
186
-        MENU_ITEM(submenu, MSG_FILAMENTCHANGE, menu_temp_e0_filament_change);
186
+        SUBMENU(MSG_FILAMENTCHANGE, menu_temp_e0_filament_change);
187 187
     #else
188
-      MENU_ITEM(submenu, MSG_FILAMENTCHANGE, menu_change_filament);
188
+      SUBMENU(MSG_FILAMENTCHANGE, menu_change_filament);
189 189
     #endif
190 190
   #endif
191 191
 
192 192
   #if ENABLED(LCD_INFO_MENU)
193
-    MENU_ITEM(submenu, MSG_INFO_MENU, menu_info);
193
+    SUBMENU(MSG_INFO_MENU, menu_info);
194 194
   #endif
195 195
 
196 196
   #if ENABLED(LED_CONTROL_MENU)
197
-    MENU_ITEM(submenu, MSG_LED_CONTROL, menu_led);
197
+    SUBMENU(MSG_LED_CONTROL, menu_led);
198 198
   #endif
199 199
 
200 200
   //
@@ -202,9 +202,9 @@ void menu_main() {
202 202
   //
203 203
   #if HAS_POWER_SWITCH
204 204
     if (powersupply_on)
205
-      MENU_ITEM(gcode, MSG_SWITCH_PS_OFF, PSTR("M81"));
205
+      GCODES_ITEM(MSG_SWITCH_PS_OFF, PSTR("M81"));
206 206
     else
207
-      MENU_ITEM(gcode, MSG_SWITCH_PS_ON, PSTR("M80"));
207
+      GCODES_ITEM(MSG_SWITCH_PS_ON, PSTR("M80"));
208 208
   #endif
209 209
 
210 210
   #if HAS_ENCODER_WHEEL && ENABLED(SDSUPPORT)
@@ -212,7 +212,7 @@ void menu_main() {
212 212
     // Autostart
213 213
     //
214 214
     #if ENABLED(MENU_ADDAUTOSTART)
215
-      if (!busy) MENU_ITEM(function, MSG_AUTOSTART, card.beginautostart);
215
+      if (!busy) ACTION_ITEM(MSG_AUTOSTART, card.beginautostart);
216 216
     #endif
217 217
 
218 218
     if (card_detected) {
@@ -224,37 +224,37 @@ void menu_main() {
224 224
             MSG_RELEASE_MEDIA, PSTR("M22")
225 225
           #endif
226 226
         );
227
-        MENU_ITEM(submenu, MSG_MEDIA_MENU, menu_media);
227
+        SUBMENU(MSG_MEDIA_MENU, menu_media);
228 228
       }
229 229
     }
230 230
     else {
231 231
       #if PIN_EXISTS(SD_DETECT)
232
-        MENU_ITEM(function, MSG_NO_MEDIA, nullptr);
232
+        ACTION_ITEM(MSG_NO_MEDIA, nullptr);
233 233
       #else
234
-        MENU_ITEM(gcode, MSG_INIT_MEDIA, PSTR("M21"));
235
-        MENU_ITEM(function, MSG_MEDIA_RELEASED, nullptr);
234
+        GCODES_ITEM(MSG_INIT_MEDIA, PSTR("M21"));
235
+        ACTION_ITEM(MSG_MEDIA_RELEASED, nullptr);
236 236
       #endif
237 237
     }
238 238
   #endif // HAS_ENCODER_WHEEL && SDSUPPORT
239 239
 
240 240
   #if HAS_SERVICE_INTERVALS
241 241
     #if SERVICE_INTERVAL_1 > 0
242
-      MENU_ITEM(submenu, SERVICE_NAME_1, menu_service1);
242
+      SUBMENU(SERVICE_NAME_1, menu_service1);
243 243
     #endif
244 244
     #if SERVICE_INTERVAL_2 > 0
245
-      MENU_ITEM(submenu, SERVICE_NAME_2, menu_service2);
245
+      SUBMENU(SERVICE_NAME_2, menu_service2);
246 246
     #endif
247 247
     #if SERVICE_INTERVAL_3 > 0
248
-      MENU_ITEM(submenu, SERVICE_NAME_3, menu_service3);
248
+      SUBMENU(SERVICE_NAME_3, menu_service3);
249 249
     #endif
250 250
   #endif
251 251
 
252 252
   #if HAS_GAMES && DISABLED(LCD_INFO_MENU)
253 253
     #if ENABLED(GAMES_EASTER_EGG)
254
-      MENU_ITEM_DUMMY();
255
-      MENU_ITEM_DUMMY();
254
+      SKIP_ITEM();
255
+      SKIP_ITEM();
256 256
     #endif
257
-    MENU_ITEM(submenu, MSG_GAMES, (
257
+    SUBMENU(MSG_GAMES, (
258 258
       #if HAS_GAME_MENU
259 259
         menu_game
260 260
       #elif ENABLED(MARLIN_BRICKOUT)

+ 4
- 4
Marlin/src/lcd/menu/menu_media.cpp View File

@@ -138,14 +138,14 @@ void menu_media() {
138 138
   #endif
139 139
 
140 140
   START_MENU();
141
-  MENU_BACK(MSG_MAIN);
141
+  BACK_ITEM(MSG_MAIN);
142 142
   if (card.flag.workDirIsRoot) {
143 143
     #if !PIN_EXISTS(SD_DETECT)
144
-      MENU_ITEM(function, LCD_STR_REFRESH MSG_REFRESH, lcd_sd_refresh);
144
+      ACTION_ITEM(LCD_STR_REFRESH MSG_REFRESH, lcd_sd_refresh);
145 145
     #endif
146 146
   }
147 147
   else if (card.isMounted())
148
-    MENU_ITEM(function, LCD_STR_FOLDER "..", lcd_sd_updir);
148
+    ACTION_ITEM(LCD_STR_FOLDER "..", lcd_sd_updir);
149 149
 
150 150
   if (ui.should_draw()) for (uint16_t i = 0; i < fileCnt; i++) {
151 151
     if (_menuLineNr == _thisItemNr) {
@@ -163,7 +163,7 @@ void menu_media() {
163 163
         MENU_ITEM(sdfile, MSG_MEDIA_MENU, card);
164 164
     }
165 165
     else {
166
-      MENU_ITEM_DUMMY();
166
+      SKIP_ITEM();
167 167
     }
168 168
   }
169 169
   END_MENU();

+ 19
- 19
Marlin/src/lcd/menu/menu_mixer.cpp View File

@@ -90,24 +90,24 @@
90 90
 
91 91
   void lcd_mixer_edit_gradient_menu() {
92 92
     START_MENU();
93
-    MENU_BACK(MSG_MIXER);
93
+    BACK_ITEM(MSG_MIXER);
94 94
 
95
-    MENU_ITEM_EDIT_CALLBACK(int8, MSG_START_VTOOL, &mixer.gradient.start_vtool, 0, MIXING_VIRTUAL_TOOLS - 1, mixer.refresh_gradient);
96
-    MENU_ITEM_EDIT_CALLBACK(int8, MSG_END_VTOOL, &mixer.gradient.end_vtool, 0, MIXING_VIRTUAL_TOOLS - 1, mixer.refresh_gradient);
95
+    EDIT_ITEM(int8, MSG_START_VTOOL, &mixer.gradient.start_vtool, 0, MIXING_VIRTUAL_TOOLS - 1, mixer.refresh_gradient);
96
+    EDIT_ITEM(int8, MSG_END_VTOOL, &mixer.gradient.end_vtool, 0, MIXING_VIRTUAL_TOOLS - 1, mixer.refresh_gradient);
97 97
 
98 98
     #if ENABLED(GRADIENT_VTOOL)
99
-      MENU_ITEM_EDIT_CALLBACK(int8, MSG_GRADIENT_ALIAS, &mixer.gradient.vtool_index, 0, MIXING_VIRTUAL_TOOLS - 1, mixer.refresh_gradient);
99
+      EDIT_ITEM(int8, MSG_GRADIENT_ALIAS, &mixer.gradient.vtool_index, 0, MIXING_VIRTUAL_TOOLS - 1, mixer.refresh_gradient);
100 100
     #endif
101 101
 
102 102
     char tmp[18];
103 103
 
104
-    MENU_ITEM(submenu, MSG_START_Z ":", lcd_mixer_gradient_z_start_edit);
104
+    SUBMENU(MSG_START_Z ":", lcd_mixer_gradient_z_start_edit);
105 105
     MENU_ITEM_ADDON_START(9);
106 106
       sprintf_P(tmp, PSTR("%4d.%d mm"), int(mixer.gradient.start_z), int(mixer.gradient.start_z * 10) % 10);
107 107
       LCDPRINT(tmp);
108 108
     MENU_ITEM_ADDON_END();
109 109
 
110
-    MENU_ITEM(submenu, MSG_END_Z ":", lcd_mixer_gradient_z_end_edit);
110
+    SUBMENU(MSG_END_Z ":", lcd_mixer_gradient_z_end_edit);
111 111
     MENU_ITEM_ADDON_START(9);
112 112
       sprintf_P(tmp, PSTR("%4d.%d mm"), int(mixer.gradient.end_z), int(mixer.gradient.end_z * 10) % 10);
113 113
       LCDPRINT(tmp);
@@ -158,10 +158,10 @@ void lcd_mixer_mix_edit() {
158 158
 
159 159
   #if CHANNEL_MIX_EDITING
160 160
 
161
-    #define EDIT_COLOR(N) MENU_MULTIPLIER_ITEM_EDIT(float52, MSG_MIX_COMPONENT " " STRINGIFY(N), &mixer.collector[N-1], 0, 10);
161
+    #define EDIT_COLOR(N) EDIT_ITEM_FAST(float52, MSG_MIX_COMPONENT " " STRINGIFY(N), &mixer.collector[N-1], 0, 10);
162 162
 
163 163
     START_MENU();
164
-    MENU_BACK(MSG_MIXER);
164
+    BACK_ITEM(MSG_MIXER);
165 165
     EDIT_COLOR(1);
166 166
     EDIT_COLOR(2);
167 167
     #if MIXING_STEPPERS > 2
@@ -176,8 +176,8 @@ void lcd_mixer_mix_edit() {
176 176
         #endif
177 177
       #endif
178 178
     #endif
179
-    MENU_ITEM(function, MSG_CYCLE_MIX, _lcd_mixer_cycle_mix);
180
-    MENU_ITEM(function, MSG_COMMIT_VTOOL, _lcd_mixer_commit_vtool);
179
+    ACTION_ITEM(MSG_CYCLE_MIX, _lcd_mixer_cycle_mix);
180
+    ACTION_ITEM(MSG_COMMIT_VTOOL, _lcd_mixer_commit_vtool);
181 181
     END_MENU();
182 182
 
183 183
   #elif DUAL_MIXING_EXTRUDER
@@ -199,7 +199,7 @@ void lcd_mixer_mix_edit() {
199 199
   #else
200 200
 
201 201
     START_MENU();
202
-    MENU_BACK(MSG_MIXER);
202
+    BACK_ITEM(MSG_MIXER);
203 203
     END_MENU();
204 204
 
205 205
   #endif
@@ -263,10 +263,10 @@ void menu_mixer_vtools_reset_confirm() {
263 263
 
264 264
 void menu_mixer() {
265 265
   START_MENU();
266
-  MENU_BACK(MSG_MAIN);
266
+  BACK_ITEM(MSG_MAIN);
267 267
 
268 268
   v_index = mixer.get_current_vtool();
269
-  MENU_ITEM_EDIT_CALLBACK(uint8, MSG_ACTIVE_VTOOL, &v_index, 0, MIXING_VIRTUAL_TOOLS - 1, _lcd_mixer_select_vtool
269
+  EDIT_ITEM(uint8, MSG_ACTIVE_VTOOL, &v_index, 0, MIXING_VIRTUAL_TOOLS - 1, _lcd_mixer_select_vtool
270 270
     #if DUAL_MIXING_EXTRUDER
271 271
       , true
272 272
     #endif
@@ -275,29 +275,29 @@ void menu_mixer() {
275 275
   #if DUAL_MIXING_EXTRUDER
276 276
   {
277 277
     char tmp[10];
278
-    MENU_ITEM(submenu, MSG_MIX, lcd_mixer_mix_edit);
278
+    SUBMENU(MSG_MIX, lcd_mixer_mix_edit);
279 279
     MENU_ITEM_ADDON_START(10);
280 280
       mixer.update_mix_from_vtool();
281 281
       sprintf_P(tmp, PSTR("%3d;%3d%%"), int(mixer.mix[0]), int(mixer.mix[1]));
282 282
       LCDPRINT(tmp);
283 283
     MENU_ITEM_ADDON_END();
284
-    MENU_ITEM(function, MSG_TOGGLE_MIX, _lcd_mixer_toggle_mix);
284
+    ACTION_ITEM(MSG_TOGGLE_MIX, _lcd_mixer_toggle_mix);
285 285
   }
286 286
   #else
287
-    MENU_ITEM(submenu, MSG_MIX, _lcd_goto_mix_edit);
287
+    SUBMENU(MSG_MIX, _lcd_goto_mix_edit);
288 288
   #endif
289 289
 
290
-  MENU_ITEM(submenu, MSG_RESET_VTOOLS, menu_mixer_vtools_reset_confirm);
290
+  SUBMENU(MSG_RESET_VTOOLS, menu_mixer_vtools_reset_confirm);
291 291
 
292 292
   #if ENABLED(GRADIENT_MIX)
293 293
   {
294 294
     char tmp[13];
295
-    MENU_ITEM(submenu, MSG_GRADIENT, lcd_mixer_edit_gradient_menu);
295
+    SUBMENU(MSG_GRADIENT, lcd_mixer_edit_gradient_menu);
296 296
     MENU_ITEM_ADDON_START(10);
297 297
       sprintf_P(tmp, PSTR("T%i->T%i"), mixer.gradient.start_vtool, mixer.gradient.end_vtool);
298 298
       LCDPRINT(tmp);
299 299
     MENU_ITEM_ADDON_END();
300
-    MENU_ITEM(function, MSG_REVERSE_GRADIENT, _lcd_mixer_reverse_gradient);
300
+    ACTION_ITEM(MSG_REVERSE_GRADIENT, _lcd_mixer_reverse_gradient);
301 301
   }
302 302
   #endif
303 303
 

+ 34
- 34
Marlin/src/lcd/menu/menu_mmu2.cpp View File

@@ -71,24 +71,24 @@ inline void action_mmu2_load_filament_4() { _mmu2_load_filament(4); }
71 71
 
72 72
 void menu_mmu2_load_filament() {
73 73
   START_MENU();
74
-  MENU_BACK(MSG_MMU2_MENU);
75
-  MENU_ITEM(function, MSG_MMU2_ALL, action_mmu2_load_all);
76
-  MENU_ITEM(function, MSG_MMU2_FILAMENT0, action_mmu2_load_filament_0);
77
-  MENU_ITEM(function, MSG_MMU2_FILAMENT1, action_mmu2_load_filament_1);
78
-  MENU_ITEM(function, MSG_MMU2_FILAMENT2, action_mmu2_load_filament_2);
79
-  MENU_ITEM(function, MSG_MMU2_FILAMENT3, action_mmu2_load_filament_3);
80
-  MENU_ITEM(function, MSG_MMU2_FILAMENT4, action_mmu2_load_filament_4);
74
+  BACK_ITEM(MSG_MMU2_MENU);
75
+  ACTION_ITEM(MSG_MMU2_ALL, action_mmu2_load_all);
76
+  ACTION_ITEM(MSG_MMU2_FILAMENT0, action_mmu2_load_filament_0);
77
+  ACTION_ITEM(MSG_MMU2_FILAMENT1, action_mmu2_load_filament_1);
78
+  ACTION_ITEM(MSG_MMU2_FILAMENT2, action_mmu2_load_filament_2);
79
+  ACTION_ITEM(MSG_MMU2_FILAMENT3, action_mmu2_load_filament_3);
80
+  ACTION_ITEM(MSG_MMU2_FILAMENT4, action_mmu2_load_filament_4);
81 81
   END_MENU();
82 82
 }
83 83
 
84 84
 void menu_mmu2_load_to_nozzle() {
85 85
   START_MENU();
86
-  MENU_BACK(MSG_MMU2_MENU);
87
-  MENU_ITEM(function, MSG_MMU2_FILAMENT0, action_mmu2_load_filament_to_nozzle_0);
88
-  MENU_ITEM(function, MSG_MMU2_FILAMENT1, action_mmu2_load_filament_to_nozzle_1);
89
-  MENU_ITEM(function, MSG_MMU2_FILAMENT2, action_mmu2_load_filament_to_nozzle_2);
90
-  MENU_ITEM(function, MSG_MMU2_FILAMENT3, action_mmu2_load_filament_to_nozzle_3);
91
-  MENU_ITEM(function, MSG_MMU2_FILAMENT4, action_mmu2_load_filament_to_nozzle_4);
86
+  BACK_ITEM(MSG_MMU2_MENU);
87
+  ACTION_ITEM(MSG_MMU2_FILAMENT0, action_mmu2_load_filament_to_nozzle_0);
88
+  ACTION_ITEM(MSG_MMU2_FILAMENT1, action_mmu2_load_filament_to_nozzle_1);
89
+  ACTION_ITEM(MSG_MMU2_FILAMENT2, action_mmu2_load_filament_to_nozzle_2);
90
+  ACTION_ITEM(MSG_MMU2_FILAMENT3, action_mmu2_load_filament_to_nozzle_3);
91
+  ACTION_ITEM(MSG_MMU2_FILAMENT4, action_mmu2_load_filament_to_nozzle_4);
92 92
   END_MENU();
93 93
 }
94 94
 
@@ -118,12 +118,12 @@ void action_mmu2_unload_filament() {
118 118
 
119 119
 void menu_mmu2_eject_filament() {
120 120
   START_MENU();
121
-  MENU_BACK(MSG_MMU2_MENU);
122
-  MENU_ITEM(function, MSG_MMU2_FILAMENT0, action_mmu2_eject_filament_0);
123
-  MENU_ITEM(function, MSG_MMU2_FILAMENT1, action_mmu2_eject_filament_1);
124
-  MENU_ITEM(function, MSG_MMU2_FILAMENT2, action_mmu2_eject_filament_2);
125
-  MENU_ITEM(function, MSG_MMU2_FILAMENT3, action_mmu2_eject_filament_3);
126
-  MENU_ITEM(function, MSG_MMU2_FILAMENT4, action_mmu2_eject_filament_4);
121
+  BACK_ITEM(MSG_MMU2_MENU);
122
+  ACTION_ITEM(MSG_MMU2_FILAMENT0, action_mmu2_eject_filament_0);
123
+  ACTION_ITEM(MSG_MMU2_FILAMENT1, action_mmu2_eject_filament_1);
124
+  ACTION_ITEM(MSG_MMU2_FILAMENT2, action_mmu2_eject_filament_2);
125
+  ACTION_ITEM(MSG_MMU2_FILAMENT3, action_mmu2_eject_filament_3);
126
+  ACTION_ITEM(MSG_MMU2_FILAMENT4, action_mmu2_eject_filament_4);
127 127
   END_MENU();
128 128
 }
129 129
 
@@ -138,12 +138,12 @@ void action_mmu2_reset() {
138 138
 
139 139
 void menu_mmu2() {
140 140
   START_MENU();
141
-  MENU_BACK(MSG_MAIN);
142
-  MENU_ITEM(submenu, MSG_MMU2_LOAD_FILAMENT, menu_mmu2_load_filament);
143
-  MENU_ITEM(submenu, MSG_MMU2_LOAD_TO_NOZZLE, menu_mmu2_load_to_nozzle);
144
-  MENU_ITEM(submenu, MSG_MMU2_EJECT_FILAMENT, menu_mmu2_eject_filament);
145
-  MENU_ITEM(function, MSG_MMU2_UNLOAD_FILAMENT, action_mmu2_unload_filament);
146
-  MENU_ITEM(function, MSG_MMU2_RESET, action_mmu2_reset);
141
+  BACK_ITEM(MSG_MAIN);
142
+  SUBMENU(MSG_MMU2_LOAD_FILAMENT, menu_mmu2_load_filament);
143
+  SUBMENU(MSG_MMU2_LOAD_TO_NOZZLE, menu_mmu2_load_to_nozzle);
144
+  SUBMENU(MSG_MMU2_EJECT_FILAMENT, menu_mmu2_eject_filament);
145
+  ACTION_ITEM(MSG_MMU2_UNLOAD_FILAMENT, action_mmu2_unload_filament);
146
+  ACTION_ITEM(MSG_MMU2_RESET, action_mmu2_reset);
147 147
   END_MENU();
148 148
 }
149 149
 
@@ -166,11 +166,11 @@ void menu_mmu2_choose_filament() {
166 166
   #if LCD_HEIGHT > 2
167 167
     STATIC_ITEM(MSG_MMU2_CHOOSE_FILAMENT_HEADER, SS_CENTER|SS_INVERT);
168 168
   #endif
169
-  MENU_ITEM(function, MSG_MMU2_FILAMENT0, action_mmu2_choose0);
170
-  MENU_ITEM(function, MSG_MMU2_FILAMENT1, action_mmu2_choose1);
171
-  MENU_ITEM(function, MSG_MMU2_FILAMENT2, action_mmu2_choose2);
172
-  MENU_ITEM(function, MSG_MMU2_FILAMENT3, action_mmu2_choose3);
173
-  MENU_ITEM(function, MSG_MMU2_FILAMENT4, action_mmu2_choose4);
169
+  ACTION_ITEM(MSG_MMU2_FILAMENT0, action_mmu2_choose0);
170
+  ACTION_ITEM(MSG_MMU2_FILAMENT1, action_mmu2_choose1);
171
+  ACTION_ITEM(MSG_MMU2_FILAMENT2, action_mmu2_choose2);
172
+  ACTION_ITEM(MSG_MMU2_FILAMENT3, action_mmu2_choose3);
173
+  ACTION_ITEM(MSG_MMU2_FILAMENT4, action_mmu2_choose4);
174 174
   END_MENU();
175 175
 }
176 176
 
@@ -189,10 +189,10 @@ void menu_mmu2_pause() {
189 189
   #if LCD_HEIGHT > 2
190 190
     STATIC_ITEM(MSG_MMU2_FILAMENT_CHANGE_HEADER, SS_CENTER|SS_INVERT);
191 191
   #endif
192
-  MENU_ITEM(function, MSG_MMU2_RESUME, action_mmu2_M600_resume);
193
-  MENU_ITEM(function, MSG_MMU2_UNLOAD_FILAMENT, action_mmu2_M600_unload_filament);
194
-  MENU_ITEM(function, MSG_MMU2_LOAD_FILAMENT, action_mmu2_M600_load_current_filament);
195
-  MENU_ITEM(function, MSG_MMU2_LOAD_TO_NOZZLE, action_mmu2_M600_load_current_filament_to_nozzle);
192
+  ACTION_ITEM(MSG_MMU2_RESUME, action_mmu2_M600_resume);
193
+  ACTION_ITEM(MSG_MMU2_UNLOAD_FILAMENT, action_mmu2_M600_unload_filament);
194
+  ACTION_ITEM(MSG_MMU2_LOAD_FILAMENT, action_mmu2_M600_load_current_filament);
195
+  ACTION_ITEM(MSG_MMU2_LOAD_TO_NOZZLE, action_mmu2_M600_load_current_filament_to_nozzle);
196 196
   END_MENU();
197 197
 }
198 198
 

+ 54
- 54
Marlin/src/lcd/menu/menu_motion.cpp View File

@@ -275,16 +275,16 @@ void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int
275 275
   }
276 276
   #if ENABLED(PREVENT_COLD_EXTRUSION)
277 277
     if (axis == E_AXIS && thermalManager.tooColdToExtrude(eindex >= 0 ? eindex : active_extruder))
278
-      MENU_BACK(MSG_HOTEND_TOO_COLD);
278
+      BACK_ITEM(MSG_HOTEND_TOO_COLD);
279 279
     else
280 280
   #endif
281 281
   {
282
-    MENU_BACK(MSG_MOVE_AXIS);
283
-    MENU_ITEM(submenu, MSG_MOVE_10MM, menu_move_10mm);
284
-    MENU_ITEM(submenu, MSG_MOVE_1MM, menu_move_1mm);
285
-    MENU_ITEM(submenu, MSG_MOVE_01MM, menu_move_01mm);
282
+    BACK_ITEM(MSG_MOVE_AXIS);
283
+    SUBMENU(MSG_MOVE_10MM, menu_move_10mm);
284
+    SUBMENU(MSG_MOVE_1MM, menu_move_1mm);
285
+    SUBMENU(MSG_MOVE_01MM, menu_move_01mm);
286 286
     if (axis == Z_AXIS && (SHORT_MANUAL_Z_MOVE) > 0.0f && (SHORT_MANUAL_Z_MOVE) < 0.1f) {
287
-      MENU_ITEM(submenu, "", []{ _goto_manual_move(float(SHORT_MANUAL_Z_MOVE)); });
287
+      SUBMENU("", []{ _goto_manual_move(float(SHORT_MANUAL_Z_MOVE)); });
288 288
       MENU_ITEM_ADDON_START(1);
289 289
         char tmp[20], numstr[10];
290 290
         // Determine digits needed right of decimal
@@ -330,10 +330,10 @@ void lcd_move_get_z_amount() { _menu_move_distance(Z_AXIS, lcd_move_z); }
330 330
 
331 331
 void menu_move() {
332 332
   START_MENU();
333
-  MENU_BACK(MSG_MOTION);
333
+  BACK_ITEM(MSG_MOTION);
334 334
 
335 335
   #if HAS_SOFTWARE_ENDSTOPS && ENABLED(SOFT_ENDSTOPS_MENU_ITEM)
336
-    MENU_ITEM_EDIT(bool, MSG_LCD_SOFT_ENDSTOPS, &soft_endstops_enabled);
336
+    EDIT_ITEM(bool, MSG_LCD_SOFT_ENDSTOPS, &soft_endstops_enabled);
337 337
   #endif
338 338
 
339 339
   if (
@@ -350,57 +350,57 @@ void menu_move() {
350 350
         true
351 351
       #endif
352 352
     ) {
353
-      MENU_ITEM(submenu, MSG_MOVE_X, lcd_move_get_x_amount);
354
-      MENU_ITEM(submenu, MSG_MOVE_Y, lcd_move_get_y_amount);
353
+      SUBMENU(MSG_MOVE_X, lcd_move_get_x_amount);
354
+      SUBMENU(MSG_MOVE_Y, lcd_move_get_y_amount);
355 355
     }
356 356
     #if ENABLED(DELTA)
357 357
       else
358
-        MENU_ITEM(function, MSG_FREE_XY, lcd_lower_z_to_clip_height);
358
+        ACTION_ITEM(MSG_FREE_XY, lcd_lower_z_to_clip_height);
359 359
     #endif
360 360
 
361
-    MENU_ITEM(submenu, MSG_MOVE_Z, lcd_move_get_z_amount);
361
+    SUBMENU(MSG_MOVE_Z, lcd_move_get_z_amount);
362 362
   }
363 363
   else
364
-    MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28"));
364
+    GCODES_ITEM(MSG_AUTO_HOME, PSTR("G28"));
365 365
 
366 366
   #if ANY(SWITCHING_EXTRUDER, SWITCHING_NOZZLE, MAGNETIC_SWITCHING_TOOLHEAD)
367 367
 
368 368
     #if EXTRUDERS == 6
369 369
       switch (active_extruder) {
370
-        case 0: MENU_ITEM(gcode, MSG_SELECT " " MSG_E2, PSTR("T1")); break;
371
-        case 1: MENU_ITEM(gcode, MSG_SELECT " " MSG_E1, PSTR("T0")); break;
372
-        case 2: MENU_ITEM(gcode, MSG_SELECT " " MSG_E4, PSTR("T3")); break;
373
-        case 3: MENU_ITEM(gcode, MSG_SELECT " " MSG_E3, PSTR("T2")); break;
374
-        case 4: MENU_ITEM(gcode, MSG_SELECT " " MSG_E6, PSTR("T5")); break;
375
-        case 5: MENU_ITEM(gcode, MSG_SELECT " " MSG_E5, PSTR("T4")); break;
370
+        case 0: GCODES_ITEM(MSG_SELECT " " MSG_E2, PSTR("T1")); break;
371
+        case 1: GCODES_ITEM(MSG_SELECT " " MSG_E1, PSTR("T0")); break;
372
+        case 2: GCODES_ITEM(MSG_SELECT " " MSG_E4, PSTR("T3")); break;
373
+        case 3: GCODES_ITEM(MSG_SELECT " " MSG_E3, PSTR("T2")); break;
374
+        case 4: GCODES_ITEM(MSG_SELECT " " MSG_E6, PSTR("T5")); break;
375
+        case 5: GCODES_ITEM(MSG_SELECT " " MSG_E5, PSTR("T4")); break;
376 376
       }
377 377
     #elif EXTRUDERS == 5 || EXTRUDERS == 4
378 378
       switch (active_extruder) {
379
-        case 0: MENU_ITEM(gcode, MSG_SELECT " " MSG_E2, PSTR("T1")); break;
380
-        case 1: MENU_ITEM(gcode, MSG_SELECT " " MSG_E1, PSTR("T0")); break;
381
-        case 2: MENU_ITEM(gcode, MSG_SELECT " " MSG_E4, PSTR("T3")); break;
382
-        case 3: MENU_ITEM(gcode, MSG_SELECT " " MSG_E3, PSTR("T2")); break;
379
+        case 0: GCODES_ITEM(MSG_SELECT " " MSG_E2, PSTR("T1")); break;
380
+        case 1: GCODES_ITEM(MSG_SELECT " " MSG_E1, PSTR("T0")); break;
381
+        case 2: GCODES_ITEM(MSG_SELECT " " MSG_E4, PSTR("T3")); break;
382
+        case 3: GCODES_ITEM(MSG_SELECT " " MSG_E3, PSTR("T2")); break;
383 383
       }
384 384
     #elif EXTRUDERS == 3
385 385
       if (active_extruder < 2) {
386 386
         if (active_extruder)
387
-          MENU_ITEM(gcode, MSG_SELECT " " MSG_E1, PSTR("T0"));
387
+          GCODES_ITEM(MSG_SELECT " " MSG_E1, PSTR("T0"));
388 388
         else
389
-          MENU_ITEM(gcode, MSG_SELECT " " MSG_E2, PSTR("T1"));
389
+          GCODES_ITEM(MSG_SELECT " " MSG_E2, PSTR("T1"));
390 390
       }
391 391
     #else
392 392
       if (active_extruder)
393
-        MENU_ITEM(gcode, MSG_SELECT " " MSG_E1, PSTR("T0"));
393
+        GCODES_ITEM(MSG_SELECT " " MSG_E1, PSTR("T0"));
394 394
       else
395
-        MENU_ITEM(gcode, MSG_SELECT " " MSG_E2, PSTR("T1"));
395
+        GCODES_ITEM(MSG_SELECT " " MSG_E2, PSTR("T1"));
396 396
     #endif
397 397
 
398 398
   #elif ENABLED(DUAL_X_CARRIAGE)
399 399
 
400 400
     if (active_extruder)
401
-      MENU_ITEM(gcode, MSG_SELECT " " MSG_E1, PSTR("T0"));
401
+      GCODES_ITEM(MSG_SELECT " " MSG_E1, PSTR("T0"));
402 402
     else
403
-      MENU_ITEM(gcode, MSG_SELECT " " MSG_E2, PSTR("T1"));
403
+      GCODES_ITEM(MSG_SELECT " " MSG_E2, PSTR("T1"));
404 404
 
405 405
   #endif
406 406
 
@@ -409,29 +409,29 @@ void menu_move() {
409 409
     #if EITHER(SWITCHING_EXTRUDER, SWITCHING_NOZZLE)
410 410
 
411 411
       // Only the current...
412
-      MENU_ITEM(submenu, MSG_MOVE_E, lcd_move_get_e_amount);
412
+      SUBMENU(MSG_MOVE_E, lcd_move_get_e_amount);
413 413
       // ...and the non-switching
414 414
       #if E_MANUAL == 5
415
-        MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E5, lcd_move_get_e4_amount);
415
+        SUBMENU(MSG_MOVE_E MSG_MOVE_E5, lcd_move_get_e4_amount);
416 416
       #elif E_MANUAL == 3
417
-        MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E3, lcd_move_get_e2_amount);
417
+        SUBMENU(MSG_MOVE_E MSG_MOVE_E3, lcd_move_get_e2_amount);
418 418
       #endif
419 419
 
420 420
     #else
421 421
 
422 422
       // Independent extruders with one E-stepper per hotend
423
-      MENU_ITEM(submenu, MSG_MOVE_E, lcd_move_get_e_amount);
423
+      SUBMENU(MSG_MOVE_E, lcd_move_get_e_amount);
424 424
       #if E_MANUAL > 1
425
-        MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E1, lcd_move_get_e0_amount);
426
-        MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E2, lcd_move_get_e1_amount);
425
+        SUBMENU(MSG_MOVE_E MSG_MOVE_E1, lcd_move_get_e0_amount);
426
+        SUBMENU(MSG_MOVE_E MSG_MOVE_E2, lcd_move_get_e1_amount);
427 427
         #if E_MANUAL > 2
428
-          MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E3, lcd_move_get_e2_amount);
428
+          SUBMENU(MSG_MOVE_E MSG_MOVE_E3, lcd_move_get_e2_amount);
429 429
           #if E_MANUAL > 3
430
-            MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E4, lcd_move_get_e3_amount);
430
+            SUBMENU(MSG_MOVE_E MSG_MOVE_E4, lcd_move_get_e3_amount);
431 431
             #if E_MANUAL > 4
432
-              MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E5, lcd_move_get_e4_amount);
432
+              SUBMENU(MSG_MOVE_E MSG_MOVE_E5, lcd_move_get_e4_amount);
433 433
               #if E_MANUAL > 5
434
-                MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E6, lcd_move_get_e5_amount);
434
+                SUBMENU(MSG_MOVE_E MSG_MOVE_E6, lcd_move_get_e5_amount);
435 435
               #endif // E_MANUAL > 5
436 436
             #endif // E_MANUAL > 4
437 437
           #endif // E_MANUAL > 3
@@ -457,7 +457,7 @@ void menu_motion() {
457 457
   //
458 458
   // ^ Main
459 459
   //
460
-  MENU_BACK(MSG_MAIN);
460
+  BACK_ITEM(MSG_MAIN);
461 461
 
462 462
   //
463 463
   // Move Axis
@@ -465,23 +465,23 @@ void menu_motion() {
465 465
   #if ENABLED(DELTA)
466 466
     if (all_axes_homed())
467 467
   #endif
468
-      MENU_ITEM(submenu, MSG_MOVE_AXIS, menu_move);
468
+      SUBMENU(MSG_MOVE_AXIS, menu_move);
469 469
 
470 470
   //
471 471
   // Auto Home
472 472
   //
473
-  MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28"));
473
+  GCODES_ITEM(MSG_AUTO_HOME, PSTR("G28"));
474 474
   #if ENABLED(INDIVIDUAL_AXIS_HOMING_MENU)
475
-    MENU_ITEM(gcode, MSG_AUTO_HOME_X, PSTR("G28 X"));
476
-    MENU_ITEM(gcode, MSG_AUTO_HOME_Y, PSTR("G28 Y"));
477
-    MENU_ITEM(gcode, MSG_AUTO_HOME_Z, PSTR("G28 Z"));
475
+    GCODES_ITEM(MSG_AUTO_HOME_X, PSTR("G28 X"));
476
+    GCODES_ITEM(MSG_AUTO_HOME_Y, PSTR("G28 Y"));
477
+    GCODES_ITEM(MSG_AUTO_HOME_Z, PSTR("G28 Z"));
478 478
   #endif
479 479
 
480 480
   //
481 481
   // Auto Z-Align
482 482
   //
483 483
   #if ENABLED(Z_STEPPER_AUTO_ALIGN)
484
-    MENU_ITEM(gcode, MSG_AUTO_Z_ALIGN, PSTR("G34"));
484
+    GCODES_ITEM(MSG_AUTO_Z_ALIGN, PSTR("G34"));
485 485
   #endif
486 486
 
487 487
   //
@@ -489,39 +489,39 @@ void menu_motion() {
489 489
   //
490 490
   #if ENABLED(AUTO_BED_LEVELING_UBL)
491 491
 
492
-    MENU_ITEM(submenu, MSG_UBL_LEVEL_BED, _lcd_ubl_level_bed);
492
+    SUBMENU(MSG_UBL_LEVEL_BED, _lcd_ubl_level_bed);
493 493
 
494 494
   #elif ENABLED(LCD_BED_LEVELING)
495 495
 
496
-    if (!g29_in_progress) MENU_ITEM(submenu, MSG_BED_LEVELING, menu_bed_leveling);
496
+    if (!g29_in_progress) SUBMENU(MSG_BED_LEVELING, menu_bed_leveling);
497 497
 
498 498
   #elif HAS_LEVELING && DISABLED(SLIM_LCD_MENUS)
499 499
 
500 500
     #if DISABLED(PROBE_MANUALLY)
501
-      MENU_ITEM(gcode, MSG_LEVEL_BED, PSTR("G28\nG29"));
501
+      GCODES_ITEM(MSG_LEVEL_BED, PSTR("G28\nG29"));
502 502
     #endif
503 503
     if (all_axes_homed() && leveling_is_valid()) {
504 504
       bool new_level_state = planner.leveling_active;
505
-      MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling);
505
+      EDIT_ITEM(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling);
506 506
     }
507 507
     #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
508
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float3, MSG_Z_FADE_HEIGHT, &lcd_z_fade_height, 0, 100, _lcd_set_z_fade_height);
508
+      EDIT_ITEM_FAST(float3, MSG_Z_FADE_HEIGHT, &lcd_z_fade_height, 0, 100, _lcd_set_z_fade_height);
509 509
     #endif
510 510
 
511 511
   #endif
512 512
 
513 513
   #if ENABLED(LEVEL_BED_CORNERS) && DISABLED(LCD_BED_LEVELING)
514
-    MENU_ITEM(function, MSG_LEVEL_CORNERS, _lcd_level_bed_corners);
514
+    ACTION_ITEM(MSG_LEVEL_CORNERS, _lcd_level_bed_corners);
515 515
   #endif
516 516
 
517 517
   #if ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST)
518
-    MENU_ITEM(gcode, MSG_M48_TEST, PSTR("G28\nM48 P10"));
518
+    GCODES_ITEM(MSG_M48_TEST, PSTR("G28\nM48 P10"));
519 519
   #endif
520 520
 
521 521
   //
522 522
   // Disable Steppers
523 523
   //
524
-  MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84"));
524
+  GCODES_ITEM(MSG_DISABLE_STEPPERS, PSTR("M84"));
525 525
 
526 526
   END_MENU();
527 527
 }

+ 5
- 5
Marlin/src/lcd/menu/menu_spindle_laser.cpp View File

@@ -35,17 +35,17 @@
35 35
   void menu_spindle_laser() {
36 36
 
37 37
     START_MENU();
38
-    MENU_BACK(MSG_MAIN);
38
+    BACK_ITEM(MSG_MAIN);
39 39
     if (cutter.enabled()) {
40 40
       #if ENABLED(SPINDLE_LASER_PWM)
41
-        MENU_ITEM_EDIT_CALLBACK(CUTTER_MENU_TYPE, MSG_CUTTER(POWER), &cutter.power, SPEED_POWER_MIN, SPEED_POWER_MAX, cutter.update_output);
41
+        EDIT_ITEM(CUTTER_MENU_TYPE, MSG_CUTTER(POWER), &cutter.power, SPEED_POWER_MIN, SPEED_POWER_MAX, cutter.update_output);
42 42
       #endif
43
-      MENU_ITEM(function, MSG_CUTTER(OFF), cutter.disable);
43
+      ACTION_ITEM(MSG_CUTTER(OFF), cutter.disable);
44 44
     }
45 45
     else {
46
-      MENU_ITEM(function, MSG_CUTTER(ON), cutter.enable_forward);
46
+      ACTION_ITEM(MSG_CUTTER(ON), cutter.enable_forward);
47 47
       #if ENABLED(SPINDLE_CHANGE_DIR)
48
-        MENU_ITEM(function, MSG_SPINDLE_REVERSE, cutter.enable_reverse);
48
+        ACTION_ITEM(MSG_SPINDLE_REVERSE, cutter.enable_reverse);
49 49
       #endif
50 50
     }
51 51
     END_MENU();

+ 65
- 65
Marlin/src/lcd/menu/menu_temperature.cpp View File

@@ -183,120 +183,120 @@ void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb
183 183
 
184 184
   void menu_preheat_m1() {
185 185
     START_MENU();
186
-    MENU_BACK(MSG_TEMPERATURE);
186
+    BACK_ITEM(MSG_TEMPERATURE);
187 187
     #if HOTENDS == 1
188 188
       #if HAS_HEATED_BED
189
-        MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0);
190
-        MENU_ITEM(function, MSG_PREHEAT_1_END, lcd_preheat_m1_e0_only);
189
+        ACTION_ITEM(MSG_PREHEAT_1, lcd_preheat_m1_e0);
190
+        ACTION_ITEM(MSG_PREHEAT_1_END, lcd_preheat_m1_e0_only);
191 191
       #else
192
-        MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0_only);
192
+        ACTION_ITEM(MSG_PREHEAT_1, lcd_preheat_m1_e0_only);
193 193
       #endif
194 194
     #elif HOTENDS > 1
195 195
       #if HAS_HEATED_BED
196
-        MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H1, lcd_preheat_m1_e0);
197
-        MENU_ITEM(function, MSG_PREHEAT_1_END " " MSG_E1, lcd_preheat_m1_e0_only);
198
-        MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H2, lcd_preheat_m1_e1);
199
-        MENU_ITEM(function, MSG_PREHEAT_1_END " " MSG_E2, lcd_preheat_m1_e1_only);
196
+        ACTION_ITEM(MSG_PREHEAT_1_N MSG_H1, lcd_preheat_m1_e0);
197
+        ACTION_ITEM(MSG_PREHEAT_1_END " " MSG_E1, lcd_preheat_m1_e0_only);
198
+        ACTION_ITEM(MSG_PREHEAT_1_N MSG_H2, lcd_preheat_m1_e1);
199
+        ACTION_ITEM(MSG_PREHEAT_1_END " " MSG_E2, lcd_preheat_m1_e1_only);
200 200
       #else
201
-        MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H1, lcd_preheat_m1_e0_only);
202
-        MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H2, lcd_preheat_m1_e1_only);
201
+        ACTION_ITEM(MSG_PREHEAT_1_N MSG_H1, lcd_preheat_m1_e0_only);
202
+        ACTION_ITEM(MSG_PREHEAT_1_N MSG_H2, lcd_preheat_m1_e1_only);
203 203
       #endif
204 204
       #if HOTENDS > 2
205 205
         #if HAS_HEATED_BED
206
-          MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H3, lcd_preheat_m1_e2);
207
-          MENU_ITEM(function, MSG_PREHEAT_1_END " " MSG_E3, lcd_preheat_m1_e2_only);
206
+          ACTION_ITEM(MSG_PREHEAT_1_N MSG_H3, lcd_preheat_m1_e2);
207
+          ACTION_ITEM(MSG_PREHEAT_1_END " " MSG_E3, lcd_preheat_m1_e2_only);
208 208
         #else
209
-          MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H3, lcd_preheat_m1_e2_only);
209
+          ACTION_ITEM(MSG_PREHEAT_1_N MSG_H3, lcd_preheat_m1_e2_only);
210 210
         #endif
211 211
         #if HOTENDS > 3
212 212
           #if HAS_HEATED_BED
213
-            MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H4, lcd_preheat_m1_e3);
214
-            MENU_ITEM(function, MSG_PREHEAT_1_END " " MSG_E4, lcd_preheat_m1_e3_only);
213
+            ACTION_ITEM(MSG_PREHEAT_1_N MSG_H4, lcd_preheat_m1_e3);
214
+            ACTION_ITEM(MSG_PREHEAT_1_END " " MSG_E4, lcd_preheat_m1_e3_only);
215 215
           #else
216
-            MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H4, lcd_preheat_m1_e3_only);
216
+            ACTION_ITEM(MSG_PREHEAT_1_N MSG_H4, lcd_preheat_m1_e3_only);
217 217
           #endif
218 218
           #if HOTENDS > 4
219 219
             #if HAS_HEATED_BED
220
-              MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H5, lcd_preheat_m1_e4);
221
-              MENU_ITEM(function, MSG_PREHEAT_1_END " " MSG_E5, lcd_preheat_m1_e4_only);
220
+              ACTION_ITEM(MSG_PREHEAT_1_N MSG_H5, lcd_preheat_m1_e4);
221
+              ACTION_ITEM(MSG_PREHEAT_1_END " " MSG_E5, lcd_preheat_m1_e4_only);
222 222
             #else
223
-              MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H5, lcd_preheat_m1_e4_only);
223
+              ACTION_ITEM(MSG_PREHEAT_1_N MSG_H5, lcd_preheat_m1_e4_only);
224 224
             #endif
225 225
             #if HOTENDS > 5
226 226
               #if HAS_HEATED_BED
227
-                MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H6, lcd_preheat_m1_e5);
228
-                MENU_ITEM(function, MSG_PREHEAT_1_END " " MSG_E6, lcd_preheat_m1_e5_only);
227
+                ACTION_ITEM(MSG_PREHEAT_1_N MSG_H6, lcd_preheat_m1_e5);
228
+                ACTION_ITEM(MSG_PREHEAT_1_END " " MSG_E6, lcd_preheat_m1_e5_only);
229 229
               #else
230
-                MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H6, lcd_preheat_m1_e5_only);
230
+                ACTION_ITEM(MSG_PREHEAT_1_N MSG_H6, lcd_preheat_m1_e5_only);
231 231
               #endif
232 232
             #endif // HOTENDS > 5
233 233
           #endif // HOTENDS > 4
234 234
         #endif // HOTENDS > 3
235 235
       #endif // HOTENDS > 2
236
-      MENU_ITEM(function, MSG_PREHEAT_1_ALL, lcd_preheat_m1_all);
236
+      ACTION_ITEM(MSG_PREHEAT_1_ALL, lcd_preheat_m1_all);
237 237
     #endif // HOTENDS > 1
238 238
     #if HAS_HEATED_BED
239
-      MENU_ITEM(function, MSG_PREHEAT_1_BEDONLY, lcd_preheat_m1_bedonly);
239
+      ACTION_ITEM(MSG_PREHEAT_1_BEDONLY, lcd_preheat_m1_bedonly);
240 240
     #endif
241 241
     END_MENU();
242 242
   }
243 243
 
244 244
   void menu_preheat_m2() {
245 245
     START_MENU();
246
-    MENU_BACK(MSG_TEMPERATURE);
246
+    BACK_ITEM(MSG_TEMPERATURE);
247 247
     #if HOTENDS == 1
248 248
       #if HAS_HEATED_BED
249
-        MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0);
250
-        MENU_ITEM(function, MSG_PREHEAT_2_END, lcd_preheat_m2_e0_only);
249
+        ACTION_ITEM(MSG_PREHEAT_2, lcd_preheat_m2_e0);
250
+        ACTION_ITEM(MSG_PREHEAT_2_END, lcd_preheat_m2_e0_only);
251 251
       #else
252
-        MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0_only);
252
+        ACTION_ITEM(MSG_PREHEAT_2, lcd_preheat_m2_e0_only);
253 253
       #endif
254 254
     #elif HOTENDS > 1
255 255
       #if HAS_HEATED_BED
256
-        MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H1, lcd_preheat_m2_e0);
257
-        MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E1, lcd_preheat_m2_e0_only);
258
-        MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H2, lcd_preheat_m2_e1);
259
-        MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E2, lcd_preheat_m2_e1_only);
256
+        ACTION_ITEM(MSG_PREHEAT_2_N MSG_H1, lcd_preheat_m2_e0);
257
+        ACTION_ITEM(MSG_PREHEAT_2_END " " MSG_E1, lcd_preheat_m2_e0_only);
258
+        ACTION_ITEM(MSG_PREHEAT_2_N MSG_H2, lcd_preheat_m2_e1);
259
+        ACTION_ITEM(MSG_PREHEAT_2_END " " MSG_E2, lcd_preheat_m2_e1_only);
260 260
       #else
261
-        MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H1, lcd_preheat_m2_e0_only);
262
-        MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H2, lcd_preheat_m2_e1_only);
261
+        ACTION_ITEM(MSG_PREHEAT_2_N MSG_H1, lcd_preheat_m2_e0_only);
262
+        ACTION_ITEM(MSG_PREHEAT_2_N MSG_H2, lcd_preheat_m2_e1_only);
263 263
       #endif
264 264
       #if HOTENDS > 2
265 265
         #if HAS_HEATED_BED
266
-          MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H3, lcd_preheat_m2_e2);
267
-          MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E3, lcd_preheat_m2_e2_only);
266
+          ACTION_ITEM(MSG_PREHEAT_2_N MSG_H3, lcd_preheat_m2_e2);
267
+          ACTION_ITEM(MSG_PREHEAT_2_END " " MSG_E3, lcd_preheat_m2_e2_only);
268 268
         #else
269
-          MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H3, lcd_preheat_m2_e2_only);
269
+          ACTION_ITEM(MSG_PREHEAT_2_N MSG_H3, lcd_preheat_m2_e2_only);
270 270
         #endif
271 271
         #if HOTENDS > 3
272 272
           #if HAS_HEATED_BED
273
-            MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H4, lcd_preheat_m2_e3);
274
-            MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E4, lcd_preheat_m2_e3_only);
273
+            ACTION_ITEM(MSG_PREHEAT_2_N MSG_H4, lcd_preheat_m2_e3);
274
+            ACTION_ITEM(MSG_PREHEAT_2_END " " MSG_E4, lcd_preheat_m2_e3_only);
275 275
           #else
276
-            MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H4, lcd_preheat_m2_e3_only);
276
+            ACTION_ITEM(MSG_PREHEAT_2_N MSG_H4, lcd_preheat_m2_e3_only);
277 277
           #endif
278 278
           #if HOTENDS > 4
279 279
             #if HAS_HEATED_BED
280
-              MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H5, lcd_preheat_m2_e4);
281
-              MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E5, lcd_preheat_m2_e4_only);
280
+              ACTION_ITEM(MSG_PREHEAT_2_N MSG_H5, lcd_preheat_m2_e4);
281
+              ACTION_ITEM(MSG_PREHEAT_2_END " " MSG_E5, lcd_preheat_m2_e4_only);
282 282
             #else
283
-              MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H5, lcd_preheat_m2_e4_only);
283
+              ACTION_ITEM(MSG_PREHEAT_2_N MSG_H5, lcd_preheat_m2_e4_only);
284 284
             #endif
285 285
             #if HOTENDS > 5
286 286
               #if HAS_HEATED_BED
287
-                MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H6, lcd_preheat_m2_e5);
288
-                MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E6, lcd_preheat_m2_e5_only);
287
+                ACTION_ITEM(MSG_PREHEAT_2_N MSG_H6, lcd_preheat_m2_e5);
288
+                ACTION_ITEM(MSG_PREHEAT_2_END " " MSG_E6, lcd_preheat_m2_e5_only);
289 289
               #else
290
-                MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H6, lcd_preheat_m2_e5_only);
290
+                ACTION_ITEM(MSG_PREHEAT_2_N MSG_H6, lcd_preheat_m2_e5_only);
291 291
               #endif
292 292
             #endif // HOTENDS > 5
293 293
           #endif // HOTENDS > 4
294 294
         #endif // HOTENDS > 3
295 295
       #endif // HOTENDS > 2
296
-      MENU_ITEM(function, MSG_PREHEAT_2_ALL, lcd_preheat_m2_all);
296
+      ACTION_ITEM(MSG_PREHEAT_2_ALL, lcd_preheat_m2_all);
297 297
     #endif // HOTENDS > 1
298 298
     #if HAS_HEATED_BED
299
-      MENU_ITEM(function, MSG_PREHEAT_2_BEDONLY, lcd_preheat_m2_bedonly);
299
+      ACTION_ITEM(MSG_PREHEAT_2_BEDONLY, lcd_preheat_m2_bedonly);
300 300
     #endif
301 301
     END_MENU();
302 302
   }
@@ -311,16 +311,16 @@ void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb
311 311
 
312 312
 void menu_temperature() {
313 313
   START_MENU();
314
-  MENU_BACK(MSG_MAIN);
314
+  BACK_ITEM(MSG_MAIN);
315 315
 
316 316
   //
317 317
   // Nozzle:
318 318
   // Nozzle [1-5]:
319 319
   //
320 320
   #if HOTENDS == 1
321
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE, &thermalManager.temp_hotend[0].target, 0, HEATER_0_MAXTEMP - 15, thermalManager.start_watching_E0);
321
+    EDIT_ITEM_FAST(int3, MSG_NOZZLE, &thermalManager.temp_hotend[0].target, 0, HEATER_0_MAXTEMP - 15, thermalManager.start_watching_E0);
322 322
   #elif HOTENDS > 1
323
-    #define EDIT_TARGET(N) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_LCD_N##N, &thermalManager.temp_hotend[N].target, 0, HEATER_##N##_MAXTEMP - 15, thermalManager.start_watching_E##N)
323
+    #define EDIT_TARGET(N) EDIT_ITEM_FAST(int3, MSG_NOZZLE MSG_LCD_N##N, &thermalManager.temp_hotend[N].target, 0, HEATER_##N##_MAXTEMP - 15, thermalManager.start_watching_E##N)
324 324
     EDIT_TARGET(0);
325 325
     EDIT_TARGET(1);
326 326
     #if HOTENDS > 2
@@ -338,21 +338,21 @@ void menu_temperature() {
338 338
   #endif // HOTENDS > 1
339 339
 
340 340
   #if ENABLED(SINGLENOZZLE)
341
-    MENU_MULTIPLIER_ITEM_EDIT(uint16_3, MSG_NOZZLE_STANDBY, &singlenozzle_temp[active_extruder ? 0 : 1], 0, HEATER_0_MAXTEMP - 15);
341
+    EDIT_ITEM_FAST(uint16_3, MSG_NOZZLE_STANDBY, &singlenozzle_temp[active_extruder ? 0 : 1], 0, HEATER_0_MAXTEMP - 15);
342 342
   #endif
343 343
 
344 344
   //
345 345
   // Bed:
346 346
   //
347 347
   #if HAS_HEATED_BED
348
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_BED, &thermalManager.temp_bed.target, 0, BED_MAXTEMP - 10, thermalManager.start_watching_bed);
348
+    EDIT_ITEM_FAST(int3, MSG_BED, &thermalManager.temp_bed.target, 0, BED_MAXTEMP - 10, thermalManager.start_watching_bed);
349 349
   #endif
350 350
 
351 351
   //
352 352
   // Chamber:
353 353
   //
354 354
   #if HAS_HEATED_CHAMBER
355
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_CHAMBER, &thermalManager.temp_chamber.target, 0, CHAMBER_MAXTEMP - 5, thermalManager.start_watching_chamber);
355
+    EDIT_ITEM_FAST(int3, MSG_CHAMBER, &thermalManager.temp_chamber.target, 0, CHAMBER_MAXTEMP - 5, thermalManager.start_watching_chamber);
356 356
   #endif
357 357
 
358 358
   //
@@ -360,21 +360,21 @@ void menu_temperature() {
360 360
   //
361 361
   #if FAN_COUNT > 0
362 362
     #if HAS_FAN0
363
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(percent, MSG_FAN_SPEED FAN_SPEED_1_SUFFIX, &thermalManager.lcd_tmpfan_speed[0], 0, 255, thermalManager.lcd_setFanSpeed0);
363
+      EDIT_ITEM_FAST(percent, MSG_FAN_SPEED FAN_SPEED_1_SUFFIX, &thermalManager.lcd_tmpfan_speed[0], 0, 255, thermalManager.lcd_setFanSpeed0);
364 364
       #if ENABLED(EXTRA_FAN_SPEED)
365
-        MENU_MULTIPLIER_ITEM_EDIT(percent, MSG_EXTRA_FAN_SPEED FAN_SPEED_1_SUFFIX, &thermalManager.new_fan_speed[0], 3, 255);
365
+        EDIT_ITEM_FAST(percent, MSG_EXTRA_FAN_SPEED FAN_SPEED_1_SUFFIX, &thermalManager.new_fan_speed[0], 3, 255);
366 366
       #endif
367 367
     #endif
368 368
     #if HAS_FAN1 || (ENABLED(SINGLENOZZLE) && EXTRUDERS > 1)
369
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(percent, MSG_FAN_SPEED " 2", &thermalManager.lcd_tmpfan_speed[1], 0, 255, thermalManager.lcd_setFanSpeed1);
369
+      EDIT_ITEM_FAST(percent, MSG_FAN_SPEED " 2", &thermalManager.lcd_tmpfan_speed[1], 0, 255, thermalManager.lcd_setFanSpeed1);
370 370
       #if ENABLED(EXTRA_FAN_SPEED)
371
-        MENU_MULTIPLIER_ITEM_EDIT(percent, MSG_EXTRA_FAN_SPEED " 2", &thermalManager.new_fan_speed[1], 3, 255);
371
+        EDIT_ITEM_FAST(percent, MSG_EXTRA_FAN_SPEED " 2", &thermalManager.new_fan_speed[1], 3, 255);
372 372
       #endif
373 373
     #endif
374 374
     #if HAS_FAN2 || (ENABLED(SINGLENOZZLE) && EXTRUDERS > 2)
375
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(percent, MSG_FAN_SPEED " 3", &thermalManager.lcd_tmpfan_speed[2], 0, 255, thermalManager.lcd_setFanSpeed2);
375
+      EDIT_ITEM_FAST(percent, MSG_FAN_SPEED " 3", &thermalManager.lcd_tmpfan_speed[2], 0, 255, thermalManager.lcd_setFanSpeed2);
376 376
       #if ENABLED(EXTRA_FAN_SPEED)
377
-        MENU_MULTIPLIER_ITEM_EDIT(percent, MSG_EXTRA_FAN_SPEED " 3", &thermalManager.new_fan_speed[2], 3, 255);
377
+        EDIT_ITEM_FAST(percent, MSG_EXTRA_FAN_SPEED " 3", &thermalManager.new_fan_speed[2], 3, 255);
378 378
       #endif
379 379
     #endif
380 380
   #endif // FAN_COUNT > 0
@@ -385,11 +385,11 @@ void menu_temperature() {
385 385
     // Preheat for Material 1 and 2
386 386
     //
387 387
     #if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 || TEMP_SENSOR_4 != 0 || TEMP_SENSOR_5 != 0 || HAS_HEATED_BED
388
-      MENU_ITEM(submenu, MSG_PREHEAT_1, menu_preheat_m1);
389
-      MENU_ITEM(submenu, MSG_PREHEAT_2, menu_preheat_m2);
388
+      SUBMENU(MSG_PREHEAT_1, menu_preheat_m1);
389
+      SUBMENU(MSG_PREHEAT_2, menu_preheat_m2);
390 390
     #else
391
-      MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0_only);
392
-      MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0_only);
391
+      ACTION_ITEM(MSG_PREHEAT_1, lcd_preheat_m1_e0_only);
392
+      ACTION_ITEM(MSG_PREHEAT_2, lcd_preheat_m2_e0_only);
393 393
     #endif
394 394
 
395 395
     //
@@ -400,7 +400,7 @@ void menu_temperature() {
400 400
     #if HAS_TEMP_BED
401 401
       if (thermalManager.temp_bed.target) has_heat = true;
402 402
     #endif
403
-    if (has_heat) MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown);
403
+    if (has_heat) ACTION_ITEM(MSG_COOLDOWN, lcd_cooldown);
404 404
 
405 405
   #endif // HAS_TEMP_HOTEND
406 406
 

+ 13
- 13
Marlin/src/lcd/menu/menu_tmc.cpp View File

@@ -32,7 +32,7 @@
32 32
 #include "../../module/stepper/indirection.h"
33 33
 #include "../../feature/tmc_util.h"
34 34
 
35
-#define TMC_EDIT_STORED_I_RMS(ST,MSG) MENU_ITEM_EDIT_CALLBACK(uint16_4, MSG, &stepper##ST.val_mA, 100, 3000, refresh_stepper_current_##ST)
35
+#define TMC_EDIT_STORED_I_RMS(ST,MSG) EDIT_ITEM(uint16_4, MSG, &stepper##ST.val_mA, 100, 3000, refresh_stepper_current_##ST)
36 36
 
37 37
 #if AXIS_IS_TMC(X)
38 38
   void refresh_stepper_current_X()  { stepperX.refresh_stepper_current();  }
@@ -76,7 +76,7 @@
76 76
 
77 77
 void menu_tmc_current() {
78 78
   START_MENU();
79
-  MENU_BACK(MSG_TMC_DRIVERS);
79
+  BACK_ITEM(MSG_TMC_DRIVERS);
80 80
   #if AXIS_IS_TMC(X)
81 81
     TMC_EDIT_STORED_I_RMS(X, MSG_X);
82 82
   #endif
@@ -121,7 +121,7 @@ void menu_tmc_current() {
121 121
 
122 122
 #if ENABLED(HYBRID_THRESHOLD)
123 123
 
124
-  #define TMC_EDIT_STORED_HYBRID_THRS(ST, MSG) MENU_ITEM_EDIT_CALLBACK(uint8, MSG, &stepper##ST.stored.hybrid_thrs, 0, 255, refresh_hybrid_thrs_##ST);
124
+  #define TMC_EDIT_STORED_HYBRID_THRS(ST, MSG) EDIT_ITEM(uint8, MSG, &stepper##ST.stored.hybrid_thrs, 0, 255, refresh_hybrid_thrs_##ST);
125 125
 
126 126
   #if AXIS_HAS_STEALTHCHOP(X)
127 127
     void refresh_hybrid_thrs_X()  {  stepperX.refresh_hybrid_thrs(); }
@@ -165,7 +165,7 @@ void menu_tmc_current() {
165 165
 
166 166
   void menu_tmc_hybrid_thrs() {
167 167
     START_MENU();
168
-    MENU_BACK(MSG_TMC_DRIVERS);
168
+    BACK_ITEM(MSG_TMC_DRIVERS);
169 169
     #if AXIS_HAS_STEALTHCHOP(X)
170 170
       TMC_EDIT_STORED_HYBRID_THRS(X, MSG_X);
171 171
     #endif
@@ -212,7 +212,7 @@ void menu_tmc_current() {
212 212
 
213 213
 #if ENABLED(SENSORLESS_HOMING)
214 214
 
215
-  #define TMC_EDIT_STORED_SGT(ST) MENU_ITEM_EDIT_CALLBACK(int4, MSG_##ST, &stepper##ST.stored.homing_thrs, stepper##ST.sgt_min, stepper##ST.sgt_max, refresh_homing_thrs_##ST);
215
+  #define TMC_EDIT_STORED_SGT(ST) EDIT_ITEM(int4, MSG_##ST, &stepper##ST.stored.homing_thrs, stepper##ST.sgt_min, stepper##ST.sgt_max, refresh_homing_thrs_##ST);
216 216
 
217 217
   #if X_SENSORLESS
218 218
     void refresh_homing_thrs_X()  { stepperX.refresh_homing_thrs();  }
@@ -229,7 +229,7 @@ void menu_tmc_current() {
229 229
 
230 230
   void menu_tmc_homing_thrs() {
231 231
     START_MENU();
232
-    MENU_BACK(MSG_TMC_DRIVERS);
232
+    BACK_ITEM(MSG_TMC_DRIVERS);
233 233
     #if X_SENSORLESS
234 234
       TMC_EDIT_STORED_SGT(X);
235 235
     #endif
@@ -249,7 +249,7 @@ void menu_tmc_current() {
249 249
 
250 250
 #if HAS_STEALTHCHOP
251 251
 
252
-  #define TMC_EDIT_STEP_MODE(ST, MSG) MENU_ITEM_EDIT_CALLBACK(bool, MSG, &stepper##ST.stored.stealthChop_enabled, refresh_stepping_mode_##ST)
252
+  #define TMC_EDIT_STEP_MODE(ST, MSG) EDIT_ITEM(bool, MSG, &stepper##ST.stored.stealthChop_enabled, refresh_stepping_mode_##ST)
253 253
 
254 254
   #if AXIS_HAS_STEALTHCHOP(X)
255 255
     void refresh_stepping_mode_X()  { stepperX.refresh_stepping_mode();  }
@@ -294,7 +294,7 @@ void menu_tmc_current() {
294 294
   void menu_tmc_step_mode() {
295 295
     START_MENU();
296 296
     STATIC_ITEM(MSG_TMC_STEALTH_ENABLED);
297
-    MENU_BACK(MSG_TMC_DRIVERS);
297
+    BACK_ITEM(MSG_TMC_DRIVERS);
298 298
     #if AXIS_HAS_STEALTHCHOP(X)
299 299
       TMC_EDIT_STEP_MODE(X, MSG_X);
300 300
     #endif
@@ -341,16 +341,16 @@ void menu_tmc_current() {
341 341
 
342 342
 void menu_tmc() {
343 343
   START_MENU();
344
-  MENU_BACK(MSG_CONTROL);
345
-  MENU_ITEM(submenu, MSG_TMC_CURRENT, menu_tmc_current);
344
+  BACK_ITEM(MSG_CONTROL);
345
+  SUBMENU(MSG_TMC_CURRENT, menu_tmc_current);
346 346
   #if ENABLED(HYBRID_THRESHOLD)
347
-    MENU_ITEM(submenu, MSG_TMC_HYBRID_THRS, menu_tmc_hybrid_thrs);
347
+    SUBMENU(MSG_TMC_HYBRID_THRS, menu_tmc_hybrid_thrs);
348 348
   #endif
349 349
   #if ENABLED(SENSORLESS_HOMING)
350
-    MENU_ITEM(submenu, MSG_TMC_HOMING_THRS, menu_tmc_homing_thrs);
350
+    SUBMENU(MSG_TMC_HOMING_THRS, menu_tmc_homing_thrs);
351 351
   #endif
352 352
   #if HAS_STEALTHCHOP
353
-    MENU_ITEM(submenu, MSG_TMC_STEPPING_MODE, menu_tmc_step_mode);
353
+    SUBMENU(MSG_TMC_STEPPING_MODE, menu_tmc_step_mode);
354 354
   #endif
355 355
   END_MENU();
356 356
 }

+ 20
- 20
Marlin/src/lcd/menu/menu_tune.cpp View File

@@ -124,18 +124,18 @@
124 124
 
125 125
 void menu_tune() {
126 126
   START_MENU();
127
-  MENU_BACK(MSG_MAIN);
127
+  BACK_ITEM(MSG_MAIN);
128 128
 
129 129
   //
130 130
   // Speed:
131 131
   //
132
-  MENU_ITEM_EDIT(int3, MSG_SPEED, &feedrate_percentage, 10, 999);
132
+  EDIT_ITEM(int3, MSG_SPEED, &feedrate_percentage, 10, 999);
133 133
 
134 134
   //
135 135
   // Manual bed leveling, Bed Z:
136 136
   //
137 137
   #if BOTH(MESH_BED_LEVELING, LCD_BED_LEVELING)
138
-    MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1);
138
+    EDIT_ITEM(float43, MSG_BED_Z, &mbl.z_offset, -1, 1);
139 139
   #endif
140 140
 
141 141
   //
@@ -143,9 +143,9 @@ void menu_tune() {
143 143
   // Nozzle [1-4]:
144 144
   //
145 145
   #if HOTENDS == 1
146
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE, &thermalManager.temp_hotend[0].target, 0, HEATER_0_MAXTEMP - 15, thermalManager.start_watching_E0);
146
+    EDIT_ITEM_FAST(int3, MSG_NOZZLE, &thermalManager.temp_hotend[0].target, 0, HEATER_0_MAXTEMP - 15, thermalManager.start_watching_E0);
147 147
   #elif HOTENDS > 1
148
-    #define EDIT_NOZZLE(N) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_LCD_N##N, &thermalManager.temp_hotend[N].target, 0, HEATER_##N##_MAXTEMP - 15, thermalManager.start_watching_E##N)
148
+    #define EDIT_NOZZLE(N) EDIT_ITEM_FAST(int3, MSG_NOZZLE MSG_LCD_N##N, &thermalManager.temp_hotend[N].target, 0, HEATER_##N##_MAXTEMP - 15, thermalManager.start_watching_E##N)
149 149
     EDIT_NOZZLE(0);
150 150
     EDIT_NOZZLE(1);
151 151
     #if HOTENDS > 2
@@ -163,14 +163,14 @@ void menu_tune() {
163 163
   #endif // HOTENDS > 1
164 164
 
165 165
   #if ENABLED(SINGLENOZZLE)
166
-    MENU_MULTIPLIER_ITEM_EDIT(uint16_3, MSG_NOZZLE_STANDBY, &singlenozzle_temp[active_extruder ? 0 : 1], 0, HEATER_0_MAXTEMP - 15);
166
+    EDIT_ITEM_FAST(uint16_3, MSG_NOZZLE_STANDBY, &singlenozzle_temp[active_extruder ? 0 : 1], 0, HEATER_0_MAXTEMP - 15);
167 167
   #endif
168 168
 
169 169
   //
170 170
   // Bed:
171 171
   //
172 172
   #if HAS_HEATED_BED
173
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_BED, &thermalManager.temp_bed.target, 0, BED_MAXTEMP - 10, thermalManager.start_watching_bed);
173
+    EDIT_ITEM_FAST(int3, MSG_BED, &thermalManager.temp_bed.target, 0, BED_MAXTEMP - 10, thermalManager.start_watching_bed);
174 174
   #endif
175 175
 
176 176
   //
@@ -178,21 +178,21 @@ void menu_tune() {
178 178
   //
179 179
   #if FAN_COUNT > 0
180 180
     #if HAS_FAN0
181
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(uint8, MSG_FAN_SPEED FAN_SPEED_1_SUFFIX, &thermalManager.lcd_tmpfan_speed[0], 0, 255, thermalManager.lcd_setFanSpeed0);
181
+      EDIT_ITEM_FAST(uint8, MSG_FAN_SPEED FAN_SPEED_1_SUFFIX, &thermalManager.lcd_tmpfan_speed[0], 0, 255, thermalManager.lcd_setFanSpeed0);
182 182
       #if ENABLED(EXTRA_FAN_SPEED)
183
-        MENU_MULTIPLIER_ITEM_EDIT(uint8, MSG_EXTRA_FAN_SPEED FAN_SPEED_1_SUFFIX, &thermalManager.new_fan_speed[0], 3, 255);
183
+        EDIT_ITEM_FAST(uint8, MSG_EXTRA_FAN_SPEED FAN_SPEED_1_SUFFIX, &thermalManager.new_fan_speed[0], 3, 255);
184 184
       #endif
185 185
     #endif
186 186
     #if HAS_FAN1 || (ENABLED(SINGLENOZZLE) && EXTRUDERS > 1)
187
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(uint8, MSG_FAN_SPEED " 2", &thermalManager.lcd_tmpfan_speed[1], 0, 255, thermalManager.lcd_setFanSpeed1);
187
+      EDIT_ITEM_FAST(uint8, MSG_FAN_SPEED " 2", &thermalManager.lcd_tmpfan_speed[1], 0, 255, thermalManager.lcd_setFanSpeed1);
188 188
       #if ENABLED(EXTRA_FAN_SPEED)
189
-        MENU_MULTIPLIER_ITEM_EDIT(uint8, MSG_EXTRA_FAN_SPEED " 2", &thermalManager.new_fan_speed[1], 3, 255);
189
+        EDIT_ITEM_FAST(uint8, MSG_EXTRA_FAN_SPEED " 2", &thermalManager.new_fan_speed[1], 3, 255);
190 190
       #endif
191 191
     #endif
192 192
     #if HAS_FAN2 || (ENABLED(SINGLENOZZLE) && EXTRUDERS > 2)
193
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(uint8, MSG_FAN_SPEED " 3", &thermalManager.lcd_tmpfan_speed[2], 0, 255, thermalManager.lcd_setFanSpeed2);
193
+      EDIT_ITEM_FAST(uint8, MSG_FAN_SPEED " 3", &thermalManager.lcd_tmpfan_speed[2], 0, 255, thermalManager.lcd_setFanSpeed2);
194 194
       #if ENABLED(EXTRA_FAN_SPEED)
195
-        MENU_MULTIPLIER_ITEM_EDIT(uint8, MSG_EXTRA_FAN_SPEED " 3", &thermalManager.new_fan_speed[2], 3, 255);
195
+        EDIT_ITEM_FAST(uint8, MSG_EXTRA_FAN_SPEED " 3", &thermalManager.new_fan_speed[2], 3, 255);
196 196
       #endif
197 197
     #endif
198 198
   #endif // FAN_COUNT > 0
@@ -202,10 +202,10 @@ void menu_tune() {
202 202
   // Flow [1-5]:
203 203
   //
204 204
   #if EXTRUDERS == 1
205
-    MENU_ITEM_EDIT_CALLBACK(int3, MSG_FLOW, &planner.flow_percentage[0], 10, 999, _lcd_refresh_e_factor_0);
205
+    EDIT_ITEM(int3, MSG_FLOW, &planner.flow_percentage[0], 10, 999, _lcd_refresh_e_factor_0);
206 206
   #elif EXTRUDERS
207
-    MENU_ITEM_EDIT_CALLBACK(int3, MSG_FLOW, &planner.flow_percentage[active_extruder], 10, 999, _lcd_refresh_e_factor);
208
-    #define EDIT_FLOW(N) MENU_ITEM_EDIT_CALLBACK(int3, MSG_FLOW MSG_LCD_N##N, &planner.flow_percentage[N], 10, 999, _lcd_refresh_e_factor_##N)
207
+    EDIT_ITEM(int3, MSG_FLOW, &planner.flow_percentage[active_extruder], 10, 999, _lcd_refresh_e_factor);
208
+    #define EDIT_FLOW(N) EDIT_ITEM(int3, MSG_FLOW MSG_LCD_N##N, &planner.flow_percentage[N], 10, 999, _lcd_refresh_e_factor_##N)
209 209
     EDIT_FLOW(0);
210 210
     EDIT_FLOW(1);
211 211
     #if EXTRUDERS > 2
@@ -229,13 +229,13 @@ void menu_tune() {
229 229
   //
230 230
   #if ENABLED(BABYSTEPPING)
231 231
     #if ENABLED(BABYSTEP_XY)
232
-      MENU_ITEM(submenu, MSG_BABYSTEP_X, lcd_babystep_x);
233
-      MENU_ITEM(submenu, MSG_BABYSTEP_Y, lcd_babystep_y);
232
+      SUBMENU(MSG_BABYSTEP_X, lcd_babystep_x);
233
+      SUBMENU(MSG_BABYSTEP_Y, lcd_babystep_y);
234 234
     #endif
235 235
     #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
236
-      MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
236
+      SUBMENU(MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
237 237
     #else
238
-      MENU_ITEM(submenu, MSG_BABYSTEP_Z, lcd_babystep_z);
238
+      SUBMENU(MSG_BABYSTEP_Z, lcd_babystep_z);
239 239
     #endif
240 240
   #endif
241 241
 

+ 76
- 76
Marlin/src/lcd/menu/menu_ubl.cpp View File

@@ -127,12 +127,12 @@ void _lcd_ubl_build_custom_mesh() {
127 127
  */
128 128
 void _lcd_ubl_custom_mesh() {
129 129
   START_MENU();
130
-  MENU_BACK(MSG_UBL_BUILD_MESH_MENU);
131
-  MENU_ITEM_EDIT(int3, MSG_UBL_HOTEND_TEMP_CUSTOM, &custom_hotend_temp, EXTRUDE_MINTEMP, (HEATER_0_MAXTEMP - 10));
130
+  BACK_ITEM(MSG_UBL_BUILD_MESH_MENU);
131
+  EDIT_ITEM(int3, MSG_UBL_HOTEND_TEMP_CUSTOM, &custom_hotend_temp, EXTRUDE_MINTEMP, (HEATER_0_MAXTEMP - 10));
132 132
   #if HAS_HEATED_BED
133
-    MENU_ITEM_EDIT(int3, MSG_UBL_BED_TEMP_CUSTOM, &custom_bed_temp, BED_MINTEMP, (BED_MAXTEMP - 10));
133
+    EDIT_ITEM(int3, MSG_UBL_BED_TEMP_CUSTOM, &custom_bed_temp, BED_MINTEMP, (BED_MAXTEMP - 10));
134 134
   #endif
135
-  MENU_ITEM(function, MSG_UBL_BUILD_CUSTOM_MESH, _lcd_ubl_build_custom_mesh);
135
+  ACTION_ITEM(MSG_UBL_BUILD_CUSTOM_MESH, _lcd_ubl_build_custom_mesh);
136 136
   END_MENU();
137 137
 }
138 138
 
@@ -157,9 +157,9 @@ void _lcd_ubl_adjust_height_cmd() {
157 157
  */
158 158
 void _menu_ubl_height_adjust() {
159 159
   START_MENU();
160
-  MENU_BACK(MSG_EDIT_MESH);
161
-  MENU_ITEM_EDIT_CALLBACK(int3, MSG_UBL_MESH_HEIGHT_AMOUNT, &ubl_height_amount, -9, 9, _lcd_ubl_adjust_height_cmd);
162
-  MENU_ITEM(function, MSG_WATCH, ui.return_to_status);
160
+  BACK_ITEM(MSG_EDIT_MESH);
161
+  EDIT_ITEM(int3, MSG_UBL_MESH_HEIGHT_AMOUNT, &ubl_height_amount, -9, 9, _lcd_ubl_adjust_height_cmd);
162
+  ACTION_ITEM(MSG_WATCH, ui.return_to_status);
163 163
   END_MENU();
164 164
 }
165 165
 
@@ -174,11 +174,11 @@ void _menu_ubl_height_adjust() {
174 174
  */
175 175
 void _lcd_ubl_edit_mesh() {
176 176
   START_MENU();
177
-  MENU_BACK(MSG_UBL_TOOLS);
178
-  MENU_ITEM(gcode, MSG_UBL_FINE_TUNE_ALL, PSTR("G29 P4 R999 T"));
179
-  MENU_ITEM(gcode, MSG_UBL_FINE_TUNE_CLOSEST, PSTR("G29 P4 T"));
180
-  MENU_ITEM(submenu, MSG_UBL_MESH_HEIGHT_ADJUST, _menu_ubl_height_adjust);
181
-  MENU_ITEM(function, MSG_WATCH, ui.return_to_status);
177
+  BACK_ITEM(MSG_UBL_TOOLS);
178
+  GCODES_ITEM(MSG_UBL_FINE_TUNE_ALL, PSTR("G29 P4 R999 T"));
179
+  GCODES_ITEM(MSG_UBL_FINE_TUNE_CLOSEST, PSTR("G29 P4 T"));
180
+  SUBMENU(MSG_UBL_MESH_HEIGHT_ADJUST, _menu_ubl_height_adjust);
181
+  ACTION_ITEM(MSG_WATCH, ui.return_to_status);
182 182
   END_MENU();
183 183
 }
184 184
 
@@ -210,16 +210,16 @@ void _lcd_ubl_validate_custom_mesh() {
210 210
  */
211 211
 void _lcd_ubl_validate_mesh() {
212 212
   START_MENU();
213
-  MENU_BACK(MSG_UBL_TOOLS);
213
+  BACK_ITEM(MSG_UBL_TOOLS);
214 214
   #if HAS_HEATED_BED
215
-    MENU_ITEM(gcode, MSG_UBL_VALIDATE_MESH_M1, PSTR("G28\nG26 C B" STRINGIFY(PREHEAT_1_TEMP_BED) " H" STRINGIFY(PREHEAT_1_TEMP_HOTEND) " P"));
216
-    MENU_ITEM(gcode, MSG_UBL_VALIDATE_MESH_M2, PSTR("G28\nG26 C B" STRINGIFY(PREHEAT_2_TEMP_BED) " H" STRINGIFY(PREHEAT_2_TEMP_HOTEND) " P"));
215
+    GCODES_ITEM(MSG_UBL_VALIDATE_MESH_M1, PSTR("G28\nG26 C B" STRINGIFY(PREHEAT_1_TEMP_BED) " H" STRINGIFY(PREHEAT_1_TEMP_HOTEND) " P"));
216
+    GCODES_ITEM(MSG_UBL_VALIDATE_MESH_M2, PSTR("G28\nG26 C B" STRINGIFY(PREHEAT_2_TEMP_BED) " H" STRINGIFY(PREHEAT_2_TEMP_HOTEND) " P"));
217 217
   #else
218
-    MENU_ITEM(gcode, MSG_UBL_VALIDATE_MESH_M1, PSTR("G28\nG26 C B0 H" STRINGIFY(PREHEAT_1_TEMP_HOTEND) " P"));
219
-    MENU_ITEM(gcode, MSG_UBL_VALIDATE_MESH_M2, PSTR("G28\nG26 C B0 H" STRINGIFY(PREHEAT_2_TEMP_HOTEND) " P"));
218
+    GCODES_ITEM(MSG_UBL_VALIDATE_MESH_M1, PSTR("G28\nG26 C B0 H" STRINGIFY(PREHEAT_1_TEMP_HOTEND) " P"));
219
+    GCODES_ITEM(MSG_UBL_VALIDATE_MESH_M2, PSTR("G28\nG26 C B0 H" STRINGIFY(PREHEAT_2_TEMP_HOTEND) " P"));
220 220
   #endif
221
-  MENU_ITEM(function, MSG_UBL_VALIDATE_CUSTOM_MESH, _lcd_ubl_validate_custom_mesh);
222
-  MENU_ITEM(function, MSG_WATCH, ui.return_to_status);
221
+  ACTION_ITEM(MSG_UBL_VALIDATE_CUSTOM_MESH, _lcd_ubl_validate_custom_mesh);
222
+  ACTION_ITEM(MSG_WATCH, ui.return_to_status);
223 223
   END_MENU();
224 224
 }
225 225
 
@@ -241,9 +241,9 @@ void _lcd_ubl_grid_level_cmd() {
241 241
  */
242 242
 void _lcd_ubl_grid_level() {
243 243
   START_MENU();
244
-  MENU_BACK(MSG_UBL_TOOLS);
245
-  MENU_ITEM_EDIT(int3, MSG_UBL_SIDE_POINTS, &side_points, 2, 6);
246
-  MENU_ITEM(function, MSG_UBL_MESH_LEVEL, _lcd_ubl_grid_level_cmd);
244
+  BACK_ITEM(MSG_UBL_TOOLS);
245
+  EDIT_ITEM(int3, MSG_UBL_SIDE_POINTS, &side_points, 2, 6);
246
+  ACTION_ITEM(MSG_UBL_MESH_LEVEL, _lcd_ubl_grid_level_cmd);
247 247
   END_MENU();
248 248
 }
249 249
 
@@ -257,10 +257,10 @@ void _lcd_ubl_grid_level() {
257 257
  */
258 258
 void _lcd_ubl_mesh_leveling() {
259 259
   START_MENU();
260
-  MENU_BACK(MSG_UBL_TOOLS);
261
-  MENU_ITEM(gcode, MSG_UBL_3POINT_MESH_LEVELING, PSTR("G29 J0"));
262
-  MENU_ITEM(submenu, MSG_UBL_GRID_MESH_LEVELING, _lcd_ubl_grid_level);
263
-  MENU_ITEM(function, MSG_WATCH, ui.return_to_status);
260
+  BACK_ITEM(MSG_UBL_TOOLS);
261
+  GCODES_ITEM(MSG_UBL_3POINT_MESH_LEVELING, PSTR("G29 J0"));
262
+  SUBMENU(MSG_UBL_GRID_MESH_LEVELING, _lcd_ubl_grid_level);
263
+  ACTION_ITEM(MSG_WATCH, ui.return_to_status);
264 264
   END_MENU();
265 265
 }
266 266
 
@@ -285,11 +285,11 @@ void _lcd_ubl_fillin_amount_cmd() {
285 285
  */
286 286
 void _menu_ubl_fillin() {
287 287
   START_MENU();
288
-  MENU_BACK(MSG_UBL_BUILD_MESH_MENU);
289
-  MENU_ITEM_EDIT_CALLBACK(int3, MSG_UBL_FILLIN_AMOUNT, &ubl_fillin_amount, 0, 9, _lcd_ubl_fillin_amount_cmd);
290
-  MENU_ITEM(gcode, MSG_UBL_SMART_FILLIN, PSTR("G29 P3 T0"));
291
-  MENU_ITEM(gcode, MSG_UBL_MANUAL_FILLIN, PSTR("G29 P2 B T0"));
292
-  MENU_ITEM(function, MSG_WATCH, ui.return_to_status);
288
+  BACK_ITEM(MSG_UBL_BUILD_MESH_MENU);
289
+  EDIT_ITEM(int3, MSG_UBL_FILLIN_AMOUNT, &ubl_fillin_amount, 0, 9, _lcd_ubl_fillin_amount_cmd);
290
+  GCODES_ITEM(MSG_UBL_SMART_FILLIN, PSTR("G29 P3 T0"));
291
+  GCODES_ITEM(MSG_UBL_MANUAL_FILLIN, PSTR("G29 P2 B T0"));
292
+  ACTION_ITEM(MSG_WATCH, ui.return_to_status);
293 293
   END_MENU();
294 294
 }
295 295
 
@@ -314,9 +314,9 @@ void _lcd_ubl_invalidate() {
314 314
  */
315 315
 void _lcd_ubl_build_mesh() {
316 316
   START_MENU();
317
-  MENU_BACK(MSG_UBL_TOOLS);
317
+  BACK_ITEM(MSG_UBL_TOOLS);
318 318
   #if HAS_HEATED_BED
319
-    MENU_ITEM(gcode, MSG_UBL_BUILD_MESH_M1, PSTR(
319
+    GCODES_ITEM(MSG_UBL_BUILD_MESH_M1, PSTR(
320 320
       "G28\n"
321 321
       "M190 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\n"
322 322
       "M109 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND) "\n"
@@ -324,7 +324,7 @@ void _lcd_ubl_build_mesh() {
324 324
       "M104 S0\n"
325 325
       "M140 S0"
326 326
     ));
327
-    MENU_ITEM(gcode, MSG_UBL_BUILD_MESH_M2, PSTR(
327
+    GCODES_ITEM(MSG_UBL_BUILD_MESH_M2, PSTR(
328 328
       "G28\n"
329 329
       "M190 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\n"
330 330
       "M109 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND) "\n"
@@ -333,26 +333,26 @@ void _lcd_ubl_build_mesh() {
333 333
       "M140 S0"
334 334
     ));
335 335
   #else
336
-    MENU_ITEM(gcode, MSG_UBL_BUILD_MESH_M1, PSTR(
336
+    GCODES_ITEM(MSG_UBL_BUILD_MESH_M1, PSTR(
337 337
       "G28\n"
338 338
       "M109 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND) "\n"
339 339
       "G29 P1\n"
340 340
       "M104 S0"
341 341
     ));
342
-    MENU_ITEM(gcode, MSG_UBL_BUILD_MESH_M2, PSTR(
342
+    GCODES_ITEM(MSG_UBL_BUILD_MESH_M2, PSTR(
343 343
       "G28\n"
344 344
       "M109 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND) "\n"
345 345
       "G29 P1\n"
346 346
       "M104 S0"
347 347
     ));
348 348
   #endif
349
-  MENU_ITEM(submenu, MSG_UBL_BUILD_CUSTOM_MESH, _lcd_ubl_custom_mesh);
350
-  MENU_ITEM(gcode, MSG_UBL_BUILD_COLD_MESH, PSTR("G28\nG29 P1"));
351
-  MENU_ITEM(submenu, MSG_UBL_FILLIN_MESH, _menu_ubl_fillin);
352
-  MENU_ITEM(gcode, MSG_UBL_CONTINUE_MESH, PSTR("G29 P1 C"));
353
-  MENU_ITEM(function, MSG_UBL_INVALIDATE_ALL, _lcd_ubl_invalidate);
354
-  MENU_ITEM(gcode, MSG_UBL_INVALIDATE_CLOSEST, PSTR("G29 I"));
355
-  MENU_ITEM(function, MSG_WATCH, ui.return_to_status);
349
+  SUBMENU(MSG_UBL_BUILD_CUSTOM_MESH, _lcd_ubl_custom_mesh);
350
+  GCODES_ITEM(MSG_UBL_BUILD_COLD_MESH, PSTR("G28\nG29 P1"));
351
+  SUBMENU(MSG_UBL_FILLIN_MESH, _menu_ubl_fillin);
352
+  GCODES_ITEM(MSG_UBL_CONTINUE_MESH, PSTR("G29 P1 C"));
353
+  ACTION_ITEM(MSG_UBL_INVALIDATE_ALL, _lcd_ubl_invalidate);
354
+  GCODES_ITEM(MSG_UBL_INVALIDATE_CLOSEST, PSTR("G29 I"));
355
+  ACTION_ITEM(MSG_WATCH, ui.return_to_status);
356 356
   END_MENU();
357 357
 }
358 358
 
@@ -389,14 +389,14 @@ void _lcd_ubl_save_mesh_cmd() {
389 389
 void _lcd_ubl_storage_mesh() {
390 390
   int16_t a = settings.calc_num_meshes();
391 391
   START_MENU();
392
-  MENU_BACK(MSG_UBL_LEVEL_BED);
392
+  BACK_ITEM(MSG_UBL_LEVEL_BED);
393 393
   if (!WITHIN(ubl_storage_slot, 0, a - 1)) {
394 394
     STATIC_ITEM(MSG_UBL_NO_STORAGE);
395 395
   }
396 396
   else {
397
-    MENU_ITEM_EDIT(int3, MSG_UBL_STORAGE_SLOT, &ubl_storage_slot, 0, a - 1);
398
-    MENU_ITEM(function, MSG_UBL_LOAD_MESH, _lcd_ubl_load_mesh_cmd);
399
-    MENU_ITEM(function, MSG_UBL_SAVE_MESH, _lcd_ubl_save_mesh_cmd);
397
+    EDIT_ITEM(int3, MSG_UBL_STORAGE_SLOT, &ubl_storage_slot, 0, a - 1);
398
+    ACTION_ITEM(MSG_UBL_LOAD_MESH, _lcd_ubl_load_mesh_cmd);
399
+    ACTION_ITEM(MSG_UBL_SAVE_MESH, _lcd_ubl_save_mesh_cmd);
400 400
   }
401 401
   END_MENU();
402 402
 }
@@ -540,11 +540,11 @@ void _lcd_ubl_output_map_lcd_cmd() {
540 540
  */
541 541
 void _lcd_ubl_output_map() {
542 542
   START_MENU();
543
-  MENU_BACK(MSG_UBL_LEVEL_BED);
544
-  MENU_ITEM(gcode, MSG_UBL_OUTPUT_MAP_HOST, PSTR("G29 T0"));
545
-  MENU_ITEM(gcode, MSG_UBL_OUTPUT_MAP_CSV, PSTR("G29 T1"));
546
-  MENU_ITEM(gcode, MSG_UBL_OUTPUT_MAP_BACKUP, PSTR("G29 S-1"));
547
-  MENU_ITEM(function, MSG_UBL_OUTPUT_MAP, _lcd_ubl_output_map_lcd_cmd);
543
+  BACK_ITEM(MSG_UBL_LEVEL_BED);
544
+  GCODES_ITEM(MSG_UBL_OUTPUT_MAP_HOST, PSTR("G29 T0"));
545
+  GCODES_ITEM(MSG_UBL_OUTPUT_MAP_CSV, PSTR("G29 T1"));
546
+  GCODES_ITEM(MSG_UBL_OUTPUT_MAP_BACKUP, PSTR("G29 S-1"));
547
+  ACTION_ITEM(MSG_UBL_OUTPUT_MAP, _lcd_ubl_output_map_lcd_cmd);
548 548
   END_MENU();
549 549
 }
550 550
 
@@ -559,12 +559,12 @@ void _lcd_ubl_output_map() {
559 559
  */
560 560
 void _menu_ubl_tools() {
561 561
   START_MENU();
562
-  MENU_BACK(MSG_UBL_LEVEL_BED);
563
-  MENU_ITEM(submenu, MSG_UBL_BUILD_MESH_MENU, _lcd_ubl_build_mesh);
564
-  MENU_ITEM(gcode, MSG_UBL_MANUAL_MESH, PSTR("G29 I999\nG29 P2 B T0"));
565
-  MENU_ITEM(submenu, MSG_UBL_VALIDATE_MESH_MENU, _lcd_ubl_validate_mesh);
566
-  MENU_ITEM(submenu, MSG_EDIT_MESH, _lcd_ubl_edit_mesh);
567
-  MENU_ITEM(submenu, MSG_UBL_MESH_LEVELING, _lcd_ubl_mesh_leveling);
562
+  BACK_ITEM(MSG_UBL_LEVEL_BED);
563
+  SUBMENU(MSG_UBL_BUILD_MESH_MENU, _lcd_ubl_build_mesh);
564
+  GCODES_ITEM(MSG_UBL_MANUAL_MESH, PSTR("G29 I999\nG29 P2 B T0"));
565
+  SUBMENU(MSG_UBL_VALIDATE_MESH_MENU, _lcd_ubl_validate_mesh);
566
+  SUBMENU(MSG_EDIT_MESH, _lcd_ubl_edit_mesh);
567
+  SUBMENU(MSG_UBL_MESH_LEVELING, _lcd_ubl_mesh_leveling);
568 568
   END_MENU();
569 569
 }
570 570
 
@@ -582,14 +582,14 @@ void _menu_ubl_tools() {
582 582
  */
583 583
 void _lcd_ubl_step_by_step() {
584 584
   START_MENU();
585
-  MENU_BACK(MSG_UBL_LEVEL_BED);
586
-  MENU_ITEM(gcode, "1 " MSG_UBL_BUILD_COLD_MESH, PSTR("G28\nG29 P1"));
587
-  MENU_ITEM(gcode, "2 " MSG_UBL_SMART_FILLIN, PSTR("G29 P3 T0"));
588
-  MENU_ITEM(submenu, "3 " MSG_UBL_VALIDATE_MESH_MENU, _lcd_ubl_validate_mesh);
589
-  MENU_ITEM(gcode, "4 " MSG_UBL_FINE_TUNE_ALL, PSTR("G29 P4 R999 T"));
590
-  MENU_ITEM(submenu, "5 " MSG_UBL_VALIDATE_MESH_MENU, _lcd_ubl_validate_mesh);
591
-  MENU_ITEM(gcode, "6 " MSG_UBL_FINE_TUNE_ALL, PSTR("G29 P4 R999 T"));
592
-  MENU_ITEM(function, "7 " MSG_UBL_SAVE_MESH, _lcd_ubl_save_mesh_cmd);
585
+  BACK_ITEM(MSG_UBL_LEVEL_BED);
586
+  GCODES_ITEM("1 " MSG_UBL_BUILD_COLD_MESH, PSTR("G28\nG29 P1"));
587
+  GCODES_ITEM("2 " MSG_UBL_SMART_FILLIN, PSTR("G29 P3 T0"));
588
+  SUBMENU("3 " MSG_UBL_VALIDATE_MESH_MENU, _lcd_ubl_validate_mesh);
589
+  GCODES_ITEM("4 " MSG_UBL_FINE_TUNE_ALL, PSTR("G29 P4 R999 T"));
590
+  SUBMENU("5 " MSG_UBL_VALIDATE_MESH_MENU, _lcd_ubl_validate_mesh);
591
+  GCODES_ITEM("6 " MSG_UBL_FINE_TUNE_ALL, PSTR("G29 P4 R999 T"));
592
+  ACTION_ITEM("7 " MSG_UBL_SAVE_MESH, _lcd_ubl_save_mesh_cmd);
593 593
   END_MENU();
594 594
 }
595 595
 
@@ -609,19 +609,19 @@ void _lcd_ubl_step_by_step() {
609 609
 
610 610
 void _lcd_ubl_level_bed() {
611 611
   START_MENU();
612
-  MENU_BACK(MSG_MOTION);
612
+  BACK_ITEM(MSG_MOTION);
613 613
   if (planner.leveling_active)
614
-    MENU_ITEM(gcode, MSG_UBL_DEACTIVATE_MESH, PSTR("G29 D"));
614
+    GCODES_ITEM(MSG_UBL_DEACTIVATE_MESH, PSTR("G29 D"));
615 615
   else
616
-    MENU_ITEM(gcode, MSG_UBL_ACTIVATE_MESH, PSTR("G29 A"));
617
-  MENU_ITEM(submenu, MSG_UBL_STEP_BY_STEP_MENU, _lcd_ubl_step_by_step);
618
-  MENU_ITEM(function, MSG_UBL_MESH_EDIT, _lcd_ubl_output_map_lcd_cmd);
619
-  MENU_ITEM(submenu, MSG_UBL_STORAGE_MESH_MENU, _lcd_ubl_storage_mesh);
620
-  MENU_ITEM(submenu, MSG_UBL_OUTPUT_MAP, _lcd_ubl_output_map);
621
-  MENU_ITEM(submenu, MSG_UBL_TOOLS, _menu_ubl_tools);
622
-  MENU_ITEM(gcode, MSG_UBL_INFO_UBL, PSTR("G29 W"));
616
+    GCODES_ITEM(MSG_UBL_ACTIVATE_MESH, PSTR("G29 A"));
617
+  SUBMENU(MSG_UBL_STEP_BY_STEP_MENU, _lcd_ubl_step_by_step);
618
+  ACTION_ITEM(MSG_UBL_MESH_EDIT, _lcd_ubl_output_map_lcd_cmd);
619
+  SUBMENU(MSG_UBL_STORAGE_MESH_MENU, _lcd_ubl_storage_mesh);
620
+  SUBMENU(MSG_UBL_OUTPUT_MAP, _lcd_ubl_output_map);
621
+  SUBMENU(MSG_UBL_TOOLS, _menu_ubl_tools);
622
+  GCODES_ITEM(MSG_UBL_INFO_UBL, PSTR("G29 W"));
623 623
   #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
624
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float3, MSG_Z_FADE_HEIGHT, &lcd_z_fade_height, 0, 100, _lcd_set_z_fade_height);
624
+    EDIT_ITEM_FAST(float3, MSG_Z_FADE_HEIGHT, &lcd_z_fade_height, 0, 100, _lcd_set_z_fade_height);
625 625
   #endif
626 626
   END_MENU();
627 627
 }

Loading…
Cancel
Save