Sfoglia il codice sorgente

Revert menu_item_if ahead of refactor

Scott Lahteine 5 anni fa
parent
commit
e8b0796fc7

+ 2
- 13
Marlin/src/lcd/menu/menu.h Vedi File

340
  * menu item that exists in two screen segments is drawn and processed twice per screen
340
  * menu item that exists in two screen segments is drawn and processed twice per screen
341
  * update. With each item processed 5, 10, 20, or 40 times the logic has to be simple.
341
  * update. With each item processed 5, 10, 20, or 40 times the logic has to be simple.
342
  *
342
  *
343
- * To keep performance optimal, use the MENU_ITEM_IF/ELSE/ELIF macros. If function calls
344
- * are needed to test conditions, they should come before START_MENU / START_SCREEN.
343
+ * To avoid repetition and side-effects, function calls for testing menu item conditions
344
+ * should be done before the menu loop (START_MENU / START_SCREEN).
345
  */
345
  */
346
 
346
 
347
 /**
347
 /**
536
 #define YESNO_ITEM_N_P(N,PLABEL, V...)      _CONFIRM_ITEM_N_P(N, PLABEL, ##V)
536
 #define YESNO_ITEM_N_P(N,PLABEL, V...)      _CONFIRM_ITEM_N_P(N, PLABEL, ##V)
537
 #define YESNO_ITEM_N(N,LABEL, V...)            YESNO_ITEM_N_P(N, GET_TEXT(LABEL), ##V)
537
 #define YESNO_ITEM_N(N,LABEL, V...)            YESNO_ITEM_N_P(N, GET_TEXT(LABEL), ##V)
538
 
538
 
539
-/**
540
- * MENU_ITEM_IF/ELSE/ELIF
541
- *
542
- * Apply a condition for a menu item to exist.
543
- * When the condition passes, NEXT_ITEM updates _thisItemNr.
544
- * This cannot be used to wrap multiple menu items.
545
- */
546
-#define MENU_ITEM_IF(COND)        if ((_menuLineNr == _thisItemNr) && (COND))
547
-#define MENU_ITEM_ELIF(COND) else if ((_menuLineNr == _thisItemNr) && (COND))
548
-#define MENU_ITEM_ELSE       else if  (_menuLineNr == _thisItemNr)
549
-
550
 ////////////////////////////////////////////
539
 ////////////////////////////////////////////
551
 /////////////// Menu Screens ///////////////
540
 /////////////// Menu Screens ///////////////
552
 ////////////////////////////////////////////
541
 ////////////////////////////////////////////

+ 20
- 23
Marlin/src/lcd/menu/menu_advanced.cpp Vedi File

147
     #endif
147
     #endif
148
 
148
 
149
     #if ENABLED(FILAMENT_RUNOUT_SENSOR) && FILAMENT_RUNOUT_DISTANCE_MM
149
     #if ENABLED(FILAMENT_RUNOUT_SENSOR) && FILAMENT_RUNOUT_DISTANCE_MM
150
-      MENU_ITEM_IF(1) {
151
-        editable.decimal = runout.runout_distance();
152
-        EDIT_ITEM(float3, MSG_RUNOUT_DISTANCE_MM, &editable.decimal, 1, 30,
153
-          []{ runout.set_runout_distance(editable.decimal); }, true
154
-        );
155
-      }
150
+      editable.decimal = runout.runout_distance();
151
+      EDIT_ITEM(float3, MSG_RUNOUT_DISTANCE_MM, &editable.decimal, 1, 30,
152
+        []{ runout.set_runout_distance(editable.decimal); }, true
153
+      );
156
     #endif
154
     #endif
157
 
155
 
158
     END_MENU();
156
     END_MENU();
417
 
415
 
418
     #ifdef XY_FREQUENCY_LIMIT
416
     #ifdef XY_FREQUENCY_LIMIT
419
       EDIT_ITEM(int8, MSG_XY_FREQUENCY_LIMIT, &planner.xy_freq_limit_hz, 0, 100, planner.refresh_frequency_limit, true);
417
       EDIT_ITEM(int8, MSG_XY_FREQUENCY_LIMIT, &planner.xy_freq_limit_hz, 0, 100, planner.refresh_frequency_limit, true);
420
-      MENU_ITEM_IF(1) {
421
-        editable.uint8 = uint8_t(LROUND(planner.xy_freq_min_speed_factor * 255 * 100)); // percent to u8
422
-        EDIT_ITEM(percent, MSG_XY_FREQUENCY_FEEDRATE, &editable.uint8, 3, 255, []{ planner.set_min_speed_factor_u8(editable.uint8); }, true);
423
-      }
418
+      editable.uint8 = uint8_t(LROUND(planner.xy_freq_min_speed_factor * 255 * 100)); // percent to u8
419
+      EDIT_ITEM(percent, MSG_XY_FREQUENCY_FEEDRATE, &editable.uint8, 3, 255, []{ planner.set_min_speed_factor_u8(editable.uint8); }, true);
424
     #endif
420
     #endif
425
 
421
 
426
     END_MENU();
422
     END_MENU();
504
 void menu_advanced_settings() {
500
 void menu_advanced_settings() {
505
   const bool is_busy = printer_busy();
501
   const bool is_busy = printer_busy();
506
 
502
 
503
+  #if ENABLED(SD_FIRMWARE_UPDATE)
504
+    bool sd_update_state = settings.sd_update_status();
505
+  #endif
506
+
507
   START_MENU();
507
   START_MENU();
508
   BACK_ITEM(MSG_CONFIGURATION);
508
   BACK_ITEM(MSG_CONFIGURATION);
509
 
509
 
576
   #endif
576
   #endif
577
 
577
 
578
   #if ENABLED(SD_FIRMWARE_UPDATE)
578
   #if ENABLED(SD_FIRMWARE_UPDATE)
579
-    MENU_ITEM_IF (1) {
580
-      bool sd_update_state = settings.sd_update_status();
581
-      EDIT_ITEM(bool, MSG_MEDIA_UPDATE, &sd_update_state, []{
582
-        //
583
-        // Toggle the SD Firmware Update state in EEPROM
584
-        //
585
-        const bool new_state = !settings.sd_update_status(),
586
-                   didset = settings.set_sd_update_status(new_state);
587
-        ui.completion_feedback(didset);
588
-        ui.return_to_status();
589
-        if (new_state) LCD_MESSAGEPGM(MSG_RESET_PRINTER); else ui.reset_status();
590
-      });
591
-    }
579
+    EDIT_ITEM(bool, MSG_MEDIA_UPDATE, &sd_update_state, []{
580
+      //
581
+      // Toggle the SD Firmware Update state in EEPROM
582
+      //
583
+      const bool new_state = !settings.sd_update_status(),
584
+                 didset = settings.set_sd_update_status(new_state);
585
+      ui.completion_feedback(didset);
586
+      ui.return_to_status();
587
+      if (new_state) LCD_MESSAGEPGM(MSG_RESET_PRINTER); else ui.reset_status();
588
+    });
592
   #endif
589
   #endif
593
 
590
 
594
   #if ENABLED(EEPROM_SETTINGS) && DISABLED(SLIM_LCD_MENUS)
591
   #if ENABLED(EEPROM_SETTINGS) && DISABLED(SLIM_LCD_MENUS)

+ 3
- 5
Marlin/src/lcd/menu/menu_bed_leveling.cpp Vedi File

256
 
256
 
257
   // Z Fade Height
257
   // Z Fade Height
258
   #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
258
   #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
259
-    MENU_ITEM_IF (1) {
260
-      // Shadow for editing the fade height
261
-      editable.decimal = planner.z_fade_height;
262
-      EDIT_ITEM_FAST(float3, MSG_Z_FADE_HEIGHT, &editable.decimal, 0, 100, []{ set_z_fade_height(editable.decimal); });
263
-    }
259
+    // Shadow for editing the fade height
260
+    editable.decimal = planner.z_fade_height;
261
+    EDIT_ITEM_FAST(float3, MSG_Z_FADE_HEIGHT, &editable.decimal, 0, 100, []{ set_z_fade_height(editable.decimal); });
264
   #endif
262
   #endif
265
 
263
 
266
   //
264
   //

+ 1
- 1
Marlin/src/lcd/menu/menu_cancelobject.cpp Vedi File

62
   for (int8_t i = -1; i < cancelable.object_count; i++) {
62
   for (int8_t i = -1; i < cancelable.object_count; i++) {
63
     if (i == ao) continue;                                          // Active is drawn on -1 index
63
     if (i == ao) continue;                                          // Active is drawn on -1 index
64
     const int8_t j = i < 0 ? ao : i;                                // Active or index item
64
     const int8_t j = i < 0 ? ao : i;                                // Active or index item
65
-    MENU_ITEM_IF (!cancelable.is_canceled(j)) {                     // Not canceled already?
65
+    if (!cancelable.is_canceled(j)) {                               // Not canceled already?
66
       SUBMENU_N(j, MSG_CANCEL_OBJECT_N, lcd_cancel_object_confirm); // Offer the option.
66
       SUBMENU_N(j, MSG_CANCEL_OBJECT_N, lcd_cancel_object_confirm); // Offer the option.
67
       if (i < 0) SKIP_ITEM();                                       // Extra line after active
67
       if (i < 0) SKIP_ITEM();                                       // Extra line after active
68
     }
68
     }

+ 16
- 16
Marlin/src/lcd/menu/menu_filament.cpp Vedi File

116
     // Change filament
116
     // Change filament
117
     #if E_STEPPERS == 1
117
     #if E_STEPPERS == 1
118
       PGM_P const msg = GET_TEXT(MSG_FILAMENTCHANGE);
118
       PGM_P const msg = GET_TEXT(MSG_FILAMENTCHANGE);
119
-      MENU_ITEM_IF (thermalManager.targetTooColdToExtrude(active_extruder))
119
+      if (thermalManager.targetTooColdToExtrude(active_extruder))
120
         SUBMENU_P(msg, []{ _menu_temp_filament_op(PAUSE_MODE_CHANGE_FILAMENT, 0); });
120
         SUBMENU_P(msg, []{ _menu_temp_filament_op(PAUSE_MODE_CHANGE_FILAMENT, 0); });
121
-      MENU_ITEM_ELSE
121
+      else
122
         GCODES_ITEM_P(msg, PSTR("M600 B0"));
122
         GCODES_ITEM_P(msg, PSTR("M600 B0"));
123
     #else
123
     #else
124
       PGM_P const msg = GET_TEXT(MSG_FILAMENTCHANGE_E);
124
       PGM_P const msg = GET_TEXT(MSG_FILAMENTCHANGE_E);
125
       LOOP_L_N(s, E_STEPPERS) {
125
       LOOP_L_N(s, E_STEPPERS) {
126
-        MENU_ITEM_IF (thermalManager.targetTooColdToExtrude(s))
126
+        if (thermalManager.targetTooColdToExtrude(s))
127
           SUBMENU_N_P(s, msg, []{ _menu_temp_filament_op(PAUSE_MODE_CHANGE_FILAMENT, MenuItemBase::itemIndex); });
127
           SUBMENU_N_P(s, msg, []{ _menu_temp_filament_op(PAUSE_MODE_CHANGE_FILAMENT, MenuItemBase::itemIndex); });
128
-        MENU_ITEM_ELSE {
128
+        else {
129
           ACTION_ITEM_N_P(s, msg, []{
129
           ACTION_ITEM_N_P(s, msg, []{
130
             char cmd[13];
130
             char cmd[13];
131
             sprintf_P(cmd, PSTR("M600 B0 T%i"), int(MenuItemBase::itemIndex));
131
             sprintf_P(cmd, PSTR("M600 B0 T%i"), int(MenuItemBase::itemIndex));
140
         // Load filament
140
         // Load filament
141
         #if E_STEPPERS == 1
141
         #if E_STEPPERS == 1
142
           PGM_P const msg_load = GET_TEXT(MSG_FILAMENTLOAD);
142
           PGM_P const msg_load = GET_TEXT(MSG_FILAMENTLOAD);
143
-          MENU_ITEM_IF (thermalManager.targetTooColdToExtrude(active_extruder))
143
+          if (thermalManager.targetTooColdToExtrude(active_extruder))
144
             SUBMENU_P(msg_load, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 0); });
144
             SUBMENU_P(msg_load, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 0); });
145
-          MENU_ITEM_ELSE
145
+          else
146
             GCODES_ITEM_P(msg_load, PSTR("M701"));
146
             GCODES_ITEM_P(msg_load, PSTR("M701"));
147
         #else
147
         #else
148
           PGM_P const msg_load = GET_TEXT(MSG_FILAMENTLOAD_E);
148
           PGM_P const msg_load = GET_TEXT(MSG_FILAMENTLOAD_E);
149
           LOOP_L_N(s, E_STEPPERS) {
149
           LOOP_L_N(s, E_STEPPERS) {
150
-            MENU_ITEM_IF (thermalManager.targetTooColdToExtrude(s))
150
+            if (thermalManager.targetTooColdToExtrude(s))
151
               SUBMENU_N_P(s, msg_load, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, MenuItemBase::itemIndex); });
151
               SUBMENU_N_P(s, msg_load, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, MenuItemBase::itemIndex); });
152
-            MENU_ITEM_ELSE {
152
+            else {
153
               ACTION_ITEM_N_P(s, msg_load, []{
153
               ACTION_ITEM_N_P(s, msg_load, []{
154
                 char cmd[12];
154
                 char cmd[12];
155
                 sprintf_P(cmd, PSTR("M701 T%i"), int(MenuItemBase::itemIndex));
155
                 sprintf_P(cmd, PSTR("M701 T%i"), int(MenuItemBase::itemIndex));
162
         // Unload filament
162
         // Unload filament
163
         #if E_STEPPERS == 1
163
         #if E_STEPPERS == 1
164
           PGM_P const msg_unload = GET_TEXT(MSG_FILAMENTUNLOAD);
164
           PGM_P const msg_unload = GET_TEXT(MSG_FILAMENTUNLOAD);
165
-          MENU_ITEM_IF (thermalManager.targetTooColdToExtrude(active_extruder))
165
+          if (thermalManager.targetTooColdToExtrude(active_extruder))
166
             SUBMENU_P(msg_unload, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 0); });
166
             SUBMENU_P(msg_unload, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 0); });
167
-          MENU_ITEM_ELSE
167
+          else
168
             GCODES_ITEM_P(msg_unload, PSTR("M702"));
168
             GCODES_ITEM_P(msg_unload, PSTR("M702"));
169
         #else
169
         #else
170
           #if ENABLED(FILAMENT_UNLOAD_ALL_EXTRUDERS)
170
           #if ENABLED(FILAMENT_UNLOAD_ALL_EXTRUDERS)
171
-            MENU_ITEM_IF (too_cold)
171
+            if (too_cold)
172
               SUBMENU(MSG_FILAMENTUNLOAD_ALL, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, -1); });
172
               SUBMENU(MSG_FILAMENTUNLOAD_ALL, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, -1); });
173
-            MENU_ITEM_ELSE
173
+            else
174
               GCODES_ITEM(MSG_FILAMENTUNLOAD_ALL, PSTR("M702"));
174
               GCODES_ITEM(MSG_FILAMENTUNLOAD_ALL, PSTR("M702"));
175
           #endif
175
           #endif
176
           PGM_P const msg_unload = GET_TEXT(MSG_FILAMENTUNLOAD_E);
176
           PGM_P const msg_unload = GET_TEXT(MSG_FILAMENTUNLOAD_E);
177
           LOOP_L_N(s, E_STEPPERS) {
177
           LOOP_L_N(s, E_STEPPERS) {
178
-            MENU_ITEM_IF (thermalManager.targetTooColdToExtrude(s))
178
+            if (thermalManager.targetTooColdToExtrude(s))
179
               SUBMENU_N_P(s, msg_unload, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, MenuItemBase::itemIndex); });
179
               SUBMENU_N_P(s, msg_unload, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, MenuItemBase::itemIndex); });
180
-            MENU_ITEM_ELSE {
180
+            else {
181
               ACTION_ITEM_N_P(s, msg_unload, []{
181
               ACTION_ITEM_N_P(s, msg_unload, []{
182
                 char cmd[12];
182
                 char cmd[12];
183
                 sprintf_P(cmd, PSTR("M702 T%i"), int(MenuItemBase::itemIndex));
183
                 sprintf_P(cmd, PSTR("M702 T%i"), int(MenuItemBase::itemIndex));
230
 
230
 
231
   #if HAS_FILAMENT_SENSOR
231
   #if HAS_FILAMENT_SENSOR
232
     const bool still_out = runout.filament_ran_out;
232
     const bool still_out = runout.filament_ran_out;
233
-    MENU_ITEM_IF (still_out)
233
+    if (still_out)
234
       EDIT_ITEM(bool, MSG_RUNOUT_SENSOR, &runout.enabled, runout.reset);
234
       EDIT_ITEM(bool, MSG_RUNOUT_SENSOR, &runout.enabled, runout.reset);
235
   #else
235
   #else
236
     constexpr bool still_out = false;
236
     constexpr bool still_out = false;
237
   #endif
237
   #endif
238
 
238
 
239
-  MENU_ITEM_IF (!still_out)
239
+  if (!still_out)
240
     ACTION_ITEM(MSG_FILAMENT_CHANGE_OPTION_RESUME, []{ pause_menu_response = PAUSE_RESPONSE_RESUME_PRINT; });
240
     ACTION_ITEM(MSG_FILAMENT_CHANGE_OPTION_RESUME, []{ pause_menu_response = PAUSE_RESPONSE_RESUME_PRINT; });
241
 
241
 
242
   END_MENU();
242
   END_MENU();

+ 2
- 4
Marlin/src/lcd/menu/menu_led.cpp Vedi File

70
 void menu_led() {
70
 void menu_led() {
71
   START_MENU();
71
   START_MENU();
72
   BACK_ITEM(MSG_MAIN);
72
   BACK_ITEM(MSG_MAIN);
73
-  MENU_ITEM_IF(1) {
74
-    bool led_on = leds.lights_on;
75
-    EDIT_ITEM(bool, MSG_LEDS, &led_on, leds.toggle);
76
-  }
73
+  bool led_on = leds.lights_on;
74
+  EDIT_ITEM(bool, MSG_LEDS, &led_on, leds.toggle);
77
   ACTION_ITEM(MSG_SET_LEDS_DEFAULT, leds.set_default);
75
   ACTION_ITEM(MSG_SET_LEDS_DEFAULT, leds.set_default);
78
   #if ENABLED(LED_COLOR_PRESETS)
76
   #if ENABLED(LED_COLOR_PRESETS)
79
     SUBMENU(MSG_LED_PRESETS, menu_led_presets);
77
     SUBMENU(MSG_LED_PRESETS, menu_led_presets);

+ 5
- 5
Marlin/src/lcd/menu/menu_main.cpp Vedi File

144
 
144
 
145
     #endif // !HAS_ENCODER_WHEEL && SDSUPPORT
145
     #endif // !HAS_ENCODER_WHEEL && SDSUPPORT
146
 
146
 
147
-    MENU_ITEM_IF (TERN0(MACHINE_CAN_PAUSE, printingIsPaused()))
147
+    if (TERN0(MACHINE_CAN_PAUSE, printingIsPaused()))
148
       ACTION_ITEM(MSG_RESUME_PRINT, ui.resume_print);
148
       ACTION_ITEM(MSG_RESUME_PRINT, ui.resume_print);
149
 
149
 
150
     SUBMENU(MSG_MOTION, menu_motion);
150
     SUBMENU(MSG_MOTION, menu_motion);
176
 
176
 
177
   #if ENABLED(ADVANCED_PAUSE_FEATURE)
177
   #if ENABLED(ADVANCED_PAUSE_FEATURE)
178
     #if E_STEPPERS == 1 && DISABLED(FILAMENT_LOAD_UNLOAD_GCODES)
178
     #if E_STEPPERS == 1 && DISABLED(FILAMENT_LOAD_UNLOAD_GCODES)
179
-      MENU_ITEM_IF (thermalManager.targetHotEnoughToExtrude(active_extruder))
179
+      if (thermalManager.targetHotEnoughToExtrude(active_extruder))
180
         GCODES_ITEM(MSG_FILAMENTCHANGE, PSTR("M600 B0"));
180
         GCODES_ITEM(MSG_FILAMENTCHANGE, PSTR("M600 B0"));
181
-      MENU_ITEM_ELSE
181
+      else
182
         SUBMENU(MSG_FILAMENTCHANGE, []{ _menu_temp_filament_op(PAUSE_MODE_CHANGE_FILAMENT, 0); });
182
         SUBMENU(MSG_FILAMENTCHANGE, []{ _menu_temp_filament_op(PAUSE_MODE_CHANGE_FILAMENT, 0); });
183
     #else
183
     #else
184
       SUBMENU(MSG_FILAMENTCHANGE, menu_change_filament);
184
       SUBMENU(MSG_FILAMENTCHANGE, menu_change_filament);
197
   // Switch power on/off
197
   // Switch power on/off
198
   //
198
   //
199
   #if ENABLED(PSU_CONTROL)
199
   #if ENABLED(PSU_CONTROL)
200
-    MENU_ITEM_IF (powersupply_on)
200
+    if (powersupply_on)
201
       GCODES_ITEM(MSG_SWITCH_PS_OFF, PSTR("M81"));
201
       GCODES_ITEM(MSG_SWITCH_PS_OFF, PSTR("M81"));
202
-    MENU_ITEM_ELSE
202
+    else
203
       GCODES_ITEM(MSG_SWITCH_PS_ON, PSTR("M80"));
203
       GCODES_ITEM(MSG_SWITCH_PS_ON, PSTR("M80"));
204
   #endif
204
   #endif
205
 
205
 

+ 2
- 2
Marlin/src/lcd/menu/menu_media.cpp Vedi File

127
   if (ui.should_draw()) for (uint16_t i = 0; i < fileCnt; i++) {
127
   if (ui.should_draw()) for (uint16_t i = 0; i < fileCnt; i++) {
128
     if (_menuLineNr == _thisItemNr) {
128
     if (_menuLineNr == _thisItemNr) {
129
       card.getfilename_sorted(SD_ORDER(i, fileCnt));
129
       card.getfilename_sorted(SD_ORDER(i, fileCnt));
130
-      MENU_ITEM_IF (card.flag.filenameIsDir)
130
+      if (card.flag.filenameIsDir)
131
         MENU_ITEM(sdfolder, MSG_MEDIA_MENU, card);
131
         MENU_ITEM(sdfolder, MSG_MEDIA_MENU, card);
132
-      MENU_ITEM_ELSE
132
+      else
133
         MENU_ITEM(sdfile, MSG_MEDIA_MENU, card);
133
         MENU_ITEM(sdfile, MSG_MEDIA_MENU, card);
134
     }
134
     }
135
     else
135
     else

+ 12
- 14
Marlin/src/lcd/menu/menu_motion.cpp Vedi File

217
     SUBMENU(MSG_MOVE_10MM, []{ _goto_manual_move(10);    });
217
     SUBMENU(MSG_MOVE_10MM, []{ _goto_manual_move(10);    });
218
     SUBMENU(MSG_MOVE_1MM,  []{ _goto_manual_move( 1);    });
218
     SUBMENU(MSG_MOVE_1MM,  []{ _goto_manual_move( 1);    });
219
     SUBMENU(MSG_MOVE_01MM, []{ _goto_manual_move( 0.1f); });
219
     SUBMENU(MSG_MOVE_01MM, []{ _goto_manual_move( 0.1f); });
220
-    MENU_ITEM_IF (axis == Z_AXIS && (SHORT_MANUAL_Z_MOVE) > 0.0f && (SHORT_MANUAL_Z_MOVE) < 0.1f) {
220
+    if (axis == Z_AXIS && (SHORT_MANUAL_Z_MOVE) > 0.0f && (SHORT_MANUAL_Z_MOVE) < 0.1f) {
221
       extern const char NUL_STR[];
221
       extern const char NUL_STR[];
222
       SUBMENU_P(NUL_STR, []{ _goto_manual_move(float(SHORT_MANUAL_Z_MOVE)); });
222
       SUBMENU_P(NUL_STR, []{ _goto_manual_move(float(SHORT_MANUAL_Z_MOVE)); });
223
       MENU_ITEM_ADDON_START(0 + ENABLED(HAS_CHARACTER_LCD));
223
       MENU_ITEM_ADDON_START(0 + ENABLED(HAS_CHARACTER_LCD));
271
       }
271
       }
272
     #elif EXTRUDERS == 3
272
     #elif EXTRUDERS == 3
273
       if (active_extruder < 2) {
273
       if (active_extruder < 2) {
274
-        MENU_ITEM_IF (active_extruder)
274
+        if (active_extruder)
275
           GCODES_ITEM_N(0, MSG_SELECT_E, PSTR("T0"));
275
           GCODES_ITEM_N(0, MSG_SELECT_E, PSTR("T0"));
276
-        MENU_ITEM_ELSE
276
+        else
277
           GCODES_ITEM_N(1, MSG_SELECT_E, PSTR("T1"));
277
           GCODES_ITEM_N(1, MSG_SELECT_E, PSTR("T1"));
278
       }
278
       }
279
     #else
279
     #else
280
-      MENU_ITEM_IF (active_extruder)
280
+      if (active_extruder)
281
         GCODES_ITEM_N(0, MSG_SELECT_E, PSTR("T0"));
281
         GCODES_ITEM_N(0, MSG_SELECT_E, PSTR("T0"));
282
-      MENU_ITEM_ELSE
282
+      else
283
         GCODES_ITEM_N(1, MSG_SELECT_E, PSTR("T1"));
283
         GCODES_ITEM_N(1, MSG_SELECT_E, PSTR("T1"));
284
     #endif
284
     #endif
285
 
285
 
286
   #elif ENABLED(DUAL_X_CARRIAGE)
286
   #elif ENABLED(DUAL_X_CARRIAGE)
287
 
287
 
288
-    MENU_ITEM_IF (active_extruder)
288
+    if (active_extruder)
289
       GCODES_ITEM_N(0, MSG_SELECT_E, PSTR("T0"));
289
       GCODES_ITEM_N(0, MSG_SELECT_E, PSTR("T0"));
290
-    MENU_ITEM_ELSE
290
+    else
291
       GCODES_ITEM_N(1, MSG_SELECT_E, PSTR("T1"));
291
       GCODES_ITEM_N(1, MSG_SELECT_E, PSTR("T1"));
292
 
292
 
293
   #endif
293
   #endif
335
   //
335
   //
336
   // Move Axis
336
   // Move Axis
337
   //
337
   //
338
-  MENU_ITEM_IF (TERN1(DELTA, all_axes_homed()))
338
+  if (TERN1(DELTA, all_axes_homed()))
339
     SUBMENU(MSG_MOVE_AXIS, menu_move);
339
     SUBMENU(MSG_MOVE_AXIS, menu_move);
340
 
340
 
341
   //
341
   //
364
 
364
 
365
   #elif ENABLED(LCD_BED_LEVELING)
365
   #elif ENABLED(LCD_BED_LEVELING)
366
 
366
 
367
-    MENU_ITEM_IF (!g29_in_progress)
367
+    if (!g29_in_progress)
368
       SUBMENU(MSG_BED_LEVELING, menu_bed_leveling);
368
       SUBMENU(MSG_BED_LEVELING, menu_bed_leveling);
369
 
369
 
370
   #elif HAS_LEVELING && DISABLED(SLIM_LCD_MENUS)
370
   #elif HAS_LEVELING && DISABLED(SLIM_LCD_MENUS)
373
       GCODES_ITEM(MSG_LEVEL_BED, PSTR("G28\nG29"));
373
       GCODES_ITEM(MSG_LEVEL_BED, PSTR("G28\nG29"));
374
     #endif
374
     #endif
375
 
375
 
376
-    MENU_ITEM_IF (all_axes_homed() && leveling_is_valid()) {
376
+    if (all_axes_homed() && leveling_is_valid()) {
377
       bool show_state = planner.leveling_active;
377
       bool show_state = planner.leveling_active;
378
       EDIT_ITEM(bool, MSG_BED_LEVELING, &show_state, _lcd_toggle_bed_leveling);
378
       EDIT_ITEM(bool, MSG_BED_LEVELING, &show_state, _lcd_toggle_bed_leveling);
379
     }
379
     }
380
 
380
 
381
     #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
381
     #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
382
-      MENU_ITEM_IF(1) {
383
-        editable.decimal = planner.z_fade_height;
384
-        EDIT_ITEM_FAST(float3, MSG_Z_FADE_HEIGHT, &editable.decimal, 0, 100, []{ set_z_fade_height(editable.decimal); });
385
-      }
382
+      editable.decimal = planner.z_fade_height;
383
+      EDIT_ITEM_FAST(float3, MSG_Z_FADE_HEIGHT, &editable.decimal, 0, 100, []{ set_z_fade_height(editable.decimal); });
386
     #endif
384
     #endif
387
 
385
 
388
   #endif
386
   #endif

+ 13
- 18
Marlin/src/lcd/menu/menu_temperature.cpp Vedi File

154
 #endif // HAS_TEMP_HOTEND || HAS_HEATED_BED
154
 #endif // HAS_TEMP_HOTEND || HAS_HEATED_BED
155
 
155
 
156
 void menu_temperature() {
156
 void menu_temperature() {
157
+  #if HAS_TEMP_HOTEND
158
+    bool has_heat = false;
159
+    HOTEND_LOOP() if (thermalManager.temp_hotend[HOTEND_INDEX].target) { has_heat = true; break; }
160
+  #endif
161
+
157
   START_MENU();
162
   START_MENU();
158
   BACK_ITEM(MSG_MAIN);
163
   BACK_ITEM(MSG_MAIN);
159
 
164
 
198
 
203
 
199
     #if HAS_FAN1 || HAS_FAN2 || HAS_FAN3 || HAS_FAN4 || HAS_FAN5 || HAS_FAN6 || HAS_FAN7
204
     #if HAS_FAN1 || HAS_FAN2 || HAS_FAN3 || HAS_FAN4 || HAS_FAN5 || HAS_FAN6 || HAS_FAN7
200
       auto fan_edit_items = [&](const uint8_t f) {
205
       auto fan_edit_items = [&](const uint8_t f) {
201
-        MENU_ITEM_IF(1) {
202
-          editable.uint8 = thermalManager.fan_speed[f];
203
-          EDIT_ITEM_FAST_N(percent, f, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, on_fan_update);
204
-        }
206
+        editable.uint8 = thermalManager.fan_speed[f];
207
+        EDIT_ITEM_FAST_N(percent, f, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, on_fan_update);
205
         #if ENABLED(EXTRA_FAN_SPEED)
208
         #if ENABLED(EXTRA_FAN_SPEED)
206
           EDIT_ITEM_FAST_N(percent, f, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[f], 3, 255);
209
           EDIT_ITEM_FAST_N(percent, f, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[f], 3, 255);
207
         #endif
210
         #endif
211
     #define SNFAN(N) (ENABLED(SINGLENOZZLE_STANDBY_FAN) && !HAS_FAN##N && EXTRUDERS > N)
214
     #define SNFAN(N) (ENABLED(SINGLENOZZLE_STANDBY_FAN) && !HAS_FAN##N && EXTRUDERS > N)
212
     #if SNFAN(1) || SNFAN(2) || SNFAN(3) || SNFAN(4) || SNFAN(5) || SNFAN(6) || SNFAN(7)
215
     #if SNFAN(1) || SNFAN(2) || SNFAN(3) || SNFAN(4) || SNFAN(5) || SNFAN(6) || SNFAN(7)
213
       auto singlenozzle_item = [&](const uint8_t f) {
216
       auto singlenozzle_item = [&](const uint8_t f) {
214
-        MENU_ITEM_IF(1) {
215
-          editable.uint8 = singlenozzle_fan_speed[f];
216
-          EDIT_ITEM_FAST_N(percent, f, MSG_STORED_FAN_N, &editable.uint8, 0, 255, on_fan_update);
217
-        }
217
+        editable.uint8 = singlenozzle_fan_speed[f];
218
+        EDIT_ITEM_FAST_N(percent, f, MSG_STORED_FAN_N, &editable.uint8, 0, 255, on_fan_update);
218
       };
219
       };
219
     #endif
220
     #endif
220
 
221
 
221
     #if HAS_FAN0
222
     #if HAS_FAN0
222
-      MENU_ITEM_IF(1) {
223
-        editable.uint8 = thermalManager.fan_speed[0];
224
-        EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, on_fan_update);
225
-      }
223
+      editable.uint8 = thermalManager.fan_speed[0];
224
+      EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, on_fan_update);
226
       #if ENABLED(EXTRA_FAN_SPEED)
225
       #if ENABLED(EXTRA_FAN_SPEED)
227
         EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255);
226
         EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255);
228
       #endif
227
       #endif
281
     //
280
     //
282
     // Cooldown
281
     // Cooldown
283
     //
282
     //
284
-    MENU_ITEM_IF(1) {
285
-      bool has_heat = false;
286
-      HOTEND_LOOP() if (thermalManager.temp_hotend[HOTEND_INDEX].target) { has_heat = true; break; }
287
-      if (TERN0(HAS_HEATED_BED, thermalManager.temp_bed.target)) has_heat = true;
288
-      if (has_heat) ACTION_ITEM(MSG_COOLDOWN, lcd_cooldown);
289
-    }
283
+    if (TERN0(HAS_HEATED_BED, thermalManager.temp_bed.target)) has_heat = true;
284
+    if (has_heat) ACTION_ITEM(MSG_COOLDOWN, lcd_cooldown);
290
 
285
 
291
   #endif // HAS_TEMP_HOTEND
286
   #endif // HAS_TEMP_HOTEND
292
 
287
 

+ 6
- 12
Marlin/src/lcd/menu/menu_tune.cpp Vedi File

147
 
147
 
148
     #if HAS_FAN1 || HAS_FAN2 || HAS_FAN3 || HAS_FAN4 || HAS_FAN5 || HAS_FAN6 || HAS_FAN7
148
     #if HAS_FAN1 || HAS_FAN2 || HAS_FAN3 || HAS_FAN4 || HAS_FAN5 || HAS_FAN6 || HAS_FAN7
149
       auto fan_edit_items = [&](const uint8_t f) {
149
       auto fan_edit_items = [&](const uint8_t f) {
150
-        MENU_ITEM_IF(1) {
151
-          editable.uint8 = thermalManager.fan_speed[f];
152
-          EDIT_ITEM_FAST_N(percent, f, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, on_fan_update);
153
-        }
150
+        editable.uint8 = thermalManager.fan_speed[f];
151
+        EDIT_ITEM_FAST_N(percent, f, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, on_fan_update);
154
         #if ENABLED(EXTRA_FAN_SPEED)
152
         #if ENABLED(EXTRA_FAN_SPEED)
155
           EDIT_ITEM_FAST_N(percent, f, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[f], 3, 255);
153
           EDIT_ITEM_FAST_N(percent, f, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[f], 3, 255);
156
         #endif
154
         #endif
160
     #define SNFAN(N) (ENABLED(SINGLENOZZLE_STANDBY_FAN) && !HAS_FAN##N && EXTRUDERS > N)
158
     #define SNFAN(N) (ENABLED(SINGLENOZZLE_STANDBY_FAN) && !HAS_FAN##N && EXTRUDERS > N)
161
     #if SNFAN(1) || SNFAN(2) || SNFAN(3) || SNFAN(4) || SNFAN(5) || SNFAN(6) || SNFAN(7)
159
     #if SNFAN(1) || SNFAN(2) || SNFAN(3) || SNFAN(4) || SNFAN(5) || SNFAN(6) || SNFAN(7)
162
       auto singlenozzle_item = [&](const uint8_t f) {
160
       auto singlenozzle_item = [&](const uint8_t f) {
163
-        MENU_ITEM_IF(1) {
164
-          editable.uint8 = singlenozzle_fan_speed[f];
165
-          EDIT_ITEM_FAST_N(percent, f, MSG_STORED_FAN_N, &editable.uint8, 0, 255, on_fan_update);
166
-        }
161
+        editable.uint8 = singlenozzle_fan_speed[f];
162
+        EDIT_ITEM_FAST_N(percent, f, MSG_STORED_FAN_N, &editable.uint8, 0, 255, on_fan_update);
167
       };
163
       };
168
     #endif
164
     #endif
169
 
165
 
170
     #if HAS_FAN0
166
     #if HAS_FAN0
171
-      MENU_ITEM_IF(1) {
172
-        editable.uint8 = thermalManager.fan_speed[0];
173
-        EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, on_fan_update);
174
-      }
167
+      editable.uint8 = thermalManager.fan_speed[0];
168
+      EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, on_fan_update);
175
       #if ENABLED(EXTRA_FAN_SPEED)
169
       #if ENABLED(EXTRA_FAN_SPEED)
176
         EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255);
170
         EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255);
177
       #endif
171
       #endif

+ 2
- 2
Marlin/src/lcd/menu/menu_ubl.cpp Vedi File

579
 void _lcd_ubl_level_bed() {
579
 void _lcd_ubl_level_bed() {
580
   START_MENU();
580
   START_MENU();
581
   BACK_ITEM(MSG_MOTION);
581
   BACK_ITEM(MSG_MOTION);
582
-  MENU_ITEM_IF (planner.leveling_active)
582
+  if (planner.leveling_active)
583
     GCODES_ITEM(MSG_UBL_DEACTIVATE_MESH, PSTR("G29 D"));
583
     GCODES_ITEM(MSG_UBL_DEACTIVATE_MESH, PSTR("G29 D"));
584
-  MENU_ITEM_ELSE
584
+  else
585
     GCODES_ITEM(MSG_UBL_ACTIVATE_MESH, PSTR("G29 A"));
585
     GCODES_ITEM(MSG_UBL_ACTIVATE_MESH, PSTR("G29 A"));
586
   SUBMENU(MSG_UBL_STEP_BY_STEP_MENU, _lcd_ubl_step_by_step);
586
   SUBMENU(MSG_UBL_STEP_BY_STEP_MENU, _lcd_ubl_step_by_step);
587
   ACTION_ITEM(MSG_UBL_MESH_EDIT, _lcd_ubl_output_map_lcd_cmd);
587
   ACTION_ITEM(MSG_UBL_MESH_EDIT, _lcd_ubl_output_map_lcd_cmd);

Loading…
Annulla
Salva