From fdd85a529a8c693498f8508e32ff55c923942a26 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 20 Dec 2017 16:53:46 -0600 Subject: [PATCH 01/19] Feedrate scaling for G2/G3 --- Marlin/Marlin_main.cpp | 77 ++++++++++++++++++++++++++++-------------- 1 file changed, 52 insertions(+), 25 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 4e817536b..51a9566dc 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -13184,7 +13184,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { // SERIAL_ECHOPAIR(" seconds=", seconds); // SERIAL_ECHOLNPAIR(" segments=", segments); - #if IS_SCARA && ENABLED(SCARA_FEEDRATE_SCALING) + #if ENABLED(SCARA_FEEDRATE_SCALING) // SCARA needs to scale the feed rate from mm/s to degrees/s const float inv_segment_length = min(10.0, float(segments) / cartesian_mm), // 1/mm/segs inverse_secs = inv_segment_length * _feedrate_mm_s; @@ -13216,30 +13216,25 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { ADJUST_DELTA(raw); // Adjust Z if bed leveling is enabled - #if IS_SCARA && ENABLED(SCARA_FEEDRATE_SCALING) + #if ENABLED(SCARA_FEEDRATE_SCALING) // For SCARA scale the feed rate from mm/s to degrees/s // Use ratio between the length of the move and the larger angle change - const float adiff = abs(delta[A_AXIS] - oldA), - bdiff = abs(delta[B_AXIS] - oldB); - planner.buffer_line(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], raw[E_AXIS], max(adiff, bdiff) * inverse_secs, active_extruder); - oldA = delta[A_AXIS]; - oldB = delta[B_AXIS]; + const float adiff = FABS(delta[A_AXIS] - oldA), bdiff = FABS(delta[B_AXIS] - oldB); + planner.buffer_line(delta[A_AXIS], delta[B_AXIS], raw[Z_AXIS], raw[E_AXIS], HYPOT(adiff, bdiff) * inverse_secs, active_extruder); + oldA = delta[A_AXIS]; oldB = delta[B_AXIS]; #else - planner.buffer_line(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], raw[E_AXIS], _feedrate_mm_s, active_extruder); + planner.buffer_line(delta[A_AXIS], delta[B_AXIS], raw[Z_AXIS], raw[E_AXIS], _feedrate_mm_s, active_extruder); #endif } // Since segment_distance is only approximate, // the final move must be to the exact destination. - #if IS_SCARA && ENABLED(SCARA_FEEDRATE_SCALING) - // For SCARA scale the feed rate from mm/s to degrees/s - // With segments > 1 length is 1 segment, otherwise total length + #if ENABLED(SCARA_FEEDRATE_SCALING) inverse_kinematics(rtarget); ADJUST_DELTA(rtarget); - const float adiff = abs(delta[A_AXIS] - oldA), - bdiff = abs(delta[B_AXIS] - oldB); - planner.buffer_line(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], raw[E_AXIS], max(adiff, bdiff) * inverse_secs, active_extruder); + const float adiff = FABS(delta[A_AXIS] - oldA), bdiff = FABS(delta[B_AXIS] - oldB); + planner.buffer_line(delta[A_AXIS], delta[B_AXIS], rtarget[Z_AXIS], rtarget[E_AXIS], HYPOT(adiff, bdiff) * inverse_secs, active_extruder); #else planner.buffer_line_kinematic(rtarget, _feedrate_mm_s, active_extruder); #endif @@ -13509,7 +13504,7 @@ void prepare_move_to_destination() { * This is important when there are successive arc motions. */ // Vector rotation matrix values - float arc_target[XYZE]; + float raw[XYZE]; const float theta_per_segment = angular_travel / segments, linear_per_segment = linear_travel / segments, extruder_per_segment = extruder_travel / segments, @@ -13517,10 +13512,10 @@ void prepare_move_to_destination() { cos_T = 1 - 0.5 * sq(theta_per_segment); // Small angle approximation // Initialize the linear axis - arc_target[l_axis] = current_position[l_axis]; + raw[l_axis] = current_position[l_axis]; // Initialize the extruder axis - arc_target[E_AXIS] = current_position[E_AXIS]; + raw[E_AXIS] = current_position[E_AXIS]; const float fr_mm_s = MMS_SCALED(feedrate_mm_s); @@ -13530,6 +13525,14 @@ void prepare_move_to_destination() { int8_t arc_recalc_count = N_ARC_CORRECTION; #endif + #if ENABLED(SCARA_FEEDRATE_SCALING) + // SCARA needs to scale the feed rate from mm/s to degrees/s + const float inv_segment_length = 1.0 / (MM_PER_ARC_SEGMENT), + inverse_secs = inv_segment_length * fr_mm_s; + float oldA = stepper.get_axis_position_degrees(A_AXIS), + oldB = stepper.get_axis_position_degrees(B_AXIS); + #endif + for (uint16_t i = 1; i < segments; i++) { // Iterate (segments-1) times thermalManager.manage_heater(); @@ -13561,19 +13564,43 @@ void prepare_move_to_destination() { r_Q = -offset[0] * sin_Ti - offset[1] * cos_Ti; } - // Update arc_target location - arc_target[p_axis] = center_P + r_P; - arc_target[q_axis] = center_Q + r_Q; - arc_target[l_axis] += linear_per_segment; - arc_target[E_AXIS] += extruder_per_segment; + // Update raw location + raw[p_axis] = center_P + r_P; + raw[q_axis] = center_Q + r_Q; + raw[l_axis] += linear_per_segment; + raw[E_AXIS] += extruder_per_segment; - clamp_to_software_endstops(arc_target); + clamp_to_software_endstops(raw); - planner.buffer_line_kinematic(arc_target, fr_mm_s, active_extruder); + #if IS_KINEMATIC + #if ENABLED(DELTA) + DELTA_RAW_IK(); // Delta can inline its kinematics + #else + inverse_kinematics(raw); + #endif + ADJUST_DELTA(raw); // Adjust Z if bed leveling is enabled + #endif + + #if ENABLED(SCARA_FEEDRATE_SCALING) + // For SCARA scale the feed rate from mm/s to degrees/s + // With segments > 1 length is 1 segment, otherwise total length + const float adiff = FABS(delta[A_AXIS] - oldA), bdiff = FABS(delta[B_AXIS] - oldB); + planner.buffer_line(delta[A_AXIS], delta[B_AXIS], raw[Z_AXIS], raw[E_AXIS], HYPOT(adiff, bdiff) * inverse_secs, active_extruder); + oldA = delta[A_AXIS]; oldB = delta[B_AXIS]; + #else + planner.buffer_line_kinematic(raw, fr_mm_s, active_extruder); + #endif } // Ensure last segment arrives at target location. - planner.buffer_line_kinematic(cart, fr_mm_s, active_extruder); + #if ENABLED(SCARA_FEEDRATE_SCALING) + inverse_kinematics(cart); + ADJUST_DELTA(cart); + const float adiff = FABS(delta[A_AXIS] - oldA), bdiff = FABS(delta[B_AXIS] - oldB); + planner.buffer_line(delta[A_AXIS], delta[B_AXIS], cart[Z_AXIS], cart[E_AXIS], HYPOT(adiff, bdiff) * inverse_secs, active_extruder); + #else + planner.buffer_line_kinematic(cart, fr_mm_s, active_extruder); + #endif // As far as the parser is concerned, the position is now == target. In reality the // motion control system might still be processing the action and the real tool position From b5677907d064d2ebe6c99f3dece1de5390c029cc Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 21 Dec 2017 21:58:00 -0600 Subject: [PATCH 02/19] Minor speedup for SCARA scaling And cleanup of Delta IK macros... --- Marlin/Marlin.h | 18 +++++++++--------- Marlin/Marlin_main.cpp | 36 ++++++++++++------------------------ Marlin/ubl_motion.cpp | 2 +- 3 files changed, 22 insertions(+), 34 deletions(-) diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h index fac820a81..2c68b8cbf 100644 --- a/Marlin/Marlin.h +++ b/Marlin/Marlin.h @@ -321,17 +321,17 @@ void report_current_position(); #endif // Macro to obtain the Z position of an individual tower - #define DELTA_Z(T) raw[Z_AXIS] + _SQRT( \ - delta_diagonal_rod_2_tower[T] - HYPOT2( \ - delta_tower[T][X_AXIS] - raw[X_AXIS], \ - delta_tower[T][Y_AXIS] - raw[Y_AXIS] \ - ) \ + #define DELTA_Z(V,T) V[Z_AXIS] + _SQRT( \ + delta_diagonal_rod_2_tower[T] - HYPOT2( \ + delta_tower[T][X_AXIS] - V[X_AXIS], \ + delta_tower[T][Y_AXIS] - V[Y_AXIS] \ + ) \ ) - #define DELTA_RAW_IK() do { \ - delta[A_AXIS] = DELTA_Z(A_AXIS); \ - delta[B_AXIS] = DELTA_Z(B_AXIS); \ - delta[C_AXIS] = DELTA_Z(C_AXIS); \ + #define DELTA_IK(V) do { \ + delta[A_AXIS] = DELTA_Z(V, A_AXIS); \ + delta[B_AXIS] = DELTA_Z(V, B_AXIS); \ + delta[C_AXIS] = DELTA_Z(V, C_AXIS); \ }while(0) #elif IS_SCARA diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 51a9566dc..3679a2b2d 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -12749,7 +12749,7 @@ void ok_to_send() { }while(0) void inverse_kinematics(const float raw[XYZ]) { - DELTA_RAW_IK(); + DELTA_IK(raw); // DELTA_DEBUG(); } @@ -13186,6 +13186,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { #if ENABLED(SCARA_FEEDRATE_SCALING) // SCARA needs to scale the feed rate from mm/s to degrees/s + // i.e., Complete the angular vector in the given time. const float inv_segment_length = min(10.0, float(segments) / cartesian_mm), // 1/mm/segs inverse_secs = inv_segment_length * _feedrate_mm_s; float oldA = stepper.get_axis_position_degrees(A_AXIS), @@ -13209,7 +13210,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { LOOP_XYZE(i) raw[i] += segment_distance[i]; #if ENABLED(DELTA) - DELTA_RAW_IK(); // Delta can inline its kinematics + DELTA_IK(raw); // Delta can inline its kinematics #else inverse_kinematics(raw); #endif @@ -13218,23 +13219,19 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { #if ENABLED(SCARA_FEEDRATE_SCALING) // For SCARA scale the feed rate from mm/s to degrees/s - // Use ratio between the length of the move and the larger angle change - const float adiff = FABS(delta[A_AXIS] - oldA), bdiff = FABS(delta[B_AXIS] - oldB); - planner.buffer_line(delta[A_AXIS], delta[B_AXIS], raw[Z_AXIS], raw[E_AXIS], HYPOT(adiff, bdiff) * inverse_secs, active_extruder); + // i.e., Complete the angular vector in the given time. + planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], raw[Z_AXIS], raw[E_AXIS], HYPOT(delta[A_AXIS] - oldA, delta[B_AXIS] - oldB) * inverse_secs, active_extruder); oldA = delta[A_AXIS]; oldB = delta[B_AXIS]; #else planner.buffer_line(delta[A_AXIS], delta[B_AXIS], raw[Z_AXIS], raw[E_AXIS], _feedrate_mm_s, active_extruder); #endif } - // Since segment_distance is only approximate, - // the final move must be to the exact destination. - + // Ensure last segment arrives at target location. #if ENABLED(SCARA_FEEDRATE_SCALING) inverse_kinematics(rtarget); ADJUST_DELTA(rtarget); - const float adiff = FABS(delta[A_AXIS] - oldA), bdiff = FABS(delta[B_AXIS] - oldB); - planner.buffer_line(delta[A_AXIS], delta[B_AXIS], rtarget[Z_AXIS], rtarget[E_AXIS], HYPOT(adiff, bdiff) * inverse_secs, active_extruder); + planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], rtarget[Z_AXIS], rtarget[E_AXIS], HYPOT(delta[A_AXIS] - oldA, delta[B_AXIS] - oldB) * inverse_secs, active_extruder); #else planner.buffer_line_kinematic(rtarget, _feedrate_mm_s, active_extruder); #endif @@ -13572,20 +13569,12 @@ void prepare_move_to_destination() { clamp_to_software_endstops(raw); - #if IS_KINEMATIC - #if ENABLED(DELTA) - DELTA_RAW_IK(); // Delta can inline its kinematics - #else - inverse_kinematics(raw); - #endif - ADJUST_DELTA(raw); // Adjust Z if bed leveling is enabled - #endif - #if ENABLED(SCARA_FEEDRATE_SCALING) // For SCARA scale the feed rate from mm/s to degrees/s - // With segments > 1 length is 1 segment, otherwise total length - const float adiff = FABS(delta[A_AXIS] - oldA), bdiff = FABS(delta[B_AXIS] - oldB); - planner.buffer_line(delta[A_AXIS], delta[B_AXIS], raw[Z_AXIS], raw[E_AXIS], HYPOT(adiff, bdiff) * inverse_secs, active_extruder); + // i.e., Complete the angular vector in the given time. + inverse_kinematics(raw); + ADJUST_DELTA(raw); + planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], raw[Z_AXIS], raw[E_AXIS], HYPOT(delta[A_AXIS] - oldA, delta[B_AXIS] - oldB) * inverse_secs, active_extruder); oldA = delta[A_AXIS]; oldB = delta[B_AXIS]; #else planner.buffer_line_kinematic(raw, fr_mm_s, active_extruder); @@ -13596,8 +13585,7 @@ void prepare_move_to_destination() { #if ENABLED(SCARA_FEEDRATE_SCALING) inverse_kinematics(cart); ADJUST_DELTA(cart); - const float adiff = FABS(delta[A_AXIS] - oldA), bdiff = FABS(delta[B_AXIS] - oldB); - planner.buffer_line(delta[A_AXIS], delta[B_AXIS], cart[Z_AXIS], cart[E_AXIS], HYPOT(adiff, bdiff) * inverse_secs, active_extruder); + planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], cart[Z_AXIS], cart[E_AXIS], HYPOT(delta[A_AXIS] - oldA, delta[B_AXIS] - oldB) * inverse_secs, active_extruder); #else planner.buffer_line_kinematic(cart, fr_mm_s, active_extruder); #endif diff --git a/Marlin/ubl_motion.cpp b/Marlin/ubl_motion.cpp index 07a8b1a86..33570af34 100644 --- a/Marlin/ubl_motion.cpp +++ b/Marlin/ubl_motion.cpp @@ -422,7 +422,7 @@ #if ENABLED(DELTA) // apply delta inverse_kinematics - DELTA_RAW_IK(); + DELTA_IK(raw); planner.buffer_segment(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], in_raw[E_AXIS], fr, active_extruder); #elif IS_SCARA // apply scara inverse_kinematics (should be changed to save raw->logical->raw) From 0fc3fea8dfde5eff1a274cbf1cfabec7c31cd7f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Zahradn=C3=ADk?= Date: Fri, 22 Dec 2017 18:33:11 +0100 Subject: [PATCH 03/19] Update Czech language Dec 2017 --- Marlin/language_cz.h | 38 +++++++++++++++++++++++++++++++++++-- Marlin/language_cz_utf8.h | 40 ++++++++++++++++++++++++++++++++++++--- 2 files changed, 73 insertions(+), 5 deletions(-) diff --git a/Marlin/language_cz.h b/Marlin/language_cz.h index edcc9610c..5fab5b187 100644 --- a/Marlin/language_cz.h +++ b/Marlin/language_cz.h @@ -78,6 +78,8 @@ #define MSG_MOVE_AXIS _UxGT("Posunout osy") #define MSG_BED_LEVELING _UxGT("Vyrovnat podlozku") #define MSG_LEVEL_BED _UxGT("Vyrovnat podlozku") +#define MSG_LEVEL_CORNERS _UxGT("Vyrovnat rohy") +#define MSG_NEXT_CORNER _UxGT("Dalsi roh") #define MSG_EDITING_STOPPED _UxGT("Konec uprav site") #define MSG_UBL_DOING_G29 _UxGT("Provadim G29") @@ -95,6 +97,7 @@ #define MSG_UBL_CUSTOM_BED_TEMP MSG_UBL_SET_BED_TEMP #define MSG_UBL_SET_HOTEND_TEMP _UxGT("Teplota hotendu") #define MSG_UBL_CUSTOM_HOTEND_TEMP MSG_UBL_SET_HOTEND_TEMP +#define MSG_UBL_MESH_EDIT _UxGT("Uprava site bodu") #define MSG_UBL_EDIT_CUSTOM_MESH _UxGT("Upravit vlastni sit") #define MSG_UBL_FINE_TUNE_MESH _UxGT("Doladit sit bodu") #define MSG_UBL_DONE_EDITING_MESH _UxGT("Konec uprav site") @@ -134,13 +137,36 @@ #define MSG_UBL_STORAGE_SLOT _UxGT("Pametovy slot") #define MSG_UBL_LOAD_MESH _UxGT("Nacist sit bodu") #define MSG_UBL_SAVE_MESH _UxGT("Ulozit sit bodu") +#define MSG_MESH_LOADED _UxGT("Sit %i nactena") +#define MSG_NO_STORAGE _UxGT("Nedostatek mista") +#define MSG_MESH_SAVED _UxGT("Sit %i ulozena") #define MSG_UBL_SAVE_ERROR _UxGT("Err: Ulozit UBL") #define MSG_UBL_RESTORE_ERROR _UxGT("Err: Obnovit UBL") #define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Konec Z-Offsetu") #define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL Postupne") +#define MSG_LED_CONTROL _UxGT("LED Nastaveni") +#define MSG_LEDS_ON _UxGT("Svetla Zap") +#define MSG_LEDS_OFF _UxGT("Svetla Vyp") +#define MSG_LED_PRESETS _UxGT("Svetla Predvolby") +#define MSG_SET_LEDS_RED _UxGT("Svetla Cervena") +#define MSG_SET_LEDS_ORANGE _UxGT("Svetla Oranzova") +#define MSG_SET_LEDS_YELLOW _UxGT("Svetla Zluta") +#define MSG_SET_LEDS_GREEN _UxGT("Svetla Zelena") +#define MSG_SET_LEDS_BLUE _UxGT("Svetla Modra") +#define MSG_SET_LEDS_INDIGO _UxGT("Svetla Indigo") +#define MSG_SET_LEDS_VIOLET _UxGT("Svetla Fialova") +#define MSG_SET_LEDS_WHITE _UxGT("Svetla Bila") +#define MSG_SET_LEDS_DEFAULT _UxGT("Svetla Vychozi") +#define MSG_CUSTOM_LEDS _UxGT("Vlastni svetla") +#define MSG_INTENSITY_R _UxGT("Cervena intenzita") +#define MSG_INTENSITY_G _UxGT("Zelena intezita") +#define MSG_INTENSITY_B _UxGT("Modra intenzita") +#define MSG_INTENSITY_W _UxGT("Bila intenzita") +#define MSG_LED_BRIGHTNESS _UxGT("Jas") + #define MSG_USER_MENU _UxGT("Vlastni prikazy") -#define MSG_MOVING _UxGT("Posunování...") +#define MSG_MOVING _UxGT("Posouvani...") #define MSG_FREE_XY _UxGT("Uvolnit XY") #define MSG_MOVE_X _UxGT("Posunout X") #define MSG_MOVE_Y _UxGT("Posunout Y") @@ -154,6 +180,7 @@ #define MSG_NOZZLE _UxGT("Tryska") #define MSG_BED _UxGT("Podlozka") #define MSG_FAN_SPEED _UxGT("Rychlost vent.") +#define MSG_EXTRA_FAN_SPEED _UxGT("Rychlost ex. vent.") #define MSG_FLOW _UxGT("Prutok") #define MSG_CONTROL _UxGT("Ovladani") #define MSG_MIN _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Min") @@ -226,11 +253,13 @@ #define MSG_CONTROL_RETRACT_RECOVER _UxGT("UnRet mm") #define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("S UnRet mm") #define MSG_CONTROL_RETRACT_RECOVERF _UxGT("UnRet V") +#define MSG_CONTROL_RETRACT_RECOVER_SWAPF _UxGT("S UnRet V") #define MSG_AUTORETRACT _UxGT("AutoRetr.") #define MSG_FILAMENTCHANGE _UxGT("Vymenit filament") #define MSG_INIT_SDCARD _UxGT("Nacist SD kartu") #define MSG_CNG_SDCARD _UxGT("Vymenit SD kartu") #define MSG_ZPROBE_OUT _UxGT("Sonda Z mimo podl") +#define MSG_SKEW_FACTOR _UxGT("Faktor zkoseni") #define MSG_BLTOUCH _UxGT("BLTouch") #define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Self-Test") #define MSG_BLTOUCH_RESET _UxGT("BLTouch Reset") @@ -265,8 +294,12 @@ #define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibrovat Y") #define MSG_DELTA_CALIBRATE_Z _UxGT("Kalibrovat Z") #define MSG_DELTA_CALIBRATE_CENTER _UxGT("Kalibrovat Stred") +#define MSG_DELTA_SETTINGS _UxGT("Delta nastaveni") #define MSG_DELTA_AUTO_CALIBRATE _UxGT("Autokalibrace") #define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Nast.vysku delty") +#define MSG_DELTA_DIAG_ROD _UxGT("Diag rameno") +#define MSG_DELTA_HEIGHT _UxGT("Vyska") +#define MSG_DELTA_RADIUS _UxGT("Polomer") #define MSG_INFO_MENU _UxGT("O tiskarne") #define MSG_INFO_PRINTER_MENU _UxGT("Info o tiskarne") #define MSG_3POINT_LEVELING _UxGT("3-bodove rovnani") @@ -303,13 +336,14 @@ #define MSG_DRIVE_STRENGTH _UxGT("Buzeni motoru") #define MSG_DAC_PERCENT _UxGT("Motor %") #define MSG_DAC_EEPROM_WRITE _UxGT("Ulozit do EEPROM") - #define MSG_FILAMENT_CHANGE_HEADER _UxGT("PRINT PAUSED") #define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("RESUME OPTIONS:") #define MSG_FILAMENT_CHANGE_OPTION_EXTRUDE _UxGT("Jeste vytlacit") #define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Obnovit tisk") #define MSG_FILAMENT_CHANGE_MINTEMP _UxGT("Min. teplota je ") #define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Tryska: ") +#define MSG_ERR_HOMING_FAILED _UxGT("Parkovani selhalo") +#define MSG_ERR_PROBING_FAILED _UxGT("Kalibrace selhala") #if LCD_HEIGHT >= 4 // Up to 3 lines allowed diff --git a/Marlin/language_cz_utf8.h b/Marlin/language_cz_utf8.h index 09f9954a9..cad7d2acd 100644 --- a/Marlin/language_cz_utf8.h +++ b/Marlin/language_cz_utf8.h @@ -80,6 +80,8 @@ #define MSG_MOVE_AXIS _UxGT("Posunout osy") #define MSG_BED_LEVELING _UxGT("Vyrovnat podložku") #define MSG_LEVEL_BED _UxGT("Vyrovnat podložku") +#define MSG_LEVEL_CORNERS _UxGT("Vyrovnat rohy") +#define MSG_NEXT_CORNER _UxGT("Další roh") #define MSG_EDITING_STOPPED _UxGT("Konec úprav sítě") #define MSG_UBL_DOING_G29 _UxGT("Provádím G29") @@ -97,6 +99,7 @@ #define MSG_UBL_CUSTOM_BED_TEMP MSG_UBL_SET_BED_TEMP #define MSG_UBL_SET_HOTEND_TEMP _UxGT("Teplota hotendu") #define MSG_UBL_CUSTOM_HOTEND_TEMP MSG_UBL_SET_HOTEND_TEMP +#define MSG_UBL_MESH_EDIT _UxGT("Úprava sítě bodů") #define MSG_UBL_EDIT_CUSTOM_MESH _UxGT("Upravit vlastní síť") #define MSG_UBL_FINE_TUNE_MESH _UxGT("Doladit síť bodů") #define MSG_UBL_DONE_EDITING_MESH _UxGT("Konec úprav sítě") @@ -104,7 +107,7 @@ #define MSG_UBL_BUILD_MESH_MENU _UxGT("Vytvořit síť") #define MSG_UBL_BUILD_PLA_MESH _UxGT("Síť bodu PLA") #define MSG_UBL_BUILD_ABS_MESH _UxGT("Síť bodu ABS") -#define MSG_UBL_BUILD_COLD_MESH _UxGT("Studená síť bodu") +#define MSG_UBL_BUILD_COLD_MESH _UxGT("Studená síť bodů") #define MSG_UBL_MESH_HEIGHT_ADJUST _UxGT("Upravit výšku sítě") #define MSG_UBL_MESH_HEIGHT_AMOUNT _UxGT("Výška") #define MSG_UBL_VALIDATE_MESH_MENU _UxGT("Zkontrolovat síť") @@ -136,13 +139,36 @@ #define MSG_UBL_STORAGE_SLOT _UxGT("Paměťový slot") #define MSG_UBL_LOAD_MESH _UxGT("Načíst síť bodů") #define MSG_UBL_SAVE_MESH _UxGT("Uložit síť bodů") +#define MSG_MESH_LOADED _UxGT("Síť %i načtena") +#define MSG_MESH_SAVED _UxGT("Síť %i uložena") +#define MSG_NO_STORAGE _UxGT("Nedostatek místa") #define MSG_UBL_SAVE_ERROR _UxGT("Err: Uložit UBL") #define MSG_UBL_RESTORE_ERROR _UxGT("Err: Obnovit UBL") #define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Konec Z-Offsetu") #define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL Postupně") +#define MSG_LED_CONTROL _UxGT("LED Nastavení") +#define MSG_LEDS_ON _UxGT("Světla Zap") +#define MSG_LEDS_OFF _UxGT("Světla Vyp") +#define MSG_LED_PRESETS _UxGT("Světla Předvolby") +#define MSG_SET_LEDS_RED _UxGT("Světla Červená") +#define MSG_SET_LEDS_ORANGE _UxGT("Světla Oranžová") +#define MSG_SET_LEDS_YELLOW _UxGT("Světla Žlutá") +#define MSG_SET_LEDS_GREEN _UxGT("Světla Zelená") +#define MSG_SET_LEDS_BLUE _UxGT("Světla Modrá") +#define MSG_SET_LEDS_INDIGO _UxGT("Světla Indigo") +#define MSG_SET_LEDS_VIOLET _UxGT("Světla Fialová") +#define MSG_SET_LEDS_WHITE _UxGT("Světla Bílá") +#define MSG_SET_LEDS_DEFAULT _UxGT("Světla Výchozí") +#define MSG_CUSTOM_LEDS _UxGT("Vlastní světla") +#define MSG_INTENSITY_R _UxGT("Červená intenzita") +#define MSG_INTENSITY_G _UxGT("Zelená intezita") +#define MSG_INTENSITY_B _UxGT("Modrá intenzita") +#define MSG_INTENSITY_W _UxGT("Bílá intenzita") +#define MSG_LED_BRIGHTNESS _UxGT("Jas") + #define MSG_USER_MENU _UxGT("Vlastní příkazy") -#define MSG_MOVING _UxGT("Posouvání...") +#define MSG_MOVING _UxGT("Posouvani...") #define MSG_FREE_XY _UxGT("Uvolnit XY") #define MSG_MOVE_X _UxGT("Posunout X") #define MSG_MOVE_Y _UxGT("Posunout Y") @@ -156,6 +182,7 @@ #define MSG_NOZZLE _UxGT("Tryska") #define MSG_BED _UxGT("Podložka") #define MSG_FAN_SPEED _UxGT("Rychlost vent.") +#define MSG_EXTRA_FAN_SPEED _UxGT("Rychlost ex. vent.") #define MSG_FLOW _UxGT("Průtok") #define MSG_CONTROL _UxGT("Ovládaní") #define MSG_MIN _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Min") @@ -228,11 +255,13 @@ #define MSG_CONTROL_RETRACT_RECOVER _UxGT("UnRet mm") #define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("S UnRet mm") #define MSG_CONTROL_RETRACT_RECOVERF _UxGT("UnRet V") +#define MSG_CONTROL_RETRACT_RECOVER_SWAPF _UxGT("S UnRet V") #define MSG_AUTORETRACT _UxGT("AutoRetr.") #define MSG_FILAMENTCHANGE _UxGT("Vyměnit filament") #define MSG_INIT_SDCARD _UxGT("Načíst SD kartu") #define MSG_CNG_SDCARD _UxGT("Vyměnit SD kartu") #define MSG_ZPROBE_OUT _UxGT("Sonda Z mimo podl") +#define MSG_SKEW_FACTOR _UxGT("Faktor zkosení") #define MSG_BLTOUCH _UxGT("BLTouch") #define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Self-Test") #define MSG_BLTOUCH_RESET _UxGT("BLTouch Reset") @@ -267,8 +296,12 @@ #define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibrovat Y") #define MSG_DELTA_CALIBRATE_Z _UxGT("Kalibrovat Z") #define MSG_DELTA_CALIBRATE_CENTER _UxGT("Kalibrovat Střed") +#define MSG_DELTA_SETTINGS _UxGT("Delta nastavení") #define MSG_DELTA_AUTO_CALIBRATE _UxGT("Autokalibrace") #define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Nast.výšku delty") +#define MSG_DELTA_DIAG_ROD _UxGT("Diag rameno") +#define MSG_DELTA_HEIGHT _UxGT("Výška") +#define MSG_DELTA_RADIUS _UxGT("Poloměr") #define MSG_INFO_MENU _UxGT("O tiskárně") #define MSG_INFO_PRINTER_MENU _UxGT("Info o tiskárně") #define MSG_3POINT_LEVELING _UxGT("3-bodové rovnání") @@ -305,13 +338,14 @@ #define MSG_DRIVE_STRENGTH _UxGT("Buzení motorů") #define MSG_DAC_PERCENT _UxGT("Motor %") #define MSG_DAC_EEPROM_WRITE _UxGT("Uložit do EEPROM") - #define MSG_FILAMENT_CHANGE_HEADER _UxGT("PRINT PAUSED") #define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("RESUME OPTIONS:") #define MSG_FILAMENT_CHANGE_OPTION_EXTRUDE _UxGT("Ještě vytlačit") #define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Obnovit tisk") #define MSG_FILAMENT_CHANGE_MINTEMP _UxGT("Min. teplota je ") #define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Tryska: ") +#define MSG_ERR_HOMING_FAILED _UxGT("Parkování selhalo") +#define MSG_ERR_PROBING_FAILED _UxGT("Kalibrace selhala") #if LCD_HEIGHT >= 4 // Up to 3 lines allowed From b7306ef07fd7b43a8e09ce48442d481de6cf7432 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 24 Dec 2017 18:42:50 -0600 Subject: [PATCH 04/19] Fix WELCOME_MSG in PT From #8879 --- Marlin/language_pt.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_pt.h b/Marlin/language_pt.h index 9896005b9..a07c208c5 100644 --- a/Marlin/language_pt.h +++ b/Marlin/language_pt.h @@ -33,7 +33,7 @@ #define DISPLAY_CHARSET_ISO10646_1 #define NOT_EXTENDED_ISO10646_1_5X7 -#define WELCOME_MSG MACHINE_NAME " pronto." +#define WELCOME_MSG MACHINE_NAME " pronta." #define MSG_SD_INSERTED "Cartao inserido" #define MSG_SD_REMOVED "Cartao removido" #define MSG_MAIN "Menu principal" From 0950527437cac3acbeb30f5fb998f675e73ecb5a Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 24 Dec 2017 18:45:16 -0600 Subject: [PATCH 05/19] Fix WELCOME_MSG in PT From #8879 --- Marlin/language_pt_utf8.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_pt_utf8.h b/Marlin/language_pt_utf8.h index 4d18ae829..1b0129410 100644 --- a/Marlin/language_pt_utf8.h +++ b/Marlin/language_pt_utf8.h @@ -33,7 +33,7 @@ #define DISPLAY_CHARSET_ISO10646_1 -#define WELCOME_MSG MACHINE_NAME _UxGT(" pronto.") +#define WELCOME_MSG MACHINE_NAME _UxGT(" pronta.") #define MSG_SD_INSERTED _UxGT("Cartão inserido") #define MSG_SD_REMOVED _UxGT("Cartão removido") #define MSG_MAIN _UxGT("Menu principal") From 88c068896164e1cc51d8a191f90be265f6c99ba5 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 24 Dec 2017 19:49:51 -0600 Subject: [PATCH 06/19] Reduce default jerk. XY by half. Z by 1/4 --- Marlin/Configuration.h | 6 +++--- .../AlephObjects/TAZ4/Configuration.h | 2 +- .../AliExpress/CL-260/Configuration.h | 6 +++--- .../Anet/A6/Configuration.h | 17 ++++------------- .../Anet/A8/Configuration.h | 4 ++-- .../BQ/Hephestos/Configuration.h | 2 +- .../BQ/Hephestos_2/Configuration.h | 6 +++--- .../BQ/WITBOX/Configuration.h | 2 +- .../Cartesio/Configuration.h | 2 +- .../Creality/CR-10/Configuration.h | 4 ++-- .../FolgerTech/i3-2020/Configuration.h | 6 +++--- .../Geeetech/GT2560/Configuration.h | 6 +++--- .../Infitary/i3-M508/Configuration.h | 6 +++--- .../Malyan/M150/Configuration.h | 8 ++++---- .../Micromake/C1/basic/Configuration.h | 6 +++--- .../Micromake/C1/enhanced/Configuration.h | 6 +++--- .../RepRapWorld/Megatronics/Configuration.h | 6 +++--- .../RigidBot/Configuration.h | 8 ++++---- .../SCARA/Configuration.h | 8 ++++---- .../Sanguinololu/Configuration.h | 2 +- .../TinyBoy2/Configuration.h | 6 +++--- .../Velleman/K8200/Configuration.h | 6 +++--- .../Velleman/K8400/Dual-head/Configuration.h | 2 +- .../Wanhao/Duplicator 6/Configuration.h | 2 +- .../adafruit/ST7565/Configuration.h | 6 +++--- .../delta/FLSUN/auto_calibrate/Configuration.h | 4 ++-- .../delta/FLSUN/kossel_mini/Configuration.h | 4 ++-- .../delta/generic/Configuration.h | 6 +++--- .../delta/kossel_mini/Configuration.h | 6 +++--- .../delta/kossel_pro/Configuration.h | 6 +++--- .../delta/kossel_xl/Configuration.h | 6 +++--- .../gCreate/gMax1.5+/Configuration.h | 6 +++--- .../makibox/Configuration.h | 6 +++--- .../tvrrug/Round2/Configuration.h | 6 +++--- .../wt150/Configuration.h | 2 +- 35 files changed, 89 insertions(+), 98 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 0b036f39c..f23702ef8 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -566,9 +566,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h b/Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h index eb2af3f88..98ec5d9a6 100644 --- a/Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h +++ b/Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h @@ -588,7 +588,7 @@ */ #define DEFAULT_XJERK 8.0 #define DEFAULT_YJERK 8.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 10.0 //=========================================================================== diff --git a/Marlin/example_configurations/AliExpress/CL-260/Configuration.h b/Marlin/example_configurations/AliExpress/CL-260/Configuration.h index cb44364d4..7f1635e16 100644 --- a/Marlin/example_configurations/AliExpress/CL-260/Configuration.h +++ b/Marlin/example_configurations/AliExpress/CL-260/Configuration.h @@ -566,9 +566,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/Anet/A6/Configuration.h b/Marlin/example_configurations/Anet/A6/Configuration.h index aa7c676b7..3db7762ab 100644 --- a/Marlin/example_configurations/Anet/A6/Configuration.h +++ b/Marlin/example_configurations/Anet/A6/Configuration.h @@ -612,21 +612,12 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -//#define DEFAULT_XJERK 20.0 -//#define DEFAULT_YJERK 20.0 -//#define DEFAULT_ZJERK 0.4 -//#define DEFAULT_EJERK 5.0 - // ANET A6 Firmware V2.0 defaults (jerk): -// Vxy-jerk: 20, Vz-jerk: +000.30, Ve-jerk: 10 -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 +// Vxy-jerk: 10, Vz-jerk: +000.30, Ve-jerk: 5 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 #define DEFAULT_ZJERK 0.3 -#define DEFAULT_EJERK 10.0 -//#define DEFAULT_XJERK 20.0 -//#define DEFAULT_YJERK 20.0 -//#define DEFAULT_ZJERK 0.3 -//#define DEFAULT_EJERK 5.0 +#define DEFAULT_EJERK 5.0 //=========================================================================== //============================= Z Probe Options ============================= diff --git a/Marlin/example_configurations/Anet/A8/Configuration.h b/Marlin/example_configurations/Anet/A8/Configuration.h index 4cba9c156..1e5725d6b 100644 --- a/Marlin/example_configurations/Anet/A8/Configuration.h +++ b/Marlin/example_configurations/Anet/A8/Configuration.h @@ -573,8 +573,8 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 #define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 diff --git a/Marlin/example_configurations/BQ/Hephestos/Configuration.h b/Marlin/example_configurations/BQ/Hephestos/Configuration.h index 989c5f451..51707e59b 100644 --- a/Marlin/example_configurations/BQ/Hephestos/Configuration.h +++ b/Marlin/example_configurations/BQ/Hephestos/Configuration.h @@ -559,7 +559,7 @@ */ #define DEFAULT_XJERK 10.0 #define DEFAULT_YJERK 10.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h b/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h index db3df34fd..46b2f72c0 100644 --- a/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h +++ b/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h @@ -567,9 +567,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 1.0 //=========================================================================== diff --git a/Marlin/example_configurations/BQ/WITBOX/Configuration.h b/Marlin/example_configurations/BQ/WITBOX/Configuration.h index 791aa3b90..f1e3265a4 100644 --- a/Marlin/example_configurations/BQ/WITBOX/Configuration.h +++ b/Marlin/example_configurations/BQ/WITBOX/Configuration.h @@ -559,7 +559,7 @@ */ #define DEFAULT_XJERK 10.0 #define DEFAULT_YJERK 10.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/Cartesio/Configuration.h b/Marlin/example_configurations/Cartesio/Configuration.h index bb86cc966..c8583069c 100644 --- a/Marlin/example_configurations/Cartesio/Configuration.h +++ b/Marlin/example_configurations/Cartesio/Configuration.h @@ -567,7 +567,7 @@ */ #define DEFAULT_XJERK 10.0 #define DEFAULT_YJERK 10.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/Creality/CR-10/Configuration.h b/Marlin/example_configurations/Creality/CR-10/Configuration.h index 3aecfb716..3dba13bac 100755 --- a/Marlin/example_configurations/Creality/CR-10/Configuration.h +++ b/Marlin/example_configurations/Creality/CR-10/Configuration.h @@ -576,8 +576,8 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 #define DEFAULT_ZJERK 2.7 #define DEFAULT_EJERK 5.0 diff --git a/Marlin/example_configurations/FolgerTech/i3-2020/Configuration.h b/Marlin/example_configurations/FolgerTech/i3-2020/Configuration.h index 2b35f136b..fcc7fead0 100644 --- a/Marlin/example_configurations/FolgerTech/i3-2020/Configuration.h +++ b/Marlin/example_configurations/FolgerTech/i3-2020/Configuration.h @@ -571,9 +571,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 17.0 -#define DEFAULT_YJERK 17.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_XJERK 8.5 +#define DEFAULT_YJERK 8.5 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 4.0 //=========================================================================== diff --git a/Marlin/example_configurations/Geeetech/GT2560/Configuration.h b/Marlin/example_configurations/Geeetech/GT2560/Configuration.h index 49f2ca223..a4d49f74b 100644 --- a/Marlin/example_configurations/Geeetech/GT2560/Configuration.h +++ b/Marlin/example_configurations/Geeetech/GT2560/Configuration.h @@ -581,9 +581,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/Infitary/i3-M508/Configuration.h b/Marlin/example_configurations/Infitary/i3-M508/Configuration.h index e5d17dc8b..2c0ac8dff 100644 --- a/Marlin/example_configurations/Infitary/i3-M508/Configuration.h +++ b/Marlin/example_configurations/Infitary/i3-M508/Configuration.h @@ -570,9 +570,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/Malyan/M150/Configuration.h b/Marlin/example_configurations/Malyan/M150/Configuration.h index 405b8b6f6..a94df1fdc 100644 --- a/Marlin/example_configurations/Malyan/M150/Configuration.h +++ b/Marlin/example_configurations/Malyan/M150/Configuration.h @@ -586,10 +586,10 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 8.0 -#define DEFAULT_YJERK 8.0 -#define DEFAULT_ZJERK 0.40 -#define DEFAULT_EJERK 5.0 +#define DEFAULT_XJERK 8.0 +#define DEFAULT_YJERK 8.0 +#define DEFAULT_ZJERK 0.3 +#define DEFAULT_EJERK 5.0 //=========================================================================== //============================= Z Probe Options ============================= diff --git a/Marlin/example_configurations/Micromake/C1/basic/Configuration.h b/Marlin/example_configurations/Micromake/C1/basic/Configuration.h index f66fbc578..bf078d863 100644 --- a/Marlin/example_configurations/Micromake/C1/basic/Configuration.h +++ b/Marlin/example_configurations/Micromake/C1/basic/Configuration.h @@ -570,9 +570,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 20.0 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK DEFAULT_XJERK +#define DEFAULT_ZJERK DEFAULT_XJERK // Must be same as XY for delta #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h b/Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h index 7d94d844f..d94034ef6 100644 --- a/Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h +++ b/Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h @@ -570,9 +570,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK DEFAULT_XJERK +#define DEFAULT_ZJERK DEFAULT_XJERK // Must be same as XY for delta #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h index c6eab8fa3..84a6eece4 100644 --- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h @@ -566,9 +566,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/RigidBot/Configuration.h b/Marlin/example_configurations/RigidBot/Configuration.h index f06468825..c847c6a4d 100644 --- a/Marlin/example_configurations/RigidBot/Configuration.h +++ b/Marlin/example_configurations/RigidBot/Configuration.h @@ -564,10 +564,10 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 8.0 -#define DEFAULT_YJERK 8.0 -#define DEFAULT_ZJERK 0.4 -#define DEFAULT_EJERK 5.0 +#define DEFAULT_XJERK 8.0 +#define DEFAULT_YJERK 8.0 +#define DEFAULT_ZJERK 0.3 +#define DEFAULT_EJERK 5.0 //=========================================================================== //============================= Z Probe Options ============================= diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index 3fd3b32bb..4550d9f0d 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -578,10 +578,10 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 5.0 -#define DEFAULT_YJERK 5.0 -#define DEFAULT_ZJERK 0.4 -#define DEFAULT_EJERK 3.0 +#define DEFAULT_XJERK 5.0 +#define DEFAULT_YJERK 5.0 +#define DEFAULT_ZJERK 0.3 +#define DEFAULT_EJERK 3.0 //=========================================================================== //============================= Z Probe Options ============================= diff --git a/Marlin/example_configurations/Sanguinololu/Configuration.h b/Marlin/example_configurations/Sanguinololu/Configuration.h index 1df349815..8305fde0d 100644 --- a/Marlin/example_configurations/Sanguinololu/Configuration.h +++ b/Marlin/example_configurations/Sanguinololu/Configuration.h @@ -599,7 +599,7 @@ */ #define DEFAULT_XJERK 10.0 #define DEFAULT_YJERK 10.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/TinyBoy2/Configuration.h b/Marlin/example_configurations/TinyBoy2/Configuration.h index 9873fd792..8b41e17d2 100644 --- a/Marlin/example_configurations/TinyBoy2/Configuration.h +++ b/Marlin/example_configurations/TinyBoy2/Configuration.h @@ -617,9 +617,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/Velleman/K8200/Configuration.h b/Marlin/example_configurations/Velleman/K8200/Configuration.h index c4db7ae33..60a666322 100644 --- a/Marlin/example_configurations/Velleman/K8200/Configuration.h +++ b/Marlin/example_configurations/Velleman/K8200/Configuration.h @@ -595,9 +595,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h b/Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h index eec93ae6f..5a78c35c4 100644 --- a/Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h +++ b/Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h @@ -568,7 +568,7 @@ */ #define DEFAULT_XJERK 10.0 #define DEFAULT_YJERK 10.0 -#define DEFAULT_ZJERK 0.5 +#define DEFAULT_ZJERK 0.4 #define DEFAULT_EJERK 20.0 //=========================================================================== diff --git a/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration.h b/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration.h index e009f5d1b..175a8fb84 100644 --- a/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration.h +++ b/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration.h @@ -578,7 +578,7 @@ */ #define DEFAULT_XJERK 10.0 #define DEFAULT_YJERK 10.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 1.0 //=========================================================================== diff --git a/Marlin/example_configurations/adafruit/ST7565/Configuration.h b/Marlin/example_configurations/adafruit/ST7565/Configuration.h index 0de908a16..4889e19b6 100644 --- a/Marlin/example_configurations/adafruit/ST7565/Configuration.h +++ b/Marlin/example_configurations/adafruit/ST7565/Configuration.h @@ -566,9 +566,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h index 53263cb69..b60afcc8f 100644 --- a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h +++ b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h @@ -646,9 +646,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 +#define DEFAULT_XJERK 10.0 #define DEFAULT_YJERK DEFAULT_XJERK -#define DEFAULT_ZJERK DEFAULT_YJERK // Must be same as XY for delta +#define DEFAULT_ZJERK DEFAULT_XJERK // Must be same as XY for delta #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h index cc3adb22f..f2d6aaf01 100644 --- a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h @@ -646,9 +646,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 +#define DEFAULT_XJERK 10.0 #define DEFAULT_YJERK DEFAULT_XJERK -#define DEFAULT_ZJERK DEFAULT_YJERK // Must be same as XY for delta +#define DEFAULT_ZJERK DEFAULT_XJERK // Must be same as XY for delta #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h index cc68b994e..142f56c00 100644 --- a/Marlin/example_configurations/delta/generic/Configuration.h +++ b/Marlin/example_configurations/delta/generic/Configuration.h @@ -636,9 +636,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 20.0 // Must be same as XY for delta +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK DEFAULT_XJERK +#define DEFAULT_ZJERK DEFAULT_XJERK // Must be same as XY for delta #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h index 826129409..631614c53 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h @@ -636,9 +636,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 20.0 // Must be same as XY for delta +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK DEFAULT_XJERK +#define DEFAULT_ZJERK DEFAULT_XJERK // Must be same as XY for delta #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration.h b/Marlin/example_configurations/delta/kossel_pro/Configuration.h index 490f4bb87..048970a12 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration.h @@ -629,9 +629,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 20.0 // Must be same as XY for delta +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK DEFAULT_XJERK +#define DEFAULT_ZJERK DEFAULT_XJERK // Must be same as XY for delta #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration.h b/Marlin/example_configurations/delta/kossel_xl/Configuration.h index 1e732d76a..b78c8746d 100644 --- a/Marlin/example_configurations/delta/kossel_xl/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_xl/Configuration.h @@ -648,9 +648,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 20.0 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK DEFAULT_XJERK +#define DEFAULT_ZJERK DEFAULT_XJERK // Must be same as XY for delta #define DEFAULT_EJERK 20.0 //=========================================================================== diff --git a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h index 85a0b152f..2ec9a3bbb 100644 --- a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h +++ b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h @@ -579,9 +579,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 17.0 -#define DEFAULT_YJERK 17.0 -#define DEFAULT_ZJERK 1.0 +#define DEFAULT_XJERK 8.5 +#define DEFAULT_YJERK 8.5 +#define DEFAULT_ZJERK 0.7 #define DEFAULT_EJERK 4.0 //=========================================================================== diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index fc328d517..e965196a3 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -569,9 +569,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index 757b40d41..1776b938c 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -561,9 +561,9 @@ * When changing speed and direction, if the difference is less than the * value set here, it may happen instantaneously. */ -#define DEFAULT_XJERK 20.0 -#define DEFAULT_YJERK 20.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_XJERK 10.0 +#define DEFAULT_YJERK 10.0 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 //=========================================================================== diff --git a/Marlin/example_configurations/wt150/Configuration.h b/Marlin/example_configurations/wt150/Configuration.h index 4642755bd..88d037fe2 100644 --- a/Marlin/example_configurations/wt150/Configuration.h +++ b/Marlin/example_configurations/wt150/Configuration.h @@ -573,7 +573,7 @@ */ #define DEFAULT_XJERK 8.0 #define DEFAULT_YJERK 8.0 -#define DEFAULT_ZJERK 0.4 +#define DEFAULT_ZJERK 0.3 #define DEFAULT_EJERK 5.0 //=========================================================================== From e47316c9d349a9d35e635c607f90689fac07f5bc Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 24 Dec 2017 20:33:58 -0600 Subject: [PATCH 07/19] Tweak cleaning buffer / SD finished command --- Marlin/cardreader.cpp | 5 +++-- Marlin/stepper.cpp | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Marlin/cardreader.cpp b/Marlin/cardreader.cpp index c1b42e891..4d564389e 100644 --- a/Marlin/cardreader.cpp +++ b/Marlin/cardreader.cpp @@ -891,8 +891,9 @@ void CardReader::printingHasFinished() { } else { sdprinting = false; - if (SD_FINISHED_STEPPERRELEASE) - enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND)); + #if ENABLED(SD_FINISHED_STEPPERRELEASE) && defined(SD_FINISHED_RELEASECOMMAND) + stepper.cleaning_buffer_counter = 1; // The command will fire from the Stepper ISR + #endif print_job_timer.stop(); if (print_job_timer.duration() > 60) enqueue_and_echo_commands_P(PSTR("M31")); diff --git a/Marlin/stepper.cpp b/Marlin/stepper.cpp index ed9333716..664022b64 100644 --- a/Marlin/stepper.cpp +++ b/Marlin/stepper.cpp @@ -436,8 +436,8 @@ void Stepper::isr() { else { planner.discard_current_block(); --cleaning_buffer_counter; // Count down for abort print - #ifdef SD_FINISHED_RELEASECOMMAND - if (!cleaning_buffer_counter && (SD_FINISHED_STEPPERRELEASE)) enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND)); + #if ENABLED(SD_FINISHED_STEPPERRELEASE) && defined(SD_FINISHED_RELEASECOMMAND) + if (!cleaning_buffer_counter) enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND)); #endif } current_block = NULL; // Prep to get a new block after cleaning From fb6b62a01bff9f55dfa7f7aedf1f23e6e88fe5ad Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 24 Dec 2017 22:53:05 -0600 Subject: [PATCH 08/19] Comment `return false` in motion functions --- Marlin/Marlin_main.cpp | 10 ++++------ Marlin/ubl_motion.cpp | 2 ++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 3679a2b2d..75bcb4920 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -13027,7 +13027,6 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { } else { // Must already have been split on these border(s) - // This should be a rare case. buffer_line_to_destination(fr_mm_s); set_current_from_destination(); return; @@ -13096,7 +13095,6 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { } else { // Must already have been split on these border(s) - // This should be a rare case. buffer_line_to_destination(fr_mm_s); set_current_from_destination(); return; @@ -13139,7 +13137,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { // If the move is only in Z/E don't split up the move if (!xdiff && !ydiff) { planner.buffer_line_kinematic(rtarget, _feedrate_mm_s, active_extruder); - return false; + return false; // caller will update current_position } // Fail if attempting move outside printable radius @@ -13236,7 +13234,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { planner.buffer_line_kinematic(rtarget, _feedrate_mm_s, active_extruder); #endif - return false; + return false; // caller will update current_position } #else // !IS_KINEMATIC @@ -13257,7 +13255,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { return true; // all moves, including Z-only moves. #elif ENABLED(SEGMENT_LEVELED_MOVES) segmented_line_to_destination(MMS_SCALED(feedrate_mm_s)); - return false; + return false; // caller will update current_position #else /** * For MBL and ABL-BILINEAR only segment moves when X or Y are involved. @@ -13276,7 +13274,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { #endif // HAS_MESH buffer_line_to_destination(MMS_SCALED(feedrate_mm_s)); - return false; + return false; // caller will update current_position } #endif // !IS_KINEMATIC diff --git a/Marlin/ubl_motion.cpp b/Marlin/ubl_motion.cpp index 33570af34..5a8cf8c02 100644 --- a/Marlin/ubl_motion.cpp +++ b/Marlin/ubl_motion.cpp @@ -616,6 +616,8 @@ } // segment loop } // cell loop + + return false; // caller will update current_position } #endif // UBL_SEGMENTED From 59d047c1d7d4e39d0f4014eb2b44887935a444e2 Mon Sep 17 00:00:00 2001 From: Thomas Moore Date: Sun, 24 Dec 2017 23:47:05 -0600 Subject: [PATCH 09/19] [1.1.x] Use NOZZLE_PARK_FEATURE for ADVANCED_PAUSE_FEATURE (#8864) * Use NOZZLE_PARK_FEATURE for ADVANCED_PAUSE_FEATURE --- Marlin/Configuration.h | 4 +- Marlin/Configuration_adv.h | 6 +- Marlin/Marlin_main.cpp | 125 ++++++++---------- Marlin/SanityCheck.h | 38 +++--- .../AlephObjects/TAZ4/Configuration.h | 4 +- .../AlephObjects/TAZ4/Configuration_adv.h | 6 +- .../AliExpress/CL-260/Configuration.h | 4 +- .../Anet/A6/Configuration.h | 4 +- .../Anet/A6/Configuration_adv.h | 6 +- .../Anet/A8/Configuration.h | 4 +- .../Anet/A8/Configuration_adv.h | 6 +- .../BQ/Hephestos/Configuration.h | 4 +- .../BQ/Hephestos/Configuration_adv.h | 6 +- .../BQ/Hephestos_2/Configuration.h | 4 +- .../BQ/Hephestos_2/Configuration_adv.h | 6 +- .../BQ/WITBOX/Configuration.h | 4 +- .../BQ/WITBOX/Configuration_adv.h | 6 +- .../Cartesio/Configuration.h | 4 +- .../Cartesio/Configuration_adv.h | 6 +- .../Creality/CR-10/Configuration.h | 4 +- .../Creality/CR-10/Configuration_adv.h | 6 +- .../Felix/Configuration.h | 4 +- .../Felix/Configuration_adv.h | 6 +- .../Felix/DUAL/Configuration.h | 4 +- .../FolgerTech/i3-2020/Configuration.h | 6 +- .../FolgerTech/i3-2020/Configuration_adv.h | 6 +- .../Geeetech/GT2560/Configuration.h | 4 +- .../Geeetech/I3_Pro_X-GT2560/Configuration.h | 4 +- .../Infitary/i3-M508/Configuration.h | 4 +- .../Infitary/i3-M508/Configuration_adv.h | 6 +- .../Malyan/M150/Configuration.h | 4 +- .../Malyan/M150/Configuration_adv.h | 6 +- .../Micromake/C1/basic/Configuration.h | 6 +- .../Micromake/C1/enhanced/Configuration.h | 4 +- .../Micromake/C1/enhanced/Configuration_adv.h | 6 +- .../RepRapWorld/Megatronics/Configuration.h | 4 +- .../RigidBot/Configuration.h | 4 +- .../RigidBot/Configuration_adv.h | 6 +- .../SCARA/Configuration.h | 4 +- .../SCARA/Configuration_adv.h | 6 +- .../Sanguinololu/Configuration.h | 4 +- .../Sanguinololu/Configuration_adv.h | 6 +- .../TinyBoy2/Configuration.h | 4 +- .../TinyBoy2/Configuration_adv.h | 6 +- .../Velleman/K8200/Configuration.h | 4 +- .../Velleman/K8200/Configuration_adv.h | 6 +- .../Velleman/K8400/Configuration.h | 4 +- .../Velleman/K8400/Configuration_adv.h | 6 +- .../Velleman/K8400/Dual-head/Configuration.h | 4 +- .../Wanhao/Duplicator 6/Configuration.h | 6 +- .../Wanhao/Duplicator 6/Configuration_adv.h | 6 +- .../adafruit/ST7565/Configuration.h | 4 +- .../FLSUN/auto_calibrate/Configuration.h | 4 +- .../FLSUN/auto_calibrate/Configuration_adv.h | 6 +- .../delta/FLSUN/kossel_mini/Configuration.h | 4 +- .../FLSUN/kossel_mini/Configuration_adv.h | 6 +- .../delta/generic/Configuration.h | 4 +- .../delta/generic/Configuration_adv.h | 6 +- .../delta/kossel_mini/Configuration.h | 4 +- .../delta/kossel_mini/Configuration_adv.h | 6 +- .../delta/kossel_pro/Configuration.h | 4 +- .../delta/kossel_pro/Configuration_adv.h | 6 +- .../delta/kossel_xl/Configuration.h | 4 +- .../delta/kossel_xl/Configuration_adv.h | 6 +- .../gCreate/gMax1.5+/Configuration.h | 6 +- .../gCreate/gMax1.5+/Configuration_adv.h | 6 +- .../makibox/Configuration.h | 4 +- .../makibox/Configuration_adv.h | 6 +- .../tvrrug/Round2/Configuration.h | 4 +- .../tvrrug/Round2/Configuration_adv.h | 6 +- .../wt150/Configuration.h | 4 +- .../wt150/Configuration_adv.h | 6 +- Marlin/nozzle.cpp | 13 +- Marlin/nozzle.h | 2 +- 74 files changed, 240 insertions(+), 288 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index f23702ef8..150db5fcd 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -1154,7 +1154,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1169,6 +1169,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 7d4b8896b..d2cfff0af 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 75bcb4920..2647a5232 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -6492,12 +6492,12 @@ inline void gcode_M17() { stepper.synchronize(); } - static bool pause_print(const float &retract, const float &z_lift, const float &x_pos, const float &y_pos, - const float &unload_length = 0 , const int8_t max_beep_count = 0, const bool show_lcd = false + static bool pause_print(const float &retract, const point_t &park_point, const float &unload_length = 0, + const int8_t max_beep_count = 0, const bool show_lcd = false ) { if (move_away_flag) return false; // already paused - if (!DEBUGGING(DRYRUN) && (unload_length != 0 || retract != 0)) { + if (!DEBUGGING(DRYRUN) && unload_length != 0) { #if ENABLED(PREVENT_COLD_EXTRUSION) if (!thermalManager.allow_cold_extrude && thermalManager.degTargetHotend(active_extruder) < thermalManager.extrude_min_temp) { @@ -6534,14 +6534,11 @@ inline void gcode_M17() { COPY(resume_position, current_position); // Initial retract before move to filament change position - if (retract) do_pause_e_move(retract, PAUSE_PARK_RETRACT_FEEDRATE); + if (retract && !thermalManager.tooColdToExtrude(active_extruder)) + do_pause_e_move(retract, PAUSE_PARK_RETRACT_FEEDRATE); - // Lift Z axis - if (z_lift > 0) - do_blocking_move_to_z(current_position[Z_AXIS] + z_lift, PAUSE_PARK_Z_FEEDRATE); - - // Move XY axes to filament exchange position - do_blocking_move_to_xy(x_pos, y_pos, PAUSE_PARK_XY_FEEDRATE); + // Park the nozzle by moving up by z_lift and then moving to (x_pos, y_pos) + Nozzle::park(2, park_point); if (unload_length != 0) { if (show_lcd) { @@ -6683,28 +6680,30 @@ inline void gcode_M17() { #if ENABLED(ULTIPANEL) && ADVANCED_PAUSE_EXTRUDE_LENGTH > 0 - float extrude_length = initial_extrude_length; + if (!thermalManager.tooColdToExtrude(active_extruder)) { + float extrude_length = initial_extrude_length; - do { - if (extrude_length > 0) { - // "Wait for filament extrude" - lcd_advanced_pause_show_message(ADVANCED_PAUSE_MESSAGE_EXTRUDE); + do { + if (extrude_length > 0) { + // "Wait for filament extrude" + lcd_advanced_pause_show_message(ADVANCED_PAUSE_MESSAGE_EXTRUDE); - // Extrude filament to get into hotend - do_pause_e_move(extrude_length, ADVANCED_PAUSE_EXTRUDE_FEEDRATE); - } + // Extrude filament to get into hotend + do_pause_e_move(extrude_length, ADVANCED_PAUSE_EXTRUDE_FEEDRATE); + } - // Show "Extrude More" / "Resume" menu and wait for reply - KEEPALIVE_STATE(PAUSED_FOR_USER); - wait_for_user = false; - lcd_advanced_pause_show_message(ADVANCED_PAUSE_MESSAGE_OPTION); - while (advanced_pause_menu_response == ADVANCED_PAUSE_RESPONSE_WAIT_FOR) idle(true); - KEEPALIVE_STATE(IN_HANDLER); + // Show "Extrude More" / "Resume" menu and wait for reply + KEEPALIVE_STATE(PAUSED_FOR_USER); + wait_for_user = false; + lcd_advanced_pause_show_message(ADVANCED_PAUSE_MESSAGE_OPTION); + while (advanced_pause_menu_response == ADVANCED_PAUSE_RESPONSE_WAIT_FOR) idle(true); + KEEPALIVE_STATE(IN_HANDLER); - extrude_length = ADVANCED_PAUSE_EXTRUDE_LENGTH; + extrude_length = ADVANCED_PAUSE_EXTRUDE_LENGTH; - // Keep looping if "Extrude More" was selected - } while (advanced_pause_menu_response == ADVANCED_PAUSE_RESPONSE_EXTRUDE_MORE); + // Keep looping if "Extrude More" was selected + } while (advanced_pause_menu_response == ADVANCED_PAUSE_RESPONSE_EXTRUDE_MORE); + } #endif @@ -6718,8 +6717,8 @@ inline void gcode_M17() { planner.set_e_position_mm(current_position[E_AXIS]); // Move XY to starting position, then Z - do_blocking_move_to_xy(resume_position[X_AXIS], resume_position[Y_AXIS], PAUSE_PARK_XY_FEEDRATE); - do_blocking_move_to_z(resume_position[Z_AXIS], PAUSE_PARK_Z_FEEDRATE); + do_blocking_move_to_xy(resume_position[X_AXIS], resume_position[Y_AXIS], NOZZLE_PARK_XY_FEEDRATE); + do_blocking_move_to_z(resume_position[Z_AXIS], NOZZLE_PARK_Z_FEEDRATE); #if ENABLED(FILAMENT_RUNOUT_SENSOR) filament_ran_out = false; @@ -8601,6 +8600,7 @@ inline void gcode_M121() { endstops.enable_globally(false); } * Z = override Z raise */ inline void gcode_M125() { + point_t park_point = NOZZLE_PARK_POINT; // Initial retract before move to filament change position const float retract = parser.seen('L') ? parser.value_axis_units(E_AXIS) : 0 @@ -8610,35 +8610,26 @@ inline void gcode_M121() { endstops.enable_globally(false); } ; // Lift Z axis - const float z_lift = parser.linearval('Z') - #ifdef PAUSE_PARK_Z_ADD - + PAUSE_PARK_Z_ADD - #endif - ; + if (parser.seenval('Z')) + park_point.z = parser.linearval('Z'); // Move XY axes to filament change position or given position - const float x_pos = parser.linearval('X') - #ifdef PAUSE_PARK_X_POS - + PAUSE_PARK_X_POS - #endif - #if HOTENDS > 1 && DISABLED(DUAL_X_CARRIAGE) - + (active_extruder ? hotend_offset[X_AXIS][active_extruder] : 0) - #endif - ; - const float y_pos = parser.linearval('Y') - #ifdef PAUSE_PARK_Y_POS - + PAUSE_PARK_Y_POS - #endif - #if HOTENDS > 1 && DISABLED(DUAL_X_CARRIAGE) - + (active_extruder ? hotend_offset[Y_AXIS][active_extruder] : 0) - #endif - ; + if (parser.seenval('X')) + park_point.x = parser.linearval('X'); + + if (parser.seenval('Y')) + park_point.y = parser.linearval('Y'); + + #if HOTENDS > 1 && DISABLED(DUAL_X_CARRIAGE) + park_point.x += (active_extruder ? hotend_offset[X_AXIS][active_extruder] : 0); + park_point.y += (active_extruder ? hotend_offset[Y_AXIS][active_extruder] : 0); + #endif #if DISABLED(SDSUPPORT) const bool job_running = print_job_timer.isRunning(); #endif - if (pause_print(retract, z_lift, x_pos, y_pos)) { + if (pause_print(retract, park_point)) { #if DISABLED(SDSUPPORT) // Wait for lcd click or M108 wait_for_filament_reload(); @@ -10030,6 +10021,7 @@ inline void gcode_M502() { * */ inline void gcode_M600() { + point_t park_point = NOZZLE_PARK_POINT; #if ENABLED(HOME_BEFORE_FILAMENT_CHANGE) // Don't allow filament change without homing first @@ -10044,23 +10036,20 @@ inline void gcode_M502() { ; // Lift Z axis - const float z_lift = parser.linearval('Z', 0 - #ifdef PAUSE_PARK_Z_ADD - + PAUSE_PARK_Z_ADD - #endif - ); + if (parser.seenval('Z')) + park_point.z = parser.linearval('Z'); - // Move XY axes to filament exchange position - const float x_pos = parser.linearval('X', 0 - #ifdef PAUSE_PARK_X_POS - + PAUSE_PARK_X_POS - #endif - ); - const float y_pos = parser.linearval('Y', 0 - #ifdef PAUSE_PARK_Y_POS - + PAUSE_PARK_Y_POS - #endif - ); + // Move XY axes to filament change position or given position + if (parser.seenval('X')) + park_point.x = parser.linearval('X'); + + if (parser.seenval('Y')) + park_point.y = parser.linearval('Y'); + + #if HOTENDS > 1 && DISABLED(DUAL_X_CARRIAGE) + park_point.x += (active_extruder ? hotend_offset[X_AXIS][active_extruder] : 0); + park_point.y += (active_extruder ? hotend_offset[Y_AXIS][active_extruder] : 0); + #endif // Unload filament const float unload_length = parser.seen('U') ? parser.value_axis_units(E_AXIS) : 0 @@ -10086,7 +10075,7 @@ inline void gcode_M502() { const bool job_running = print_job_timer.isRunning(); - if (pause_print(retract, z_lift, x_pos, y_pos, unload_length, beep_count, true)) { + if (pause_print(retract, park_point, unload_length, beep_count, true)) { wait_for_filament_reload(beep_count); resume_print(load_length, ADVANCED_PAUSE_EXTRUDE_LENGTH, beep_count); } diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h index f3749c6cb..2399c42c7 100644 --- a/Marlin/SanityCheck.h +++ b/Marlin/SanityCheck.h @@ -105,25 +105,31 @@ #error "FILAMENTCHANGEENABLE is now ADVANCED_PAUSE_FEATURE. Please update your configuration." #elif ENABLED(FILAMENT_CHANGE_FEATURE) #error "FILAMENT_CHANGE_FEATURE is now ADVANCED_PAUSE_FEATURE. Please update your configuration." -#elif ENABLED(FILAMENT_CHANGE_X_POS) - #error "FILAMENT_CHANGE_X_POS is now PAUSE_PARK_X_POS. Please update your configuration." -#elif ENABLED(FILAMENT_CHANGE_Y_POS) - #error "FILAMENT_CHANGE_Y_POS is now PAUSE_PARK_Y_POS. Please update your configuration." -#elif ENABLED(FILAMENT_CHANGE_Z_ADD) - #error "FILAMENT_CHANGE_Z_ADD is now PAUSE_PARK_Z_ADD. Please update your configuration." -#elif ENABLED(FILAMENT_CHANGE_XY_FEEDRATE) - #error "FILAMENT_CHANGE_XY_FEEDRATE is now PAUSE_PARK_XY_FEEDRATE. Please update your configuration." -#elif ENABLED(FILAMENT_CHANGE_Z_FEEDRATE) - #error "FILAMENT_CHANGE_Z_FEEDRATE is now PAUSE_PARK_Z_FEEDRATE. Please update your configuration." -#elif ENABLED(FILAMENT_CHANGE_RETRACT_FEEDRATE) +#elif defined(FILAMENT_CHANGE_X_POS) || defined(FILAMENT_CHANGE_Y_POS) + #error "FILAMENT_CHANGE_[XY]_POS is now set with NOZZLE_PARK_POINT. Please update your configuration." +#elif defined(FILAMENT_CHANGE_Z_ADD) + #error "FILAMENT_CHANGE_Z_ADD is now set with NOZZLE_PARK_POINT. Please update your configuration." +#elif defined(FILAMENT_CHANGE_XY_FEEDRATE) + #error "FILAMENT_CHANGE_XY_FEEDRATE is now NOZZLE_PARK_XY_FEEDRATE. Please update your configuration." +#elif defined(FILAMENT_CHANGE_Z_FEEDRATE) + #error "FILAMENT_CHANGE_Z_FEEDRATE is now NOZZLE_PARK_Z_FEEDRATE. Please update your configuration." +#elif defined(PAUSE_PARK_X_POS) || defined(PAUSE_PARK_Y_POS) + #error "PAUSE_PARK_[XY]_POS is now set with NOZZLE_PARK_POINT. Please update your configuration." +#elif defined(PAUSE_PARK_Z_ADD) + #error "PAUSE_PARK_Z_ADD is now set with NOZZLE_PARK_POINT. Please update your configuration." +#elif defined(PAUSE_PARK_XY_FEEDRATE) + #error "PAUSE_PARK_XY_FEEDRATE is now NOZZLE_PARK_XY_FEEDRATE. Please update your configuration." +#elif defined(PAUSE_PARK_Z_FEEDRATE) + #error "PAUSE_PARK_Z_FEEDRATE is now NOZZLE_PARK_Z_FEEDRATE. Please update your configuration." +#elif defined(FILAMENT_CHANGE_RETRACT_FEEDRATE) #error "FILAMENT_CHANGE_RETRACT_FEEDRATE is now PAUSE_PARK_RETRACT_FEEDRATE. Please update your configuration." -#elif ENABLED(FILAMENT_CHANGE_RETRACT_LENGTH) +#elif defined(FILAMENT_CHANGE_RETRACT_LENGTH) #error "FILAMENT_CHANGE_RETRACT_LENGTH is now PAUSE_PARK_RETRACT_LENGTH. Please update your configuration." -#elif ENABLED(FILAMENT_CHANGE_EXTRUDE_FEEDRATE) +#elif defined(FILAMENT_CHANGE_EXTRUDE_FEEDRATE) #error "FILAMENT_CHANGE_EXTRUDE_FEEDRATE is now ADVANCED_PAUSE_EXTRUDE_FEEDRATE. Please update your configuration." -#elif ENABLED(FILAMENT_CHANGE_EXTRUDE_LENGTH) +#elif defined(FILAMENT_CHANGE_EXTRUDE_LENGTH) #error "FILAMENT_CHANGE_EXTRUDE_LENGTH is now ADVANCED_PAUSE_EXTRUDE_LENGTH. Please update your configuration." -#elif ENABLED(FILAMENT_CHANGE_NOZZLE_TIMEOUT) +#elif defined(FILAMENT_CHANGE_NOZZLE_TIMEOUT) #error "FILAMENT_CHANGE_NOZZLE_TIMEOUT is now PAUSE_PARK_NOZZLE_TIMEOUT. Please update your configuration." #elif ENABLED(FILAMENT_CHANGE_NO_STEPPER_TIMEOUT) #error "FILAMENT_CHANGE_NO_STEPPER_TIMEOUT is now PAUSE_PARK_NO_STEPPER_TIMEOUT. Please update your configuration." @@ -408,6 +414,8 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #error "PARK_HEAD_ON_PAUSE requires SDSUPPORT, EMERGENCY_PARSER, or an LCD controller." #elif ENABLED(HOME_BEFORE_FILAMENT_CHANGE) && DISABLED(PAUSE_PARK_NO_STEPPER_TIMEOUT) #error "HOME_BEFORE_FILAMENT_CHANGE requires PAUSE_PARK_NO_STEPPER_TIMEOUT" + #elif DISABLED(NOZZLE_PARK_FEATURE) + #error "ADVANCED_PAUSE_FEATURE requires NOZZLE_PARK_FEATURE" #endif #endif diff --git a/Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h b/Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h index 98ec5d9a6..48acfd3bf 100644 --- a/Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h +++ b/Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h @@ -1174,7 +1174,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1189,6 +1189,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h b/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h index 695f1a43c..25ac13ffb 100644 --- a/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h +++ b/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/AliExpress/CL-260/Configuration.h b/Marlin/example_configurations/AliExpress/CL-260/Configuration.h index 7f1635e16..c417cb057 100644 --- a/Marlin/example_configurations/AliExpress/CL-260/Configuration.h +++ b/Marlin/example_configurations/AliExpress/CL-260/Configuration.h @@ -1154,7 +1154,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1169,6 +1169,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Anet/A6/Configuration.h b/Marlin/example_configurations/Anet/A6/Configuration.h index 3db7762ab..41e29ecd2 100644 --- a/Marlin/example_configurations/Anet/A6/Configuration.h +++ b/Marlin/example_configurations/Anet/A6/Configuration.h @@ -1302,7 +1302,7 @@ #define PREHEAT_2_FAN_SPEED 0 // ANET A6 Default is 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1317,6 +1317,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Anet/A6/Configuration_adv.h b/Marlin/example_configurations/Anet/A6/Configuration_adv.h index 5fb2585bc..d94cad29e 100644 --- a/Marlin/example_configurations/Anet/A6/Configuration_adv.h +++ b/Marlin/example_configurations/Anet/A6/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/Anet/A8/Configuration.h b/Marlin/example_configurations/Anet/A8/Configuration.h index 1e5725d6b..dc85dae9a 100644 --- a/Marlin/example_configurations/Anet/A8/Configuration.h +++ b/Marlin/example_configurations/Anet/A8/Configuration.h @@ -1161,7 +1161,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1176,6 +1176,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Anet/A8/Configuration_adv.h b/Marlin/example_configurations/Anet/A8/Configuration_adv.h index ef4215f48..28c22bfad 100644 --- a/Marlin/example_configurations/Anet/A8/Configuration_adv.h +++ b/Marlin/example_configurations/Anet/A8/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/BQ/Hephestos/Configuration.h b/Marlin/example_configurations/BQ/Hephestos/Configuration.h index 51707e59b..57311aca9 100644 --- a/Marlin/example_configurations/BQ/Hephestos/Configuration.h +++ b/Marlin/example_configurations/BQ/Hephestos/Configuration.h @@ -1145,7 +1145,7 @@ #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1160,6 +1160,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h b/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h index 0754ad82d..2da2fbadf 100644 --- a/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h +++ b/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h b/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h index 46b2f72c0..d5ba0482f 100644 --- a/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h +++ b/Marlin/example_configurations/BQ/Hephestos_2/Configuration.h @@ -1155,7 +1155,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1170,6 +1170,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 10 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h b/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h index b0d9c168b..1be249906 100644 --- a/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h +++ b/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/BQ/WITBOX/Configuration.h b/Marlin/example_configurations/BQ/WITBOX/Configuration.h index f1e3265a4..493e802c5 100644 --- a/Marlin/example_configurations/BQ/WITBOX/Configuration.h +++ b/Marlin/example_configurations/BQ/WITBOX/Configuration.h @@ -1145,7 +1145,7 @@ #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1160,6 +1160,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h b/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h index 0754ad82d..2da2fbadf 100644 --- a/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h +++ b/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/Cartesio/Configuration.h b/Marlin/example_configurations/Cartesio/Configuration.h index c8583069c..350f5dcd1 100644 --- a/Marlin/example_configurations/Cartesio/Configuration.h +++ b/Marlin/example_configurations/Cartesio/Configuration.h @@ -1153,7 +1153,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1168,6 +1168,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Cartesio/Configuration_adv.h b/Marlin/example_configurations/Cartesio/Configuration_adv.h index 541d85f14..f316dd2b5 100644 --- a/Marlin/example_configurations/Cartesio/Configuration_adv.h +++ b/Marlin/example_configurations/Cartesio/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 30 // X position of hotend - #define PAUSE_PARK_Y_POS 10 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 1 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/Creality/CR-10/Configuration.h b/Marlin/example_configurations/Creality/CR-10/Configuration.h index 3dba13bac..efd299e56 100755 --- a/Marlin/example_configurations/Creality/CR-10/Configuration.h +++ b/Marlin/example_configurations/Creality/CR-10/Configuration.h @@ -1164,7 +1164,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1179,6 +1179,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Creality/CR-10/Configuration_adv.h b/Marlin/example_configurations/Creality/CR-10/Configuration_adv.h index 5c5b15c43..8f526a9ce 100755 --- a/Marlin/example_configurations/Creality/CR-10/Configuration_adv.h +++ b/Marlin/example_configurations/Creality/CR-10/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ #define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 297 // Y position of hotend - #define PAUSE_PARK_Z_ADD 5 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 4 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h index e6adc7dcc..8e7e7eccd 100644 --- a/Marlin/example_configurations/Felix/Configuration.h +++ b/Marlin/example_configurations/Felix/Configuration.h @@ -1136,7 +1136,7 @@ #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1151,6 +1151,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Felix/Configuration_adv.h b/Marlin/example_configurations/Felix/Configuration_adv.h index 9ffd8961c..a203ea004 100644 --- a/Marlin/example_configurations/Felix/Configuration_adv.h +++ b/Marlin/example_configurations/Felix/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/Felix/DUAL/Configuration.h b/Marlin/example_configurations/Felix/DUAL/Configuration.h index c0a44a543..00c89938c 100644 --- a/Marlin/example_configurations/Felix/DUAL/Configuration.h +++ b/Marlin/example_configurations/Felix/DUAL/Configuration.h @@ -1136,7 +1136,7 @@ #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1151,6 +1151,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/FolgerTech/i3-2020/Configuration.h b/Marlin/example_configurations/FolgerTech/i3-2020/Configuration.h index fcc7fead0..ae48f44a2 100644 --- a/Marlin/example_configurations/FolgerTech/i3-2020/Configuration.h +++ b/Marlin/example_configurations/FolgerTech/i3-2020/Configuration.h @@ -1159,7 +1159,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1169,11 +1169,13 @@ * P1 Raise the nozzle always to Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. */ -//#define NOZZLE_PARK_FEATURE +#define NOZZLE_PARK_FEATURE #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/FolgerTech/i3-2020/Configuration_adv.h b/Marlin/example_configurations/FolgerTech/i3-2020/Configuration_adv.h index ef47b338e..08d9dcf8e 100644 --- a/Marlin/example_configurations/FolgerTech/i3-2020/Configuration_adv.h +++ b/Marlin/example_configurations/FolgerTech/i3-2020/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ #define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 10 // X position of hotend - #define PAUSE_PARK_Y_POS 10 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/Geeetech/GT2560/Configuration.h b/Marlin/example_configurations/Geeetech/GT2560/Configuration.h index a4d49f74b..7c502536e 100644 --- a/Marlin/example_configurations/Geeetech/GT2560/Configuration.h +++ b/Marlin/example_configurations/Geeetech/GT2560/Configuration.h @@ -1169,7 +1169,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1184,6 +1184,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Geeetech/I3_Pro_X-GT2560/Configuration.h b/Marlin/example_configurations/Geeetech/I3_Pro_X-GT2560/Configuration.h index f10fc3b16..ca930917f 100644 --- a/Marlin/example_configurations/Geeetech/I3_Pro_X-GT2560/Configuration.h +++ b/Marlin/example_configurations/Geeetech/I3_Pro_X-GT2560/Configuration.h @@ -1154,7 +1154,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1169,6 +1169,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Infitary/i3-M508/Configuration.h b/Marlin/example_configurations/Infitary/i3-M508/Configuration.h index 2c0ac8dff..c5f36bbc5 100644 --- a/Marlin/example_configurations/Infitary/i3-M508/Configuration.h +++ b/Marlin/example_configurations/Infitary/i3-M508/Configuration.h @@ -1158,7 +1158,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1173,6 +1173,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h b/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h index b739a09d0..2d1fe5ed6 100644 --- a/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h +++ b/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/Malyan/M150/Configuration.h b/Marlin/example_configurations/Malyan/M150/Configuration.h index a94df1fdc..3b199e00d 100644 --- a/Marlin/example_configurations/Malyan/M150/Configuration.h +++ b/Marlin/example_configurations/Malyan/M150/Configuration.h @@ -1182,7 +1182,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1197,6 +1197,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Malyan/M150/Configuration_adv.h b/Marlin/example_configurations/Malyan/M150/Configuration_adv.h index 3082cb92c..9240e0495 100644 --- a/Marlin/example_configurations/Malyan/M150/Configuration_adv.h +++ b/Marlin/example_configurations/Malyan/M150/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/Micromake/C1/basic/Configuration.h b/Marlin/example_configurations/Micromake/C1/basic/Configuration.h index bf078d863..65294b6d6 100644 --- a/Marlin/example_configurations/Micromake/C1/basic/Configuration.h +++ b/Marlin/example_configurations/Micromake/C1/basic/Configuration.h @@ -1158,7 +1158,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1168,11 +1168,13 @@ * P1 Raise the nozzle always to Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. */ -#define NOZZLE_PARK_FEATURE +//#define NOZZLE_PARK_FEATURE #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h b/Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h index d94034ef6..b21eebc7f 100644 --- a/Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h +++ b/Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h @@ -1158,7 +1158,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1173,6 +1173,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Micromake/C1/enhanced/Configuration_adv.h b/Marlin/example_configurations/Micromake/C1/enhanced/Configuration_adv.h index b7d436d7e..9f4f89d66 100644 --- a/Marlin/example_configurations/Micromake/C1/enhanced/Configuration_adv.h +++ b/Marlin/example_configurations/Micromake/C1/enhanced/Configuration_adv.h @@ -874,15 +874,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h index 84a6eece4..ea6607ac6 100644 --- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h @@ -1154,7 +1154,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1169,6 +1169,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/RigidBot/Configuration.h b/Marlin/example_configurations/RigidBot/Configuration.h index c847c6a4d..4da0058a5 100644 --- a/Marlin/example_configurations/RigidBot/Configuration.h +++ b/Marlin/example_configurations/RigidBot/Configuration.h @@ -1152,7 +1152,7 @@ #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1167,6 +1167,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/RigidBot/Configuration_adv.h b/Marlin/example_configurations/RigidBot/Configuration_adv.h index 3f0fd39fd..81d6d94bf 100644 --- a/Marlin/example_configurations/RigidBot/Configuration_adv.h +++ b/Marlin/example_configurations/RigidBot/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index 4550d9f0d..e92e11d2d 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -1166,7 +1166,7 @@ #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1181,6 +1181,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/SCARA/Configuration_adv.h b/Marlin/example_configurations/SCARA/Configuration_adv.h index 1479efe32..7fdceb293 100644 --- a/Marlin/example_configurations/SCARA/Configuration_adv.h +++ b/Marlin/example_configurations/SCARA/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/Sanguinololu/Configuration.h b/Marlin/example_configurations/Sanguinololu/Configuration.h index 8305fde0d..2ffe002e0 100644 --- a/Marlin/example_configurations/Sanguinololu/Configuration.h +++ b/Marlin/example_configurations/Sanguinololu/Configuration.h @@ -1185,7 +1185,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1200,6 +1200,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Sanguinololu/Configuration_adv.h b/Marlin/example_configurations/Sanguinololu/Configuration_adv.h index 34c8b4f13..ff798b6c1 100644 --- a/Marlin/example_configurations/Sanguinololu/Configuration_adv.h +++ b/Marlin/example_configurations/Sanguinololu/Configuration_adv.h @@ -840,15 +840,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/TinyBoy2/Configuration.h b/Marlin/example_configurations/TinyBoy2/Configuration.h index 8b41e17d2..055dbb1e5 100644 --- a/Marlin/example_configurations/TinyBoy2/Configuration.h +++ b/Marlin/example_configurations/TinyBoy2/Configuration.h @@ -1210,7 +1210,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1225,6 +1225,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/TinyBoy2/Configuration_adv.h b/Marlin/example_configurations/TinyBoy2/Configuration_adv.h index df6471d7a..54f0aba71 100644 --- a/Marlin/example_configurations/TinyBoy2/Configuration_adv.h +++ b/Marlin/example_configurations/TinyBoy2/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/Velleman/K8200/Configuration.h b/Marlin/example_configurations/Velleman/K8200/Configuration.h index 60a666322..c3d7fe3f3 100644 --- a/Marlin/example_configurations/Velleman/K8200/Configuration.h +++ b/Marlin/example_configurations/Velleman/K8200/Configuration.h @@ -1184,7 +1184,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1199,6 +1199,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h b/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h index 63e2ed3f8..00d0f12f6 100644 --- a/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h +++ b/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h @@ -884,15 +884,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS (X_MAX_POS-3) // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/Velleman/K8400/Configuration.h b/Marlin/example_configurations/Velleman/K8400/Configuration.h index c3bba3aa8..02a6e6e4e 100644 --- a/Marlin/example_configurations/Velleman/K8400/Configuration.h +++ b/Marlin/example_configurations/Velleman/K8400/Configuration.h @@ -1154,7 +1154,7 @@ #define PREHEAT_2_FAN_SPEED 165 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1169,6 +1169,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h b/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h index bd476f719..e002aaa42 100644 --- a/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h +++ b/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 100 // X position of hotend - #define PAUSE_PARK_Y_POS 100 // Y position of hotend - #define PAUSE_PARK_Z_ADD 20 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 5 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h b/Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h index 5a78c35c4..17c20aa1d 100644 --- a/Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h +++ b/Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h @@ -1154,7 +1154,7 @@ #define PREHEAT_2_FAN_SPEED 165 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1169,6 +1169,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration.h b/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration.h index 175a8fb84..1bc423043 100644 --- a/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration.h +++ b/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration.h @@ -1107,7 +1107,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1117,11 +1117,13 @@ * P1 Raise the nozzle always to Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. */ -//#define NOZZLE_PARK_FEATURE +#define NOZZLE_PARK_FEATURE #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration_adv.h b/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration_adv.h index 60ed13e25..4f8e037b2 100644 --- a/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration_adv.h +++ b/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration_adv.h @@ -875,15 +875,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ #define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/adafruit/ST7565/Configuration.h b/Marlin/example_configurations/adafruit/ST7565/Configuration.h index 4889e19b6..5d459d001 100644 --- a/Marlin/example_configurations/adafruit/ST7565/Configuration.h +++ b/Marlin/example_configurations/adafruit/ST7565/Configuration.h @@ -1154,7 +1154,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1169,6 +1169,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h index b60afcc8f..fe183f815 100644 --- a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h +++ b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h @@ -1287,7 +1287,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1302,6 +1302,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h index a165ea79e..f9b653517 100644 --- a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h +++ b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h @@ -875,15 +875,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h index f2d6aaf01..4420de556 100644 --- a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h @@ -1281,7 +1281,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1296,6 +1296,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h index 15ac614a8..7fb613291 100644 --- a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h +++ b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h @@ -875,15 +875,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h index 142f56c00..75f40fd41 100644 --- a/Marlin/example_configurations/delta/generic/Configuration.h +++ b/Marlin/example_configurations/delta/generic/Configuration.h @@ -1276,7 +1276,7 @@ #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1291,6 +1291,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/delta/generic/Configuration_adv.h b/Marlin/example_configurations/delta/generic/Configuration_adv.h index 15ac614a8..7fb613291 100644 --- a/Marlin/example_configurations/delta/generic/Configuration_adv.h +++ b/Marlin/example_configurations/delta/generic/Configuration_adv.h @@ -875,15 +875,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h index 631614c53..7ba05c357 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h @@ -1279,7 +1279,7 @@ #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1294,6 +1294,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h index 15ac614a8..7fb613291 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h @@ -875,15 +875,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration.h b/Marlin/example_configurations/delta/kossel_pro/Configuration.h index 048970a12..5f1af790f 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration.h @@ -1279,7 +1279,7 @@ #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1294,6 +1294,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h index e2648ea97..ec76617c1 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h @@ -880,15 +880,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration.h b/Marlin/example_configurations/delta/kossel_xl/Configuration.h index b78c8746d..c691839ba 100644 --- a/Marlin/example_configurations/delta/kossel_xl/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_xl/Configuration.h @@ -1288,7 +1288,7 @@ #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1303,6 +1303,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h index 94b0bb802..7a6aceeb1 100644 --- a/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h @@ -875,15 +875,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h index 2ec9a3bbb..25d20ce65 100644 --- a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h +++ b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h @@ -1168,7 +1168,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1178,11 +1178,13 @@ * P1 Raise the nozzle always to Z-park height. * P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. */ -//#define NOZZLE_PARK_FEATURE +#define NOZZLE_PARK_FEATURE #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h index c9af3121d..6221ac302 100644 --- a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h +++ b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ #define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 75 // X position of hotend - #define PAUSE_PARK_Y_POS 75 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index e965196a3..5150cc824 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -1157,7 +1157,7 @@ #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1172,6 +1172,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/makibox/Configuration_adv.h b/Marlin/example_configurations/makibox/Configuration_adv.h index a7d733d22..2989630e0 100644 --- a/Marlin/example_configurations/makibox/Configuration_adv.h +++ b/Marlin/example_configurations/makibox/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index 1776b938c..5731fa7ae 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -1149,7 +1149,7 @@ #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1164,6 +1164,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h index 8d6e2e1ed..06e61612f 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h @@ -873,15 +873,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/example_configurations/wt150/Configuration.h b/Marlin/example_configurations/wt150/Configuration.h index 88d037fe2..bf8642a14 100644 --- a/Marlin/example_configurations/wt150/Configuration.h +++ b/Marlin/example_configurations/wt150/Configuration.h @@ -1159,7 +1159,7 @@ #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 /** - * Nozzle Park -- EXPERIMENTAL + * Nozzle Park * * Park the nozzle at the given XYZ position on idle or G27. * @@ -1174,6 +1174,8 @@ #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as { X, Y, Z } #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } + #define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) + #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #endif /** diff --git a/Marlin/example_configurations/wt150/Configuration_adv.h b/Marlin/example_configurations/wt150/Configuration_adv.h index 0d936d3a3..1e5eba5da 100644 --- a/Marlin/example_configurations/wt150/Configuration_adv.h +++ b/Marlin/example_configurations/wt150/Configuration_adv.h @@ -863,15 +863,11 @@ * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * * Requires an LCD display. + * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ //#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_X_POS 3 // X position of hotend - #define PAUSE_PARK_Y_POS 3 // Y position of hotend - #define PAUSE_PARK_Z_ADD 10 // Z addition of hotend (lift) - #define PAUSE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) - #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position diff --git a/Marlin/nozzle.cpp b/Marlin/nozzle.cpp index 2967c0ce6..da43e264b 100644 --- a/Marlin/nozzle.cpp +++ b/Marlin/nozzle.cpp @@ -161,23 +161,24 @@ #if ENABLED(NOZZLE_PARK_FEATURE) - void Nozzle::park(const uint8_t &z_action) { - const point_t park = NOZZLE_PARK_POINT; + void Nozzle::park(const uint8_t &z_action, const point_t &park /*= NOZZLE_PARK_POINT*/) { + const float fr_xy = NOZZLE_PARK_XY_FEEDRATE; + const float fr_z = NOZZLE_PARK_Z_FEEDRATE; switch (z_action) { case 1: // Go to Z-park height - do_blocking_move_to_z(park.z); + do_blocking_move_to_z(park.z, fr_z); break; case 2: // Raise by Z-park height - do_blocking_move_to_z(min(current_position[Z_AXIS] + park.z, Z_MAX_POS)); + do_blocking_move_to_z(min(current_position[Z_AXIS] + park.z, Z_MAX_POS), fr_z); break; default: // Raise to at least the Z-park height - do_blocking_move_to_z(max(park.z, current_position[Z_AXIS])); + do_blocking_move_to_z(max(park.z, current_position[Z_AXIS]), fr_z); } - do_blocking_move_to_xy(park.x, park.y); + do_blocking_move_to_xy(park.x, park.y, fr_xy); } #endif // NOZZLE_PARK_FEATURE diff --git a/Marlin/nozzle.h b/Marlin/nozzle.h index 6024fd344..d6cf96819 100644 --- a/Marlin/nozzle.h +++ b/Marlin/nozzle.h @@ -86,7 +86,7 @@ class Nozzle { #if ENABLED(NOZZLE_PARK_FEATURE) - static void park(const uint8_t &z_action) _Os; + static void park(const uint8_t &z_action, const point_t &park = NOZZLE_PARK_POINT) _Os; #endif }; From 00749d8ef032a3c8712d5babd0b7b15a1ceb983e Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 25 Dec 2017 01:25:51 -0600 Subject: [PATCH 10/19] Add pause/resume action to example configs --- .../AlephObjects/TAZ4/Configuration_adv.h | 8 ++++++++ .../example_configurations/Anet/A6/Configuration_adv.h | 8 ++++++++ .../example_configurations/Anet/A8/Configuration_adv.h | 8 ++++++++ .../BQ/Hephestos/Configuration_adv.h | 8 ++++++++ .../BQ/Hephestos_2/Configuration_adv.h | 8 ++++++++ .../example_configurations/BQ/WITBOX/Configuration_adv.h | 8 ++++++++ .../example_configurations/Cartesio/Configuration_adv.h | 8 ++++++++ .../Creality/CR-10/Configuration_adv.h | 8 ++++++++ Marlin/example_configurations/Felix/Configuration_adv.h | 8 ++++++++ .../FolgerTech/i3-2020/Configuration_adv.h | 8 ++++++++ .../Infitary/i3-M508/Configuration_adv.h | 8 ++++++++ .../Malyan/M150/Configuration_adv.h | 8 ++++++++ .../Micromake/C1/enhanced/Configuration_adv.h | 8 ++++++++ .../example_configurations/RigidBot/Configuration_adv.h | 8 ++++++++ Marlin/example_configurations/SCARA/Configuration_adv.h | 8 ++++++++ .../Sanguinololu/Configuration_adv.h | 8 ++++++++ .../example_configurations/TinyBoy2/Configuration_adv.h | 8 ++++++++ .../Velleman/K8200/Configuration_adv.h | 8 ++++++++ .../Velleman/K8400/Configuration_adv.h | 8 ++++++++ .../Wanhao/Duplicator 6/Configuration_adv.h | 8 ++++++++ .../delta/FLSUN/auto_calibrate/Configuration_adv.h | 8 ++++++++ .../delta/FLSUN/kossel_mini/Configuration_adv.h | 8 ++++++++ .../delta/generic/Configuration_adv.h | 8 ++++++++ .../delta/kossel_mini/Configuration_adv.h | 8 ++++++++ .../delta/kossel_pro/Configuration_adv.h | 8 ++++++++ .../delta/kossel_xl/Configuration_adv.h | 8 ++++++++ .../gCreate/gMax1.5+/Configuration_adv.h | 8 ++++++++ .../example_configurations/makibox/Configuration_adv.h | 8 ++++++++ .../tvrrug/Round2/Configuration_adv.h | 8 ++++++++ Marlin/example_configurations/wt150/Configuration_adv.h | 9 ++++++++- 30 files changed, 240 insertions(+), 1 deletion(-) diff --git a/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h b/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h index 25ac13ffb..1074bc45d 100644 --- a/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h +++ b/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/Anet/A6/Configuration_adv.h b/Marlin/example_configurations/Anet/A6/Configuration_adv.h index d94cad29e..36e87826b 100644 --- a/Marlin/example_configurations/Anet/A6/Configuration_adv.h +++ b/Marlin/example_configurations/Anet/A6/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/Anet/A8/Configuration_adv.h b/Marlin/example_configurations/Anet/A8/Configuration_adv.h index 28c22bfad..6d7e288d9 100644 --- a/Marlin/example_configurations/Anet/A8/Configuration_adv.h +++ b/Marlin/example_configurations/Anet/A8/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h b/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h index 2da2fbadf..e8f521406 100644 --- a/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h +++ b/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h b/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h index 1be249906..14776c62c 100644 --- a/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h +++ b/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h b/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h index 2da2fbadf..e8f521406 100644 --- a/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h +++ b/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/Cartesio/Configuration_adv.h b/Marlin/example_configurations/Cartesio/Configuration_adv.h index f316dd2b5..aa7bcff1d 100644 --- a/Marlin/example_configurations/Cartesio/Configuration_adv.h +++ b/Marlin/example_configurations/Cartesio/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/Creality/CR-10/Configuration_adv.h b/Marlin/example_configurations/Creality/CR-10/Configuration_adv.h index 8f526a9ce..f1dc2f0d3 100755 --- a/Marlin/example_configurations/Creality/CR-10/Configuration_adv.h +++ b/Marlin/example_configurations/Creality/CR-10/Configuration_adv.h @@ -1444,6 +1444,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/Felix/Configuration_adv.h b/Marlin/example_configurations/Felix/Configuration_adv.h index a203ea004..778c8e088 100644 --- a/Marlin/example_configurations/Felix/Configuration_adv.h +++ b/Marlin/example_configurations/Felix/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/FolgerTech/i3-2020/Configuration_adv.h b/Marlin/example_configurations/FolgerTech/i3-2020/Configuration_adv.h index 08d9dcf8e..d700c25cf 100644 --- a/Marlin/example_configurations/FolgerTech/i3-2020/Configuration_adv.h +++ b/Marlin/example_configurations/FolgerTech/i3-2020/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h b/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h index 2d1fe5ed6..4715634ed 100644 --- a/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h +++ b/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/Malyan/M150/Configuration_adv.h b/Marlin/example_configurations/Malyan/M150/Configuration_adv.h index 9240e0495..c46e7f7b7 100644 --- a/Marlin/example_configurations/Malyan/M150/Configuration_adv.h +++ b/Marlin/example_configurations/Malyan/M150/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/Micromake/C1/enhanced/Configuration_adv.h b/Marlin/example_configurations/Micromake/C1/enhanced/Configuration_adv.h index 9f4f89d66..db9065568 100644 --- a/Marlin/example_configurations/Micromake/C1/enhanced/Configuration_adv.h +++ b/Marlin/example_configurations/Micromake/C1/enhanced/Configuration_adv.h @@ -1442,6 +1442,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/RigidBot/Configuration_adv.h b/Marlin/example_configurations/RigidBot/Configuration_adv.h index 81d6d94bf..fdcac909a 100644 --- a/Marlin/example_configurations/RigidBot/Configuration_adv.h +++ b/Marlin/example_configurations/RigidBot/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/SCARA/Configuration_adv.h b/Marlin/example_configurations/SCARA/Configuration_adv.h index 7fdceb293..8909af814 100644 --- a/Marlin/example_configurations/SCARA/Configuration_adv.h +++ b/Marlin/example_configurations/SCARA/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/Sanguinololu/Configuration_adv.h b/Marlin/example_configurations/Sanguinololu/Configuration_adv.h index ff798b6c1..4b326e8cb 100644 --- a/Marlin/example_configurations/Sanguinololu/Configuration_adv.h +++ b/Marlin/example_configurations/Sanguinololu/Configuration_adv.h @@ -1408,6 +1408,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/TinyBoy2/Configuration_adv.h b/Marlin/example_configurations/TinyBoy2/Configuration_adv.h index 54f0aba71..8fdc831cb 100644 --- a/Marlin/example_configurations/TinyBoy2/Configuration_adv.h +++ b/Marlin/example_configurations/TinyBoy2/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h b/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h index 00d0f12f6..a593ca7f9 100644 --- a/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h +++ b/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h @@ -1452,6 +1452,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h b/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h index e002aaa42..19d0433b3 100644 --- a/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h +++ b/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration_adv.h b/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration_adv.h index 4f8e037b2..4aae63702 100644 --- a/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration_adv.h +++ b/Marlin/example_configurations/Wanhao/Duplicator 6/Configuration_adv.h @@ -1443,6 +1443,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h index f9b653517..8e2568bb1 100644 --- a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h +++ b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h @@ -1443,6 +1443,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h index 7fb613291..60d7c0a28 100644 --- a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h +++ b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h @@ -1443,6 +1443,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/delta/generic/Configuration_adv.h b/Marlin/example_configurations/delta/generic/Configuration_adv.h index 7fb613291..60d7c0a28 100644 --- a/Marlin/example_configurations/delta/generic/Configuration_adv.h +++ b/Marlin/example_configurations/delta/generic/Configuration_adv.h @@ -1443,6 +1443,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h index 7fb613291..60d7c0a28 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h @@ -1443,6 +1443,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h index ec76617c1..c5330406f 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h @@ -1448,6 +1448,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h index 7a6aceeb1..0edc91d47 100644 --- a/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h @@ -1443,6 +1443,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h index 6221ac302..8bad79a5f 100644 --- a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h +++ b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/makibox/Configuration_adv.h b/Marlin/example_configurations/makibox/Configuration_adv.h index 2989630e0..35af6427b 100644 --- a/Marlin/example_configurations/makibox/Configuration_adv.h +++ b/Marlin/example_configurations/makibox/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h index 06e61612f..cf2d78b40 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/example_configurations/wt150/Configuration_adv.h b/Marlin/example_configurations/wt150/Configuration_adv.h index 1e5eba5da..ea1b4610f 100644 --- a/Marlin/example_configurations/wt150/Configuration_adv.h +++ b/Marlin/example_configurations/wt150/Configuration_adv.h @@ -1427,10 +1427,17 @@ /** * Specify an action command to send to the host when the printer is killed. * Will be sent in the form '//action:ACTION_ON_KILL', e.g. '//action:poweroff'. - * The host must be configured to handle the action command. */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== From b12eb33febe7f4166158aba1b5ad34f535feff3b Mon Sep 17 00:00:00 2001 From: silentninja1 Date: Wed, 20 Dec 2017 09:22:13 -0500 Subject: [PATCH 11/19] Add support for pause and resume action commands on M600 --- Marlin/Configuration_adv.h | 8 ++++++++ Marlin/Marlin_main.cpp | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index d2cfff0af..bcae08a0a 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1441,6 +1441,14 @@ */ //#define ACTION_ON_KILL "poweroff" +/** + * Specify an action command to send to the host on pause and resume. + * Will be sent in the form '//action:ACTION_ON_PAUSE', e.g. '//action:pause'. + * The host must be configured to handle the action command. + */ +//#define ACTION_ON_PAUSE "pause" +//#define ACTION_ON_RESUME "resume" + //=========================================================================== //====================== I2C Position Encoder Settings ====================== //=========================================================================== diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 2647a5232..4fb4a39f7 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -6497,6 +6497,10 @@ inline void gcode_M17() { ) { if (move_away_flag) return false; // already paused + #ifdef ACTION_ON_PAUSE + SERIAL_ECHOLNPGM("//action:" ACTION_ON_PAUSE); + #endif + if (!DEBUGGING(DRYRUN) && unload_length != 0) { #if ENABLED(PREVENT_COLD_EXTRUSION) if (!thermalManager.allow_cold_extrude && @@ -6729,6 +6733,10 @@ inline void gcode_M17() { lcd_advanced_pause_show_message(ADVANCED_PAUSE_MESSAGE_STATUS); #endif + #ifdef ACTION_ON_RESUME + SERIAL_ECHOLNPGM("//action:" ACTION_ON_RESUME); + #endif + #if ENABLED(SDSUPPORT) if (sd_print_paused) { card.startFileprint(); From 05a6d487530246a628c72585b5bd3e0b73906a5c Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 25 Dec 2017 01:33:36 -0600 Subject: [PATCH 12/19] Tweak to M125 code --- Marlin/Marlin_main.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 4fb4a39f7..c546fc229 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -8608,7 +8608,6 @@ inline void gcode_M121() { endstops.enable_globally(false); } * Z = override Z raise */ inline void gcode_M125() { - point_t park_point = NOZZLE_PARK_POINT; // Initial retract before move to filament change position const float retract = parser.seen('L') ? parser.value_axis_units(E_AXIS) : 0 @@ -8617,16 +8616,14 @@ inline void gcode_M121() { endstops.enable_globally(false); } #endif ; - // Lift Z axis - if (parser.seenval('Z')) - park_point.z = parser.linearval('Z'); + point_t park_point = NOZZLE_PARK_POINT; // Move XY axes to filament change position or given position - if (parser.seenval('X')) - park_point.x = parser.linearval('X'); + if (parser.seenval('X')) park_point.x = parser.linearval('X'); + if (parser.seenval('Y')) park_point.y = parser.linearval('Y'); - if (parser.seenval('Y')) - park_point.y = parser.linearval('Y'); + // Lift Z axis + if (parser.seenval('Z')) park_point.z = parser.linearval('Z'); #if HOTENDS > 1 && DISABLED(DUAL_X_CARRIAGE) park_point.x += (active_extruder ? hotend_offset[X_AXIS][active_extruder] : 0); From defff1e4a89f89fbd63c10b67c80587f5c7e89b6 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 25 Dec 2017 02:20:13 -0600 Subject: [PATCH 13/19] Fix GT2560 A+ servo pins --- Marlin/pins_GT2560_REV_A.h | 5 ++++- Marlin/pins_GT2560_REV_A_PLUS.h | 9 ++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Marlin/pins_GT2560_REV_A.h b/Marlin/pins_GT2560_REV_A.h index 125acf841..cb4892015 100644 --- a/Marlin/pins_GT2560_REV_A.h +++ b/Marlin/pins_GT2560_REV_A.h @@ -30,8 +30,11 @@ #error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu." #endif -#define BOARD_NAME "GT2560 Rev.A" +#ifndef BOARD_NAME + #define BOARD_NAME "GT2560 Rev.A" +#endif #define DEFAULT_MACHINE_NAME "Prusa i3 Pro B" + // // Limit Switches // diff --git a/Marlin/pins_GT2560_REV_A_PLUS.h b/Marlin/pins_GT2560_REV_A_PLUS.h index 16660e0d1..99399e34b 100644 --- a/Marlin/pins_GT2560_REV_A_PLUS.h +++ b/Marlin/pins_GT2560_REV_A_PLUS.h @@ -24,13 +24,12 @@ * Geeetech GT2560 Revision A+ board pin assignments */ -#include "pins_GT2560_REV_A.h" +#define BOARD_NAME "GT2560 Rev.A+" -#undef BOARD_NAME -#define BOARD_NAME "GT2560 Rev.A+" +#include "pins_GT2560_REV_A.h" #if ENABLED(BLTOUCH) - #define SERVO0_PIN 32 -#else #define SERVO0_PIN 11 +#else + #define SERVO0_PIN 32 #endif From e0d487e33937cc1898b65ceeddb76ecfa9118ad4 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 25 Dec 2017 04:03:40 -0600 Subject: [PATCH 14/19] Update TMC2208 config store --- Marlin/configuration_store.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Marlin/configuration_store.cpp b/Marlin/configuration_store.cpp index aed7add63..7ca91a73a 100644 --- a/Marlin/configuration_store.cpp +++ b/Marlin/configuration_store.cpp @@ -141,7 +141,7 @@ * 539 M200 D parser.volumetric_enabled (bool) * 540 M200 T D planner.filament_size (float x5) (T0..3) * - * HAVE_TMC2130 || HAVE_TMC2208: 22 bytes + * HAS_TRINAMIC: 22 bytes * 560 M906 X Stepper X current (uint16_t) * 562 M906 Y Stepper Y current (uint16_t) * 564 M906 Z Stepper Z current (uint16_t) @@ -203,7 +203,7 @@ MarlinSettings settings; #include "mesh_bed_leveling.h" #endif -#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) +#if HAS_TRINAMIC #include "stepper_indirection.h" #endif @@ -2062,7 +2062,7 @@ void MarlinSettings::reset() { /** * TMC2130 stepper driver current */ - #if ENABLED(HAVE_TMC2130) + #if HAS_TRINAMIC if (!forReplay) { CONFIG_ECHO_START; SERIAL_ECHOLNPGM("Stepper driver current:"); @@ -2108,7 +2108,7 @@ void MarlinSettings::reset() { /** * TMC2130 Sensorless homing thresholds */ - #if ENABLED(HAVE_TMC2130) && ENABLED(SENSORLESS_HOMING) + #if ENABLED(SENSORLESS_HOMING) if (!forReplay) { CONFIG_ECHO_START; SERIAL_ECHOLNPGM("Sensorless homing threshold:"); From 3c7cdcdc22f43577fbb22e64b115f9d87462b420 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 25 Dec 2017 03:42:51 -0600 Subject: [PATCH 15/19] General cleanup of config-store, reset_bed_level --- Marlin/Marlin_main.cpp | 30 +++++++++++----------- Marlin/configuration_store.cpp | 46 ++++++++++++++++------------------ Marlin/configuration_store.h | 16 ++++++------ Marlin/ubl_G29.cpp | 9 ++++--- Marlin/ultralcd.cpp | 2 +- 5 files changed, 50 insertions(+), 53 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index c546fc229..b58758731 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -2502,27 +2502,25 @@ static void clean_up_after_endstop_or_probe_move() { * Reset calibration results to zero. */ void reset_bed_level() { + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("reset_bed_level"); + #endif set_bed_leveling_enabled(false); #if ENABLED(MESH_BED_LEVELING) if (leveling_is_valid()) { mbl.reset(); mbl.has_mesh = false; } - #else - #if ENABLED(DEBUG_LEVELING_FEATURE) - if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("reset_bed_level"); - #endif - #if ABL_PLANAR - planner.bed_level_matrix.set_to_identity(); - #elif ENABLED(AUTO_BED_LEVELING_BILINEAR) - bilinear_start[X_AXIS] = bilinear_start[Y_AXIS] = - bilinear_grid_spacing[X_AXIS] = bilinear_grid_spacing[Y_AXIS] = 0; - for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) - for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) - z_values[x][y] = NAN; - #elif ENABLED(AUTO_BED_LEVELING_UBL) - ubl.reset(); - #endif + #elif ENABLED(AUTO_BED_LEVELING_UBL) + ubl.reset(); + #elif ENABLED(AUTO_BED_LEVELING_BILINEAR) + bilinear_start[X_AXIS] = bilinear_start[Y_AXIS] = + bilinear_grid_spacing[X_AXIS] = bilinear_grid_spacing[Y_AXIS] = 0; + for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) + for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) + z_values[x][y] = NAN; + #elif ABL_PLANAR + planner.bed_level_matrix.set_to_identity(); #endif } @@ -9643,7 +9641,7 @@ void quickstop_stepper() { #if ENABLED(EEPROM_SETTINGS) const int8_t storage_slot = parser.has_value() ? parser.value_int() : ubl.storage_slot; - const int16_t a = settings.calc_num_meshes(); + const uint16_t a = settings.calc_num_meshes(); if (!a) { SERIAL_PROTOCOLLNPGM("?EEPROM storage not available."); diff --git a/Marlin/configuration_store.cpp b/Marlin/configuration_store.cpp index 7ca91a73a..2da7cbf62 100644 --- a/Marlin/configuration_store.cpp +++ b/Marlin/configuration_store.cpp @@ -283,7 +283,7 @@ void MarlinSettings::postprocess() { bool MarlinSettings::eeprom_error; #if ENABLED(AUTO_BED_LEVELING_UBL) - int MarlinSettings::meshes_begin; + int16_t MarlinSettings::meshes_begin; #endif void MarlinSettings::write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { @@ -383,9 +383,8 @@ void MarlinSettings::postprocess() { sizeof(mbl.z_values) == GRID_MAX_POINTS * sizeof(mbl.z_values[0][0]), "MBL Z array is the wrong size." ); - const bool leveling_is_on = mbl.has_mesh; const uint8_t mesh_num_x = GRID_MAX_POINTS_X, mesh_num_y = GRID_MAX_POINTS_Y; - EEPROM_WRITE(leveling_is_on); + EEPROM_WRITE(mbl.has_mesh); EEPROM_WRITE(mbl.z_offset); EEPROM_WRITE(mesh_num_x); EEPROM_WRITE(mesh_num_y); @@ -581,7 +580,7 @@ void MarlinSettings::postprocess() { EEPROM_WRITE(dummy); } - #endif // !NO_VOLUMETRICS + #endif // Save TMC2130 or TMC2208 Configuration, and placeholder values uint16_t val; @@ -1282,7 +1281,7 @@ void MarlinSettings::postprocess() { } #endif - int MarlinSettings::calc_num_meshes() { + uint16_t MarlinSettings::calc_num_meshes() { //obviously this will get more sophisticated once we've added an actual MAT if (meshes_begin <= 0) return 0; @@ -1290,10 +1289,10 @@ void MarlinSettings::postprocess() { return (meshes_end - meshes_begin) / sizeof(ubl.z_values); } - void MarlinSettings::store_mesh(int8_t slot) { + void MarlinSettings::store_mesh(const int8_t slot) { #if ENABLED(AUTO_BED_LEVELING_UBL) - const int a = calc_num_meshes(); + const uint16_t a = calc_num_meshes(); if (!WITHIN(slot, 0, a - 1)) { #if ENABLED(EEPROM_CHITCHAT) ubl_invalid_slot(a); @@ -1323,11 +1322,11 @@ void MarlinSettings::postprocess() { #endif } - void MarlinSettings::load_mesh(int8_t slot, void *into /* = 0 */) { + void MarlinSettings::load_mesh(const int8_t slot, void * const into/*=NULL*/) { #if ENABLED(AUTO_BED_LEVELING_UBL) - const int16_t a = settings.calc_num_meshes(); + const uint16_t a = settings.calc_num_meshes(); if (!WITHIN(slot, 0, a - 1)) { #if ENABLED(EEPROM_CHITCHAT) @@ -1385,17 +1384,13 @@ void MarlinSettings::reset() { planner.retract_acceleration = DEFAULT_RETRACT_ACCELERATION; planner.travel_acceleration = DEFAULT_TRAVEL_ACCELERATION; planner.min_feedrate_mm_s = DEFAULT_MINIMUMFEEDRATE; - planner.min_segment_time_us = DEFAULT_MINSEGMENTTIME; planner.min_travel_feedrate_mm_s = DEFAULT_MINTRAVELFEEDRATE; + planner.min_segment_time_us = DEFAULT_MINSEGMENTTIME; planner.max_jerk[X_AXIS] = DEFAULT_XJERK; planner.max_jerk[Y_AXIS] = DEFAULT_YJERK; planner.max_jerk[Z_AXIS] = DEFAULT_ZJERK; planner.max_jerk[E_AXIS] = DEFAULT_EJERK; - #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) - new_z_fade_height = 10.0; - #endif - #if HAS_HOME_OFFSET ZERO(home_offset); #endif @@ -1417,7 +1412,14 @@ void MarlinSettings::reset() { LOOP_XYZ(i) HOTEND_LOOP() hotend_offset[i][e] = tmp4[i][e]; #endif - // Applies to all MBL and ABL + // + // Global Leveling + // + + #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) + new_z_fade_height = 0.0; + #endif + #if HAS_LEVELING reset_bed_level(); #endif @@ -1478,10 +1480,6 @@ void MarlinSettings::reset() { lcd_preheat_fan_speed[1] = PREHEAT_2_FAN_SPEED; #endif - #if HAS_LCD_CONTRAST - lcd_contrast = DEFAULT_LCD_CONTRAST; - #endif - #if ENABLED(PIDTEMP) #if ENABLED(PID_PARAMS_PER_HOTEND) && HOTENDS > 1 HOTEND_LOOP() @@ -1505,6 +1503,10 @@ void MarlinSettings::reset() { thermalManager.bedKd = scalePID_d(DEFAULT_bedKd); #endif + #if HAS_LCD_CONTRAST + lcd_contrast = DEFAULT_LCD_CONTRAST; + #endif + #if ENABLED(FWRETRACT) autoretract_enabled = false; retract_length = RETRACT_LENGTH; @@ -1599,10 +1601,6 @@ void MarlinSettings::reset() { stepper.digipot_current(q, (stepper.motor_current_setting[q] = tmp_motor_current_setting[q])); #endif - #if ENABLED(AUTO_BED_LEVELING_UBL) - ubl.reset(); - #endif - #if ENABLED(SKEW_CORRECTION_GCODE) planner.xy_skew_factor = XY_SKEW_FACTOR; #if ENABLED(SKEW_CORRECTION_FOR_Z) @@ -1710,7 +1708,7 @@ void MarlinSettings::reset() { SERIAL_ECHOLNPGM(" M200 D0"); } - #endif + #endif // !NO_VOLUMETRICS if (!forReplay) { CONFIG_ECHO_START; diff --git a/Marlin/configuration_store.h b/Marlin/configuration_store.h index b20a8d488..e152e48f7 100644 --- a/Marlin/configuration_store.h +++ b/Marlin/configuration_store.h @@ -37,11 +37,11 @@ class MarlinSettings { #if ENABLED(AUTO_BED_LEVELING_UBL) // Eventually make these available if any leveling system // That can store is enabled - FORCE_INLINE static int get_start_of_meshes() { return meshes_begin; } - FORCE_INLINE static int get_end_of_meshes() { return meshes_end; } - static int calc_num_meshes(); - static void store_mesh(int8_t slot); - static void load_mesh(int8_t slot, void *into = 0); + FORCE_INLINE static int16_t get_start_of_meshes() { return meshes_begin; } + FORCE_INLINE static int16_t get_end_of_meshes() { return meshes_end; } + static uint16_t calc_num_meshes(); + static void store_mesh(const int8_t slot); + static void load_mesh(const int8_t slot, void * const into=NULL); //static void delete_mesh(); // necessary if we have a MAT //static void defrag_meshes(); // " @@ -66,9 +66,9 @@ class MarlinSettings { #if ENABLED(AUTO_BED_LEVELING_UBL) // Eventually make these available if any leveling system // That can store is enabled - static int meshes_begin; - const static int meshes_end = E2END - 128; // 128 is a placeholder for the size of the MAT; the MAT will always - // live at the very end of the eeprom + static int16_t meshes_begin; + const static int16_t meshes_end = E2END - 128; // 128 is a placeholder for the size of the MAT; the MAT will always + // live at the very end of the eeprom #endif diff --git a/Marlin/ubl_G29.cpp b/Marlin/ubl_G29.cpp index 6b56ffafc..f3b2707d0 100644 --- a/Marlin/ubl_G29.cpp +++ b/Marlin/ubl_G29.cpp @@ -309,7 +309,8 @@ void unified_bed_leveling::G29() { if (!settings.calc_num_meshes()) { - SERIAL_PROTOCOLLNPGM("?Enable EEPROM and init with M502, M500.\n"); + SERIAL_PROTOCOLLNPGM("?Enable EEPROM and init with"); + SERIAL_PROTOCOLLNPGM("M502, M500, M501 in that order.\n"); return; } @@ -607,7 +608,7 @@ if (parser.seen('L')) { // Load Current Mesh Data g29_storage_slot = parser.has_value() ? parser.value_int() : storage_slot; - int16_t a = settings.calc_num_meshes(); + uint16_t a = settings.calc_num_meshes(); if (!a) { SERIAL_PROTOCOLLNPGM("?EEPROM storage not available."); @@ -649,7 +650,7 @@ return; } - int16_t a = settings.calc_num_meshes(); + uint16_t a = settings.calc_num_meshes(); if (!a) { SERIAL_PROTOCOLLNPGM("?EEPROM storage not available."); @@ -1326,7 +1327,7 @@ * use cases for the users. So we can wait and see what to do with it. */ void unified_bed_leveling::g29_compare_current_mesh_to_stored_mesh() { - int16_t a = settings.calc_num_meshes(); + uint16_t a = settings.calc_num_meshes(); if (!a) { SERIAL_PROTOCOLLNPGM("?EEPROM storage not available."); diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 8d78d5a50..35f034228 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -2279,7 +2279,7 @@ void kill_screen(const char* lcd_msg) { * Save Bed Mesh */ void _lcd_ubl_storage_mesh() { - int16_t a = settings.calc_num_meshes(); + uint16_t a = settings.calc_num_meshes(); START_MENU(); MENU_BACK(MSG_UBL_LEVEL_BED); if (!WITHIN(ubl_storage_slot, 0, a - 1)) { From 55848a4bd8a960b21c2014d41949785a32d4e933 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 25 Dec 2017 06:29:12 -0600 Subject: [PATCH 16/19] Allow consecutive uses of G29 --- Marlin/Marlin_main.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index b58758731..bfdf0eaaf 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -4740,8 +4740,9 @@ void home_all_axes() { gcode_G28(true); } stepper.synchronize(); - // Disable auto bed leveling during G29 - planner.leveling_active = false; + // Disable auto bed leveling during G29. + // Be formal so G29 can be done successively without G28. + set_bed_leveling_enabled(false); if (!dryrun) { // Re-orient the current position without leveling @@ -4755,7 +4756,7 @@ void home_all_axes() { gcode_G28(true); } #if HAS_BED_PROBE // Deploy the probe. Probe will raise if needed. if (DEPLOY_PROBE()) { - planner.leveling_active = abl_should_enable; + set_bed_leveling_enabled(abl_should_enable); return; } #endif @@ -4772,10 +4773,6 @@ void home_all_axes() { gcode_G28(true); } || left_probe_bed_position != bilinear_start[X_AXIS] || front_probe_bed_position != bilinear_start[Y_AXIS] ) { - if (dryrun) { - // Before reset bed level, re-enable to correct the position - planner.leveling_active = abl_should_enable; - } // Reset grid to 0.0 or "not probed". (Also disables ABL) reset_bed_level(); @@ -4819,7 +4816,7 @@ void home_all_axes() { gcode_G28(true); } #if HAS_SOFTWARE_ENDSTOPS soft_endstops_enabled = enable_soft_endstops; #endif - planner.leveling_active = abl_should_enable; + set_bed_leveling_enabled(abl_should_enable); g29_in_progress = false; #if ENABLED(LCD_BED_LEVELING) lcd_wait_for_move = false; @@ -5022,7 +5019,7 @@ void home_all_axes() { gcode_G28(true); } measured_z = faux ? 0.001 * random(-100, 101) : probe_pt(xProbe, yProbe, stow_probe_after_each, verbose_level); if (isnan(measured_z)) { - planner.leveling_active = abl_should_enable; + set_bed_leveling_enabled(abl_should_enable); break; } @@ -5058,7 +5055,7 @@ void home_all_axes() { gcode_G28(true); } yProbe = points[i].y; measured_z = faux ? 0.001 * random(-100, 101) : probe_pt(xProbe, yProbe, stow_probe_after_each, verbose_level); if (isnan(measured_z)) { - planner.leveling_active = abl_should_enable; + set_bed_leveling_enabled(abl_should_enable); break; } points[i].z = measured_z; @@ -5081,7 +5078,7 @@ void home_all_axes() { gcode_G28(true); } // Raise to _Z_CLEARANCE_DEPLOY_PROBE. Stow the probe. if (STOW_PROBE()) { - planner.leveling_active = abl_should_enable; + set_bed_leveling_enabled(abl_should_enable); measured_z = NAN; } } From e31923be8d34800117c4c5219c74c712c10d8fa1 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 25 Dec 2017 07:44:23 -0600 Subject: [PATCH 17/19] lcd_map_control deps on ULTIPANEL --- Marlin/Marlin_main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index bfdf0eaaf..e83dbcacf 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -8266,7 +8266,7 @@ inline void gcode_M18_M84() { #endif } - #if ENABLED(AUTO_BED_LEVELING_UBL) && ENABLED(ULTRA_LCD) // Only needed with an LCD + #if ENABLED(AUTO_BED_LEVELING_UBL) && ENABLED(ULTIPANEL) // Only needed with an LCD ubl.lcd_map_control = defer_return_to_status = false; #endif } @@ -14057,7 +14057,7 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) { #if ENABLED(DISABLE_INACTIVE_E) disable_e_steppers(); #endif - #if ENABLED(AUTO_BED_LEVELING_UBL) && ENABLED(ULTRA_LCD) // Only needed with an LCD + #if ENABLED(AUTO_BED_LEVELING_UBL) && ENABLED(ULTIPANEL) // Only needed with an LCD ubl.lcd_map_control = defer_return_to_status = false; #endif } From 4f943a73bc2f031d80449307f70f4ee7ecfdc841 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 25 Dec 2017 08:19:06 -0600 Subject: [PATCH 18/19] Fixes for G29 / 3POINT --- Marlin/Marlin_main.cpp | 56 ++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 32 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index e83dbcacf..e24a2d016 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -4490,7 +4490,7 @@ void home_all_axes() { gcode_G28(true); } const uint8_t old_debug_flags = marlin_debug_flags; if (query) marlin_debug_flags |= DEBUG_LEVELING; if (DEBUGGING(LEVELING)) { - DEBUG_POS(">>> gcode_G29", current_position); + DEBUG_POS(">>> G29", current_position); log_machine_info(); } marlin_debug_flags = old_debug_flags; @@ -4552,12 +4552,10 @@ void home_all_axes() { gcode_G28(true); } abl_grid_points_y = GRID_MAX_POINTS_Y; #endif - #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(PROBE_MANUALLY) - #if ENABLED(AUTO_BED_LEVELING_LINEAR) - ABL_VAR int abl2; - #else // Bilinear - int constexpr abl2 = GRID_MAX_POINTS; - #endif + #if ENABLED(AUTO_BED_LEVELING_LINEAR) + ABL_VAR int abl2; + #elif ENABLED(PROBE_MANUALLY) // Bilinear + int constexpr abl2 = GRID_MAX_POINTS; #endif #if ENABLED(AUTO_BED_LEVELING_BILINEAR) @@ -4575,7 +4573,9 @@ void home_all_axes() { gcode_G28(true); } #elif ENABLED(AUTO_BED_LEVELING_3POINT) - int constexpr abl2 = 3; + #if ENABLED(PROBE_MANUALLY) + int constexpr abl2 = 3; // used to show total points + #endif // Probe at 3 arbitrary points ABL_VAR vector_3 points[3] = { @@ -4624,7 +4624,7 @@ void home_all_axes() { gcode_G28(true); } j = parser.byteval('J', -1); if (!isnan(rx) && !isnan(ry)) { - // Get nearest i / j from x / y + // Get nearest i / j from rx / ry i = (rx - bilinear_start[X_AXIS] + 0.5 * xGridSpacing) / xGridSpacing; j = (ry - bilinear_start[Y_AXIS] + 0.5 * yGridSpacing) / yGridSpacing; i = constrain(i, 0, GRID_MAX_POINTS_X - 1); @@ -4637,22 +4637,18 @@ void home_all_axes() { gcode_G28(true); } bed_level_virt_interpolate(); #endif set_bed_leveling_enabled(abl_should_enable); - report_current_position(); + if (abl_should_enable) report_current_position(); } return; } // parser.seen('W') #endif - #if HAS_LEVELING - - // Jettison bed leveling data - if (parser.seen('J')) { - reset_bed_level(); - return; - } - - #endif + // Jettison bed leveling data + if (parser.seen('J')) { + reset_bed_level(); + return; + } verbose_level = parser.intval('V'); if (!WITHIN(verbose_level, 0, 4)) { @@ -4682,6 +4678,7 @@ void home_all_axes() { gcode_G28(true); } } abl2 = abl_grid_points_x * abl_grid_points_y; + mean = 0; #elif ENABLED(AUTO_BED_LEVELING_BILINEAR) @@ -4734,8 +4731,9 @@ void home_all_axes() { gcode_G28(true); } #endif // ABL_GRID if (verbose_level > 0) { - SERIAL_PROTOCOLLNPGM("G29 Auto Bed Leveling"); - if (dryrun) SERIAL_PROTOCOLLNPGM("Running in DRY-RUN mode"); + SERIAL_PROTOCOLPGM("G29 Auto Bed Leveling"); + if (dryrun) SERIAL_PROTOCOLPGM(" (DRYRUN)"); + SERIAL_EOL(); } stepper.synchronize(); @@ -4744,15 +4742,6 @@ void home_all_axes() { gcode_G28(true); } // Be formal so G29 can be done successively without G28. set_bed_leveling_enabled(false); - if (!dryrun) { - // Re-orient the current position without leveling - // based on where the steppers are positioned. - set_current_from_steppers_for_axis(ALL_AXES); - - // Sync the planner to where the steppers stopped - SYNC_PLAN_POSITION_KINEMATIC(); - } - #if HAS_BED_PROBE // Deploy the probe. Probe will raise if needed. if (DEPLOY_PROBE()) { @@ -4934,9 +4923,10 @@ void home_all_axes() { gcode_G28(true); } #elif ENABLED(AUTO_BED_LEVELING_3POINT) // Probe at 3 arbitrary points - if (abl_probe_index < 3) { + if (abl_probe_index < abl2) { xProbe = points[abl_probe_index].x; yProbe = points[abl_probe_index].y; + _manual_goto_xy(xProbe, yProbe); #if HAS_SOFTWARE_ENDSTOPS // Disable software endstops to allow manual adjustment // If G29 is not completed, they will not be re-enabled @@ -4974,6 +4964,8 @@ void home_all_axes() { gcode_G28(true); } { const bool stow_probe_after_each = parser.boolval('E'); + measured_z = 0; + #if ABL_GRID bool zig = PR_OUTER_END & 1; // Always end at RIGHT and BACK_PROBE_BED_POSITION @@ -5307,7 +5299,7 @@ void home_all_axes() { gcode_G28(true); } if (!faux) clean_up_after_endstop_or_probe_move(); #if ENABLED(DEBUG_LEVELING_FEATURE) - if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< gcode_G29"); + if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< G29"); #endif report_current_position(); From 5f0026893f9874a194033272926850b342ea03a3 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 25 Dec 2017 08:51:35 -0600 Subject: [PATCH 19/19] Fix some compiler warnings --- Marlin/Marlin_main.cpp | 2 +- Marlin/ubl_G29.cpp | 6 +++--- Marlin/ultralcd.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index e24a2d016..bc2541dcb 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -9630,7 +9630,7 @@ void quickstop_stepper() { #if ENABLED(EEPROM_SETTINGS) const int8_t storage_slot = parser.has_value() ? parser.value_int() : ubl.storage_slot; - const uint16_t a = settings.calc_num_meshes(); + const int16_t a = settings.calc_num_meshes(); if (!a) { SERIAL_PROTOCOLLNPGM("?EEPROM storage not available."); diff --git a/Marlin/ubl_G29.cpp b/Marlin/ubl_G29.cpp index f3b2707d0..e741e391d 100644 --- a/Marlin/ubl_G29.cpp +++ b/Marlin/ubl_G29.cpp @@ -608,7 +608,7 @@ if (parser.seen('L')) { // Load Current Mesh Data g29_storage_slot = parser.has_value() ? parser.value_int() : storage_slot; - uint16_t a = settings.calc_num_meshes(); + int16_t a = settings.calc_num_meshes(); if (!a) { SERIAL_PROTOCOLLNPGM("?EEPROM storage not available."); @@ -650,7 +650,7 @@ return; } - uint16_t a = settings.calc_num_meshes(); + int16_t a = settings.calc_num_meshes(); if (!a) { SERIAL_PROTOCOLLNPGM("?EEPROM storage not available."); @@ -1327,7 +1327,7 @@ * use cases for the users. So we can wait and see what to do with it. */ void unified_bed_leveling::g29_compare_current_mesh_to_stored_mesh() { - uint16_t a = settings.calc_num_meshes(); + int16_t a = settings.calc_num_meshes(); if (!a) { SERIAL_PROTOCOLLNPGM("?EEPROM storage not available."); diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 35f034228..8d78d5a50 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -2279,7 +2279,7 @@ void kill_screen(const char* lcd_msg) { * Save Bed Mesh */ void _lcd_ubl_storage_mesh() { - uint16_t a = settings.calc_num_meshes(); + int16_t a = settings.calc_num_meshes(); START_MENU(); MENU_BACK(MSG_UBL_LEVEL_BED); if (!WITHIN(ubl_storage_slot, 0, a - 1)) {