Browse Source

Improve LCD leveling edits

Scott Lahteine 7 years ago
parent
commit
8dd08425fd
1 changed files with 23 additions and 8 deletions
  1. 23
    8
      Marlin/src/lcd/ultralcd.cpp

+ 23
- 8
Marlin/src/lcd/ultralcd.cpp View File

@@ -1906,11 +1906,12 @@ void kill_screen(const char* lcd_msg) {
1906 1906
       enqueue_and_echo_commands_P(PSTR("G28"));
1907 1907
     }
1908 1908
 
1909
-    static bool _level_state;
1910
-    void _lcd_toggle_bed_leveling() { set_bed_leveling_enabled(_level_state); }
1909
+    static bool new_level_state;
1910
+    void _lcd_toggle_bed_leveling() { set_bed_leveling_enabled(new_level_state); }
1911 1911
 
1912 1912
     #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1913
-      void _lcd_set_z_fade_height() { set_z_fade_height(planner.z_fade_height); }
1913
+      static float new_z_fade_height;
1914
+      void _lcd_set_z_fade_height() { set_z_fade_height(new_z_fade_height); }
1914 1915
     #endif
1915 1916
 
1916 1917
     /**
@@ -1934,13 +1935,11 @@ void kill_screen(const char* lcd_msg) {
1934 1935
       if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS]))
1935 1936
         MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28"));
1936 1937
       else if (leveling_is_valid()) {
1937
-        _level_state = planner.leveling_active;
1938
-        MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &_level_state, _lcd_toggle_bed_leveling);
1938
+        MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling);
1939 1939
       }
1940 1940
 
1941 1941
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1942
-        //set_z_fade_height(planner.z_fade_height);
1943
-        MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &planner.z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height);
1942
+        MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height);
1944 1943
       #endif
1945 1944
 
1946 1945
       //
@@ -1971,6 +1970,16 @@ void kill_screen(const char* lcd_msg) {
1971 1970
       END_MENU();
1972 1971
     }
1973 1972
 
1973
+    void _lcd_goto_bed_leveling() {
1974
+      currentScreen = lcd_bed_leveling;
1975
+      #if ENABLED(LCD_BED_LEVELING)
1976
+        new_level_state = planner.leveling_active;
1977
+      #endif
1978
+      #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1979
+        new_z_fade_height = planner.z_fade_height;
1980
+      #endif
1981
+    }
1982
+
1974 1983
   #elif ENABLED(AUTO_BED_LEVELING_UBL)
1975 1984
 
1976 1985
     void _lcd_ubl_level_bed();
@@ -2541,7 +2550,13 @@ void kill_screen(const char* lcd_msg) {
2541 2550
       #if ENABLED(PROBE_MANUALLY)
2542 2551
         if (!g29_in_progress)
2543 2552
       #endif
2544
-      MENU_ITEM(submenu, MSG_BED_LEVELING, lcd_bed_leveling);
2553
+          MENU_ITEM(submenu, MSG_BED_LEVELING,
2554
+            #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
2555
+              _lcd_goto_bed_leveling
2556
+            #else
2557
+              lcd_bed_leveling
2558
+            #endif
2559
+          );
2545 2560
     #else
2546 2561
       #if PLANNER_LEVELING
2547 2562
         MENU_ITEM(gcode, MSG_BED_LEVELING, PSTR("G28\nG29"));

Loading…
Cancel
Save