|  |  | @ -590,7 +590,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |       g26_bed_temp = parser.value_celsius(); |  |  |  |       g26_bed_temp = parser.value_celsius(); | 
			
		
	
		
		
			
				
					
					|  |  |  |       if (!WITHIN(g26_bed_temp, 15, 140)) { |  |  |  |       if (!WITHIN(g26_bed_temp, 15, 140)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         SERIAL_PROTOCOLLNPGM("?Specified bed temperature not plausible."); |  |  |  |         SERIAL_PROTOCOLLNPGM("?Specified bed temperature not plausible."); | 
			
		
	
		
		
			
				
					
					|  |  |  |         return G26_ERR; |  |  |  |         return; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -598,7 +598,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |       g26_layer_height = parser.value_linear_units(); |  |  |  |       g26_layer_height = parser.value_linear_units(); | 
			
		
	
		
		
			
				
					
					|  |  |  |       if (!WITHIN(g26_layer_height, 0.0, 2.0)) { |  |  |  |       if (!WITHIN(g26_layer_height, 0.0, 2.0)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         SERIAL_PROTOCOLLNPGM("?Specified layer height not plausible."); |  |  |  |         SERIAL_PROTOCOLLNPGM("?Specified layer height not plausible."); | 
			
		
	
		
		
			
				
					
					|  |  |  |         return G26_ERR; |  |  |  |         return; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -607,12 +607,12 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |         g26_retraction_multiplier = parser.value_float(); |  |  |  |         g26_retraction_multiplier = parser.value_float(); | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (!WITHIN(g26_retraction_multiplier, 0.05, 15.0)) { |  |  |  |         if (!WITHIN(g26_retraction_multiplier, 0.05, 15.0)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |           SERIAL_PROTOCOLLNPGM("?Specified Retraction Multiplier not plausible."); |  |  |  |           SERIAL_PROTOCOLLNPGM("?Specified Retraction Multiplier not plausible."); | 
			
		
	
		
		
			
				
					
					|  |  |  |           return G26_ERR; |  |  |  |           return; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |       else { |  |  |  |       else { | 
			
		
	
		
		
			
				
					
					|  |  |  |         SERIAL_PROTOCOLLNPGM("?Retraction Multiplier must be specified."); |  |  |  |         SERIAL_PROTOCOLLNPGM("?Retraction Multiplier must be specified."); | 
			
		
	
		
		
			
				
					
					|  |  |  |         return G26_ERR; |  |  |  |         return; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -620,7 +620,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |       g26_nozzle = parser.value_float(); |  |  |  |       g26_nozzle = parser.value_float(); | 
			
		
	
		
		
			
				
					
					|  |  |  |       if (!WITHIN(g26_nozzle, 0.1, 1.0)) { |  |  |  |       if (!WITHIN(g26_nozzle, 0.1, 1.0)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         SERIAL_PROTOCOLLNPGM("?Specified nozzle size not plausible."); |  |  |  |         SERIAL_PROTOCOLLNPGM("?Specified nozzle size not plausible."); | 
			
		
	
		
		
			
				
					
					|  |  |  |         return G26_ERR; |  |  |  |         return; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -630,7 +630,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |           g26_prime_flag = -1; |  |  |  |           g26_prime_flag = -1; | 
			
		
	
		
		
			
				
					
					|  |  |  |         #else |  |  |  |         #else | 
			
		
	
		
		
			
				
					
					|  |  |  |           SERIAL_PROTOCOLLNPGM("?Prime length must be specified when not using an LCD."); |  |  |  |           SERIAL_PROTOCOLLNPGM("?Prime length must be specified when not using an LCD."); | 
			
		
	
		
		
			
				
					
					|  |  |  |           return G26_ERR; |  |  |  |           return; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         #endif |  |  |  |         #endif | 
			
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |       else { |  |  |  |       else { | 
			
		
	
	
		
		
			
				
					|  |  | @ -638,7 +638,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |         g26_prime_length = parser.value_linear_units(); |  |  |  |         g26_prime_length = parser.value_linear_units(); | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (!WITHIN(g26_prime_length, 0.0, 25.0)) { |  |  |  |         if (!WITHIN(g26_prime_length, 0.0, 25.0)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |           SERIAL_PROTOCOLLNPGM("?Specified prime length not plausible."); |  |  |  |           SERIAL_PROTOCOLLNPGM("?Specified prime length not plausible."); | 
			
		
	
		
		
			
				
					
					|  |  |  |           return G26_ERR; |  |  |  |           return; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
	
		
		
			
				
					|  |  | @ -647,7 +647,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |       g26_filament_diameter = parser.value_linear_units(); |  |  |  |       g26_filament_diameter = parser.value_linear_units(); | 
			
		
	
		
		
			
				
					
					|  |  |  |       if (!WITHIN(g26_filament_diameter, 1.0, 4.0)) { |  |  |  |       if (!WITHIN(g26_filament_diameter, 1.0, 4.0)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         SERIAL_PROTOCOLLNPGM("?Specified filament size not plausible."); |  |  |  |         SERIAL_PROTOCOLLNPGM("?Specified filament size not plausible."); | 
			
		
	
		
		
			
				
					
					|  |  |  |         return G26_ERR; |  |  |  |         return; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |     g26_extrusion_multiplier *= sq(1.75) / sq(g26_filament_diameter); // If we aren't using 1.75mm filament, we need to
 |  |  |  |     g26_extrusion_multiplier *= sq(1.75) / sq(g26_filament_diameter); // If we aren't using 1.75mm filament, we need to
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -660,7 +660,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |       g26_hotend_temp = parser.value_celsius(); |  |  |  |       g26_hotend_temp = parser.value_celsius(); | 
			
		
	
		
		
			
				
					
					|  |  |  |       if (!WITHIN(g26_hotend_temp, 165, 280)) { |  |  |  |       if (!WITHIN(g26_hotend_temp, 165, 280)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         SERIAL_PROTOCOLLNPGM("?Specified nozzle temperature not plausible."); |  |  |  |         SERIAL_PROTOCOLLNPGM("?Specified nozzle temperature not plausible."); | 
			
		
	
		
		
			
				
					
					|  |  |  |         return G26_ERR; |  |  |  |         return; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -676,21 +676,21 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |     #else |  |  |  |     #else | 
			
		
	
		
		
			
				
					
					|  |  |  |       if (!parser.seen('R')) { |  |  |  |       if (!parser.seen('R')) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         SERIAL_PROTOCOLLNPGM("?(R)epeat must be specified when not using an LCD."); |  |  |  |         SERIAL_PROTOCOLLNPGM("?(R)epeat must be specified when not using an LCD."); | 
			
		
	
		
		
			
				
					
					|  |  |  |         return G26_ERR; |  |  |  |         return; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |       else |  |  |  |       else | 
			
		
	
		
		
			
				
					
					|  |  |  |         g26_repeats = parser.has_value() ? parser.value_int() : GRID_MAX_POINTS + 1; |  |  |  |         g26_repeats = parser.has_value() ? parser.value_int() : GRID_MAX_POINTS + 1; | 
			
		
	
		
		
			
				
					
					|  |  |  |     #endif |  |  |  |     #endif | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (g26_repeats < 1) { |  |  |  |     if (g26_repeats < 1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |       SERIAL_PROTOCOLLNPGM("?(R)epeat value not plausible; must be at least 1."); |  |  |  |       SERIAL_PROTOCOLLNPGM("?(R)epeat value not plausible; must be at least 1."); | 
			
		
	
		
		
			
				
					
					|  |  |  |       return G26_ERR; |  |  |  |       return; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     g26_x_pos = parser.seenval('X') ? RAW_X_POSITION(parser.value_linear_units()) : current_position[X_AXIS]; |  |  |  |     g26_x_pos = parser.seenval('X') ? RAW_X_POSITION(parser.value_linear_units()) : current_position[X_AXIS]; | 
			
		
	
		
		
			
				
					
					|  |  |  |     g26_y_pos = parser.seenval('Y') ? RAW_Y_POSITION(parser.value_linear_units()) : current_position[Y_AXIS]; |  |  |  |     g26_y_pos = parser.seenval('Y') ? RAW_Y_POSITION(parser.value_linear_units()) : current_position[Y_AXIS]; | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (!position_is_reachable(g26_x_pos, g26_y_pos)) { |  |  |  |     if (!position_is_reachable(g26_x_pos, g26_y_pos)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |       SERIAL_PROTOCOLLNPGM("?Specified X,Y coordinate out of bounds."); |  |  |  |       SERIAL_PROTOCOLLNPGM("?Specified X,Y coordinate out of bounds."); | 
			
		
	
		
		
			
				
					
					|  |  |  |       return G26_ERR; |  |  |  |       return; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     /**
 |  |  |  |     /**
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |