Browse Source

Reorganized ultralcd menu (10317) (#10360)

Replaced "Prepare" and "Control" menus with "Movement", "Temperature", "Configuration" and "Advanced Settings"
Marcio Teixeira 7 years ago
parent
commit
0966bdcbc4
2 changed files with 190 additions and 199 deletions
  1. 6
    0
      Marlin/src/lcd/language/language_en.h
  2. 184
    199
      Marlin/src/lcd/ultralcd.cpp

+ 6
- 0
Marlin/src/lcd/language/language_en.h View File

61
 #ifndef MSG_MAIN
61
 #ifndef MSG_MAIN
62
   #define MSG_MAIN                            _UxGT("Main")
62
   #define MSG_MAIN                            _UxGT("Main")
63
 #endif
63
 #endif
64
+#ifndef MSG_ADVANCED_SETTINGS
65
+  #define MSG_ADVANCED_SETTINGS               _UxGT("Advanced Settings")
66
+#endif
67
+#ifndef MSG_CONFIGURATION
68
+  #define MSG_CONFIGURATION                   _UxGT("Configuration")
69
+#endif
64
 #ifndef MSG_AUTOSTART
70
 #ifndef MSG_AUTOSTART
65
   #define MSG_AUTOSTART                       _UxGT("Autostart")
71
   #define MSG_AUTOSTART                       _UxGT("Autostart")
66
 #endif
72
 #endif

+ 184
- 199
Marlin/src/lcd/ultralcd.cpp View File

181
 
181
 
182
   void lcd_main_menu();
182
   void lcd_main_menu();
183
   void lcd_tune_menu();
183
   void lcd_tune_menu();
184
-  void lcd_prepare_menu();
184
+  void lcd_movement_menu();
185
   void lcd_move_menu();
185
   void lcd_move_menu();
186
-  void lcd_control_menu();
187
-  void lcd_control_temperature_menu();
188
-  void lcd_control_motion_menu();
186
+  void lcd_configuration_menu();
187
+  void lcd_temperature_menu();
188
+  void lcd_advanced_settings_menu();
189
 
189
 
190
   #if DISABLED(SLIM_LCD_MENUS)
190
   #if DISABLED(SLIM_LCD_MENUS)
191
-    void lcd_control_temperature_preheat_material1_settings_menu();
192
-    void lcd_control_temperature_preheat_material2_settings_menu();
191
+    void lcd_configuration_temperature_preheat_material1_settings_menu();
192
+    void lcd_configuration_temperature_preheat_material2_settings_menu();
193
   #endif
193
   #endif
194
 
194
 
195
   #if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE)
195
   #if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE)
196
-    void lcd_control_filament_menu();
196
+    void lcd_advanced_filament_menu();
197
   #endif
197
   #endif
198
 
198
 
199
   #if ENABLED(LCD_INFO_MENU)
199
   #if ENABLED(LCD_INFO_MENU)
226
 
226
 
227
   #if ENABLED(FWRETRACT)
227
   #if ENABLED(FWRETRACT)
228
     #include "../feature/fwretract.h"
228
     #include "../feature/fwretract.h"
229
-    void lcd_control_retract_menu();
229
+    void lcd_config_retract_menu();
230
   #endif
230
   #endif
231
 
231
 
232
   #if ENABLED(DELTA_CALIBRATION_MENU) || ENABLED(DELTA_AUTO_CALIBRATION)
232
   #if ENABLED(DELTA_CALIBRATION_MENU) || ENABLED(DELTA_AUTO_CALIBRATION)
1093
    *
1093
    *
1094
    */
1094
    */
1095
 
1095
 
1096
+  #if ENABLED(SDSUPPORT) && ENABLED(MENU_ADDAUTOSTART)
1097
+
1098
+    void lcd_autostart_sd() { card.beginautostart(); }
1099
+
1100
+  #endif
1101
+
1096
   void lcd_main_menu() {
1102
   void lcd_main_menu() {
1097
     START_MENU();
1103
     START_MENU();
1098
     MENU_BACK(MSG_WATCH);
1104
     MENU_BACK(MSG_WATCH);
1119
         MENU_ITEM_EDIT_CALLBACK(bool, MSG_CASE_LIGHT, (bool*)&case_light_on, update_case_light);
1125
         MENU_ITEM_EDIT_CALLBACK(bool, MSG_CASE_LIGHT, (bool*)&case_light_on, update_case_light);
1120
     #endif
1126
     #endif
1121
 
1127
 
1122
-    if (planner.movesplanned() || IS_SD_PRINTING)
1123
-      MENU_ITEM(submenu, MSG_TUNE, lcd_tune_menu);
1124
-    else
1125
-      MENU_ITEM(submenu, MSG_PREPARE, lcd_prepare_menu);
1126
-
1127
-    MENU_ITEM(submenu, MSG_CONTROL, lcd_control_menu);
1128
-
1129
     #if ENABLED(SDSUPPORT)
1128
     #if ENABLED(SDSUPPORT)
1130
       if (card.cardOK) {
1129
       if (card.cardOK) {
1131
         if (card.isFileOpen()) {
1130
         if (card.isFileOpen()) {
1150
       }
1149
       }
1151
     #endif // SDSUPPORT
1150
     #endif // SDSUPPORT
1152
 
1151
 
1152
+    if (planner.movesplanned() || IS_SD_PRINTING)
1153
+      MENU_ITEM(submenu, MSG_TUNE, lcd_tune_menu);
1154
+    else {
1155
+      MENU_ITEM(submenu, MSG_MOTION, lcd_movement_menu);
1156
+      MENU_ITEM(submenu, MSG_TEMPERATURE, lcd_temperature_menu);
1157
+      MENU_ITEM(submenu, MSG_CONFIGURATION, lcd_configuration_menu);
1158
+    }
1159
+
1160
+    #if ENABLED(ADVANCED_PAUSE_FEATURE)
1161
+      #if E_STEPPERS == 1 && DISABLED(FILAMENT_LOAD_UNLOAD_GCODES)
1162
+        if (thermalManager.targetHotEnoughToExtrude(active_extruder))
1163
+          MENU_ITEM(gcode, MSG_FILAMENTCHANGE, PSTR("M600 B0"));
1164
+        else
1165
+          MENU_ITEM(submenu, MSG_FILAMENTCHANGE, lcd_temp_menu_e0_filament_change);
1166
+      #else
1167
+        MENU_ITEM(submenu, MSG_FILAMENTCHANGE, lcd_change_filament_menu);
1168
+      #endif
1169
+    #endif
1170
+
1153
     #if ENABLED(LCD_INFO_MENU)
1171
     #if ENABLED(LCD_INFO_MENU)
1154
       MENU_ITEM(submenu, MSG_INFO_MENU, lcd_info_menu);
1172
       MENU_ITEM(submenu, MSG_INFO_MENU, lcd_info_menu);
1155
     #endif
1173
     #endif
1158
       MENU_ITEM(submenu, MSG_LED_CONTROL, lcd_led_menu);
1176
       MENU_ITEM(submenu, MSG_LED_CONTROL, lcd_led_menu);
1159
     #endif
1177
     #endif
1160
 
1178
 
1179
+    //
1180
+    // Switch power on/off
1181
+    //
1182
+    #if HAS_POWER_SWITCH
1183
+      if (powersupply_on)
1184
+        MENU_ITEM(gcode, MSG_SWITCH_PS_OFF, PSTR("M81"));
1185
+      else
1186
+        MENU_ITEM(gcode, MSG_SWITCH_PS_ON, PSTR("M80"));
1187
+    #endif
1188
+
1189
+    //
1190
+    // Autostart
1191
+    //
1192
+    #if ENABLED(SDSUPPORT) && ENABLED(MENU_ADDAUTOSTART)
1193
+      MENU_ITEM(function, MSG_AUTOSTART, lcd_autostart_sd);
1194
+    #endif
1195
+
1161
     END_MENU();
1196
     END_MENU();
1162
   }
1197
   }
1163
 
1198
 
1167
    *
1202
    *
1168
    */
1203
    */
1169
 
1204
 
1170
-  #if HAS_M206_COMMAND
1171
-    /**
1172
-     * Set the home offset based on the current_position
1173
-     */
1174
-    void lcd_set_home_offsets() {
1175
-      // M428 Command
1176
-      enqueue_and_echo_commands_P(PSTR("M428"));
1177
-      lcd_return_to_status();
1178
-    }
1179
-  #endif
1180
-
1181
   #if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) || ENABLED(MESH_EDIT_GFX_OVERLAY)
1205
   #if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) || ENABLED(MESH_EDIT_GFX_OVERLAY)
1182
 
1206
 
1183
     void _lcd_zoffset_overlay_gfx(const float zvalue) {
1207
     void _lcd_zoffset_overlay_gfx(const float zvalue) {
1511
       #endif
1535
       #endif
1512
     #endif
1536
     #endif
1513
 
1537
 
1514
-    //
1515
-    // Change filament
1516
-    //
1517
-    #if ENABLED(ADVANCED_PAUSE_FEATURE)
1518
-      #if E_STEPPERS == 1 && DISABLED(FILAMENT_LOAD_UNLOAD_GCODES)
1519
-        if (thermalManager.targetHotEnoughToExtrude(active_extruder))
1520
-          MENU_ITEM(gcode, MSG_FILAMENTCHANGE, PSTR("M600 B0"));
1521
-        else
1522
-          MENU_ITEM(submenu, MSG_FILAMENTCHANGE, lcd_temp_menu_e0_filament_change);
1523
-      #else
1524
-        MENU_ITEM(submenu, MSG_FILAMENTCHANGE, lcd_change_filament_menu);
1525
-      #endif
1526
-    #endif
1527
-
1528
     END_MENU();
1538
     END_MENU();
1529
   }
1539
   }
1530
 
1540
 
1578
 
1588
 
1579
   /**
1589
   /**
1580
    *
1590
    *
1581
-   * "Prepare" submenu items
1591
+   * "Temperature" submenu items
1582
    *
1592
    *
1583
    */
1593
    */
1584
   void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb, const int16_t fan) {
1594
   void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb, const int16_t fan) {
1691
 
1701
 
1692
     void lcd_preheat_m1_menu() {
1702
     void lcd_preheat_m1_menu() {
1693
       START_MENU();
1703
       START_MENU();
1694
-      MENU_BACK(MSG_PREPARE);
1704
+      MENU_BACK(MSG_TEMPERATURE);
1695
       #if HOTENDS == 1
1705
       #if HOTENDS == 1
1696
         #if HAS_HEATED_BED
1706
         #if HAS_HEATED_BED
1697
           MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0);
1707
           MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0);
1743
 
1753
 
1744
     void lcd_preheat_m2_menu() {
1754
     void lcd_preheat_m2_menu() {
1745
       START_MENU();
1755
       START_MENU();
1746
-      MENU_BACK(MSG_PREPARE);
1756
+      MENU_BACK(MSG_TEMPERATURE);
1747
       #if HOTENDS == 1
1757
       #if HOTENDS == 1
1748
         #if HAS_HEATED_BED
1758
         #if HAS_HEATED_BED
1749
           MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0);
1759
           MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0);
1823
 
1833
 
1824
   #endif
1834
   #endif
1825
 
1835
 
1826
-  #if ENABLED(SDSUPPORT) && ENABLED(MENU_ADDAUTOSTART)
1827
-
1828
-    void lcd_autostart_sd() { card.beginautostart(); }
1829
-
1830
-  #endif
1831
-
1832
   #if ENABLED(EEPROM_SETTINGS)
1836
   #if ENABLED(EEPROM_SETTINGS)
1833
     static void lcd_store_settings()   { lcd_completion_feedback(settings.save()); }
1837
     static void lcd_store_settings()   { lcd_completion_feedback(settings.save()); }
1834
     static void lcd_load_settings()    { lcd_completion_feedback(settings.load()); }
1838
     static void lcd_load_settings()    { lcd_completion_feedback(settings.load()); }
1898
 
1902
 
1899
     /**
1903
     /**
1900
      *
1904
      *
1901
-     * "Prepare" > "Level Bed" handlers
1905
+     * "Motion" > "Level Bed" handlers
1902
      *
1906
      *
1903
      */
1907
      */
1904
 
1908
 
2545
     /**
2549
     /**
2546
      * UBL System submenu
2550
      * UBL System submenu
2547
      *
2551
      *
2548
-     * << Prepare
2552
+     * << Motion
2549
      *  - Manually Build Mesh >>
2553
      *  - Manually Build Mesh >>
2550
      *  - Activate UBL >>
2554
      *  - Activate UBL >>
2551
      *  - Deactivate UBL >>
2555
      *  - Deactivate UBL >>
2558
 
2562
 
2559
     void _lcd_ubl_level_bed() {
2563
     void _lcd_ubl_level_bed() {
2560
       START_MENU();
2564
       START_MENU();
2561
-      MENU_BACK(MSG_PREPARE);
2565
+      MENU_BACK(MSG_MOTION);
2562
       MENU_ITEM(gcode, MSG_UBL_ACTIVATE_MESH, PSTR("G29 A"));
2566
       MENU_ITEM(gcode, MSG_UBL_ACTIVATE_MESH, PSTR("G29 A"));
2563
       MENU_ITEM(gcode, MSG_UBL_DEACTIVATE_MESH, PSTR("G29 D"));
2567
       MENU_ITEM(gcode, MSG_UBL_DEACTIVATE_MESH, PSTR("G29 D"));
2564
       MENU_ITEM(submenu, MSG_UBL_STEP_BY_STEP_MENU, _lcd_ubl_step_by_step);
2568
       MENU_ITEM(submenu, MSG_UBL_STEP_BY_STEP_MENU, _lcd_ubl_step_by_step);
2585
     /**
2589
     /**
2586
      * Step 1: Bed Level entry-point
2590
      * Step 1: Bed Level entry-point
2587
      *
2591
      *
2588
-     * << Prepare
2592
+     * << Motion
2589
      *    Auto Home           (if homing needed)
2593
      *    Auto Home           (if homing needed)
2590
      *    Leveling On/Off     (if data exists, and homed)
2594
      *    Leveling On/Off     (if data exists, and homed)
2591
      *    Fade Height: ---    (Req: ENABLE_LEVELING_FADE_HEIGHT)
2595
      *    Fade Height: ---    (Req: ENABLE_LEVELING_FADE_HEIGHT)
2598
      */
2602
      */
2599
     void lcd_bed_leveling() {
2603
     void lcd_bed_leveling() {
2600
       START_MENU();
2604
       START_MENU();
2601
-      MENU_BACK(MSG_PREPARE);
2605
+      MENU_BACK(MSG_MOTION);
2602
 
2606
 
2603
       const bool is_homed = all_axes_known();
2607
       const bool is_homed = all_axes_known();
2604
 
2608
 
2656
 
2660
 
2657
   /**
2661
   /**
2658
    *
2662
    *
2659
-   * "Prepare" submenu
2663
+   * "Movement" submenu
2660
    *
2664
    *
2661
    */
2665
    */
2662
 
2666
 
2663
-  void lcd_prepare_menu() {
2667
+  void lcd_movement_menu() {
2664
     START_MENU();
2668
     START_MENU();
2665
 
2669
 
2666
     //
2670
     //
2727
         MENU_ITEM(function, MSG_LEVEL_CORNERS, _lcd_level_bed_corners);
2731
         MENU_ITEM(function, MSG_LEVEL_CORNERS, _lcd_level_bed_corners);
2728
     #endif
2732
     #endif
2729
 
2733
 
2730
-    #if HAS_M206_COMMAND && DISABLED(SLIM_LCD_MENUS)
2731
-      //
2732
-      // Set Home Offsets
2733
-      //
2734
-      MENU_ITEM(function, MSG_SET_HOME_OFFSETS, lcd_set_home_offsets);
2735
-    #endif
2736
-
2737
     //
2734
     //
2738
     // Disable Steppers
2735
     // Disable Steppers
2739
     //
2736
     //
2740
     MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84"));
2737
     MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84"));
2741
 
2738
 
2742
-    //
2743
-    // Change filament
2744
-    //
2745
-    #if ENABLED(ADVANCED_PAUSE_FEATURE)
2746
-      if (!IS_SD_FILE_OPEN) {
2747
-        #if E_STEPPERS == 1 && DISABLED(FILAMENT_LOAD_UNLOAD_GCODES)
2748
-          if (thermalManager.targetHotEnoughToExtrude(active_extruder))
2749
-            MENU_ITEM(gcode, MSG_FILAMENTCHANGE, PSTR("M600 B0"));
2750
-          else
2751
-            MENU_ITEM(submenu, MSG_FILAMENTCHANGE, lcd_temp_menu_e0_filament_change);
2752
-        #else
2753
-          MENU_ITEM(submenu, MSG_FILAMENTCHANGE, lcd_change_filament_menu);
2754
-        #endif
2755
-      }
2756
-    #endif // ADVANCED_PAUSE_FEATURE
2757
-
2758
-    #if HAS_TEMP_HOTEND
2759
-
2760
-      //
2761
-      // Cooldown
2762
-      //
2763
-      bool has_heat = false;
2764
-      HOTEND_LOOP() if (thermalManager.target_temperature[HOTEND_INDEX]) { has_heat = true; break; }
2765
-      #if HAS_HEATED_BED
2766
-        if (thermalManager.target_temperature_bed) has_heat = true;
2767
-      #endif
2768
-      if (has_heat) MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown);
2769
-
2770
-      //
2771
-      // Preheat for Material 1 and 2
2772
-      //
2773
-      #if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 || TEMP_SENSOR_4 != 0 || HAS_HEATED_BED
2774
-        MENU_ITEM(submenu, MSG_PREHEAT_1, lcd_preheat_m1_menu);
2775
-        MENU_ITEM(submenu, MSG_PREHEAT_2, lcd_preheat_m2_menu);
2776
-      #else
2777
-        MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0_only);
2778
-        MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0_only);
2779
-      #endif
2780
-
2781
-    #endif // HAS_TEMP_HOTEND
2782
-
2783
-    //
2784
-    // BLTouch Self-Test and Reset
2785
-    //
2786
-    #if ENABLED(BLTOUCH)
2787
-      MENU_ITEM(gcode, MSG_BLTOUCH_SELFTEST, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_SELFTEST)));
2788
-      if (!endstops.z_probe_enabled && TEST_BLTOUCH())
2789
-        MENU_ITEM(gcode, MSG_BLTOUCH_RESET, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_RESET)));
2790
-    #endif
2791
-
2792
-    //
2793
-    // Switch power on/off
2794
-    //
2795
-    #if HAS_POWER_SWITCH
2796
-      if (powersupply_on)
2797
-        MENU_ITEM(gcode, MSG_SWITCH_PS_OFF, PSTR("M81"));
2798
-      else
2799
-        MENU_ITEM(gcode, MSG_SWITCH_PS_ON, PSTR("M80"));
2800
-    #endif
2801
-
2802
-    //
2803
-    // Autostart
2804
-    //
2805
-    #if ENABLED(SDSUPPORT) && ENABLED(MENU_ADDAUTOSTART)
2806
-      MENU_ITEM(function, MSG_AUTOSTART, lcd_autostart_sd);
2807
-    #endif
2808
-
2809
-    //
2810
-    // Delta Calibration
2811
-    //
2812
-    #if ENABLED(DELTA_CALIBRATION_MENU) || ENABLED(DELTA_AUTO_CALIBRATION)
2813
-      MENU_ITEM(submenu, MSG_DELTA_CALIBRATE, lcd_delta_calibrate_menu);
2814
-    #endif
2815
-
2816
     END_MENU();
2739
     END_MENU();
2817
   }
2740
   }
2818
 
2741
 
2991
 
2914
 
2992
   /**
2915
   /**
2993
    *
2916
    *
2994
-   * "Prepare" > "Move Axis" submenu
2917
+   * "Motion" > "Move Axis" submenu
2995
    *
2918
    *
2996
    */
2919
    */
2997
 
2920
 
3143
 
3066
 
3144
   /**
3067
   /**
3145
    *
3068
    *
3146
-   * "Prepare" > "Move Xmm" > "Move XYZ" submenu
3069
+   * "Motion" > "Move Xmm" > "Move XYZ" submenu
3147
    *
3070
    *
3148
    */
3071
    */
3149
 
3072
 
3199
 
3122
 
3200
   /**
3123
   /**
3201
    *
3124
    *
3202
-   * "Prepare" > "Move Axis" submenu
3125
+   * "Motion" > "Move Axis" submenu
3203
    *
3126
    *
3204
    */
3127
    */
3205
 
3128
 
3221
 
3144
 
3222
   void lcd_move_menu() {
3145
   void lcd_move_menu() {
3223
     START_MENU();
3146
     START_MENU();
3224
-    MENU_BACK(MSG_PREPARE);
3147
+    MENU_BACK(MSG_MOTION);
3225
 
3148
 
3226
     #if HAS_SOFTWARE_ENDSTOPS && ENABLED(SOFT_ENDSTOPS_MENU_ITEM)
3149
     #if HAS_SOFTWARE_ENDSTOPS && ENABLED(SOFT_ENDSTOPS_MENU_ITEM)
3227
       MENU_ITEM_EDIT(bool, MSG_LCD_SOFT_ENDSTOPS, &soft_endstops_enabled);
3150
       MENU_ITEM_EDIT(bool, MSG_LCD_SOFT_ENDSTOPS, &soft_endstops_enabled);
3310
 
3233
 
3311
   /**
3234
   /**
3312
    *
3235
    *
3313
-   * "Control" submenu
3236
+   * "Configuration" submenu
3314
    *
3237
    *
3315
    */
3238
    */
3316
 
3239
 
3332
 
3255
 
3333
     static void lcd_init_eeprom_confirm() {
3256
     static void lcd_init_eeprom_confirm() {
3334
       START_MENU();
3257
       START_MENU();
3335
-      MENU_BACK(MSG_CONTROL);
3258
+      MENU_BACK(MSG_ADVANCED_SETTINGS);
3336
       MENU_ITEM(function, MSG_INIT_EEPROM, lcd_init_eeprom);
3259
       MENU_ITEM(function, MSG_INIT_EEPROM, lcd_init_eeprom);
3337
       END_MENU();
3260
       END_MENU();
3338
     }
3261
     }
3339
 
3262
 
3340
   #endif
3263
   #endif
3341
 
3264
 
3342
-  void lcd_control_menu() {
3265
+  void lcd_configuration_menu() {
3343
     START_MENU();
3266
     START_MENU();
3344
     MENU_BACK(MSG_MAIN);
3267
     MENU_BACK(MSG_MAIN);
3345
-    MENU_ITEM(submenu, MSG_TEMPERATURE, lcd_control_temperature_menu);
3346
-    MENU_ITEM(submenu, MSG_MOTION, lcd_control_motion_menu);
3347
 
3268
 
3348
-    #if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE)
3349
-      MENU_ITEM(submenu, MSG_FILAMENT, lcd_control_filament_menu);
3350
-    #elif ENABLED(LIN_ADVANCE)
3351
-      MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999);
3269
+    MENU_ITEM(submenu, MSG_ADVANCED_SETTINGS, lcd_advanced_settings_menu);
3270
+
3271
+    //
3272
+    // Delta Calibration
3273
+    //
3274
+    #if ENABLED(DELTA_CALIBRATION_MENU) || ENABLED(DELTA_AUTO_CALIBRATION)
3275
+      MENU_ITEM(submenu, MSG_DELTA_CALIBRATE, lcd_delta_calibrate_menu);
3352
     #endif
3276
     #endif
3353
 
3277
 
3354
     #if HAS_LCD_CONTRAST
3278
     #if HAS_LCD_CONTRAST
3355
       MENU_ITEM_EDIT_CALLBACK(int3, MSG_CONTRAST, &lcd_contrast, LCD_CONTRAST_MIN, LCD_CONTRAST_MAX, lcd_callback_set_contrast, true);
3279
       MENU_ITEM_EDIT_CALLBACK(int3, MSG_CONTRAST, &lcd_contrast, LCD_CONTRAST_MIN, LCD_CONTRAST_MAX, lcd_callback_set_contrast, true);
3356
     #endif
3280
     #endif
3357
     #if ENABLED(FWRETRACT)
3281
     #if ENABLED(FWRETRACT)
3358
-      MENU_ITEM(submenu, MSG_RETRACT, lcd_control_retract_menu);
3282
+      MENU_ITEM(submenu, MSG_RETRACT, lcd_config_retract_menu);
3359
     #endif
3283
     #endif
3360
     #if ENABLED(DAC_STEPPER_CURRENT)
3284
     #if ENABLED(DAC_STEPPER_CURRENT)
3361
       MENU_ITEM(submenu, MSG_DRIVE_STRENGTH, lcd_dac_menu);
3285
       MENU_ITEM(submenu, MSG_DRIVE_STRENGTH, lcd_dac_menu);
3368
       MENU_ITEM(submenu, MSG_BLTOUCH, bltouch_menu);
3292
       MENU_ITEM(submenu, MSG_BLTOUCH, bltouch_menu);
3369
     #endif
3293
     #endif
3370
 
3294
 
3295
+    #if DISABLED(SLIM_LCD_MENUS)
3296
+      // Preheat configurations
3297
+      MENU_ITEM(submenu, MSG_PREHEAT_1_SETTINGS, lcd_configuration_temperature_preheat_material1_settings_menu);
3298
+      MENU_ITEM(submenu, MSG_PREHEAT_2_SETTINGS, lcd_configuration_temperature_preheat_material2_settings_menu);
3299
+    #endif
3300
+
3371
     #if ENABLED(EEPROM_SETTINGS)
3301
     #if ENABLED(EEPROM_SETTINGS)
3372
       MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
3302
       MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
3373
       MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings);
3303
       MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings);
3375
 
3305
 
3376
     MENU_ITEM(function, MSG_RESTORE_FAILSAFE, lcd_factory_settings);
3306
     MENU_ITEM(function, MSG_RESTORE_FAILSAFE, lcd_factory_settings);
3377
 
3307
 
3378
-    #if ENABLED(EEPROM_SETTINGS) && DISABLED(SLIM_LCD_MENUS)
3379
-      MENU_ITEM(submenu, MSG_INIT_EEPROM, lcd_init_eeprom_confirm);
3380
-    #endif
3381
-
3382
     END_MENU();
3308
     END_MENU();
3383
   }
3309
   }
3384
 
3310
 
3464
 
3390
 
3465
   /**
3391
   /**
3466
    *
3392
    *
3467
-   * "Control" > "Temperature" submenu
3393
+   * "Temperature" submenu
3468
    *
3394
    *
3469
    */
3395
    */
3470
-  void lcd_control_temperature_menu() {
3396
+  void lcd_temperature_menu() {
3471
     START_MENU();
3397
     START_MENU();
3472
-
3473
-    //
3474
-    // ^ Control
3475
-    //
3476
-    MENU_BACK(MSG_CONTROL);
3398
+    MENU_BACK(MSG_MAIN);
3477
 
3399
 
3478
     //
3400
     //
3479
     // Nozzle:
3401
     // Nozzle:
3526
       #endif
3448
       #endif
3527
     #endif // FAN_COUNT > 0
3449
     #endif // FAN_COUNT > 0
3528
 
3450
 
3451
+    #if HAS_TEMP_HOTEND
3452
+
3453
+      //
3454
+      // Cooldown
3455
+      //
3456
+      bool has_heat = false;
3457
+      HOTEND_LOOP() if (thermalManager.target_temperature[HOTEND_INDEX]) { has_heat = true; break; }
3458
+      #if HAS_TEMP_BED
3459
+        if (thermalManager.target_temperature_bed) has_heat = true;
3460
+      #endif
3461
+      if (has_heat) MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown);
3462
+
3463
+      //
3464
+      // Preheat for Material 1 and 2
3465
+      //
3466
+      #if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 || TEMP_SENSOR_4 != 0 || HAS_HEATED_BED
3467
+        MENU_ITEM(submenu, MSG_PREHEAT_1, lcd_preheat_m1_menu);
3468
+        MENU_ITEM(submenu, MSG_PREHEAT_2, lcd_preheat_m2_menu);
3469
+      #else
3470
+        MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0_only);
3471
+        MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0_only);
3472
+      #endif
3473
+
3474
+    #endif // HAS_TEMP_HOTEND
3475
+
3476
+    END_MENU();
3477
+  }
3478
+
3479
+  /**
3480
+   *
3481
+   * "Advanced Settings" -> "Temperature" submenu
3482
+   *
3483
+   */
3484
+  void lcd_advanced_temperature_menu() {
3485
+    START_MENU();
3486
+    MENU_BACK(MSG_ADVANCED_SETTINGS);
3529
     //
3487
     //
3530
     // Autotemp, Min, Max, Fact
3488
     // Autotemp, Min, Max, Fact
3531
     //
3489
     //
3587
 
3545
 
3588
     #endif // PIDTEMP
3546
     #endif // PIDTEMP
3589
 
3547
 
3590
-    #if DISABLED(SLIM_LCD_MENUS)
3591
-      //
3592
-      // Preheat Material 1 conf
3593
-      //
3594
-      MENU_ITEM(submenu, MSG_PREHEAT_1_SETTINGS, lcd_control_temperature_preheat_material1_settings_menu);
3595
-
3596
-      //
3597
-      // Preheat Material 2 conf
3598
-      //
3599
-      MENU_ITEM(submenu, MSG_PREHEAT_2_SETTINGS, lcd_control_temperature_preheat_material2_settings_menu);
3600
-    #endif
3601
-
3602
     END_MENU();
3548
     END_MENU();
3603
   }
3549
   }
3604
 
3550
 
3605
   #if DISABLED(SLIM_LCD_MENUS)
3551
   #if DISABLED(SLIM_LCD_MENUS)
3606
 
3552
 
3607
-    void _lcd_control_temperature_preheat_settings_menu(const uint8_t material) {
3553
+    void _lcd_configuration_temperature_preheat_settings_menu(const uint8_t material) {
3608
       #if HOTENDS > 4
3554
       #if HOTENDS > 4
3609
         #define MINTEMP_ALL MIN5(HEATER_0_MINTEMP, HEATER_1_MINTEMP, HEATER_2_MINTEMP, HEATER_3_MINTEMP, HEATER_4_MINTEMP)
3555
         #define MINTEMP_ALL MIN5(HEATER_0_MINTEMP, HEATER_1_MINTEMP, HEATER_2_MINTEMP, HEATER_3_MINTEMP, HEATER_4_MINTEMP)
3610
         #define MAXTEMP_ALL MAX5(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP, HEATER_2_MAXTEMP, HEATER_3_MAXTEMP, HEATER_4_MAXTEMP)
3556
         #define MAXTEMP_ALL MAX5(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP, HEATER_2_MAXTEMP, HEATER_3_MAXTEMP, HEATER_4_MAXTEMP)
3622
         #define MAXTEMP_ALL HEATER_0_MAXTEMP
3568
         #define MAXTEMP_ALL HEATER_0_MAXTEMP
3623
       #endif
3569
       #endif
3624
       START_MENU();
3570
       START_MENU();
3625
-      MENU_BACK(MSG_TEMPERATURE);
3571
+      MENU_BACK(MSG_CONFIGURATION);
3626
       MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &lcd_preheat_fan_speed[material], 0, 255);
3572
       MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &lcd_preheat_fan_speed[material], 0, 255);
3627
       #if HAS_TEMP_HOTEND
3573
       #if HAS_TEMP_HOTEND
3628
         MENU_ITEM_EDIT(int3, MSG_NOZZLE, &lcd_preheat_hotend_temp[material], MINTEMP_ALL, MAXTEMP_ALL - 15);
3574
         MENU_ITEM_EDIT(int3, MSG_NOZZLE, &lcd_preheat_hotend_temp[material], MINTEMP_ALL, MAXTEMP_ALL - 15);
3641
      * "Temperature" > "Preheat Material 1 conf" submenu
3587
      * "Temperature" > "Preheat Material 1 conf" submenu
3642
      *
3588
      *
3643
      */
3589
      */
3644
-    void lcd_control_temperature_preheat_material1_settings_menu() { _lcd_control_temperature_preheat_settings_menu(0); }
3590
+    void lcd_configuration_temperature_preheat_material1_settings_menu() { _lcd_configuration_temperature_preheat_settings_menu(0); }
3645
 
3591
 
3646
     /**
3592
     /**
3647
      *
3593
      *
3648
      * "Temperature" > "Preheat Material 2 conf" submenu
3594
      * "Temperature" > "Preheat Material 2 conf" submenu
3649
      *
3595
      *
3650
      */
3596
      */
3651
-    void lcd_control_temperature_preheat_material2_settings_menu() { _lcd_control_temperature_preheat_settings_menu(1); }
3597
+    void lcd_configuration_temperature_preheat_material2_settings_menu() { _lcd_configuration_temperature_preheat_settings_menu(1); }
3652
 
3598
 
3653
     void _reset_acceleration_rates() { planner.reset_acceleration_rates(); }
3599
     void _reset_acceleration_rates() { planner.reset_acceleration_rates(); }
3654
     #if ENABLED(DISTINCT_E_FACTORS)
3600
     #if ENABLED(DISTINCT_E_FACTORS)
3688
     #endif
3634
     #endif
3689
 
3635
 
3690
     // M203 / M205 Velocity options
3636
     // M203 / M205 Velocity options
3691
-    void lcd_control_motion_velocity_menu() {
3637
+    void lcd_advanced_velocity_menu() {
3692
       START_MENU();
3638
       START_MENU();
3693
-      MENU_BACK(MSG_MOTION);
3639
+      MENU_BACK(MSG_ADVANCED_SETTINGS);
3694
 
3640
 
3695
       // M203 Max Feedrate
3641
       // M203 Max Feedrate
3696
       MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_A, &planner.max_feedrate_mm_s[A_AXIS], 1, 999);
3642
       MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_A, &planner.max_feedrate_mm_s[A_AXIS], 1, 999);
3724
     }
3670
     }
3725
 
3671
 
3726
     // M201 / M204 Accelerations
3672
     // M201 / M204 Accelerations
3727
-    void lcd_control_motion_acceleration_menu() {
3673
+    void lcd_advanced_acceleration_menu() {
3728
       START_MENU();
3674
       START_MENU();
3729
-      MENU_BACK(MSG_MOTION);
3675
+      MENU_BACK(MSG_ADVANCED_SETTINGS);
3730
 
3676
 
3731
       // M204 P Acceleration
3677
       // M204 P Acceleration
3732
       MENU_MULTIPLIER_ITEM_EDIT(float5, MSG_ACC, &planner.acceleration, 10, 99000);
3678
       MENU_MULTIPLIER_ITEM_EDIT(float5, MSG_ACC, &planner.acceleration, 10, 99000);
3763
     }
3709
     }
3764
 
3710
 
3765
     // M205 Jerk
3711
     // M205 Jerk
3766
-    void lcd_control_motion_jerk_menu() {
3712
+    void lcd_advanced_jerk_menu() {
3767
       START_MENU();
3713
       START_MENU();
3768
-      MENU_BACK(MSG_MOTION);
3714
+      MENU_BACK(MSG_ADVANCED_SETTINGS);
3769
 
3715
 
3770
       #if ENABLED(JUNCTION_DEVIATION)
3716
       #if ENABLED(JUNCTION_DEVIATION)
3771
         MENU_ITEM_EDIT_CALLBACK(float43, MSG_JUNCTION_DEVIATION, &planner.junction_deviation_mm, 0.01f, 0.3f, planner.recalculate_max_e_jerk);
3717
         MENU_ITEM_EDIT_CALLBACK(float43, MSG_JUNCTION_DEVIATION, &planner.junction_deviation_mm, 0.01f, 0.3f, planner.recalculate_max_e_jerk);
3784
     }
3730
     }
3785
 
3731
 
3786
     // M92 Steps-per-mm
3732
     // M92 Steps-per-mm
3787
-    void lcd_control_motion_steps_per_mm_menu() {
3733
+    void lcd_advanced_steps_per_mm_menu() {
3788
       START_MENU();
3734
       START_MENU();
3789
-      MENU_BACK(MSG_MOTION);
3735
+      MENU_BACK(MSG_ADVANCED_SETTINGS);
3790
 
3736
 
3791
       MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_ASTEPS, &planner.axis_steps_per_mm[A_AXIS], 5, 9999, _planner_refresh_positioning);
3737
       MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_ASTEPS, &planner.axis_steps_per_mm[A_AXIS], 5, 9999, _planner_refresh_positioning);
3792
       MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_BSTEPS, &planner.axis_steps_per_mm[B_AXIS], 5, 9999, _planner_refresh_positioning);
3738
       MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_BSTEPS, &planner.axis_steps_per_mm[B_AXIS], 5, 9999, _planner_refresh_positioning);
3816
 
3762
 
3817
   /**
3763
   /**
3818
    *
3764
    *
3819
-   * "Control" > "Motion" submenu
3765
+   * "Advanced Settings" submenu
3820
    *
3766
    *
3821
    */
3767
    */
3822
 
3768
 
3823
-  void lcd_control_motion_menu() {
3769
+  #if HAS_M206_COMMAND
3770
+    /**
3771
+     * Set the home offset based on the current_position
3772
+     */
3773
+    void lcd_set_home_offsets() {
3774
+      // M428 Command
3775
+      enqueue_and_echo_commands_P(PSTR("M428"));
3776
+      lcd_return_to_status();
3777
+    }
3778
+  #endif
3779
+
3780
+  void lcd_advanced_settings_menu() {
3824
     START_MENU();
3781
     START_MENU();
3825
-    MENU_BACK(MSG_CONTROL);
3782
+    MENU_BACK(MSG_CONFIGURATION);
3826
 
3783
 
3827
     #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
3784
     #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
3828
       MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
3785
       MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
3832
 
3789
 
3833
     #if DISABLED(SLIM_LCD_MENUS)
3790
     #if DISABLED(SLIM_LCD_MENUS)
3834
 
3791
 
3792
+      #if HAS_M206_COMMAND
3793
+        //
3794
+        // Set Home Offsets
3795
+        //
3796
+        MENU_ITEM(function, MSG_SET_HOME_OFFSETS, lcd_set_home_offsets);
3797
+      #endif
3798
+
3835
       // M203 / M205 - Feedrate items
3799
       // M203 / M205 - Feedrate items
3836
-      MENU_ITEM(submenu, MSG_VELOCITY, lcd_control_motion_velocity_menu);
3800
+      MENU_ITEM(submenu, MSG_VELOCITY, lcd_advanced_velocity_menu);
3837
 
3801
 
3838
       // M201 - Acceleration items
3802
       // M201 - Acceleration items
3839
-      MENU_ITEM(submenu, MSG_ACCELERATION, lcd_control_motion_acceleration_menu);
3803
+      MENU_ITEM(submenu, MSG_ACCELERATION, lcd_advanced_acceleration_menu);
3840
 
3804
 
3841
       // M205 - Max Jerk
3805
       // M205 - Max Jerk
3842
-      MENU_ITEM(submenu, MSG_JERK, lcd_control_motion_jerk_menu);
3806
+      MENU_ITEM(submenu, MSG_JERK, lcd_advanced_jerk_menu);
3843
 
3807
 
3844
       // M92 - Steps Per mm
3808
       // M92 - Steps Per mm
3845
-      MENU_ITEM(submenu, MSG_STEPS_PER_MM, lcd_control_motion_steps_per_mm_menu);
3809
+      MENU_ITEM(submenu, MSG_STEPS_PER_MM, lcd_advanced_steps_per_mm_menu);
3846
 
3810
 
3847
     #endif // !SLIM_LCD_MENUS
3811
     #endif // !SLIM_LCD_MENUS
3848
 
3812
 
3813
+    MENU_ITEM(submenu, MSG_TEMPERATURE, lcd_advanced_temperature_menu);
3814
+
3815
+    #if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE)
3816
+      MENU_ITEM(submenu, MSG_FILAMENT, lcd_advanced_filament_menu);
3817
+    #elif ENABLED(LIN_ADVANCE)
3818
+      MENU_ITEM_EDIT(float32, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999);
3819
+    #endif
3820
+
3849
     // M540 S - Abort on endstop hit when SD printing
3821
     // M540 S - Abort on endstop hit when SD printing
3850
     #if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED)
3822
     #if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED)
3851
       MENU_ITEM_EDIT(bool, MSG_ENDSTOP_ABORT, &planner.abort_on_endstop_hit);
3823
       MENU_ITEM_EDIT(bool, MSG_ENDSTOP_ABORT, &planner.abort_on_endstop_hit);
3852
     #endif
3824
     #endif
3853
 
3825
 
3826
+    //
3827
+    // BLTouch Self-Test and Reset
3828
+    //
3829
+    #if ENABLED(BLTOUCH)
3830
+      MENU_ITEM(gcode, MSG_BLTOUCH_SELFTEST, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_SELFTEST)));
3831
+      if (!endstops.z_probe_enabled && TEST_BLTOUCH())
3832
+        MENU_ITEM(gcode, MSG_BLTOUCH_RESET, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_RESET)));
3833
+    #endif
3834
+
3835
+    #if ENABLED(EEPROM_SETTINGS) && DISABLED(SLIM_LCD_MENUS)
3836
+      MENU_ITEM(submenu, MSG_INIT_EEPROM, lcd_init_eeprom_confirm);
3837
+    #endif
3838
+
3854
     END_MENU();
3839
     END_MENU();
3855
   }
3840
   }
3856
 
3841
 
3857
   #if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE)
3842
   #if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE)
3858
     /**
3843
     /**
3859
      *
3844
      *
3860
-     * "Control" > "Filament" submenu
3845
+     * "Advanced Settings" > "Filament" submenu
3861
      *
3846
      *
3862
      */
3847
      */
3863
-    void lcd_control_filament_menu() {
3848
+    void lcd_advanced_filament_menu() {
3864
       START_MENU();
3849
       START_MENU();
3865
-      MENU_BACK(MSG_CONTROL);
3850
+      MENU_BACK(MSG_ADVANCED_SETTINGS);
3866
 
3851
 
3867
       #if ENABLED(LIN_ADVANCE)
3852
       #if ENABLED(LIN_ADVANCE)
3868
         MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999);
3853
         MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999);
3941
 
3926
 
3942
   /**
3927
   /**
3943
    *
3928
    *
3944
-   * "Control" > "Retract" submenu
3929
+   * "Configuration" > "Retract" submenu
3945
    *
3930
    *
3946
    */
3931
    */
3947
   #if ENABLED(FWRETRACT)
3932
   #if ENABLED(FWRETRACT)
3948
 
3933
 
3949
-    void lcd_control_retract_menu() {
3934
+    void lcd_config_retract_menu() {
3950
       START_MENU();
3935
       START_MENU();
3951
       MENU_BACK(MSG_CONTROL);
3936
       MENU_BACK(MSG_CONTROL);
3952
       MENU_ITEM_EDIT_CALLBACK(bool, MSG_AUTORETRACT, &fwretract.autoretract_enabled, fwretract.refresh_autoretract);
3937
       MENU_ITEM_EDIT_CALLBACK(bool, MSG_AUTORETRACT, &fwretract.autoretract_enabled, fwretract.refresh_autoretract);
4378
     #if E_STEPPERS > 1 || ENABLED(FILAMENT_LOAD_UNLOAD_GCODES)
4363
     #if E_STEPPERS > 1 || ENABLED(FILAMENT_LOAD_UNLOAD_GCODES)
4379
       void lcd_change_filament_menu() {
4364
       void lcd_change_filament_menu() {
4380
         START_MENU();
4365
         START_MENU();
4381
-        MENU_BACK(MSG_PREPARE);
4366
+        MENU_BACK(MSG_MAIN);
4382
 
4367
 
4383
         // Change filament
4368
         // Change filament
4384
         #if E_STEPPERS == 1
4369
         #if E_STEPPERS == 1

Loading…
Cancel
Save