|  |  |  | @ -138,6 +138,7 @@ | 
			
		
	
		
			
				
					|  |  |  |  |  * M109 - Sxxx Wait for extruder current temp to reach target temp. Waits only when heating | 
			
		
	
		
			
				
					|  |  |  |  |  *        Rxxx Wait for extruder current temp to reach target temp. Waits when heating and cooling | 
			
		
	
		
			
				
					|  |  |  |  |  *        IF AUTOTEMP is enabled, S<mintemp> B<maxtemp> F<factor>. Exit autotemp by any M109 without F | 
			
		
	
		
			
				
					|  |  |  |  |  * M110 - Set the current line number | 
			
		
	
		
			
				
					|  |  |  |  |  * M111 - Set debug flags with S<mask>. See flag bits defined in Marlin.h. | 
			
		
	
		
			
				
					|  |  |  |  |  * M112 - Emergency stop | 
			
		
	
		
			
				
					|  |  |  |  |  * M114 - Output current position to serial port | 
			
		
	
	
		
			
				
					|  |  |  | @ -791,8 +792,17 @@ void get_command() { | 
			
		
	
		
			
				
					|  |  |  |  |       char *npos = strchr(command, 'N'); | 
			
		
	
		
			
				
					|  |  |  |  |       char *apos = strchr(command, '*'); | 
			
		
	
		
			
				
					|  |  |  |  |       if (npos) { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         boolean M110 = strstr_P(command, PSTR("M110")) != NULL; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (M110) { | 
			
		
	
		
			
				
					|  |  |  |  |           char *n2pos = strchr(command + 4, 'N'); | 
			
		
	
		
			
				
					|  |  |  |  |           if (n2pos) npos = n2pos; | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         gcode_N = strtol(npos + 1, NULL, 10); | 
			
		
	
		
			
				
					|  |  |  |  |         if (gcode_N != gcode_LastN + 1 && strstr_P(command, PSTR("M110")) == NULL) { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (gcode_N != gcode_LastN + 1 && !M110) { | 
			
		
	
		
			
				
					|  |  |  |  |           gcode_line_error(PSTR(MSG_ERR_LINE_NO)); | 
			
		
	
		
			
				
					|  |  |  |  |           return; | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
	
		
			
				
					|  |  |  | @ -807,7 +817,7 @@ void get_command() { | 
			
		
	
		
			
				
					|  |  |  |  |           } | 
			
		
	
		
			
				
					|  |  |  |  |           // if no errors, continue parsing
 | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         else { | 
			
		
	
		
			
				
					|  |  |  |  |         else if (npos == command) { | 
			
		
	
		
			
				
					|  |  |  |  |           gcode_line_error(PSTR(MSG_ERR_NO_CHECKSUM)); | 
			
		
	
		
			
				
					|  |  |  |  |           return; | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |