Merge remote-tracking branch 'upstream/bugfix-1.1.x' into release_version_118

master
Scott Lahteine 7 years ago
commit dcd405275c

@ -566,9 +566,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1154,7 +1154,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1169,6 +1169,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -321,17 +321,17 @@ void report_current_position();
#endif #endif
// Macro to obtain the Z position of an individual tower // Macro to obtain the Z position of an individual tower
#define DELTA_Z(T) raw[Z_AXIS] + _SQRT( \ #define DELTA_Z(V,T) V[Z_AXIS] + _SQRT( \
delta_diagonal_rod_2_tower[T] - HYPOT2( \ delta_diagonal_rod_2_tower[T] - HYPOT2( \
delta_tower[T][X_AXIS] - raw[X_AXIS], \ delta_tower[T][X_AXIS] - V[X_AXIS], \
delta_tower[T][Y_AXIS] - raw[Y_AXIS] \ delta_tower[T][Y_AXIS] - V[Y_AXIS] \
) \ ) \
) )
#define DELTA_RAW_IK() do { \ #define DELTA_IK(V) do { \
delta[A_AXIS] = DELTA_Z(A_AXIS); \ delta[A_AXIS] = DELTA_Z(V, A_AXIS); \
delta[B_AXIS] = DELTA_Z(B_AXIS); \ delta[B_AXIS] = DELTA_Z(V, B_AXIS); \
delta[C_AXIS] = DELTA_Z(C_AXIS); \ delta[C_AXIS] = DELTA_Z(V, C_AXIS); \
}while(0) }while(0)
#elif IS_SCARA #elif IS_SCARA

@ -2502,27 +2502,25 @@ static void clean_up_after_endstop_or_probe_move() {
* Reset calibration results to zero. * Reset calibration results to zero.
*/ */
void reset_bed_level() { void reset_bed_level() {
#if ENABLED(DEBUG_LEVELING_FEATURE)
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("reset_bed_level");
#endif
set_bed_leveling_enabled(false); set_bed_leveling_enabled(false);
#if ENABLED(MESH_BED_LEVELING) #if ENABLED(MESH_BED_LEVELING)
if (leveling_is_valid()) { if (leveling_is_valid()) {
mbl.reset(); mbl.reset();
mbl.has_mesh = false; mbl.has_mesh = false;
} }
#else #elif ENABLED(AUTO_BED_LEVELING_UBL)
#if ENABLED(DEBUG_LEVELING_FEATURE) ubl.reset();
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) #elif ENABLED(AUTO_BED_LEVELING_BILINEAR)
bilinear_start[X_AXIS] = bilinear_start[Y_AXIS] = bilinear_start[X_AXIS] = bilinear_start[Y_AXIS] =
bilinear_grid_spacing[X_AXIS] = bilinear_grid_spacing[Y_AXIS] = 0; 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 x = 0; x < GRID_MAX_POINTS_X; x++)
for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++)
z_values[x][y] = NAN; z_values[x][y] = NAN;
#elif ENABLED(AUTO_BED_LEVELING_UBL) #elif ABL_PLANAR
ubl.reset(); planner.bed_level_matrix.set_to_identity();
#endif
#endif #endif
} }
@ -4492,7 +4490,7 @@ void home_all_axes() { gcode_G28(true); }
const uint8_t old_debug_flags = marlin_debug_flags; const uint8_t old_debug_flags = marlin_debug_flags;
if (query) marlin_debug_flags |= DEBUG_LEVELING; if (query) marlin_debug_flags |= DEBUG_LEVELING;
if (DEBUGGING(LEVELING)) { if (DEBUGGING(LEVELING)) {
DEBUG_POS(">>> gcode_G29", current_position); DEBUG_POS(">>> G29", current_position);
log_machine_info(); log_machine_info();
} }
marlin_debug_flags = old_debug_flags; marlin_debug_flags = old_debug_flags;
@ -4554,13 +4552,11 @@ void home_all_axes() { gcode_G28(true); }
abl_grid_points_y = GRID_MAX_POINTS_Y; abl_grid_points_y = GRID_MAX_POINTS_Y;
#endif #endif
#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(PROBE_MANUALLY)
#if ENABLED(AUTO_BED_LEVELING_LINEAR) #if ENABLED(AUTO_BED_LEVELING_LINEAR)
ABL_VAR int abl2; ABL_VAR int abl2;
#else // Bilinear #elif ENABLED(PROBE_MANUALLY) // Bilinear
int constexpr abl2 = GRID_MAX_POINTS; int constexpr abl2 = GRID_MAX_POINTS;
#endif #endif
#endif
#if ENABLED(AUTO_BED_LEVELING_BILINEAR) #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
@ -4577,7 +4573,9 @@ void home_all_axes() { gcode_G28(true); }
#elif ENABLED(AUTO_BED_LEVELING_3POINT) #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 // Probe at 3 arbitrary points
ABL_VAR vector_3 points[3] = { ABL_VAR vector_3 points[3] = {
@ -4626,7 +4624,7 @@ void home_all_axes() { gcode_G28(true); }
j = parser.byteval('J', -1); j = parser.byteval('J', -1);
if (!isnan(rx) && !isnan(ry)) { 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; i = (rx - bilinear_start[X_AXIS] + 0.5 * xGridSpacing) / xGridSpacing;
j = (ry - bilinear_start[Y_AXIS] + 0.5 * yGridSpacing) / yGridSpacing; j = (ry - bilinear_start[Y_AXIS] + 0.5 * yGridSpacing) / yGridSpacing;
i = constrain(i, 0, GRID_MAX_POINTS_X - 1); i = constrain(i, 0, GRID_MAX_POINTS_X - 1);
@ -4639,23 +4637,19 @@ void home_all_axes() { gcode_G28(true); }
bed_level_virt_interpolate(); bed_level_virt_interpolate();
#endif #endif
set_bed_leveling_enabled(abl_should_enable); set_bed_leveling_enabled(abl_should_enable);
report_current_position(); if (abl_should_enable) report_current_position();
} }
return; return;
} // parser.seen('W') } // parser.seen('W')
#endif #endif
#if HAS_LEVELING
// Jettison bed leveling data // Jettison bed leveling data
if (parser.seen('J')) { if (parser.seen('J')) {
reset_bed_level(); reset_bed_level();
return; return;
} }
#endif
verbose_level = parser.intval('V'); verbose_level = parser.intval('V');
if (!WITHIN(verbose_level, 0, 4)) { if (!WITHIN(verbose_level, 0, 4)) {
SERIAL_PROTOCOLLNPGM("?(V)erbose level is implausible (0-4)."); SERIAL_PROTOCOLLNPGM("?(V)erbose level is implausible (0-4).");
@ -4684,6 +4678,7 @@ void home_all_axes() { gcode_G28(true); }
} }
abl2 = abl_grid_points_x * abl_grid_points_y; abl2 = abl_grid_points_x * abl_grid_points_y;
mean = 0;
#elif ENABLED(AUTO_BED_LEVELING_BILINEAR) #elif ENABLED(AUTO_BED_LEVELING_BILINEAR)
@ -4736,28 +4731,21 @@ void home_all_axes() { gcode_G28(true); }
#endif // ABL_GRID #endif // ABL_GRID
if (verbose_level > 0) { if (verbose_level > 0) {
SERIAL_PROTOCOLLNPGM("G29 Auto Bed Leveling"); SERIAL_PROTOCOLPGM("G29 Auto Bed Leveling");
if (dryrun) SERIAL_PROTOCOLLNPGM("Running in DRY-RUN mode"); if (dryrun) SERIAL_PROTOCOLPGM(" (DRYRUN)");
SERIAL_EOL();
} }
stepper.synchronize(); stepper.synchronize();
// Disable auto bed leveling during G29 // Disable auto bed leveling during G29.
planner.leveling_active = false; // 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 #if HAS_BED_PROBE
// Deploy the probe. Probe will raise if needed. // Deploy the probe. Probe will raise if needed.
if (DEPLOY_PROBE()) { if (DEPLOY_PROBE()) {
planner.leveling_active = abl_should_enable; set_bed_leveling_enabled(abl_should_enable);
return; return;
} }
#endif #endif
@ -4774,10 +4762,6 @@ void home_all_axes() { gcode_G28(true); }
|| left_probe_bed_position != bilinear_start[X_AXIS] || left_probe_bed_position != bilinear_start[X_AXIS]
|| front_probe_bed_position != bilinear_start[Y_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 grid to 0.0 or "not probed". (Also disables ABL)
reset_bed_level(); reset_bed_level();
@ -4821,7 +4805,7 @@ void home_all_axes() { gcode_G28(true); }
#if HAS_SOFTWARE_ENDSTOPS #if HAS_SOFTWARE_ENDSTOPS
soft_endstops_enabled = enable_soft_endstops; soft_endstops_enabled = enable_soft_endstops;
#endif #endif
planner.leveling_active = abl_should_enable; set_bed_leveling_enabled(abl_should_enable);
g29_in_progress = false; g29_in_progress = false;
#if ENABLED(LCD_BED_LEVELING) #if ENABLED(LCD_BED_LEVELING)
lcd_wait_for_move = false; lcd_wait_for_move = false;
@ -4939,9 +4923,10 @@ void home_all_axes() { gcode_G28(true); }
#elif ENABLED(AUTO_BED_LEVELING_3POINT) #elif ENABLED(AUTO_BED_LEVELING_3POINT)
// Probe at 3 arbitrary points // Probe at 3 arbitrary points
if (abl_probe_index < 3) { if (abl_probe_index < abl2) {
xProbe = points[abl_probe_index].x; xProbe = points[abl_probe_index].x;
yProbe = points[abl_probe_index].y; yProbe = points[abl_probe_index].y;
_manual_goto_xy(xProbe, yProbe);
#if HAS_SOFTWARE_ENDSTOPS #if HAS_SOFTWARE_ENDSTOPS
// Disable software endstops to allow manual adjustment // Disable software endstops to allow manual adjustment
// If G29 is not completed, they will not be re-enabled // If G29 is not completed, they will not be re-enabled
@ -4979,6 +4964,8 @@ void home_all_axes() { gcode_G28(true); }
{ {
const bool stow_probe_after_each = parser.boolval('E'); const bool stow_probe_after_each = parser.boolval('E');
measured_z = 0;
#if ABL_GRID #if ABL_GRID
bool zig = PR_OUTER_END & 1; // Always end at RIGHT and BACK_PROBE_BED_POSITION bool zig = PR_OUTER_END & 1; // Always end at RIGHT and BACK_PROBE_BED_POSITION
@ -5024,7 +5011,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); measured_z = faux ? 0.001 * random(-100, 101) : probe_pt(xProbe, yProbe, stow_probe_after_each, verbose_level);
if (isnan(measured_z)) { if (isnan(measured_z)) {
planner.leveling_active = abl_should_enable; set_bed_leveling_enabled(abl_should_enable);
break; break;
} }
@ -5060,7 +5047,7 @@ void home_all_axes() { gcode_G28(true); }
yProbe = points[i].y; yProbe = points[i].y;
measured_z = faux ? 0.001 * random(-100, 101) : probe_pt(xProbe, yProbe, stow_probe_after_each, verbose_level); measured_z = faux ? 0.001 * random(-100, 101) : probe_pt(xProbe, yProbe, stow_probe_after_each, verbose_level);
if (isnan(measured_z)) { if (isnan(measured_z)) {
planner.leveling_active = abl_should_enable; set_bed_leveling_enabled(abl_should_enable);
break; break;
} }
points[i].z = measured_z; points[i].z = measured_z;
@ -5083,7 +5070,7 @@ void home_all_axes() { gcode_G28(true); }
// Raise to _Z_CLEARANCE_DEPLOY_PROBE. Stow the probe. // Raise to _Z_CLEARANCE_DEPLOY_PROBE. Stow the probe.
if (STOW_PROBE()) { if (STOW_PROBE()) {
planner.leveling_active = abl_should_enable; set_bed_leveling_enabled(abl_should_enable);
measured_z = NAN; measured_z = NAN;
} }
} }
@ -5312,7 +5299,7 @@ void home_all_axes() { gcode_G28(true); }
if (!faux) clean_up_after_endstop_or_probe_move(); if (!faux) clean_up_after_endstop_or_probe_move();
#if ENABLED(DEBUG_LEVELING_FEATURE) #if ENABLED(DEBUG_LEVELING_FEATURE)
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< gcode_G29"); if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< G29");
#endif #endif
report_current_position(); report_current_position();
@ -6492,12 +6479,16 @@ inline void gcode_M17() {
stepper.synchronize(); stepper.synchronize();
} }
static bool pause_print(const float &retract, const float &z_lift, const float &x_pos, const float &y_pos, static bool pause_print(const float &retract, const point_t &park_point, const float &unload_length = 0,
const float &unload_length = 0 , const int8_t max_beep_count = 0, const bool show_lcd = false const int8_t max_beep_count = 0, const bool show_lcd = false
) { ) {
if (move_away_flag) return false; // already paused if (move_away_flag) return false; // already paused
if (!DEBUGGING(DRYRUN) && (unload_length != 0 || retract != 0)) { #ifdef ACTION_ON_PAUSE
SERIAL_ECHOLNPGM("//action:" ACTION_ON_PAUSE);
#endif
if (!DEBUGGING(DRYRUN) && unload_length != 0) {
#if ENABLED(PREVENT_COLD_EXTRUSION) #if ENABLED(PREVENT_COLD_EXTRUSION)
if (!thermalManager.allow_cold_extrude && if (!thermalManager.allow_cold_extrude &&
thermalManager.degTargetHotend(active_extruder) < thermalManager.extrude_min_temp) { thermalManager.degTargetHotend(active_extruder) < thermalManager.extrude_min_temp) {
@ -6534,14 +6525,11 @@ inline void gcode_M17() {
COPY(resume_position, current_position); COPY(resume_position, current_position);
// Initial retract before move to filament change 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 // Park the nozzle by moving up by z_lift and then moving to (x_pos, y_pos)
if (z_lift > 0) Nozzle::park(2, park_point);
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);
if (unload_length != 0) { if (unload_length != 0) {
if (show_lcd) { if (show_lcd) {
@ -6683,6 +6671,7 @@ inline void gcode_M17() {
#if ENABLED(ULTIPANEL) && ADVANCED_PAUSE_EXTRUDE_LENGTH > 0 #if ENABLED(ULTIPANEL) && ADVANCED_PAUSE_EXTRUDE_LENGTH > 0
if (!thermalManager.tooColdToExtrude(active_extruder)) {
float extrude_length = initial_extrude_length; float extrude_length = initial_extrude_length;
do { do {
@ -6705,6 +6694,7 @@ inline void gcode_M17() {
// Keep looping if "Extrude More" was selected // Keep looping if "Extrude More" was selected
} while (advanced_pause_menu_response == ADVANCED_PAUSE_RESPONSE_EXTRUDE_MORE); } while (advanced_pause_menu_response == ADVANCED_PAUSE_RESPONSE_EXTRUDE_MORE);
}
#endif #endif
@ -6718,8 +6708,8 @@ inline void gcode_M17() {
planner.set_e_position_mm(current_position[E_AXIS]); planner.set_e_position_mm(current_position[E_AXIS]);
// Move XY to starting position, then Z // 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_xy(resume_position[X_AXIS], resume_position[Y_AXIS], NOZZLE_PARK_XY_FEEDRATE);
do_blocking_move_to_z(resume_position[Z_AXIS], PAUSE_PARK_Z_FEEDRATE); do_blocking_move_to_z(resume_position[Z_AXIS], NOZZLE_PARK_Z_FEEDRATE);
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)
filament_ran_out = false; filament_ran_out = false;
@ -6730,6 +6720,10 @@ inline void gcode_M17() {
lcd_advanced_pause_show_message(ADVANCED_PAUSE_MESSAGE_STATUS); lcd_advanced_pause_show_message(ADVANCED_PAUSE_MESSAGE_STATUS);
#endif #endif
#ifdef ACTION_ON_RESUME
SERIAL_ECHOLNPGM("//action:" ACTION_ON_RESUME);
#endif
#if ENABLED(SDSUPPORT) #if ENABLED(SDSUPPORT)
if (sd_print_paused) { if (sd_print_paused) {
card.startFileprint(); card.startFileprint();
@ -8264,7 +8258,7 @@ inline void gcode_M18_M84() {
#endif #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; ubl.lcd_map_control = defer_return_to_status = false;
#endif #endif
} }
@ -8609,36 +8603,25 @@ inline void gcode_M121() { endstops.enable_globally(false); }
#endif #endif
; ;
// Lift Z axis point_t park_point = NOZZLE_PARK_POINT;
const float z_lift = parser.linearval('Z')
#ifdef PAUSE_PARK_Z_ADD
+ PAUSE_PARK_Z_ADD
#endif
;
// Move XY axes to filament change position or given position // Move XY axes to filament change position or given position
const float x_pos = parser.linearval('X') if (parser.seenval('X')) park_point.x = parser.linearval('X');
#ifdef PAUSE_PARK_X_POS if (parser.seenval('Y')) park_point.y = parser.linearval('Y');
+ PAUSE_PARK_X_POS
#endif // Lift Z axis
#if HOTENDS > 1 && DISABLED(DUAL_X_CARRIAGE) if (parser.seenval('Z')) park_point.z = parser.linearval('Z');
+ (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) #if HOTENDS > 1 && DISABLED(DUAL_X_CARRIAGE)
+ (active_extruder ? hotend_offset[Y_AXIS][active_extruder] : 0) 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 #endif
;
#if DISABLED(SDSUPPORT) #if DISABLED(SDSUPPORT)
const bool job_running = print_job_timer.isRunning(); const bool job_running = print_job_timer.isRunning();
#endif #endif
if (pause_print(retract, z_lift, x_pos, y_pos)) { if (pause_print(retract, park_point)) {
#if DISABLED(SDSUPPORT) #if DISABLED(SDSUPPORT)
// Wait for lcd click or M108 // Wait for lcd click or M108
wait_for_filament_reload(); wait_for_filament_reload();
@ -10030,6 +10013,7 @@ inline void gcode_M502() {
* *
*/ */
inline void gcode_M600() { inline void gcode_M600() {
point_t park_point = NOZZLE_PARK_POINT;
#if ENABLED(HOME_BEFORE_FILAMENT_CHANGE) #if ENABLED(HOME_BEFORE_FILAMENT_CHANGE)
// Don't allow filament change without homing first // Don't allow filament change without homing first
@ -10044,23 +10028,20 @@ inline void gcode_M502() {
; ;
// Lift Z axis // Lift Z axis
const float z_lift = parser.linearval('Z', 0 if (parser.seenval('Z'))
#ifdef PAUSE_PARK_Z_ADD park_point.z = parser.linearval('Z');
+ PAUSE_PARK_Z_ADD
#endif
);
// Move XY axes to filament exchange position // Move XY axes to filament change position or given position
const float x_pos = parser.linearval('X', 0 if (parser.seenval('X'))
#ifdef PAUSE_PARK_X_POS park_point.x = parser.linearval('X');
+ PAUSE_PARK_X_POS
#endif if (parser.seenval('Y'))
); park_point.y = parser.linearval('Y');
const float y_pos = parser.linearval('Y', 0
#ifdef PAUSE_PARK_Y_POS #if HOTENDS > 1 && DISABLED(DUAL_X_CARRIAGE)
+ PAUSE_PARK_Y_POS 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 #endif
);
// Unload filament // Unload filament
const float unload_length = parser.seen('U') ? parser.value_axis_units(E_AXIS) : 0 const float unload_length = parser.seen('U') ? parser.value_axis_units(E_AXIS) : 0
@ -10086,7 +10067,7 @@ inline void gcode_M502() {
const bool job_running = print_job_timer.isRunning(); 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); wait_for_filament_reload(beep_count);
resume_print(load_length, ADVANCED_PAUSE_EXTRUDE_LENGTH, beep_count); resume_print(load_length, ADVANCED_PAUSE_EXTRUDE_LENGTH, beep_count);
} }
@ -12749,7 +12730,7 @@ void ok_to_send() {
}while(0) }while(0)
void inverse_kinematics(const float raw[XYZ]) { void inverse_kinematics(const float raw[XYZ]) {
DELTA_RAW_IK(); DELTA_IK(raw);
// DELTA_DEBUG(); // DELTA_DEBUG();
} }
@ -13027,7 +13008,6 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) {
} }
else { else {
// Must already have been split on these border(s) // Must already have been split on these border(s)
// This should be a rare case.
buffer_line_to_destination(fr_mm_s); buffer_line_to_destination(fr_mm_s);
set_current_from_destination(); set_current_from_destination();
return; return;
@ -13096,7 +13076,6 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) {
} }
else { else {
// Must already have been split on these border(s) // Must already have been split on these border(s)
// This should be a rare case.
buffer_line_to_destination(fr_mm_s); buffer_line_to_destination(fr_mm_s);
set_current_from_destination(); set_current_from_destination();
return; return;
@ -13139,7 +13118,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 the move is only in Z/E don't split up the move
if (!xdiff && !ydiff) { if (!xdiff && !ydiff) {
planner.buffer_line_kinematic(rtarget, _feedrate_mm_s, active_extruder); 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 // Fail if attempting move outside printable radius
@ -13184,8 +13163,9 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) {
// SERIAL_ECHOPAIR(" seconds=", seconds); // SERIAL_ECHOPAIR(" seconds=", seconds);
// SERIAL_ECHOLNPAIR(" segments=", segments); // 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 // 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 const float inv_segment_length = min(10.0, float(segments) / cartesian_mm), // 1/mm/segs
inverse_secs = inv_segment_length * _feedrate_mm_s; inverse_secs = inv_segment_length * _feedrate_mm_s;
float oldA = stepper.get_axis_position_degrees(A_AXIS), float oldA = stepper.get_axis_position_degrees(A_AXIS),
@ -13209,42 +13189,33 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) {
LOOP_XYZE(i) raw[i] += segment_distance[i]; LOOP_XYZE(i) raw[i] += segment_distance[i];
#if ENABLED(DELTA) #if ENABLED(DELTA)
DELTA_RAW_IK(); // Delta can inline its kinematics DELTA_IK(raw); // Delta can inline its kinematics
#else #else
inverse_kinematics(raw); inverse_kinematics(raw);
#endif #endif
ADJUST_DELTA(raw); // Adjust Z if bed leveling is enabled 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 // 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 // i.e., Complete the angular vector in the given time.
const float adiff = abs(delta[A_AXIS] - oldA), 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);
bdiff = abs(delta[B_AXIS] - oldB); oldA = delta[A_AXIS]; oldB = delta[B_AXIS];
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];
#else #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 #endif
} }
// Since segment_distance is only approximate, // Ensure last segment arrives at target location.
// the final move must be to the exact destination. #if ENABLED(SCARA_FEEDRATE_SCALING)
#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
inverse_kinematics(rtarget); inverse_kinematics(rtarget);
ADJUST_DELTA(rtarget); ADJUST_DELTA(rtarget);
const float adiff = abs(delta[A_AXIS] - oldA), 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);
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);
#else #else
planner.buffer_line_kinematic(rtarget, _feedrate_mm_s, active_extruder); planner.buffer_line_kinematic(rtarget, _feedrate_mm_s, active_extruder);
#endif #endif
return false; return false; // caller will update current_position
} }
#else // !IS_KINEMATIC #else // !IS_KINEMATIC
@ -13265,7 +13236,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) {
return true; // all moves, including Z-only moves. return true; // all moves, including Z-only moves.
#elif ENABLED(SEGMENT_LEVELED_MOVES) #elif ENABLED(SEGMENT_LEVELED_MOVES)
segmented_line_to_destination(MMS_SCALED(feedrate_mm_s)); segmented_line_to_destination(MMS_SCALED(feedrate_mm_s));
return false; return false; // caller will update current_position
#else #else
/** /**
* For MBL and ABL-BILINEAR only segment moves when X or Y are involved. * For MBL and ABL-BILINEAR only segment moves when X or Y are involved.
@ -13284,7 +13255,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) {
#endif // HAS_MESH #endif // HAS_MESH
buffer_line_to_destination(MMS_SCALED(feedrate_mm_s)); buffer_line_to_destination(MMS_SCALED(feedrate_mm_s));
return false; return false; // caller will update current_position
} }
#endif // !IS_KINEMATIC #endif // !IS_KINEMATIC
@ -13509,7 +13480,7 @@ void prepare_move_to_destination() {
* This is important when there are successive arc motions. * This is important when there are successive arc motions.
*/ */
// Vector rotation matrix values // Vector rotation matrix values
float arc_target[XYZE]; float raw[XYZE];
const float theta_per_segment = angular_travel / segments, const float theta_per_segment = angular_travel / segments,
linear_per_segment = linear_travel / segments, linear_per_segment = linear_travel / segments,
extruder_per_segment = extruder_travel / segments, extruder_per_segment = extruder_travel / segments,
@ -13517,10 +13488,10 @@ void prepare_move_to_destination() {
cos_T = 1 - 0.5 * sq(theta_per_segment); // Small angle approximation cos_T = 1 - 0.5 * sq(theta_per_segment); // Small angle approximation
// Initialize the linear axis // Initialize the linear axis
arc_target[l_axis] = current_position[l_axis]; raw[l_axis] = current_position[l_axis];
// Initialize the extruder 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); const float fr_mm_s = MMS_SCALED(feedrate_mm_s);
@ -13530,6 +13501,14 @@ void prepare_move_to_destination() {
int8_t arc_recalc_count = N_ARC_CORRECTION; int8_t arc_recalc_count = N_ARC_CORRECTION;
#endif #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 for (uint16_t i = 1; i < segments; i++) { // Iterate (segments-1) times
thermalManager.manage_heater(); thermalManager.manage_heater();
@ -13561,19 +13540,34 @@ void prepare_move_to_destination() {
r_Q = -offset[0] * sin_Ti - offset[1] * cos_Ti; r_Q = -offset[0] * sin_Ti - offset[1] * cos_Ti;
} }
// Update arc_target location // Update raw location
arc_target[p_axis] = center_P + r_P; raw[p_axis] = center_P + r_P;
arc_target[q_axis] = center_Q + r_Q; raw[q_axis] = center_Q + r_Q;
arc_target[l_axis] += linear_per_segment; raw[l_axis] += linear_per_segment;
arc_target[E_AXIS] += extruder_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 ENABLED(SCARA_FEEDRATE_SCALING)
// For SCARA scale the feed rate from mm/s to degrees/s
// 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);
#endif
} }
// Ensure last segment arrives at target location. // Ensure last segment arrives at target location.
#if ENABLED(SCARA_FEEDRATE_SCALING)
inverse_kinematics(cart);
ADJUST_DELTA(cart);
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); 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 // 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 // motion control system might still be processing the action and the real tool position
@ -14055,7 +14049,7 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) {
#if ENABLED(DISABLE_INACTIVE_E) #if ENABLED(DISABLE_INACTIVE_E)
disable_e_steppers(); disable_e_steppers();
#endif #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; ubl.lcd_map_control = defer_return_to_status = false;
#endif #endif
} }

@ -105,25 +105,31 @@
#error "FILAMENTCHANGEENABLE is now ADVANCED_PAUSE_FEATURE. Please update your configuration." #error "FILAMENTCHANGEENABLE is now ADVANCED_PAUSE_FEATURE. Please update your configuration."
#elif ENABLED(FILAMENT_CHANGE_FEATURE) #elif ENABLED(FILAMENT_CHANGE_FEATURE)
#error "FILAMENT_CHANGE_FEATURE is now ADVANCED_PAUSE_FEATURE. Please update your configuration." #error "FILAMENT_CHANGE_FEATURE is now ADVANCED_PAUSE_FEATURE. Please update your configuration."
#elif ENABLED(FILAMENT_CHANGE_X_POS) #elif defined(FILAMENT_CHANGE_X_POS) || defined(FILAMENT_CHANGE_Y_POS)
#error "FILAMENT_CHANGE_X_POS is now PAUSE_PARK_X_POS. Please update your configuration." #error "FILAMENT_CHANGE_[XY]_POS is now set with NOZZLE_PARK_POINT. Please update your configuration."
#elif ENABLED(FILAMENT_CHANGE_Y_POS) #elif defined(FILAMENT_CHANGE_Z_ADD)
#error "FILAMENT_CHANGE_Y_POS is now PAUSE_PARK_Y_POS. Please update your configuration." #error "FILAMENT_CHANGE_Z_ADD is now set with NOZZLE_PARK_POINT. Please update your configuration."
#elif ENABLED(FILAMENT_CHANGE_Z_ADD) #elif defined(FILAMENT_CHANGE_XY_FEEDRATE)
#error "FILAMENT_CHANGE_Z_ADD is now PAUSE_PARK_Z_ADD. Please update your configuration." #error "FILAMENT_CHANGE_XY_FEEDRATE is now NOZZLE_PARK_XY_FEEDRATE. Please update your configuration."
#elif ENABLED(FILAMENT_CHANGE_XY_FEEDRATE) #elif defined(FILAMENT_CHANGE_Z_FEEDRATE)
#error "FILAMENT_CHANGE_XY_FEEDRATE is now PAUSE_PARK_XY_FEEDRATE. Please update your configuration." #error "FILAMENT_CHANGE_Z_FEEDRATE is now NOZZLE_PARK_Z_FEEDRATE. Please update your configuration."
#elif ENABLED(FILAMENT_CHANGE_Z_FEEDRATE) #elif defined(PAUSE_PARK_X_POS) || defined(PAUSE_PARK_Y_POS)
#error "FILAMENT_CHANGE_Z_FEEDRATE is now PAUSE_PARK_Z_FEEDRATE. Please update your configuration." #error "PAUSE_PARK_[XY]_POS is now set with NOZZLE_PARK_POINT. Please update your configuration."
#elif ENABLED(FILAMENT_CHANGE_RETRACT_FEEDRATE) #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." #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." #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." #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." #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." #error "FILAMENT_CHANGE_NOZZLE_TIMEOUT is now PAUSE_PARK_NOZZLE_TIMEOUT. Please update your configuration."
#elif ENABLED(FILAMENT_CHANGE_NO_STEPPER_TIMEOUT) #elif ENABLED(FILAMENT_CHANGE_NO_STEPPER_TIMEOUT)
#error "FILAMENT_CHANGE_NO_STEPPER_TIMEOUT is now PAUSE_PARK_NO_STEPPER_TIMEOUT. Please update your configuration." #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." #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) #elif ENABLED(HOME_BEFORE_FILAMENT_CHANGE) && DISABLED(PAUSE_PARK_NO_STEPPER_TIMEOUT)
#error "HOME_BEFORE_FILAMENT_CHANGE requires 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
#endif #endif

@ -891,8 +891,9 @@ void CardReader::printingHasFinished() {
} }
else { else {
sdprinting = false; sdprinting = false;
if (SD_FINISHED_STEPPERRELEASE) #if ENABLED(SD_FINISHED_STEPPERRELEASE) && defined(SD_FINISHED_RELEASECOMMAND)
enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND)); stepper.cleaning_buffer_counter = 1; // The command will fire from the Stepper ISR
#endif
print_job_timer.stop(); print_job_timer.stop();
if (print_job_timer.duration() > 60) if (print_job_timer.duration() > 60)
enqueue_and_echo_commands_P(PSTR("M31")); enqueue_and_echo_commands_P(PSTR("M31"));

@ -141,7 +141,7 @@
* 539 M200 D parser.volumetric_enabled (bool) * 539 M200 D parser.volumetric_enabled (bool)
* 540 M200 T D planner.filament_size (float x5) (T0..3) * 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) * 560 M906 X Stepper X current (uint16_t)
* 562 M906 Y Stepper Y current (uint16_t) * 562 M906 Y Stepper Y current (uint16_t)
* 564 M906 Z Stepper Z current (uint16_t) * 564 M906 Z Stepper Z current (uint16_t)
@ -203,7 +203,7 @@ MarlinSettings settings;
#include "mesh_bed_leveling.h" #include "mesh_bed_leveling.h"
#endif #endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) #if HAS_TRINAMIC
#include "stepper_indirection.h" #include "stepper_indirection.h"
#endif #endif
@ -283,7 +283,7 @@ void MarlinSettings::postprocess() {
bool MarlinSettings::eeprom_error; bool MarlinSettings::eeprom_error;
#if ENABLED(AUTO_BED_LEVELING_UBL) #if ENABLED(AUTO_BED_LEVELING_UBL)
int MarlinSettings::meshes_begin; int16_t MarlinSettings::meshes_begin;
#endif #endif
void MarlinSettings::write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { 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]), sizeof(mbl.z_values) == GRID_MAX_POINTS * sizeof(mbl.z_values[0][0]),
"MBL Z array is the wrong size." "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; 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(mbl.z_offset);
EEPROM_WRITE(mesh_num_x); EEPROM_WRITE(mesh_num_x);
EEPROM_WRITE(mesh_num_y); EEPROM_WRITE(mesh_num_y);
@ -581,7 +580,7 @@ void MarlinSettings::postprocess() {
EEPROM_WRITE(dummy); EEPROM_WRITE(dummy);
} }
#endif // !NO_VOLUMETRICS #endif
// Save TMC2130 or TMC2208 Configuration, and placeholder values // Save TMC2130 or TMC2208 Configuration, and placeholder values
uint16_t val; uint16_t val;
@ -1282,7 +1281,7 @@ void MarlinSettings::postprocess() {
} }
#endif #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 //obviously this will get more sophisticated once we've added an actual MAT
if (meshes_begin <= 0) return 0; if (meshes_begin <= 0) return 0;
@ -1290,10 +1289,10 @@ void MarlinSettings::postprocess() {
return (meshes_end - meshes_begin) / sizeof(ubl.z_values); 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) #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 (!WITHIN(slot, 0, a - 1)) {
#if ENABLED(EEPROM_CHITCHAT) #if ENABLED(EEPROM_CHITCHAT)
ubl_invalid_slot(a); ubl_invalid_slot(a);
@ -1323,11 +1322,11 @@ void MarlinSettings::postprocess() {
#endif #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) #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 (!WITHIN(slot, 0, a - 1)) {
#if ENABLED(EEPROM_CHITCHAT) #if ENABLED(EEPROM_CHITCHAT)
@ -1385,17 +1384,13 @@ void MarlinSettings::reset() {
planner.retract_acceleration = DEFAULT_RETRACT_ACCELERATION; planner.retract_acceleration = DEFAULT_RETRACT_ACCELERATION;
planner.travel_acceleration = DEFAULT_TRAVEL_ACCELERATION; planner.travel_acceleration = DEFAULT_TRAVEL_ACCELERATION;
planner.min_feedrate_mm_s = DEFAULT_MINIMUMFEEDRATE; planner.min_feedrate_mm_s = DEFAULT_MINIMUMFEEDRATE;
planner.min_segment_time_us = DEFAULT_MINSEGMENTTIME;
planner.min_travel_feedrate_mm_s = DEFAULT_MINTRAVELFEEDRATE; 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[X_AXIS] = DEFAULT_XJERK;
planner.max_jerk[Y_AXIS] = DEFAULT_YJERK; planner.max_jerk[Y_AXIS] = DEFAULT_YJERK;
planner.max_jerk[Z_AXIS] = DEFAULT_ZJERK; planner.max_jerk[Z_AXIS] = DEFAULT_ZJERK;
planner.max_jerk[E_AXIS] = DEFAULT_EJERK; planner.max_jerk[E_AXIS] = DEFAULT_EJERK;
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
new_z_fade_height = 10.0;
#endif
#if HAS_HOME_OFFSET #if HAS_HOME_OFFSET
ZERO(home_offset); ZERO(home_offset);
#endif #endif
@ -1417,7 +1412,14 @@ void MarlinSettings::reset() {
LOOP_XYZ(i) HOTEND_LOOP() hotend_offset[i][e] = tmp4[i][e]; LOOP_XYZ(i) HOTEND_LOOP() hotend_offset[i][e] = tmp4[i][e];
#endif #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 #if HAS_LEVELING
reset_bed_level(); reset_bed_level();
#endif #endif
@ -1478,10 +1480,6 @@ void MarlinSettings::reset() {
lcd_preheat_fan_speed[1] = PREHEAT_2_FAN_SPEED; lcd_preheat_fan_speed[1] = PREHEAT_2_FAN_SPEED;
#endif #endif
#if HAS_LCD_CONTRAST
lcd_contrast = DEFAULT_LCD_CONTRAST;
#endif
#if ENABLED(PIDTEMP) #if ENABLED(PIDTEMP)
#if ENABLED(PID_PARAMS_PER_HOTEND) && HOTENDS > 1 #if ENABLED(PID_PARAMS_PER_HOTEND) && HOTENDS > 1
HOTEND_LOOP() HOTEND_LOOP()
@ -1505,6 +1503,10 @@ void MarlinSettings::reset() {
thermalManager.bedKd = scalePID_d(DEFAULT_bedKd); thermalManager.bedKd = scalePID_d(DEFAULT_bedKd);
#endif #endif
#if HAS_LCD_CONTRAST
lcd_contrast = DEFAULT_LCD_CONTRAST;
#endif
#if ENABLED(FWRETRACT) #if ENABLED(FWRETRACT)
autoretract_enabled = false; autoretract_enabled = false;
retract_length = RETRACT_LENGTH; 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])); stepper.digipot_current(q, (stepper.motor_current_setting[q] = tmp_motor_current_setting[q]));
#endif #endif
#if ENABLED(AUTO_BED_LEVELING_UBL)
ubl.reset();
#endif
#if ENABLED(SKEW_CORRECTION_GCODE) #if ENABLED(SKEW_CORRECTION_GCODE)
planner.xy_skew_factor = XY_SKEW_FACTOR; planner.xy_skew_factor = XY_SKEW_FACTOR;
#if ENABLED(SKEW_CORRECTION_FOR_Z) #if ENABLED(SKEW_CORRECTION_FOR_Z)
@ -1710,7 +1708,7 @@ void MarlinSettings::reset() {
SERIAL_ECHOLNPGM(" M200 D0"); SERIAL_ECHOLNPGM(" M200 D0");
} }
#endif #endif // !NO_VOLUMETRICS
if (!forReplay) { if (!forReplay) {
CONFIG_ECHO_START; CONFIG_ECHO_START;
@ -2062,7 +2060,7 @@ void MarlinSettings::reset() {
/** /**
* TMC2130 stepper driver current * TMC2130 stepper driver current
*/ */
#if ENABLED(HAVE_TMC2130) #if HAS_TRINAMIC
if (!forReplay) { if (!forReplay) {
CONFIG_ECHO_START; CONFIG_ECHO_START;
SERIAL_ECHOLNPGM("Stepper driver current:"); SERIAL_ECHOLNPGM("Stepper driver current:");
@ -2108,7 +2106,7 @@ void MarlinSettings::reset() {
/** /**
* TMC2130 Sensorless homing thresholds * TMC2130 Sensorless homing thresholds
*/ */
#if ENABLED(HAVE_TMC2130) && ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
if (!forReplay) { if (!forReplay) {
CONFIG_ECHO_START; CONFIG_ECHO_START;
SERIAL_ECHOLNPGM("Sensorless homing threshold:"); SERIAL_ECHOLNPGM("Sensorless homing threshold:");

@ -37,11 +37,11 @@ class MarlinSettings {
#if ENABLED(AUTO_BED_LEVELING_UBL) // Eventually make these available if any leveling system #if ENABLED(AUTO_BED_LEVELING_UBL) // Eventually make these available if any leveling system
// That can store is enabled // That can store is enabled
FORCE_INLINE static int get_start_of_meshes() { return meshes_begin; } FORCE_INLINE static int16_t get_start_of_meshes() { return meshes_begin; }
FORCE_INLINE static int get_end_of_meshes() { return meshes_end; } FORCE_INLINE static int16_t get_end_of_meshes() { return meshes_end; }
static int calc_num_meshes(); static uint16_t calc_num_meshes();
static void store_mesh(int8_t slot); static void store_mesh(const int8_t slot);
static void load_mesh(int8_t slot, void *into = 0); static void load_mesh(const int8_t slot, void * const into=NULL);
//static void delete_mesh(); // necessary if we have a MAT //static void delete_mesh(); // necessary if we have a MAT
//static void defrag_meshes(); // " //static void defrag_meshes(); // "
@ -66,8 +66,8 @@ class MarlinSettings {
#if ENABLED(AUTO_BED_LEVELING_UBL) // Eventually make these available if any leveling system #if ENABLED(AUTO_BED_LEVELING_UBL) // Eventually make these available if any leveling system
// That can store is enabled // That can store is enabled
static int meshes_begin; static int16_t meshes_begin;
const static int meshes_end = E2END - 128; // 128 is a placeholder for the size of the MAT; the MAT will always 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 // live at the very end of the eeprom
#endif #endif

@ -588,7 +588,7 @@
*/ */
#define DEFAULT_XJERK 8.0 #define DEFAULT_XJERK 8.0
#define DEFAULT_YJERK 8.0 #define DEFAULT_YJERK 8.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 10.0 #define DEFAULT_EJERK 10.0
//=========================================================================== //===========================================================================
@ -1174,7 +1174,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1189,6 +1189,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -566,9 +566,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1154,7 +1154,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1169,6 +1169,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -612,21 +612,12 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * 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): // ANET A6 Firmware V2.0 defaults (jerk):
// Vxy-jerk: 20, Vz-jerk: +000.30, Ve-jerk: 10 // Vxy-jerk: 10, Vz-jerk: +000.30, Ve-jerk: 5
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.3 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 10.0 #define DEFAULT_EJERK 5.0
//#define DEFAULT_XJERK 20.0
//#define DEFAULT_YJERK 20.0
//#define DEFAULT_ZJERK 0.3
//#define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
//============================= Z Probe Options ============================= //============================= Z Probe Options =============================
@ -1311,7 +1302,7 @@
#define PREHEAT_2_FAN_SPEED 0 // ANET A6 Default is 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1326,6 +1317,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -573,8 +573,8 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.3 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
@ -1161,7 +1161,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1176,6 +1176,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -559,7 +559,7 @@
*/ */
#define DEFAULT_XJERK 10.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 10.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1145,7 +1145,7 @@
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1160,6 +1160,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -567,9 +567,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 1.0 #define DEFAULT_EJERK 1.0
//=========================================================================== //===========================================================================
@ -1155,7 +1155,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1170,6 +1170,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 10 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -559,7 +559,7 @@
*/ */
#define DEFAULT_XJERK 10.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 10.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1145,7 +1145,7 @@
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1160,6 +1160,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -567,7 +567,7 @@
*/ */
#define DEFAULT_XJERK 10.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 10.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1153,7 +1153,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1168,6 +1168,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 1 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -576,8 +576,8 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 2.7 #define DEFAULT_ZJERK 2.7
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
@ -1164,7 +1164,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1179,6 +1179,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
#define ADVANCED_PAUSE_FEATURE #define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 4 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1448,6 +1444,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -1136,7 +1136,7 @@
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1151,6 +1151,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -1136,7 +1136,7 @@
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1151,6 +1151,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -571,9 +571,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 17.0 #define DEFAULT_XJERK 8.5
#define DEFAULT_YJERK 17.0 #define DEFAULT_YJERK 8.5
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 4.0 #define DEFAULT_EJERK 4.0
//=========================================================================== //===========================================================================
@ -1159,7 +1159,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * 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. * P1 Raise the nozzle always to Z-park height.
* P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. * 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) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
#define ADVANCED_PAUSE_FEATURE #define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -581,9 +581,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1169,7 +1169,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1184,6 +1184,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -1154,7 +1154,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1169,6 +1169,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -570,9 +570,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1158,7 +1158,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1173,6 +1173,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -588,7 +588,7 @@
*/ */
#define DEFAULT_XJERK 8.0 #define DEFAULT_XJERK 8.0
#define DEFAULT_YJERK 8.0 #define DEFAULT_YJERK 8.0
#define DEFAULT_ZJERK 0.40 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1182,7 +1182,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1197,6 +1197,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -570,9 +570,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK DEFAULT_XJERK
#define DEFAULT_ZJERK 20.0 #define DEFAULT_ZJERK DEFAULT_XJERK // Must be same as XY for delta
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1158,7 +1158,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * 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. * P1 Raise the nozzle always to Z-park height.
* P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. * 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) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -570,9 +570,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK DEFAULT_XJERK
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK DEFAULT_XJERK // Must be same as XY for delta
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1158,7 +1158,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1173,6 +1173,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -874,15 +874,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1446,6 +1442,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -566,9 +566,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1154,7 +1154,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1169,6 +1169,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -566,7 +566,7 @@
*/ */
#define DEFAULT_XJERK 8.0 #define DEFAULT_XJERK 8.0
#define DEFAULT_YJERK 8.0 #define DEFAULT_YJERK 8.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1152,7 +1152,7 @@
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1167,6 +1167,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -580,7 +580,7 @@
*/ */
#define DEFAULT_XJERK 5.0 #define DEFAULT_XJERK 5.0
#define DEFAULT_YJERK 5.0 #define DEFAULT_YJERK 5.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 3.0 #define DEFAULT_EJERK 3.0
//=========================================================================== //===========================================================================
@ -1166,7 +1166,7 @@
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1181,6 +1181,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -599,7 +599,7 @@
*/ */
#define DEFAULT_XJERK 10.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 10.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1185,7 +1185,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1200,6 +1200,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -840,15 +840,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1412,6 +1408,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -617,9 +617,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1210,7 +1210,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1225,6 +1225,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -595,9 +595,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1184,7 +1184,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1199,6 +1199,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -884,15 +884,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1456,6 +1452,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -1154,7 +1154,7 @@
#define PREHEAT_2_FAN_SPEED 165 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1169,6 +1169,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 5 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -568,7 +568,7 @@
*/ */
#define DEFAULT_XJERK 10.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 10.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.5 #define DEFAULT_ZJERK 0.4
#define DEFAULT_EJERK 20.0 #define DEFAULT_EJERK 20.0
//=========================================================================== //===========================================================================
@ -1154,7 +1154,7 @@
#define PREHEAT_2_FAN_SPEED 165 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1169,6 +1169,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -578,7 +578,7 @@
*/ */
#define DEFAULT_XJERK 10.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 10.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 1.0 #define DEFAULT_EJERK 1.0
//=========================================================================== //===========================================================================
@ -1107,7 +1107,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * 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. * P1 Raise the nozzle always to Z-park height.
* P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. * 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) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -875,15 +875,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
#define ADVANCED_PAUSE_FEATURE #define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1447,6 +1443,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -566,9 +566,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1154,7 +1154,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1169,6 +1169,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -646,9 +646,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK DEFAULT_XJERK #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 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1287,7 +1287,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1302,6 +1302,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -875,15 +875,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1447,6 +1443,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -646,9 +646,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK DEFAULT_XJERK #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 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1281,7 +1281,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1296,6 +1296,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -875,15 +875,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1447,6 +1443,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -636,9 +636,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK DEFAULT_XJERK
#define DEFAULT_ZJERK 20.0 // Must be same as XY for delta #define DEFAULT_ZJERK DEFAULT_XJERK // Must be same as XY for delta
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1276,7 +1276,7 @@
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1291,6 +1291,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -875,15 +875,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1447,6 +1443,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -636,9 +636,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK DEFAULT_XJERK
#define DEFAULT_ZJERK 20.0 // Must be same as XY for delta #define DEFAULT_ZJERK DEFAULT_XJERK // Must be same as XY for delta
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1279,7 +1279,7 @@
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1294,6 +1294,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -875,15 +875,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1447,6 +1443,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -629,9 +629,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK DEFAULT_XJERK
#define DEFAULT_ZJERK 20.0 // Must be same as XY for delta #define DEFAULT_ZJERK DEFAULT_XJERK // Must be same as XY for delta
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1279,7 +1279,7 @@
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1294,6 +1294,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -880,15 +880,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1452,6 +1448,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -648,9 +648,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK DEFAULT_XJERK
#define DEFAULT_ZJERK 20.0 #define DEFAULT_ZJERK DEFAULT_XJERK // Must be same as XY for delta
#define DEFAULT_EJERK 20.0 #define DEFAULT_EJERK 20.0
//=========================================================================== //===========================================================================
@ -1288,7 +1288,7 @@
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1303,6 +1303,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -875,15 +875,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1447,6 +1443,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -579,9 +579,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 17.0 #define DEFAULT_XJERK 8.5
#define DEFAULT_YJERK 17.0 #define DEFAULT_YJERK 8.5
#define DEFAULT_ZJERK 1.0 #define DEFAULT_ZJERK 0.7
#define DEFAULT_EJERK 4.0 #define DEFAULT_EJERK 4.0
//=========================================================================== //===========================================================================
@ -1168,7 +1168,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * 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. * P1 Raise the nozzle always to Z-park height.
* P2 Raise the nozzle by Z-park amount, limited to Z_MAX_POS. * 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) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
#define ADVANCED_PAUSE_FEATURE #define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -569,9 +569,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1157,7 +1157,7 @@
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1172,6 +1172,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -561,9 +561,9 @@
* When changing speed and direction, if the difference is less than the * When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously. * value set here, it may happen instantaneously.
*/ */
#define DEFAULT_XJERK 20.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 20.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1149,7 +1149,7 @@
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1164,6 +1164,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -873,15 +873,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1445,6 +1441,14 @@
*/ */
//#define ACTION_ON_KILL "poweroff" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -573,7 +573,7 @@
*/ */
#define DEFAULT_XJERK 8.0 #define DEFAULT_XJERK 8.0
#define DEFAULT_YJERK 8.0 #define DEFAULT_YJERK 8.0
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== //===========================================================================
@ -1159,7 +1159,7 @@
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #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. * Park the nozzle at the given XYZ position on idle or G27.
* *
@ -1174,6 +1174,8 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z } // Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } #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 #endif
/** /**

@ -863,15 +863,11 @@
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle. * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* *
* Requires an LCD display. * Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*/ */
//#define ADVANCED_PAUSE_FEATURE //#define ADVANCED_PAUSE_FEATURE
#if ENABLED(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_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #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 // It is a short retract used immediately after print interrupt before move to filament exchange position
@ -1431,10 +1427,17 @@
/** /**
* Specify an action command to send to the host when the printer is killed. * 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'. * 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" //#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 ====================== //====================== I2C Position Encoder Settings ======================
//=========================================================================== //===========================================================================

@ -78,6 +78,8 @@
#define MSG_MOVE_AXIS _UxGT("Posunout osy") #define MSG_MOVE_AXIS _UxGT("Posunout osy")
#define MSG_BED_LEVELING _UxGT("Vyrovnat podlozku") #define MSG_BED_LEVELING _UxGT("Vyrovnat podlozku")
#define MSG_LEVEL_BED _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_EDITING_STOPPED _UxGT("Konec uprav site")
#define MSG_UBL_DOING_G29 _UxGT("Provadim G29") #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_CUSTOM_BED_TEMP MSG_UBL_SET_BED_TEMP
#define MSG_UBL_SET_HOTEND_TEMP _UxGT("Teplota hotendu") #define MSG_UBL_SET_HOTEND_TEMP _UxGT("Teplota hotendu")
#define MSG_UBL_CUSTOM_HOTEND_TEMP MSG_UBL_SET_HOTEND_TEMP #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_EDIT_CUSTOM_MESH _UxGT("Upravit vlastni sit")
#define MSG_UBL_FINE_TUNE_MESH _UxGT("Doladit sit bodu") #define MSG_UBL_FINE_TUNE_MESH _UxGT("Doladit sit bodu")
#define MSG_UBL_DONE_EDITING_MESH _UxGT("Konec uprav site") #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_STORAGE_SLOT _UxGT("Pametovy slot")
#define MSG_UBL_LOAD_MESH _UxGT("Nacist sit bodu") #define MSG_UBL_LOAD_MESH _UxGT("Nacist sit bodu")
#define MSG_UBL_SAVE_MESH _UxGT("Ulozit 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_SAVE_ERROR _UxGT("Err: Ulozit UBL")
#define MSG_UBL_RESTORE_ERROR _UxGT("Err: Obnovit UBL") #define MSG_UBL_RESTORE_ERROR _UxGT("Err: Obnovit UBL")
#define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Konec Z-Offsetu") #define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Konec Z-Offsetu")
#define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL Postupne") #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_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_FREE_XY _UxGT("Uvolnit XY")
#define MSG_MOVE_X _UxGT("Posunout X") #define MSG_MOVE_X _UxGT("Posunout X")
#define MSG_MOVE_Y _UxGT("Posunout Y") #define MSG_MOVE_Y _UxGT("Posunout Y")
@ -154,6 +180,7 @@
#define MSG_NOZZLE _UxGT("Tryska") #define MSG_NOZZLE _UxGT("Tryska")
#define MSG_BED _UxGT("Podlozka") #define MSG_BED _UxGT("Podlozka")
#define MSG_FAN_SPEED _UxGT("Rychlost vent.") #define MSG_FAN_SPEED _UxGT("Rychlost vent.")
#define MSG_EXTRA_FAN_SPEED _UxGT("Rychlost ex. vent.")
#define MSG_FLOW _UxGT("Prutok") #define MSG_FLOW _UxGT("Prutok")
#define MSG_CONTROL _UxGT("Ovladani") #define MSG_CONTROL _UxGT("Ovladani")
#define MSG_MIN _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Min") #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 _UxGT("UnRet mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("S UnRet mm") #define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("S UnRet mm")
#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("UnRet V") #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_AUTORETRACT _UxGT("AutoRetr.")
#define MSG_FILAMENTCHANGE _UxGT("Vymenit filament") #define MSG_FILAMENTCHANGE _UxGT("Vymenit filament")
#define MSG_INIT_SDCARD _UxGT("Nacist SD kartu") #define MSG_INIT_SDCARD _UxGT("Nacist SD kartu")
#define MSG_CNG_SDCARD _UxGT("Vymenit SD kartu") #define MSG_CNG_SDCARD _UxGT("Vymenit SD kartu")
#define MSG_ZPROBE_OUT _UxGT("Sonda Z mimo podl") #define MSG_ZPROBE_OUT _UxGT("Sonda Z mimo podl")
#define MSG_SKEW_FACTOR _UxGT("Faktor zkoseni")
#define MSG_BLTOUCH _UxGT("BLTouch") #define MSG_BLTOUCH _UxGT("BLTouch")
#define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Self-Test") #define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Self-Test")
#define MSG_BLTOUCH_RESET _UxGT("BLTouch Reset") #define MSG_BLTOUCH_RESET _UxGT("BLTouch Reset")
@ -265,8 +294,12 @@
#define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibrovat Y") #define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibrovat Y")
#define MSG_DELTA_CALIBRATE_Z _UxGT("Kalibrovat Z") #define MSG_DELTA_CALIBRATE_Z _UxGT("Kalibrovat Z")
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Kalibrovat Stred") #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_AUTO_CALIBRATE _UxGT("Autokalibrace")
#define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Nast.vysku delty") #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_MENU _UxGT("O tiskarne")
#define MSG_INFO_PRINTER_MENU _UxGT("Info o tiskarne") #define MSG_INFO_PRINTER_MENU _UxGT("Info o tiskarne")
#define MSG_3POINT_LEVELING _UxGT("3-bodove rovnani") #define MSG_3POINT_LEVELING _UxGT("3-bodove rovnani")
@ -303,13 +336,14 @@
#define MSG_DRIVE_STRENGTH _UxGT("Buzeni motoru") #define MSG_DRIVE_STRENGTH _UxGT("Buzeni motoru")
#define MSG_DAC_PERCENT _UxGT("Motor %") #define MSG_DAC_PERCENT _UxGT("Motor %")
#define MSG_DAC_EEPROM_WRITE _UxGT("Ulozit do EEPROM") #define MSG_DAC_EEPROM_WRITE _UxGT("Ulozit do EEPROM")
#define MSG_FILAMENT_CHANGE_HEADER _UxGT("PRINT PAUSED") #define MSG_FILAMENT_CHANGE_HEADER _UxGT("PRINT PAUSED")
#define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("RESUME OPTIONS:") #define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("RESUME OPTIONS:")
#define MSG_FILAMENT_CHANGE_OPTION_EXTRUDE _UxGT("Jeste vytlacit") #define MSG_FILAMENT_CHANGE_OPTION_EXTRUDE _UxGT("Jeste vytlacit")
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Obnovit tisk") #define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Obnovit tisk")
#define MSG_FILAMENT_CHANGE_MINTEMP _UxGT("Min. teplota je ") #define MSG_FILAMENT_CHANGE_MINTEMP _UxGT("Min. teplota je ")
#define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Tryska: ") #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 #if LCD_HEIGHT >= 4
// Up to 3 lines allowed // Up to 3 lines allowed

@ -80,6 +80,8 @@
#define MSG_MOVE_AXIS _UxGT("Posunout osy") #define MSG_MOVE_AXIS _UxGT("Posunout osy")
#define MSG_BED_LEVELING _UxGT("Vyrovnat podložku") #define MSG_BED_LEVELING _UxGT("Vyrovnat podložku")
#define MSG_LEVEL_BED _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_EDITING_STOPPED _UxGT("Konec úprav sítě")
#define MSG_UBL_DOING_G29 _UxGT("Provádím G29") #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_CUSTOM_BED_TEMP MSG_UBL_SET_BED_TEMP
#define MSG_UBL_SET_HOTEND_TEMP _UxGT("Teplota hotendu") #define MSG_UBL_SET_HOTEND_TEMP _UxGT("Teplota hotendu")
#define MSG_UBL_CUSTOM_HOTEND_TEMP MSG_UBL_SET_HOTEND_TEMP #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_EDIT_CUSTOM_MESH _UxGT("Upravit vlastní síť")
#define MSG_UBL_FINE_TUNE_MESH _UxGT("Doladit síť bodů") #define MSG_UBL_FINE_TUNE_MESH _UxGT("Doladit síť bodů")
#define MSG_UBL_DONE_EDITING_MESH _UxGT("Konec úprav sítě") #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_MESH_MENU _UxGT("Vytvořit síť")
#define MSG_UBL_BUILD_PLA_MESH _UxGT("Síť bodu PLA") #define MSG_UBL_BUILD_PLA_MESH _UxGT("Síť bodu PLA")
#define MSG_UBL_BUILD_ABS_MESH _UxGT("Síť bodu ABS") #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_ADJUST _UxGT("Upravit výšku sítě")
#define MSG_UBL_MESH_HEIGHT_AMOUNT _UxGT("Výška") #define MSG_UBL_MESH_HEIGHT_AMOUNT _UxGT("Výška")
#define MSG_UBL_VALIDATE_MESH_MENU _UxGT("Zkontrolovat síť") #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_STORAGE_SLOT _UxGT("Paměťový slot")
#define MSG_UBL_LOAD_MESH _UxGT("Načíst síť bodů") #define MSG_UBL_LOAD_MESH _UxGT("Načíst síť bodů")
#define MSG_UBL_SAVE_MESH _UxGT("Uložit 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_SAVE_ERROR _UxGT("Err: Uložit UBL")
#define MSG_UBL_RESTORE_ERROR _UxGT("Err: Obnovit UBL") #define MSG_UBL_RESTORE_ERROR _UxGT("Err: Obnovit UBL")
#define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Konec Z-Offsetu") #define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Konec Z-Offsetu")
#define MSG_UBL_STEP_BY_STEP_MENU _UxGT("UBL Postupně") #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_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_FREE_XY _UxGT("Uvolnit XY")
#define MSG_MOVE_X _UxGT("Posunout X") #define MSG_MOVE_X _UxGT("Posunout X")
#define MSG_MOVE_Y _UxGT("Posunout Y") #define MSG_MOVE_Y _UxGT("Posunout Y")
@ -156,6 +182,7 @@
#define MSG_NOZZLE _UxGT("Tryska") #define MSG_NOZZLE _UxGT("Tryska")
#define MSG_BED _UxGT("Podložka") #define MSG_BED _UxGT("Podložka")
#define MSG_FAN_SPEED _UxGT("Rychlost vent.") #define MSG_FAN_SPEED _UxGT("Rychlost vent.")
#define MSG_EXTRA_FAN_SPEED _UxGT("Rychlost ex. vent.")
#define MSG_FLOW _UxGT("Průtok") #define MSG_FLOW _UxGT("Průtok")
#define MSG_CONTROL _UxGT("Ovládaní") #define MSG_CONTROL _UxGT("Ovládaní")
#define MSG_MIN _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Min") #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 _UxGT("UnRet mm")
#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("S UnRet mm") #define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("S UnRet mm")
#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("UnRet V") #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_AUTORETRACT _UxGT("AutoRetr.")
#define MSG_FILAMENTCHANGE _UxGT("Vyměnit filament") #define MSG_FILAMENTCHANGE _UxGT("Vyměnit filament")
#define MSG_INIT_SDCARD _UxGT("Načíst SD kartu") #define MSG_INIT_SDCARD _UxGT("Načíst SD kartu")
#define MSG_CNG_SDCARD _UxGT("Vyměnit SD kartu") #define MSG_CNG_SDCARD _UxGT("Vyměnit SD kartu")
#define MSG_ZPROBE_OUT _UxGT("Sonda Z mimo podl") #define MSG_ZPROBE_OUT _UxGT("Sonda Z mimo podl")
#define MSG_SKEW_FACTOR _UxGT("Faktor zkosení")
#define MSG_BLTOUCH _UxGT("BLTouch") #define MSG_BLTOUCH _UxGT("BLTouch")
#define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Self-Test") #define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Self-Test")
#define MSG_BLTOUCH_RESET _UxGT("BLTouch Reset") #define MSG_BLTOUCH_RESET _UxGT("BLTouch Reset")
@ -267,8 +296,12 @@
#define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibrovat Y") #define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibrovat Y")
#define MSG_DELTA_CALIBRATE_Z _UxGT("Kalibrovat Z") #define MSG_DELTA_CALIBRATE_Z _UxGT("Kalibrovat Z")
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Kalibrovat Střed") #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_AUTO_CALIBRATE _UxGT("Autokalibrace")
#define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Nast.výšku delty") #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_MENU _UxGT("O tiskárně")
#define MSG_INFO_PRINTER_MENU _UxGT("Info o tiskárně") #define MSG_INFO_PRINTER_MENU _UxGT("Info o tiskárně")
#define MSG_3POINT_LEVELING _UxGT("3-bodové rovnání") #define MSG_3POINT_LEVELING _UxGT("3-bodové rovnání")
@ -305,13 +338,14 @@
#define MSG_DRIVE_STRENGTH _UxGT("Buzení motorů") #define MSG_DRIVE_STRENGTH _UxGT("Buzení motorů")
#define MSG_DAC_PERCENT _UxGT("Motor %") #define MSG_DAC_PERCENT _UxGT("Motor %")
#define MSG_DAC_EEPROM_WRITE _UxGT("Uložit do EEPROM") #define MSG_DAC_EEPROM_WRITE _UxGT("Uložit do EEPROM")
#define MSG_FILAMENT_CHANGE_HEADER _UxGT("PRINT PAUSED") #define MSG_FILAMENT_CHANGE_HEADER _UxGT("PRINT PAUSED")
#define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("RESUME OPTIONS:") #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_EXTRUDE _UxGT("Ještě vytlačit")
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Obnovit tisk") #define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Obnovit tisk")
#define MSG_FILAMENT_CHANGE_MINTEMP _UxGT("Min. teplota je ") #define MSG_FILAMENT_CHANGE_MINTEMP _UxGT("Min. teplota je ")
#define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Tryska: ") #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 #if LCD_HEIGHT >= 4
// Up to 3 lines allowed // Up to 3 lines allowed

@ -33,7 +33,7 @@
#define DISPLAY_CHARSET_ISO10646_1 #define DISPLAY_CHARSET_ISO10646_1
#define NOT_EXTENDED_ISO10646_1_5X7 #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_INSERTED "Cartao inserido"
#define MSG_SD_REMOVED "Cartao removido" #define MSG_SD_REMOVED "Cartao removido"
#define MSG_MAIN "Menu principal" #define MSG_MAIN "Menu principal"

@ -33,7 +33,7 @@
#define DISPLAY_CHARSET_ISO10646_1 #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_INSERTED _UxGT("Cartão inserido")
#define MSG_SD_REMOVED _UxGT("Cartão removido") #define MSG_SD_REMOVED _UxGT("Cartão removido")
#define MSG_MAIN _UxGT("Menu principal") #define MSG_MAIN _UxGT("Menu principal")

@ -161,23 +161,24 @@
#if ENABLED(NOZZLE_PARK_FEATURE) #if ENABLED(NOZZLE_PARK_FEATURE)
void Nozzle::park(const uint8_t &z_action) { void Nozzle::park(const uint8_t &z_action, const point_t &park /*= NOZZLE_PARK_POINT*/) {
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) { switch (z_action) {
case 1: // Go to Z-park height case 1: // Go to Z-park height
do_blocking_move_to_z(park.z); do_blocking_move_to_z(park.z, fr_z);
break; break;
case 2: // Raise by Z-park height 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; break;
default: // Raise to at least the Z-park height 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 #endif // NOZZLE_PARK_FEATURE

@ -86,7 +86,7 @@ class Nozzle {
#if ENABLED(NOZZLE_PARK_FEATURE) #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 #endif
}; };

@ -30,8 +30,11 @@
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu." #error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif #endif
#ifndef BOARD_NAME
#define BOARD_NAME "GT2560 Rev.A" #define BOARD_NAME "GT2560 Rev.A"
#endif
#define DEFAULT_MACHINE_NAME "Prusa i3 Pro B" #define DEFAULT_MACHINE_NAME "Prusa i3 Pro B"
// //
// Limit Switches // Limit Switches
// //

@ -24,13 +24,12 @@
* Geeetech GT2560 Revision A+ board pin assignments * Geeetech GT2560 Revision A+ board pin assignments
*/ */
#include "pins_GT2560_REV_A.h"
#undef BOARD_NAME
#define BOARD_NAME "GT2560 Rev.A+" #define BOARD_NAME "GT2560 Rev.A+"
#include "pins_GT2560_REV_A.h"
#if ENABLED(BLTOUCH) #if ENABLED(BLTOUCH)
#define SERVO0_PIN 32
#else
#define SERVO0_PIN 11 #define SERVO0_PIN 11
#else
#define SERVO0_PIN 32
#endif #endif

@ -436,8 +436,8 @@ void Stepper::isr() {
else { else {
planner.discard_current_block(); planner.discard_current_block();
--cleaning_buffer_counter; // Count down for abort print --cleaning_buffer_counter; // Count down for abort print
#ifdef SD_FINISHED_RELEASECOMMAND #if ENABLED(SD_FINISHED_STEPPERRELEASE) && defined(SD_FINISHED_RELEASECOMMAND)
if (!cleaning_buffer_counter && (SD_FINISHED_STEPPERRELEASE)) enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND)); if (!cleaning_buffer_counter) enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND));
#endif #endif
} }
current_block = NULL; // Prep to get a new block after cleaning current_block = NULL; // Prep to get a new block after cleaning

@ -309,7 +309,8 @@
void unified_bed_leveling::G29() { void unified_bed_leveling::G29() {
if (!settings.calc_num_meshes()) { 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; return;
} }

@ -422,7 +422,7 @@
#if ENABLED(DELTA) // apply delta inverse_kinematics #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); 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) #elif IS_SCARA // apply scara inverse_kinematics (should be changed to save raw->logical->raw)
@ -616,6 +616,8 @@
} // segment loop } // segment loop
} // cell loop } // cell loop
return false; // caller will update current_position
} }
#endif // UBL_SEGMENTED #endif // UBL_SEGMENTED

Loading…
Cancel
Save