|  | @@ -3123,7 +3123,14 @@ static void gcode_M600(bool automatic, float x_position, float y_position, float
 | 
												
													
														
															|  |  }
 |  |  }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  | 
 |  | +//! @brief Rise Z if too low to avoid blob/jam before filament loading
 | 
												
													
														
															|  | 
 |  | +//!
 | 
												
													
														
															|  | 
 |  | +//! It doesn't plan_buffer_line(), as it expects plan_buffer_line() to be called after
 | 
												
													
														
															|  | 
 |  | +//! during extruding (loading) filament.
 | 
												
													
														
															|  | 
 |  | +void marlin_rise_z(void)
 | 
												
													
														
															|  | 
 |  | +{
 | 
												
													
														
															|  | 
 |  | +    if (current_position[Z_AXIS] < 20) current_position[Z_AXIS] += 30;
 | 
												
													
														
															|  | 
 |  | +}
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  void gcode_M701()
 |  |  void gcode_M701()
 | 
												
													
														
															|  |  {
 |  |  {
 | 
												
											
												
													
														
															|  | @@ -3148,7 +3155,7 @@ void gcode_M701()
 | 
												
													
														
															|  |  		plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400 / 60, active_extruder); //fast sequence
 |  |  		plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400 / 60, active_extruder); //fast sequence
 | 
												
													
														
															|  |  		st_synchronize();
 |  |  		st_synchronize();
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | -		if (current_position[Z_AXIS] < 20) current_position[Z_AXIS] += 30;
 |  | 
 | 
												
													
														
															|  | 
 |  | +		marlin_rise_z();
 | 
												
													
														
															|  |  		current_position[E_AXIS] += 30;
 |  |  		current_position[E_AXIS] += 30;
 | 
												
													
														
															|  |  		plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400 / 60, active_extruder); //fast sequence
 |  |  		plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400 / 60, active_extruder); //fast sequence
 | 
												
													
														
															|  |  		
 |  |  		
 |