diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 509427b61bce..de198dec49f9 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -593,6 +593,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -629,6 +645,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 3d63bec3dfee..9174027db97b 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -110,6 +110,7 @@ * G11 - retract recover filament according to settings of M208 * G20 - Set input units to inches * G21 - Set input units to millimeters + * G26 - Allow G-codes to enter the buffer again after a PROBE_FAIL_PANIC occurs during a G29 * G28 - Home one or more axes * G29 - Detailed Z probe, probes the bed at 3 or more points. Will fail if you haven't homed yet. * G30 - Single Z probe, probes bed at current XY location. @@ -368,6 +369,10 @@ static uint8_t target_extruder; int xy_travel_speed = XY_TRAVEL_SPEED; float zprobe_zoffset = Z_PROBE_OFFSET_FROM_EXTRUDER; bool bed_leveling_in_progress = false; + #if ENABLED(REPROBE) + uint8_t reprobe_attempts = 0; + bool probe_fail = false; + #endif #endif #if ENABLED(Z_DUAL_ENDSTOPS) && DISABLED(DELTA) @@ -981,6 +986,17 @@ void gcode_line_error(const char* err, bool doFlush = true) { serial_count = 0; } +void clear_buffer() { + for (uint8_t i=0; i < BUFSIZE; i++) + for (uint8_t j=0; j < MAX_CMD_SIZE; j++) + command_queue[i][j] = NULL; + MYSERIAL.flush(); + serial_count = 0; + commands_in_queue = 1; + cmd_queue_index_r = BUFSIZE-1; + cmd_queue_index_w = 0; +} + inline void get_serial_commands() { static char serial_line_buffer[MAX_CMD_SIZE]; static boolean serial_comment_mode = false; @@ -1079,6 +1095,22 @@ inline void get_serial_commands() { // If command was e-stop process now if (strcmp(command, "M112") == 0) kill(PSTR(MSG_KILLED)); + #if ENABLED(PROBE_FAIL_PANIC) + if (strcmp(command, "G26") == 0) { + LCD_MESSAGEPGM(WELCOME_MSG); + probe_fail = false; + } + else if(probe_fail && (strchr(command, 'G') != NULL || strchr(command, 'M') != NULL) && strstr(command, "M105") == NULL) { + for(uint8_t j=0; j < MAX_CMD_SIZE; j++) + command_queue[cmd_queue_index_r][j] = 0; + if(commands_in_queue) { + commands_in_queue = 1; + cmd_queue_index_r = (cmd_queue_index_r + 1) % BUFSIZE; + } + serial_count = 0; + return; + } + #endif #if defined(NO_TIMEOUTS) && NO_TIMEOUTS > 0 last_command_time = ms; @@ -1670,6 +1702,42 @@ static void setup_for_endstop_move() { #endif // !AUTO_BED_LEVELING_GRID + static void do_blocking_move_to(float x, float y, float z); + inline void do_blocking_move_to_xy(float x, float y); + inline void do_blocking_move_to_x(float x); + inline void do_blocking_move_to_z(float z); + + #if ENABLED(REPROBE) + void probing_failed() { + if (reprobe_attempts < NUM_ATTEMPTS-1) { + #if DISABLED(REWIPE) + SERIAL_ERRORLNPGM(MSG_REPROBE); + LCD_MESSAGEPGM(MSG_REPROBE); + #endif + do_blocking_move_to_z(Z_RETRY_PT); + #if ENABLED(REWIPE) + SERIAL_ERRORLNPGM(MSG_REWIPE); + LCD_MESSAGEPGM(MSG_REWIPE); + float rewipe_first_pt[2] = REWIPE_FIRST_PT; + float rewipe_second_pt[2] = REWIPE_SECOND_PT; + do_blocking_move_to_xy(rewipe_first_pt[X_AXIS], rewipe_first_pt[Y_AXIS]); + do_blocking_move_to_z(Z_REWIPE_PT); + for (uint8_t i=0; i < NUM_REWIPES; i++) { + do_blocking_move_to_xy(rewipe_second_pt[X_AXIS], rewipe_second_pt[Y_AXIS]); + do_blocking_move_to_xy(rewipe_first_pt[X_AXIS], rewipe_first_pt[Y_AXIS]); + } + #endif + do_blocking_move_to_z(Z_RETRY_PT); + do_blocking_move_to_xy(LEFT_PROBE_BED_POSITION, FRONT_PROBE_BED_POSITION); + reprobe_attempts++; + } + else { + do_blocking_move_to_z(Z_RETRY_PT); + reprobe_attempts++; + } + } + #endif + static void run_z_probe() { /** @@ -1714,7 +1782,7 @@ static void setup_for_endstop_move() { feedrate = homing_feedrate[Z_AXIS]; // Move down until the Z probe (or endstop?) is triggered - float zPosition = -(Z_MAX_LENGTH + 10); + float zPosition = MIN_PROBE_PT; line_to_z(zPosition); stepper.synchronize(); @@ -1724,6 +1792,12 @@ static void setup_for_endstop_move() { current_position[X_AXIS], current_position[Y_AXIS], zPosition, current_position[E_AXIS] ); + #ifdef REPROBE + if (zPosition == MIN_PROBE_PT && !digitalRead(Z_MIN_PIN)^Z_MIN_ENDSTOP_INVERTING) { + probing_failed(); + return; + } + #endif // move up the retract distance zPosition += home_bump_mm(Z_AXIS); @@ -1734,7 +1808,7 @@ static void setup_for_endstop_move() { // move back down slowly to find bed set_homing_bump_feedrate(Z_AXIS); - zPosition -= home_bump_mm(Z_AXIS) * 2; + zPosition = MIN_PROBE_PT; line_to_z(zPosition); stepper.synchronize(); endstops.hit_on_purpose(); // clear endstop hit flags @@ -2071,6 +2145,10 @@ static void setup_for_endstop_move() { run_z_probe(); float measured_z = current_position[Z_AXIS]; + #ifdef REPROBE + if (measured_z == Z_RETRY_PT) + return MIN_PROBE_PT; + #endif #if DISABLED(Z_PROBE_SLED) && DISABLED(Z_PROBE_ALLEN_KEY) if (probe_action & ProbeStow) { @@ -2732,6 +2810,16 @@ inline void gcode_G4() { } #endif +/** + * G26: Allow G-codes to enter the buffer again after a PROBE_FAIL_PANIC occurs during a G29 + */ +#if ENABLED(PROBE_FAIL_PANIC) + inline void gcode_G26() { + LCD_MESSAGEPGM(WELCOME_MSG); + probe_fail = false; + } +#endif + /** * G28: Home all axes according to settings * @@ -3528,6 +3616,11 @@ inline void gcode_G28() { double yProbe = front_probe_bed_position + yGridSpacing * yCount; int xStart, xStop, xInc; + #if ENABLED(REPROBE) + if (reprobe_attempts == NUM_ATTEMPTS && probePointCounter == -1) + break; + #endif + if (zig) { xStart = 0; xStop = auto_bed_leveling_grid_points; @@ -3583,6 +3676,21 @@ inline void gcode_G28() { measured_z = probe_pt(xProbe, yProbe, z_before, act, verbose_level); + #if ENABLED(REPROBE) + if (measured_z == MIN_PROBE_PT) { + if (reprobe_attempts < NUM_ATTEMPTS) { + probePointCounter = 0; + zig = true; + yCount = -1; + break; + } + else { + probePointCounter = -1; + break; + } + } + #endif + #if DISABLED(DELTA) mean += measured_z; @@ -3602,6 +3710,45 @@ inline void gcode_G28() { } //xProbe } //yProbe + #if ENABLED(PROBE_FAIL_PANIC) + if (reprobe_attempts == NUM_ATTEMPTS && probePointCounter == -1) { + if (!IS_SD_PRINTING) + probe_fail = true; + disable_all_heaters(); + #if ENABLED(THERMAL_RUNAWAY_PROTECTION_PERIOD) + for (int i=0; i probing complete", current_position); #endif @@ -3889,6 +4036,10 @@ inline void gcode_G28() { #endif stow_z_probe(false); // Retract Z Servo endstop if available. Z_PROBE_SLED is missed here. + #if ENABLED(REPROBE) + reprobe_attempts = 0; + #endif + report_current_position(); } @@ -6917,6 +7068,12 @@ void process_next_command() { break; #endif + #if ENABLED(PROBE_FAIL_PANIC) + case 26: // G26: Allow G-codes to enter the buffer again after a PROBE_FAIL_PANIC occurs during a G29 + gcode_G26(); + break; + #endif + case 28: // G28: Home all axes, one at a time gcode_G28(); break; diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h index f92302db53a9..1106bb1892e7 100644 --- a/Marlin/example_configurations/Felix/Configuration.h +++ b/Marlin/example_configurations/Felix/Configuration.h @@ -575,6 +575,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -611,6 +627,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/Felix/DUAL/Configuration.h b/Marlin/example_configurations/Felix/DUAL/Configuration.h index c243209d5e3a..d3e9dfdba6e3 100644 --- a/Marlin/example_configurations/Felix/DUAL/Configuration.h +++ b/Marlin/example_configurations/Felix/DUAL/Configuration.h @@ -573,6 +573,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -609,6 +625,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h index 34ee387ee527..15e26dba4dae 100644 --- a/Marlin/example_configurations/Hephestos/Configuration.h +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -585,6 +585,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -621,6 +637,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/Hephestos_2/Configuration.h b/Marlin/example_configurations/Hephestos_2/Configuration.h index d5e6a0df0453..2a06f4ae9654 100644 --- a/Marlin/example_configurations/Hephestos_2/Configuration.h +++ b/Marlin/example_configurations/Hephestos_2/Configuration.h @@ -587,6 +587,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -623,6 +639,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 2 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index 6797fcd89f74..f9130e233e89 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -610,6 +610,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -646,6 +662,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h index 9a4a2c7fbd7b..917b19fed0dd 100644 --- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h @@ -593,6 +593,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -629,6 +645,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/RigidBot/Configuration.h b/Marlin/example_configurations/RigidBot/Configuration.h index dff38c635e66..a6b8cd7f9d1c 100644 --- a/Marlin/example_configurations/RigidBot/Configuration.h +++ b/Marlin/example_configurations/RigidBot/Configuration.h @@ -587,6 +587,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -623,6 +639,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index 5ac806382bcb..bc6d210b7d3b 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -600,6 +600,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Set the number of grid points per dimension. // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif #else // !AUTO_BED_LEVELING_GRID @@ -637,6 +652,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/TAZ4/Configuration.h b/Marlin/example_configurations/TAZ4/Configuration.h index 5c1742d68cb1..2dade92cf36f 100644 --- a/Marlin/example_configurations/TAZ4/Configuration.h +++ b/Marlin/example_configurations/TAZ4/Configuration.h @@ -614,6 +614,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -650,6 +666,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index 4055e15a3f6c..dc7ff29f79d1 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -585,6 +585,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -621,6 +637,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/adafruit/ST7565/Configuration.h b/Marlin/example_configurations/adafruit/ST7565/Configuration.h index fdbf9a86978d..bd5bcd3e7880 100644 --- a/Marlin/example_configurations/adafruit/ST7565/Configuration.h +++ b/Marlin/example_configurations/adafruit/ST7565/Configuration.h @@ -593,6 +593,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -629,6 +645,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/delta/biv2.5/Configuration.h b/Marlin/example_configurations/delta/biv2.5/Configuration.h index d6b783a95b33..d031acb6822a 100644 --- a/Marlin/example_configurations/delta/biv2.5/Configuration.h +++ b/Marlin/example_configurations/delta/biv2.5/Configuration.h @@ -639,6 +639,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // Works best with AUTO_BED_LEVELING_GRID_POINTS 5 or higher. #define AUTO_BED_LEVELING_GRID_POINTS 9 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -675,6 +691,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define XY_TRAVEL_SPEED 4000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h index 6f2963c37b52..63c1039f5415 100644 --- a/Marlin/example_configurations/delta/generic/Configuration.h +++ b/Marlin/example_configurations/delta/generic/Configuration.h @@ -639,6 +639,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // Works best with AUTO_BED_LEVELING_GRID_POINTS 5 or higher. #define AUTO_BED_LEVELING_GRID_POINTS 9 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -675,6 +691,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define XY_TRAVEL_SPEED 4000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h index 5b4436647e3e..e3d22e0ed4c3 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h @@ -639,6 +639,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Works best with AUTO_BED_LEVELING_GRID_POINTS 5 or higher. #define AUTO_BED_LEVELING_GRID_POINTS 9 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -675,6 +691,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define XY_TRAVEL_SPEED 4000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration.h b/Marlin/example_configurations/delta/kossel_pro/Configuration.h index 9ec47259ddce..c1ef8548c4bb 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration.h @@ -628,6 +628,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Works best with AUTO_BED_LEVELING_GRID_POINTS 5 or higher. #define AUTO_BED_LEVELING_GRID_POINTS 7 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -666,6 +682,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration.h b/Marlin/example_configurations/delta/kossel_xl/Configuration.h index 646c894163c5..bb8f0573d2bc 100644 --- a/Marlin/example_configurations/delta/kossel_xl/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_xl/Configuration.h @@ -637,6 +637,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Works best with AUTO_BED_LEVELING_GRID_POINTS 5 or higher. #define AUTO_BED_LEVELING_GRID_POINTS 5 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -673,6 +689,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 10 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index 2ad761ce5938..98ce699da8f6 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -596,6 +596,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -632,6 +648,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index 4d8b04e38cf2..133c818e7024 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -583,6 +583,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 + //#define REPROBE // Re-attempts probing + + #ifdef REPROBE + #define Z_RETRY_PT 15 // Z height to move the hotend after failed probe + #define NUM_ATTEMPTS 3 // Number of attempts to make before giving up + //#define PROBE_FAIL_PANIC // Completely give up printing if the final attempt fails (use G26 to get out of failed state) + //#define REWIPE // Re-attempts wiping + #ifdef REWIPE + #define NUM_REWIPES 6 // Number of (back-and-forth) re-wipe attemps to make, e.g. 6 would produce 12 strokes + // Re-wipe line from REWIPE_FIRST_PT to REWIPE_SECOND_PT + #define REWIPE_FIRST_PT {45, 173} + #define REWIPE_SECOND_PT {115, 173} + #define Z_REWIPE_PT (Z_MIN_POS + 1) // Depth to re-wipe at + #endif + #endif + #else // !AUTO_BED_LEVELING_GRID // Arbitrary points to probe. @@ -619,6 +635,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. + #define MIN_PROBE_PT (Z_MIN_POS-2) //How far the extruder should move down to probe #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. diff --git a/Marlin/language.h b/Marlin/language.h index e675f93eb290..e62e43b96deb 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -147,6 +147,10 @@ #define MSG_Z_MAX "z_max: " #define MSG_Z2_MAX "z2_max: " #define MSG_Z_PROBE "z_probe: " +#define MSG_REWIPE "Rewiping" +#define MSG_REPROBE "Reprobing" +#define MSG_LEVEL_FAIL "PROBE FAIL CLEAN NOZZLE" +#define MSG_LEVEL_QUIT "Probe fail clean nozzle" #define MSG_ERR_MATERIAL_INDEX "M145 S out of range (0-1)" #define MSG_ERR_M421_PARAMETERS "M421 requires XYZ or IJZ parameters" #define MSG_ERR_MESH_XY "Mesh XY or IJ cannot be resolved"