Merge pull request #2095 from thinkyhead/cherry_picking2
Add gcode_line_error to reduce code size
This commit is contained in:
commit
64825a3d1e
1 changed files with 15 additions and 22 deletions
|
@ -723,6 +723,15 @@ void loop() {
|
|||
lcd_update();
|
||||
}
|
||||
|
||||
void gcode_line_error(const char *err, bool doFlush=true) {
|
||||
SERIAL_ERROR_START;
|
||||
serialprintPGM(err);
|
||||
SERIAL_ERRORLN(gcode_LastN);
|
||||
//Serial.println(gcode_N);
|
||||
if (doFlush) FlushSerialRequestResend();
|
||||
serial_count = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add to the circular command queue the next command from:
|
||||
* - The command-injection queue (queued_commands_P)
|
||||
|
@ -768,12 +777,7 @@ void get_command() {
|
|||
strchr_pointer = strchr(command, 'N');
|
||||
gcode_N = (strtol(strchr_pointer + 1, NULL, 10));
|
||||
if (gcode_N != gcode_LastN + 1 && strstr_P(command, PSTR("M110")) == NULL) {
|
||||
SERIAL_ERROR_START;
|
||||
SERIAL_ERRORPGM(MSG_ERR_LINE_NO);
|
||||
SERIAL_ERRORLN(gcode_LastN);
|
||||
//Serial.println(gcode_N);
|
||||
FlushSerialRequestResend();
|
||||
serial_count = 0;
|
||||
gcode_line_error(PSTR(MSG_ERR_LINE_NO));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -784,33 +788,22 @@ void get_command() {
|
|||
strchr_pointer = strchr(command, '*');
|
||||
|
||||
if (strtol(strchr_pointer + 1, NULL, 10) != checksum) {
|
||||
SERIAL_ERROR_START;
|
||||
SERIAL_ERRORPGM(MSG_ERR_CHECKSUM_MISMATCH);
|
||||
SERIAL_ERRORLN(gcode_LastN);
|
||||
FlushSerialRequestResend();
|
||||
serial_count = 0;
|
||||
gcode_line_error(PSTR(MSG_ERR_CHECKSUM_MISMATCH));
|
||||
return;
|
||||
}
|
||||
//if no errors, continue parsing
|
||||
// if no errors, continue parsing
|
||||
}
|
||||
else {
|
||||
SERIAL_ERROR_START;
|
||||
SERIAL_ERRORPGM(MSG_ERR_NO_CHECKSUM);
|
||||
SERIAL_ERRORLN(gcode_LastN);
|
||||
FlushSerialRequestResend();
|
||||
serial_count = 0;
|
||||
gcode_line_error(PSTR(MSG_ERR_NO_CHECKSUM));
|
||||
return;
|
||||
}
|
||||
|
||||
gcode_LastN = gcode_N;
|
||||
//if no errors, continue parsing
|
||||
// if no errors, continue parsing
|
||||
}
|
||||
else { // if we don't receive 'N' but still see '*'
|
||||
if ((strchr(command, '*') != NULL)) {
|
||||
SERIAL_ERROR_START;
|
||||
SERIAL_ERRORPGM(MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM);
|
||||
SERIAL_ERRORLN(gcode_LastN);
|
||||
serial_count = 0;
|
||||
gcode_line_error(PSTR(MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM), false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue