make 'wait' optional and mark as workaround
This commit is contained in:
		
							parent
							
								
									d69da22f7c
								
							
						
					
					
						commit
						b09a957fce
					
				@ -374,6 +374,10 @@ const unsigned int dropsegments=5; //everything with less than this number of st
 | 
				
			|||||||
#define MAX_CMD_SIZE 96
 | 
					#define MAX_CMD_SIZE 96
 | 
				
			||||||
#define BUFSIZE 4
 | 
					#define BUFSIZE 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Some Hosts doesn't have a timeout for resend a command.
 | 
				
			||||||
 | 
					// This is a workaround for them. If your printer sometimes stuck and stop printing this could help.
 | 
				
			||||||
 | 
					// #define NO_TIMEOUTS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// @section fwretract
 | 
					// @section fwretract
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Firmware based and LCD controlled retract
 | 
					// Firmware based and LCD controlled retract
 | 
				
			||||||
 | 
				
			|||||||
@ -724,16 +724,20 @@ void get_command() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  if (drain_queued_commands_P()) return; // priority is given to non-serial commands
 | 
					  if (drain_queued_commands_P()) return; // priority is given to non-serial commands
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  static millis_t last_command_time = 0;
 | 
					  #ifdef NO_TIMEOUTS
 | 
				
			||||||
  millis_t ms = millis();
 | 
					    static millis_t last_command_time = 0;
 | 
				
			||||||
 | 
					    millis_t ms = millis();
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  if (!MYSERIAL.available() && commands_in_queue == 0 && ms - last_command_time > 1000) {
 | 
					    if (!MYSERIAL.available() && commands_in_queue == 0 && ms - last_command_time > 1000) {
 | 
				
			||||||
    SERIAL_ECHOLNPGM(MSG_WAIT);
 | 
					      SERIAL_ECHOLNPGM(MSG_WAIT);
 | 
				
			||||||
    last_command_time = ms;
 | 
					      last_command_time = ms;
 | 
				
			||||||
  }
 | 
					    }
 | 
				
			||||||
 | 
					  #endif
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  while (MYSERIAL.available() > 0 && commands_in_queue < BUFSIZE) {
 | 
					  while (MYSERIAL.available() > 0 && commands_in_queue < BUFSIZE) {
 | 
				
			||||||
    last_command_time = ms;
 | 
					    #ifdef NO_TIMEOUTS
 | 
				
			||||||
 | 
					      last_command_time = ms;
 | 
				
			||||||
 | 
					    #endif
 | 
				
			||||||
    serial_char = MYSERIAL.read();
 | 
					    serial_char = MYSERIAL.read();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (serial_char == '\n' || serial_char == '\r' ||
 | 
					    if (serial_char == '\n' || serial_char == '\r' ||
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user