Tramming Wizard submenu option (#20000)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
		| @@ -808,7 +808,9 @@ | |||||||
|  |  | ||||||
|   #define RESTORE_LEVELING_AFTER_G35    // Enable to restore leveling setup after operation |   #define RESTORE_LEVELING_AFTER_G35    // Enable to restore leveling setup after operation | ||||||
|   //#define REPORT_TRAMMING_MM          // Report Z deviation (mm) for each point relative to the first |   //#define REPORT_TRAMMING_MM          // Report Z deviation (mm) for each point relative to the first | ||||||
|   //#define ASSISTED_TRAMMING_MENU_ITEM // Add a menu item for Assisted Tramming |  | ||||||
|  |   //#define ASSISTED_TRAMMING_MENU_ITEM // Add a menu item to run G35 Assisted Tramming (MarlinUI) | ||||||
|  |   //#define ASSISTED_TRAMMING_WIZARD    // Make the menu item open a Tramming Wizard sub-menu | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * Screw thread: |    * Screw thread: | ||||||
|   | |||||||
							
								
								
									
										59
									
								
								Marlin/src/feature/tramming.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								Marlin/src/feature/tramming.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | |||||||
|  | /** | ||||||
|  |  * Marlin 3D Printer Firmware | ||||||
|  |  * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] | ||||||
|  |  * | ||||||
|  |  * Based on Sprinter and grbl. | ||||||
|  |  * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm | ||||||
|  |  * | ||||||
|  |  * This program is free software: you can redistribute it and/or modify | ||||||
|  |  * it under the terms of the GNU General Public License as published by | ||||||
|  |  * the Free Software Foundation, either version 3 of the License, or | ||||||
|  |  * (at your option) any later version. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  * GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License | ||||||
|  |  * along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "../inc/MarlinConfigPre.h" | ||||||
|  |  | ||||||
|  | #if !WITHIN(TRAMMING_SCREW_THREAD, 30, 51) || TRAMMING_SCREW_THREAD % 10 > 1 | ||||||
|  |   #error "TRAMMING_SCREW_THREAD must be equal to 30, 31, 40, 41, 50, or 51." | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | constexpr xy_pos_t screws_tilt_adjust_pos[] = TRAMMING_POINT_XY; | ||||||
|  |  | ||||||
|  | #define G35_PROBE_COUNT COUNT(screws_tilt_adjust_pos) | ||||||
|  | static_assert(G35_PROBE_COUNT >= 3, "TRAMMING_POINT_XY requires at least 3 XY positions."); | ||||||
|  |  | ||||||
|  | extern const char point_name_1[], point_name_2[], point_name_3[] | ||||||
|  |   #ifdef TRAMMING_POINT_NAME_4 | ||||||
|  |     , point_name_4[] | ||||||
|  |     #ifdef TRAMMING_POINT_NAME_5 | ||||||
|  |       , point_name_5[] | ||||||
|  |     #endif | ||||||
|  |   #endif | ||||||
|  | ; | ||||||
|  |  | ||||||
|  | #define _NR_TRAM_NAMES 2 | ||||||
|  | #ifdef TRAMMING_POINT_NAME_3 | ||||||
|  |   #undef _NR_TRAM_NAMES | ||||||
|  |   #define _NR_TRAM_NAMES 3 | ||||||
|  |   #ifdef TRAMMING_POINT_NAME_4 | ||||||
|  |     #undef _NR_TRAM_NAMES | ||||||
|  |     #define _NR_TRAM_NAMES 4 | ||||||
|  |     #ifdef TRAMMING_POINT_NAME_5 | ||||||
|  |       #undef _NR_TRAM_NAMES | ||||||
|  |       #define _NR_TRAM_NAMES 5 | ||||||
|  |     #endif | ||||||
|  |   #endif | ||||||
|  | #endif | ||||||
|  | static_assert(_NR_TRAM_NAMES >= G35_PROBE_COUNT, "Define enough TRAMMING_POINT_NAME_s for all TRAMMING_POINT_XY entries."); | ||||||
|  | #undef _NR_TRAM_NAMES | ||||||
|  |  | ||||||
|  | extern PGM_P const tramming_point_name[]; | ||||||
| @@ -36,19 +36,23 @@ | |||||||
| #define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE) | #define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE) | ||||||
| #include "../../core/debug_out.h" | #include "../../core/debug_out.h" | ||||||
|  |  | ||||||
| constexpr xy_pos_t screws_tilt_adjust_pos[] = TRAMMING_POINT_XY; | // | ||||||
|  | // Define tramming point names. | ||||||
|  | // | ||||||
|  |  | ||||||
| static PGMSTR(point_name_1, TRAMMING_POINT_NAME_1); | #include "../../feature/tramming.h" // Validate | ||||||
| static PGMSTR(point_name_2, TRAMMING_POINT_NAME_2); |  | ||||||
| static PGMSTR(point_name_3, TRAMMING_POINT_NAME_3); | PGMSTR(point_name_1, TRAMMING_POINT_NAME_1); | ||||||
|  | PGMSTR(point_name_2, TRAMMING_POINT_NAME_2); | ||||||
|  | PGMSTR(point_name_3, TRAMMING_POINT_NAME_3); | ||||||
| #ifdef TRAMMING_POINT_NAME_4 | #ifdef TRAMMING_POINT_NAME_4 | ||||||
|   static PGMSTR(point_name_4, TRAMMING_POINT_NAME_4); |   PGMSTR(point_name_4, TRAMMING_POINT_NAME_4); | ||||||
|   #ifdef TRAMMING_POINT_NAME_5 |   #ifdef TRAMMING_POINT_NAME_5 | ||||||
|     static PGMSTR(point_name_5, TRAMMING_POINT_NAME_5); |     PGMSTR(point_name_5, TRAMMING_POINT_NAME_5); | ||||||
|   #endif |   #endif | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| static PGM_P const tramming_point_name[] PROGMEM = { | PGM_P const tramming_point_name[] PROGMEM = { | ||||||
|   point_name_1, point_name_2, point_name_3 |   point_name_1, point_name_2, point_name_3 | ||||||
|   #ifdef TRAMMING_POINT_NAME_4 |   #ifdef TRAMMING_POINT_NAME_4 | ||||||
|     , point_name_4 |     , point_name_4 | ||||||
| @@ -58,14 +62,6 @@ static PGM_P const tramming_point_name[] PROGMEM = { | |||||||
|   #endif |   #endif | ||||||
| }; | }; | ||||||
|  |  | ||||||
| #define G35_PROBE_COUNT COUNT(screws_tilt_adjust_pos) |  | ||||||
|  |  | ||||||
| #if !WITHIN(TRAMMING_SCREW_THREAD, 30, 51) || TRAMMING_SCREW_THREAD % 10 > 1 |  | ||||||
|   #error "TRAMMING_SCREW_THREAD must be equal to 30, 31, 40, 41, 50, or 51." |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| static_assert(G35_PROBE_COUNT > 2, "TRAMMING_POINT_XY requires at least 3 XY positions."); |  | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * G35: Read bed corners to help adjust bed screws |  * G35: Read bed corners to help adjust bed screws | ||||||
|  * |  * | ||||||
|   | |||||||
| @@ -73,7 +73,6 @@ namespace Language_en { | |||||||
|   PROGMEM Language_Str MSG_AUTO_HOME_Y                     = _UxGT("Home Y"); |   PROGMEM Language_Str MSG_AUTO_HOME_Y                     = _UxGT("Home Y"); | ||||||
|   PROGMEM Language_Str MSG_AUTO_HOME_Z                     = _UxGT("Home Z"); |   PROGMEM Language_Str MSG_AUTO_HOME_Z                     = _UxGT("Home Z"); | ||||||
|   PROGMEM Language_Str MSG_AUTO_Z_ALIGN                    = _UxGT("Auto Z-Align"); |   PROGMEM Language_Str MSG_AUTO_Z_ALIGN                    = _UxGT("Auto Z-Align"); | ||||||
|   PROGMEM Language_Str MSG_ASSISTED_TRAMMING               = _UxGT("Assisted Tramming"); |  | ||||||
|   PROGMEM Language_Str MSG_ITERATION                       = _UxGT("G34 Iteration: %i"); |   PROGMEM Language_Str MSG_ITERATION                       = _UxGT("G34 Iteration: %i"); | ||||||
|   PROGMEM Language_Str MSG_DECREASING_ACCURACY             = _UxGT("Accuracy Decreasing!"); |   PROGMEM Language_Str MSG_DECREASING_ACCURACY             = _UxGT("Accuracy Decreasing!"); | ||||||
|   PROGMEM Language_Str MSG_ACCURACY_ACHIEVED               = _UxGT("Accuracy Achieved"); |   PROGMEM Language_Str MSG_ACCURACY_ACHIEVED               = _UxGT("Accuracy Achieved"); | ||||||
| @@ -85,6 +84,10 @@ namespace Language_en { | |||||||
|   PROGMEM Language_Str MSG_SET_HOME_OFFSETS                = _UxGT("Set Home Offsets"); |   PROGMEM Language_Str MSG_SET_HOME_OFFSETS                = _UxGT("Set Home Offsets"); | ||||||
|   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Offsets Applied"); |   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Offsets Applied"); | ||||||
|   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Set Origin"); |   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Set Origin"); | ||||||
|  |   PROGMEM Language_Str MSG_ASSISTED_TRAMMING               = _UxGT("Assisted Tramming"); | ||||||
|  |   PROGMEM Language_Str MSG_TRAMMING_WIZARD                 = _UxGT("Tramming Wizard"); | ||||||
|  |   PROGMEM Language_Str MSG_SELECT_ORIGIN                   = _UxGT("Select Origin"); | ||||||
|  |   PROGMEM Language_Str MSG_LAST_VALUE_SP                   = _UxGT("Last value "); | ||||||
|   #if PREHEAT_COUNT |   #if PREHEAT_COUNT | ||||||
|     PROGMEM Language_Str MSG_PREHEAT_1                     = _UxGT("Preheat ") PREHEAT_1_LABEL; |     PROGMEM Language_Str MSG_PREHEAT_1                     = _UxGT("Preheat ") PREHEAT_1_LABEL; | ||||||
|     PROGMEM Language_Str MSG_PREHEAT_1_H                   = _UxGT("Preheat ") PREHEAT_1_LABEL " ~"; |     PROGMEM Language_Str MSG_PREHEAT_1_H                   = _UxGT("Preheat ") PREHEAT_1_LABEL " ~"; | ||||||
| @@ -666,6 +669,7 @@ namespace Language_en { | |||||||
|   PROGMEM Language_Str MSG_REHEATING                       = _UxGT("Reheating..."); |   PROGMEM Language_Str MSG_REHEATING                       = _UxGT("Reheating..."); | ||||||
|  |  | ||||||
|   PROGMEM Language_Str MSG_PROBE_WIZARD                    = _UxGT("Z Probe Wizard"); |   PROGMEM Language_Str MSG_PROBE_WIZARD                    = _UxGT("Z Probe Wizard"); | ||||||
|  |  | ||||||
|   PROGMEM Language_Str MSG_SOUND                           = _UxGT("Sound"); |   PROGMEM Language_Str MSG_SOUND                           = _UxGT("Sound"); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -305,6 +305,10 @@ void menu_move() { | |||||||
|   void menu_bed_leveling(); |   void menu_bed_leveling(); | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #if ENABLED(ASSISTED_TRAMMING_WIZARD) | ||||||
|  |   void goto_tramming_wizard(); | ||||||
|  | #endif | ||||||
|  |  | ||||||
| void menu_motion() { | void menu_motion() { | ||||||
|   START_MENU(); |   START_MENU(); | ||||||
|  |  | ||||||
| @@ -346,7 +350,9 @@ void menu_motion() { | |||||||
|   // |   // | ||||||
|   // Assisted Bed Tramming |   // Assisted Bed Tramming | ||||||
|   // |   // | ||||||
|   #if ENABLED(ASSISTED_TRAMMING_MENU_ITEM) |   #if ENABLED(ASSISTED_TRAMMING_WIZARD) | ||||||
|  |     SUBMENU(MSG_TRAMMING_WIZARD, goto_tramming_wizard); | ||||||
|  |   #elif ENABLED(ASSISTED_TRAMMING_MENU_ITEM) | ||||||
|     GCODES_ITEM(MSG_ASSISTED_TRAMMING, PSTR("G35")); |     GCODES_ITEM(MSG_ASSISTED_TRAMMING, PSTR("G35")); | ||||||
|   #endif |   #endif | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										93
									
								
								Marlin/src/lcd/menu/menu_tramming.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								Marlin/src/lcd/menu/menu_tramming.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,93 @@ | |||||||
|  | /** | ||||||
|  |  * Marlin 3D Printer Firmware | ||||||
|  |  * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] | ||||||
|  |  * | ||||||
|  |  * Based on Sprinter and grbl. | ||||||
|  |  * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm | ||||||
|  |  * | ||||||
|  |  * This program is free software: you can redistribute it and/or modify | ||||||
|  |  * it under the terms of the GNU General Public License as published by | ||||||
|  |  * the Free Software Foundation, either version 3 of the License, or | ||||||
|  |  * (at your option) any later version. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  * GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License | ||||||
|  |  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | // | ||||||
|  | // Bed Tramming Wizard | ||||||
|  | // | ||||||
|  |  | ||||||
|  | #include "../../inc/MarlinConfigPre.h" | ||||||
|  |  | ||||||
|  | #if BOTH(HAS_LCD_MENU, ASSISTED_TRAMMING_WIZARD) | ||||||
|  |  | ||||||
|  | #include "menu_item.h" | ||||||
|  |  | ||||||
|  | #include "../../feature/tramming.h" | ||||||
|  |  | ||||||
|  | #include "../../module/motion.h" | ||||||
|  | #include "../../module/probe.h" | ||||||
|  | #include "../../gcode/queue.h" | ||||||
|  |  | ||||||
|  | //#define DEBUG_OUT 1 | ||||||
|  | #include "../../core/debug_out.h" | ||||||
|  |  | ||||||
|  | float z_measured[G35_PROBE_COUNT] = { 0 }; | ||||||
|  | static uint8_t tram_index = 0; | ||||||
|  |  | ||||||
|  | bool probe_single_point() { | ||||||
|  |   const float z_probed_height = probe.probe_at_point(screws_tilt_adjust_pos[tram_index], PROBE_PT_RAISE, 0, true); | ||||||
|  |   DEBUG_ECHOLNPAIR("probe_single_point: ", z_probed_height, "mm"); | ||||||
|  |   z_measured[tram_index] = z_probed_height; | ||||||
|  |   return !isnan(z_probed_height); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void _menu_single_probe(const uint8_t point) { | ||||||
|  |   tram_index = point; | ||||||
|  |   DEBUG_ECHOLNPAIR("Screen: single probe screen Arg:", point); | ||||||
|  |   START_MENU(); | ||||||
|  |   STATIC_ITEM(MSG_LEVEL_CORNERS, SS_LEFT); | ||||||
|  |   STATIC_ITEM(MSG_LAST_VALUE_SP, SS_LEFT, ftostr42_52(z_measured[0] - z_measured[point])); // Print diff | ||||||
|  |   ACTION_ITEM(MSG_UBL_BC_INSERT2, []{ if (probe_single_point()) ui.refresh(); }); | ||||||
|  |   ACTION_ITEM(MSG_BUTTON_DONE, []{ ui.goto_previous_screen_no_defer(); }); // Back | ||||||
|  |   END_MENU(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void tramming_wizard_menu() { | ||||||
|  |   DEBUG_ECHOLNPAIR("Screen: tramming_wizard_menu"); | ||||||
|  |   START_MENU(); | ||||||
|  |   STATIC_ITEM(MSG_SELECT_ORIGIN); | ||||||
|  |  | ||||||
|  |   // Draw a menu item for each tramming point | ||||||
|  |   LOOP_L_N(i, G35_PROBE_COUNT) | ||||||
|  |     SUBMENU_N_P(i, (char*)pgm_read_ptr(&tramming_point_name[i]), []{ _menu_single_probe(MenuItemBase::itemIndex); }); | ||||||
|  |  | ||||||
|  |   ACTION_ITEM(MSG_BUTTON_DONE, []{ ui.goto_previous_screen_no_defer(); }); | ||||||
|  |   END_MENU(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Init the wizard and enter the submenu | ||||||
|  | void goto_tramming_wizard() { | ||||||
|  |   DEBUG_ECHOLNPAIR("Screen: goto_tramming_wizard", 1); | ||||||
|  |   tram_index = 0; | ||||||
|  |   ui.defer_status_screen(); | ||||||
|  |   //probe_single_point(); // Probe first point to get differences | ||||||
|  |  | ||||||
|  |   // Inject G28, wait for homing to complete, | ||||||
|  |   set_all_unhomed(); | ||||||
|  |   queue.inject_P(G28_STR); | ||||||
|  |   ui.goto_screen([]{ | ||||||
|  |     _lcd_draw_homing(); | ||||||
|  |     if (all_axes_homed()) | ||||||
|  |       ui.goto_screen(tramming_wizard_menu); | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | #endif // HAS_LCD_MENU && ASSISTED_TRAMMING_WIZARD | ||||||
| @@ -111,6 +111,9 @@ | |||||||
|   #if ENABLED(TOUCH_SCREEN_CALIBRATION) |   #if ENABLED(TOUCH_SCREEN_CALIBRATION) | ||||||
|     #define HAS_MENU_TOUCH_SCREEN |     #define HAS_MENU_TOUCH_SCREEN | ||||||
|   #endif |   #endif | ||||||
|  |   #if ENABLED(ASSISTED_TRAMMING_WIZARD) | ||||||
|  |     #define HAS_MENU_TRAMMING | ||||||
|  |   #endif | ||||||
|   #if ENABLED(AUTO_BED_LEVELING_UBL) |   #if ENABLED(AUTO_BED_LEVELING_UBL) | ||||||
|     #define HAS_MENU_UBL |     #define HAS_MENU_UBL | ||||||
|   #endif |   #endif | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ opt_set TEMP_SENSOR_BED 2 | |||||||
| opt_set GRID_MAX_POINTS_X 16 | opt_set GRID_MAX_POINTS_X 16 | ||||||
| opt_set FANMUX0_PIN 53 | opt_set FANMUX0_PIN 53 | ||||||
| opt_enable S_CURVE_ACCELERATION EEPROM_SETTINGS GCODE_MACROS \ | opt_enable S_CURVE_ACCELERATION EEPROM_SETTINGS GCODE_MACROS \ | ||||||
|            FIX_MOUNTED_PROBE Z_SAFE_HOMING CODEPENDENT_XY_HOMING ASSISTED_TRAMMING \ |            FIX_MOUNTED_PROBE Z_SAFE_HOMING CODEPENDENT_XY_HOMING ASSISTED_TRAMMING ASSISTED_TRAMMING_WIZARD \ | ||||||
|            EEPROM_SETTINGS SDSUPPORT BINARY_FILE_TRANSFER \ |            EEPROM_SETTINGS SDSUPPORT BINARY_FILE_TRANSFER \ | ||||||
|            BLINKM PCA9533 PCA9632 RGB_LED RGB_LED_R_PIN RGB_LED_G_PIN RGB_LED_B_PIN LED_CONTROL_MENU \ |            BLINKM PCA9533 PCA9632 RGB_LED RGB_LED_R_PIN RGB_LED_G_PIN RGB_LED_B_PIN LED_CONTROL_MENU \ | ||||||
|            NEOPIXEL_LED CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CASE_LIGHT_MENU \ |            NEOPIXEL_LED CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CASE_LIGHT_MENU \ | ||||||
|   | |||||||
| @@ -48,6 +48,7 @@ default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared> | |||||||
|   -<src/lcd/menu/menu_temperature.cpp> |   -<src/lcd/menu/menu_temperature.cpp> | ||||||
|   -<src/lcd/menu/menu_tmc.cpp> |   -<src/lcd/menu/menu_tmc.cpp> | ||||||
|   -<src/lcd/menu/menu_touch_screen.cpp> |   -<src/lcd/menu/menu_touch_screen.cpp> | ||||||
|  |   -<src/lcd/menu/menu_tramming.cpp> | ||||||
|   -<src/lcd/menu/menu_ubl.cpp> |   -<src/lcd/menu/menu_ubl.cpp> | ||||||
|   -<src/lcd/extui/lib/mks_ui> |   -<src/lcd/extui/lib/mks_ui> | ||||||
|   -<src/lcd/extui/lib/dgus> -<src/lcd/extui/dgus_lcd.cpp> |   -<src/lcd/extui/lib/dgus> -<src/lcd/extui/dgus_lcd.cpp> | ||||||
| @@ -259,6 +260,7 @@ HAS_MENU_CUTTER         = src_filter=+<src/lcd/menu/menu_spindle_laser.cpp> | |||||||
| HAS_MENU_TEMPERATURE    = src_filter=+<src/lcd/menu/menu_temperature.cpp> | HAS_MENU_TEMPERATURE    = src_filter=+<src/lcd/menu/menu_temperature.cpp> | ||||||
| HAS_MENU_TMC            = src_filter=+<src/lcd/menu/menu_tmc.cpp> | HAS_MENU_TMC            = src_filter=+<src/lcd/menu/menu_tmc.cpp> | ||||||
| HAS_MENU_TOUCH_SCREEN   = src_filter=+<src/lcd/menu/menu_touch_screen.cpp> | HAS_MENU_TOUCH_SCREEN   = src_filter=+<src/lcd/menu/menu_touch_screen.cpp> | ||||||
|  | HAS_MENU_TRAMMING       = src_filter=+<src/lcd/menu/menu_tramming.cpp> | ||||||
| HAS_MENU_UBL            = src_filter=+<src/lcd/menu/menu_ubl.cpp> | HAS_MENU_UBL            = src_filter=+<src/lcd/menu/menu_ubl.cpp> | ||||||
| ANYCUBIC_LCD_CHIRON     = src_filter=+<src/lcd/extui/anycubic_chiron_lcd.cpp> +<src/lcd/extui/lib/anycubic_chiron> | ANYCUBIC_LCD_CHIRON     = src_filter=+<src/lcd/extui/anycubic_chiron_lcd.cpp> +<src/lcd/extui/lib/anycubic_chiron> | ||||||
| ANYCUBIC_LCD_I3MEGA     = src_filter=+<src/lcd/extui/anycubic_i3mega_lcd.cpp> +<src/lcd/extui/lib/anycubic_i3mega> | ANYCUBIC_LCD_I3MEGA     = src_filter=+<src/lcd/extui/anycubic_i3mega_lcd.cpp> +<src/lcd/extui/lib/anycubic_i3mega> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user