Merge pull request #7519 from thinkyhead/bf1_cleanups_aug_16
Add "Level Corners" menu item
This commit is contained in:
commit
b3f59ec945
41 changed files with 132 additions and 22 deletions
|
@ -89,6 +89,13 @@
|
|||
#define IS_KINEMATIC (ENABLED(DELTA) || IS_SCARA)
|
||||
#define IS_CARTESIAN !IS_KINEMATIC
|
||||
|
||||
/**
|
||||
* No adjustable bed on non-cartesians
|
||||
*/
|
||||
#if IS_KINEMATIC
|
||||
#undef LEVEL_BED_CORNERS
|
||||
#endif
|
||||
|
||||
/**
|
||||
* SCARA cannot use SLOWDOWN and requires QUICKHOME
|
||||
*/
|
||||
|
|
|
@ -940,6 +940,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -2786,7 +2786,7 @@ static void clean_up_after_endstop_or_probe_move() {
|
|||
int bilinear_grid_spacing_virt[2] = { 0 };
|
||||
float bilinear_grid_factor_virt[2] = { 0 };
|
||||
|
||||
static void bed_level_virt_print() {
|
||||
static void print_bilinear_leveling_grid_virt() {
|
||||
SERIAL_ECHOLNPGM("Subdivided with CATMULL ROM Leveling Grid:");
|
||||
print_2d_array(ABL_GRID_POINTS_VIRT_X, ABL_GRID_POINTS_VIRT_Y, 5,
|
||||
[](const uint8_t ix, const uint8_t iy) { return z_values_virt[ix][iy]; }
|
||||
|
@ -5042,7 +5042,7 @@ void home_all_axes() { gcode_G28(true); }
|
|||
refresh_bed_level();
|
||||
|
||||
#if ENABLED(ABL_BILINEAR_SUBDIVISION)
|
||||
bed_level_virt_print();
|
||||
print_bilinear_leveling_grid_virt();
|
||||
#endif
|
||||
|
||||
#elif ENABLED(AUTO_BED_LEVELING_LINEAR)
|
||||
|
@ -9314,18 +9314,18 @@ void quickstop_stepper() {
|
|||
if (parser.seen('V')) {
|
||||
#if ABL_PLANAR
|
||||
planner.bed_level_matrix.debug(PSTR("Bed Level Correction Matrix:"));
|
||||
#elif ENABLED(AUTO_BED_LEVELING_BILINEAR)
|
||||
#else
|
||||
if (leveling_is_valid()) {
|
||||
print_bilinear_leveling_grid();
|
||||
#if ENABLED(ABL_BILINEAR_SUBDIVISION)
|
||||
bed_level_virt_print();
|
||||
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
|
||||
print_bilinear_leveling_grid();
|
||||
#if ENABLED(ABL_BILINEAR_SUBDIVISION)
|
||||
print_bilinear_leveling_grid_virt();
|
||||
#endif
|
||||
#elif ENABLED(MESH_BED_LEVELING)
|
||||
SERIAL_ECHOLNPGM("Mesh Bed Level data:");
|
||||
mbl_mesh_report();
|
||||
#endif
|
||||
}
|
||||
#elif ENABLED(MESH_BED_LEVELING)
|
||||
if (leveling_is_valid()) {
|
||||
SERIAL_ECHOLNPGM("Mesh Bed Level data:");
|
||||
mbl_mesh_report();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -960,6 +960,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -940,6 +940,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -1083,6 +1083,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -946,6 +946,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -931,6 +931,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -941,6 +941,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -931,6 +931,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -939,6 +939,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -950,6 +950,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -922,6 +922,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -922,6 +922,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -945,6 +945,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -955,6 +955,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -940,6 +940,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -944,6 +944,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -968,6 +968,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -940,6 +940,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -938,6 +938,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -952,6 +952,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -996,6 +996,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -969,6 +969,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -940,6 +940,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -940,6 +940,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -940,6 +940,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -1068,6 +1068,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -1062,6 +1062,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -1057,6 +1057,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -1060,6 +1060,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -1060,6 +1060,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -1069,6 +1069,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -954,6 +954,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -943,6 +943,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -935,6 +935,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -945,6 +945,7 @@
|
|||
#if ENABLED(LCD_BED_LEVELING)
|
||||
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
|
||||
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
|
||||
#define LEVEL_BED_CORNERS // Add an option to move between corners
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -199,7 +199,7 @@
|
|||
#endif
|
||||
#define MSG_INFO_MIN_TEMP _UxGT("Min Temp")
|
||||
#define MSG_INFO_MAX_TEMP _UxGT("Max Temp")
|
||||
#define MSG_INFO_PSU _UxGT("Power Supply")
|
||||
#define MSG_INFO_PSU _UxGT("PSU")
|
||||
|
||||
#define MSG_FILAMENT_CHANGE_HEADER _UxGT("CHANGE FILAMENT")
|
||||
#define MSG_FILAMENT_CHANGE_OPTION_EXTRUDE _UxGT("Extrude more")
|
||||
|
|
|
@ -156,6 +156,12 @@
|
|||
#ifndef MSG_LEVEL_BED
|
||||
#define MSG_LEVEL_BED _UxGT("Level bed")
|
||||
#endif
|
||||
#ifndef MSG_LEVEL_CORNERS
|
||||
#define MSG_LEVEL_CORNERS _UxGT("Level corners")
|
||||
#endif
|
||||
#ifndef MSG_NEXT_CORNER
|
||||
#define MSG_NEXT_CORNER _UxGT("Next corner")
|
||||
#endif
|
||||
#ifndef MSG_EDITING_STOPPED
|
||||
#define MSG_EDITING_STOPPED _UxGT("Mesh Editing Stopped")
|
||||
#endif
|
||||
|
@ -829,7 +835,7 @@
|
|||
#define MSG_INFO_MAX_TEMP _UxGT("Max Temp")
|
||||
#endif
|
||||
#ifndef MSG_INFO_PSU
|
||||
#define MSG_INFO_PSU _UxGT("Power Supply")
|
||||
#define MSG_INFO_PSU _UxGT("PSU")
|
||||
#endif
|
||||
#ifndef MSG_DRIVE_STRENGTH
|
||||
#define MSG_DRIVE_STRENGTH _UxGT("Drive Strength")
|
||||
|
|
|
@ -220,7 +220,7 @@
|
|||
|
||||
#define MSG_INFO_MIN_TEMP _UxGT("Min Temp")
|
||||
#define MSG_INFO_MAX_TEMP _UxGT("Max Temp")
|
||||
#define MSG_INFO_PSU _UxGT("Power Supply") //accepted English term in Dutch
|
||||
#define MSG_INFO_PSU _UxGT("PSU") //accepted English term in Dutch
|
||||
|
||||
#define MSG_DRIVE_STRENGTH _UxGT("Motorstroom")
|
||||
#define MSG_DAC_PERCENT _UxGT("Driver %") //accepted English term in Dutch
|
||||
|
|
|
@ -546,6 +546,11 @@ uint16_t max_display_update_time = 0;
|
|||
lcd_return_to_status();
|
||||
}
|
||||
|
||||
void lcd_goto_previous_menu_no_defer() {
|
||||
defer_return_to_status = false;
|
||||
lcd_goto_previous_menu();
|
||||
}
|
||||
|
||||
#endif // ULTIPANEL
|
||||
|
||||
/**
|
||||
|
@ -971,7 +976,7 @@ void kill_screen(const char* lcd_msg) {
|
|||
#if ENABLED(BABYSTEPPING)
|
||||
|
||||
void _lcd_babystep(const AxisEnum axis, const char* msg) {
|
||||
if (lcd_clicked) { defer_return_to_status = false; return lcd_goto_previous_menu(); }
|
||||
if (lcd_clicked) { return lcd_goto_previous_menu_no_defer(); }
|
||||
ENCODER_DIRECTION_NORMAL();
|
||||
if (encoderPosition) {
|
||||
const int16_t babystep_increment = (int32_t)encoderPosition * (BABYSTEP_MULTIPLICATOR);
|
||||
|
@ -994,7 +999,7 @@ void kill_screen(const char* lcd_msg) {
|
|||
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
|
||||
|
||||
void lcd_babystep_zoffset() {
|
||||
if (lcd_clicked) { defer_return_to_status = false; return lcd_goto_previous_menu(); }
|
||||
if (lcd_clicked) { return lcd_goto_previous_menu_no_defer(); }
|
||||
defer_return_to_status = true;
|
||||
ENCODER_DIRECTION_NORMAL();
|
||||
if (encoderPosition) {
|
||||
|
@ -1545,7 +1550,52 @@ void kill_screen(const char* lcd_msg) {
|
|||
static void lcd_refresh_zprobe_zoffset() { refresh_zprobe_zoffset(); }
|
||||
#endif
|
||||
|
||||
#if ENABLED(LCD_BED_LEVELING)
|
||||
|
||||
#if ENABLED(LEVEL_BED_CORNERS)
|
||||
|
||||
/**
|
||||
* Level corners, starting in the front-left corner.
|
||||
*/
|
||||
static int8_t bed_corner;
|
||||
void _lcd_goto_next_corner() {
|
||||
line_to_z(LOGICAL_Z_POSITION(4.0));
|
||||
switch (bed_corner) {
|
||||
case 0:
|
||||
current_position[X_AXIS] = X_MIN_BED + 10;
|
||||
current_position[Y_AXIS] = Y_MIN_BED + 10;
|
||||
break;
|
||||
case 1:
|
||||
current_position[X_AXIS] = X_MAX_BED - 10;
|
||||
break;
|
||||
case 2:
|
||||
current_position[Y_AXIS] = Y_MAX_BED - 10;
|
||||
break;
|
||||
case 3:
|
||||
current_position[X_AXIS] = X_MIN_BED + 10;
|
||||
break;
|
||||
}
|
||||
planner.buffer_line_kinematic(current_position, MMM_TO_MMS(manual_feedrate_mm_m[X_AXIS]), active_extruder);
|
||||
line_to_z(LOGICAL_Z_POSITION(0.0));
|
||||
if (++bed_corner > 3) bed_corner = 0;
|
||||
}
|
||||
|
||||
void _lcd_corner_submenu() {
|
||||
START_MENU();
|
||||
MENU_ITEM(function, MSG_NEXT_CORNER, _lcd_goto_next_corner);
|
||||
MENU_ITEM(function, MSG_BACK, lcd_goto_previous_menu_no_defer);
|
||||
END_MENU();
|
||||
}
|
||||
|
||||
void _lcd_level_bed_corners() {
|
||||
defer_return_to_status = true;
|
||||
lcd_goto_screen(_lcd_corner_submenu);
|
||||
bed_corner = 0;
|
||||
_lcd_goto_next_corner();
|
||||
}
|
||||
|
||||
#endif // LEVEL_BED_CORNERS
|
||||
|
||||
#if ENABLED(LCD_BED_LEVELING)
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -1788,10 +1838,11 @@ void kill_screen(const char* lcd_msg) {
|
|||
* << Prepare
|
||||
* Auto Home (if homing needed)
|
||||
* Leveling On/Off (if data exists, and homed)
|
||||
* Level Bed
|
||||
* Fade Height: --- (Req: ENABLE_LEVELING_FADE_HEIGHT)
|
||||
* Mesh Z Offset: --- (Req: MESH_BED_LEVELING)
|
||||
* Z Probe Offset: --- (Req: HAS_BED_PROBE, Opt: BABYSTEP_ZPROBE_OFFSET)
|
||||
* Level Bed >
|
||||
* Level Corners > (if homed)
|
||||
* Load Settings (Req: EEPROM_SETTINGS)
|
||||
* Save Settings (Req: EEPROM_SETTINGS)
|
||||
*/
|
||||
|
@ -1826,6 +1877,12 @@ void kill_screen(const char* lcd_msg) {
|
|||
|
||||
MENU_ITEM(submenu, MSG_LEVEL_BED, _lcd_level_bed_continue);
|
||||
|
||||
#if ENABLED(LEVEL_BED_CORNERS)
|
||||
// Move to the next corner for leveling
|
||||
if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS])
|
||||
MENU_ITEM(function, MSG_LEVEL_CORNERS, _lcd_level_bed_corners);
|
||||
#endif
|
||||
|
||||
#if ENABLED(EEPROM_SETTINGS)
|
||||
MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings);
|
||||
MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
|
||||
|
@ -2404,8 +2461,14 @@ void kill_screen(const char* lcd_msg) {
|
|||
if (!g29_in_progress)
|
||||
#endif
|
||||
MENU_ITEM(submenu, MSG_BED_LEVELING, lcd_bed_leveling);
|
||||
#elif PLANNER_LEVELING
|
||||
MENU_ITEM(gcode, MSG_BED_LEVELING, PSTR("G28\nG29"));
|
||||
#else
|
||||
#if PLANNER_LEVELING
|
||||
MENU_ITEM(gcode, MSG_BED_LEVELING, PSTR("G28\nG29"));
|
||||
#endif
|
||||
#if ENABLED(LEVEL_BED_CORNERS)
|
||||
if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS])
|
||||
MENU_ITEM(function, MSG_LEVEL_CORNERS, _lcd_level_bed_corners);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if HAS_M206_COMMAND
|
||||
|
@ -2538,8 +2601,7 @@ void kill_screen(const char* lcd_msg) {
|
|||
wait_for_user = true;
|
||||
while (wait_for_user) idle();
|
||||
KEEPALIVE_STATE(IN_HANDLER);
|
||||
defer_return_to_status = false;
|
||||
lcd_goto_previous_menu();
|
||||
lcd_goto_previous_menu_no_defer();
|
||||
return current_position[Z_AXIS];
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue