commit
						8a0dc4d54a
					
				| @ -379,6 +379,14 @@ 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 | ||||||
| 
 | 
 | ||||||
|  | // Bad Serial-connections can miss a received command by sending an 'ok'
 | ||||||
|  | // Therefore some clients go after 30 seconds in a timeout. Some other clients start sending commands while receiving a 'wait'.
 | ||||||
|  | // This wait is only send when the buffer is empty. The timeout-length is in milliseconds. 1000 is a good value.
 | ||||||
|  | #define NO_TIMEOUTS 1000 | ||||||
|  | 
 | ||||||
|  | // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
 | ||||||
|  | #define ADVANCED_OK | ||||||
|  | 
 | ||||||
| // @section fwretract
 | // @section fwretract
 | ||||||
| 
 | 
 | ||||||
| // Firmware based and LCD controlled retract
 | // Firmware based and LCD controlled retract
 | ||||||
|  | |||||||
| @ -733,8 +733,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
 | ||||||
|    |    | ||||||
|  |   #ifdef NO_TIMEOUTS | ||||||
|  |     static millis_t last_command_time = 0; | ||||||
|  |     millis_t ms = millis(); | ||||||
|  |    | ||||||
|  |     if (!MYSERIAL.available() && commands_in_queue == 0 && ms - last_command_time > NO_TIMEOUTS) { | ||||||
|  |       SERIAL_ECHOLNPGM(MSG_WAIT); | ||||||
|  |       last_command_time = ms; | ||||||
|  |     } | ||||||
|  |   #endif | ||||||
|  |    | ||||||
|   while (MYSERIAL.available() > 0 && commands_in_queue < BUFSIZE) { |   while (MYSERIAL.available() > 0 && commands_in_queue < BUFSIZE) { | ||||||
| 
 |     #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' || | ||||||
| @ -5523,7 +5535,12 @@ void ClearToSend() { | |||||||
|   #ifdef SDSUPPORT |   #ifdef SDSUPPORT | ||||||
|     if (fromsd[cmd_queue_index_r]) return; |     if (fromsd[cmd_queue_index_r]) return; | ||||||
|   #endif |   #endif | ||||||
|   SERIAL_PROTOCOLLNPGM(MSG_OK); |   SERIAL_PROTOCOLPGM(MSG_OK); | ||||||
|  |   #ifdef ADVANCED_OK | ||||||
|  |     SERIAL_PROTOCOLPGM(" N"); SERIAL_PROTOCOL(gcode_LastN); | ||||||
|  |     SERIAL_PROTOCOLPGM(" P"); SERIAL_PROTOCOL(BUFSIZE - commands_in_queue); | ||||||
|  |   #endif | ||||||
|  |   SERIAL_EOL;   | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void get_coordinates() { | void get_coordinates() { | ||||||
|  | |||||||
| @ -379,6 +379,14 @@ 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 | ||||||
| 
 | 
 | ||||||
|  | // Bad Serial-connections can miss a received command by sending an 'ok'
 | ||||||
|  | // Therefore some clients go after 30 seconds in a timeout. Some other clients start sending commands while receiving a 'wait'.
 | ||||||
|  | // This wait is only send when the buffer is empty. The timeout-length is in milliseconds. 1000 is a good value.
 | ||||||
|  | #define NO_TIMEOUTS 1000 | ||||||
|  | 
 | ||||||
|  | // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
 | ||||||
|  | #define ADVANCED_OK | ||||||
|  | 
 | ||||||
| // @section fwretract
 | // @section fwretract
 | ||||||
| 
 | 
 | ||||||
| // Firmware based and LCD controlled retract
 | // Firmware based and LCD controlled retract
 | ||||||
|  | |||||||
| @ -379,6 +379,14 @@ 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 | ||||||
| 
 | 
 | ||||||
|  | // Bad Serial-connections can miss a received command by sending an 'ok'
 | ||||||
|  | // Therefore some clients go after 30 seconds in a timeout. Some other clients start sending commands while receiving a 'wait'.
 | ||||||
|  | // This wait is only send when the buffer is empty. The timeout-length is in milliseconds. 1000 is a good value.
 | ||||||
|  | #define NO_TIMEOUTS 1000 | ||||||
|  | 
 | ||||||
|  | // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
 | ||||||
|  | #define ADVANCED_OK | ||||||
|  | 
 | ||||||
| // @section fwretract
 | // @section fwretract
 | ||||||
| 
 | 
 | ||||||
| // Firmware based and LCD controlled retract
 | // Firmware based and LCD controlled retract
 | ||||||
|  | |||||||
| @ -377,7 +377,15 @@ const unsigned int dropsegments=5; //everything with less than this number of st | |||||||
| 
 | 
 | ||||||
| //The ASCII buffer for receiving from the serial:
 | //The ASCII buffer for receiving from the serial:
 | ||||||
| #define MAX_CMD_SIZE 96 | #define MAX_CMD_SIZE 96 | ||||||
| #define BUFSIZE 5 | #define BUFSIZE 4 | ||||||
|  | 
 | ||||||
|  | // Bad Serial-connections can miss a received command by sending an 'ok'
 | ||||||
|  | // Therefore some clients go after 30 seconds in a timeout. Some other clients start sending commands while receiving a 'wait'.
 | ||||||
|  | // This wait is only send when the buffer is empty. The timeout-length is in milliseconds. 1000 is a good value.
 | ||||||
|  | #define NO_TIMEOUTS 1000 | ||||||
|  | 
 | ||||||
|  | // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
 | ||||||
|  | #define ADVANCED_OK | ||||||
| 
 | 
 | ||||||
| // @section fwretract
 | // @section fwretract
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -379,6 +379,14 @@ 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 | ||||||
| 
 | 
 | ||||||
|  | // Bad Serial-connections can miss a received command by sending an 'ok'
 | ||||||
|  | // Therefore some clients go after 30 seconds in a timeout. Some other clients start sending commands while receiving a 'wait'.
 | ||||||
|  | // This wait is only send when the buffer is empty. The timeout-length is in milliseconds. 1000 is a good value.
 | ||||||
|  | #define NO_TIMEOUTS 1000 | ||||||
|  | 
 | ||||||
|  | // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
 | ||||||
|  | #define ADVANCED_OK | ||||||
|  | 
 | ||||||
| // @section fwretract
 | // @section fwretract
 | ||||||
| 
 | 
 | ||||||
| // Firmware based and LCD controlled retract
 | // Firmware based and LCD controlled retract
 | ||||||
|  | |||||||
| @ -379,6 +379,14 @@ 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 | ||||||
| 
 | 
 | ||||||
|  | // Bad Serial-connections can miss a received command by sending an 'ok'
 | ||||||
|  | // Therefore some clients go after 30 seconds in a timeout. Some other clients start sending commands while receiving a 'wait'.
 | ||||||
|  | // This wait is only send when the buffer is empty. The timeout-length is in milliseconds. 1000 is a good value.
 | ||||||
|  | #define NO_TIMEOUTS 1000 | ||||||
|  | 
 | ||||||
|  | // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
 | ||||||
|  | #define ADVANCED_OK | ||||||
|  | 
 | ||||||
| // @section fwretract
 | // @section fwretract
 | ||||||
| 
 | 
 | ||||||
| // Firmware based and LCD controlled retract
 | // Firmware based and LCD controlled retract
 | ||||||
|  | |||||||
| @ -377,7 +377,15 @@ const unsigned int dropsegments=5; //everything with less than this number of st | |||||||
| 
 | 
 | ||||||
| //The ASCII buffer for receiving from the serial:
 | //The ASCII buffer for receiving from the serial:
 | ||||||
| #define MAX_CMD_SIZE 96 | #define MAX_CMD_SIZE 96 | ||||||
| #define BUFSIZE 5 | #define BUFSIZE 4 | ||||||
|  | 
 | ||||||
|  | // Bad Serial-connections can miss a received command by sending an 'ok'
 | ||||||
|  | // Therefore some clients go after 30 seconds in a timeout. Some other clients start sending commands while receiving a 'wait'.
 | ||||||
|  | // This wait is only send when the buffer is empty. The timeout-length is in milliseconds. 1000 is a good value.
 | ||||||
|  | #define NO_TIMEOUTS 1000 | ||||||
|  | 
 | ||||||
|  | // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
 | ||||||
|  | #define ADVANCED_OK | ||||||
| 
 | 
 | ||||||
| // @section fwretract
 | // @section fwretract
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -380,6 +380,14 @@ 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 | ||||||
| 
 | 
 | ||||||
|  | // Bad Serial-connections can miss a received command by sending an 'ok'
 | ||||||
|  | // Therefore some clients go after 30 seconds in a timeout. Some other clients start sending commands while receiving a 'wait'.
 | ||||||
|  | // This wait is only send when the buffer is empty. The timeout-length is in milliseconds. 1000 is a good value.
 | ||||||
|  | #define NO_TIMEOUTS 1000 | ||||||
|  | 
 | ||||||
|  | // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
 | ||||||
|  | #define ADVANCED_OK | ||||||
|  | 
 | ||||||
| // @section fwretract
 | // @section fwretract
 | ||||||
| 
 | 
 | ||||||
| // Firmware based and LCD controlled retract
 | // Firmware based and LCD controlled retract
 | ||||||
|  | |||||||
| @ -380,6 +380,14 @@ 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 | ||||||
| 
 | 
 | ||||||
|  | // Bad Serial-connections can miss a received command by sending an 'ok'
 | ||||||
|  | // Therefore some clients go after 30 seconds in a timeout. Some other clients start sending commands while receiving a 'wait'.
 | ||||||
|  | // This wait is only send when the buffer is empty. The timeout-length is in milliseconds. 1000 is a good value.
 | ||||||
|  | #define NO_TIMEOUTS 1000 | ||||||
|  | 
 | ||||||
|  | // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
 | ||||||
|  | #define ADVANCED_OK | ||||||
|  | 
 | ||||||
| // @section fwretract
 | // @section fwretract
 | ||||||
| 
 | 
 | ||||||
| // Firmware based and LCD controlled retract
 | // Firmware based and LCD controlled retract
 | ||||||
|  | |||||||
| @ -379,6 +379,14 @@ 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 | ||||||
| 
 | 
 | ||||||
|  | // Bad Serial-connections can miss a received command by sending an 'ok'
 | ||||||
|  | // Therefore some clients go after 30 seconds in a timeout. Some other clients start sending commands while receiving a 'wait'.
 | ||||||
|  | // This wait is only send when the buffer is empty. The timeout-length is in milliseconds. 1000 is a good value.
 | ||||||
|  | #define NO_TIMEOUTS 1000 | ||||||
|  | 
 | ||||||
|  | // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
 | ||||||
|  | #define ADVANCED_OK | ||||||
|  | 
 | ||||||
| // @section fwretract
 | // @section fwretract
 | ||||||
| 
 | 
 | ||||||
| // Firmware based and LCD controlled retract
 | // Firmware based and LCD controlled retract
 | ||||||
|  | |||||||
| @ -379,6 +379,14 @@ 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 | ||||||
| 
 | 
 | ||||||
|  | // Bad Serial-connections can miss a received command by sending an 'ok'
 | ||||||
|  | // Therefore some clients go after 30 seconds in a timeout. Some other clients start sending commands while receiving a 'wait'.
 | ||||||
|  | // This wait is only send when the buffer is empty. The timeout-length is in milliseconds. 1000 is a good value.
 | ||||||
|  | #define NO_TIMEOUTS 1000 | ||||||
|  | 
 | ||||||
|  | // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
 | ||||||
|  | #define ADVANCED_OK | ||||||
|  | 
 | ||||||
| // @section fwretract
 | // @section fwretract
 | ||||||
| 
 | 
 | ||||||
| // Firmware based and LCD controlled retract
 | // Firmware based and LCD controlled retract
 | ||||||
|  | |||||||
| @ -379,6 +379,14 @@ 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 | ||||||
| 
 | 
 | ||||||
|  | // Bad Serial-connections can miss a received command by sending an 'ok'
 | ||||||
|  | // Therefore some clients go after 30 seconds in a timeout. Some other clients start sending commands while receiving a 'wait'.
 | ||||||
|  | // This wait is only send when the buffer is empty. The timeout-length is in milliseconds. 1000 is a good value.
 | ||||||
|  | #define NO_TIMEOUTS 1000 | ||||||
|  | 
 | ||||||
|  | // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
 | ||||||
|  | #define ADVANCED_OK | ||||||
|  | 
 | ||||||
| // @section fwretract
 | // @section fwretract
 | ||||||
| 
 | 
 | ||||||
| // Firmware based and LCD controlled retract
 | // Firmware based and LCD controlled retract
 | ||||||
|  | |||||||
| @ -122,6 +122,7 @@ | |||||||
| #define MSG_FREE_MEMORY                     " Free Memory: " | #define MSG_FREE_MEMORY                     " Free Memory: " | ||||||
| #define MSG_PLANNER_BUFFER_BYTES            "  PlannerBufferBytes: " | #define MSG_PLANNER_BUFFER_BYTES            "  PlannerBufferBytes: " | ||||||
| #define MSG_OK                              "ok" | #define MSG_OK                              "ok" | ||||||
|  | #define MSG_WAIT                            "wait" | ||||||
| #define MSG_FILE_SAVED                      "Done saving file." | #define MSG_FILE_SAVED                      "Done saving file." | ||||||
| #define MSG_ERR_LINE_NO                     "Line Number is not Last Line Number+1, Last Line: " | #define MSG_ERR_LINE_NO                     "Line Number is not Last Line Number+1, Last Line: " | ||||||
| #define MSG_ERR_CHECKSUM_MISMATCH           "checksum mismatch, Last Line: " | #define MSG_ERR_CHECKSUM_MISMATCH           "checksum mismatch, Last Line: " | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user