Add gcode_line_error to reduce code size
This commit is contained in:
parent
98c4f22432
commit
ce218cafdb
1 changed files with 15 additions and 22 deletions
|
@ -721,6 +721,15 @@ void loop() {
|
||||||
lcd_update();
|
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:
|
* Add to the circular command queue the next command from:
|
||||||
* - The command-injection queue (queued_commands_P)
|
* - The command-injection queue (queued_commands_P)
|
||||||
|
@ -766,12 +775,7 @@ void get_command() {
|
||||||
strchr_pointer = strchr(command, 'N');
|
strchr_pointer = strchr(command, 'N');
|
||||||
gcode_N = (strtol(strchr_pointer + 1, NULL, 10));
|
gcode_N = (strtol(strchr_pointer + 1, NULL, 10));
|
||||||
if (gcode_N != gcode_LastN + 1 && strstr_P(command, PSTR("M110")) == NULL) {
|
if (gcode_N != gcode_LastN + 1 && strstr_P(command, PSTR("M110")) == NULL) {
|
||||||
SERIAL_ERROR_START;
|
gcode_line_error(PSTR(MSG_ERR_LINE_NO));
|
||||||
SERIAL_ERRORPGM(MSG_ERR_LINE_NO);
|
|
||||||
SERIAL_ERRORLN(gcode_LastN);
|
|
||||||
//Serial.println(gcode_N);
|
|
||||||
FlushSerialRequestResend();
|
|
||||||
serial_count = 0;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -782,33 +786,22 @@ void get_command() {
|
||||||
strchr_pointer = strchr(command, '*');
|
strchr_pointer = strchr(command, '*');
|
||||||
|
|
||||||
if (strtol(strchr_pointer + 1, NULL, 10) != checksum) {
|
if (strtol(strchr_pointer + 1, NULL, 10) != checksum) {
|
||||||
SERIAL_ERROR_START;
|
gcode_line_error(PSTR(MSG_ERR_CHECKSUM_MISMATCH));
|
||||||
SERIAL_ERRORPGM(MSG_ERR_CHECKSUM_MISMATCH);
|
|
||||||
SERIAL_ERRORLN(gcode_LastN);
|
|
||||||
FlushSerialRequestResend();
|
|
||||||
serial_count = 0;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//if no errors, continue parsing
|
// if no errors, continue parsing
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
SERIAL_ERROR_START;
|
gcode_line_error(PSTR(MSG_ERR_NO_CHECKSUM));
|
||||||
SERIAL_ERRORPGM(MSG_ERR_NO_CHECKSUM);
|
|
||||||
SERIAL_ERRORLN(gcode_LastN);
|
|
||||||
FlushSerialRequestResend();
|
|
||||||
serial_count = 0;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
gcode_LastN = gcode_N;
|
gcode_LastN = gcode_N;
|
||||||
//if no errors, continue parsing
|
// if no errors, continue parsing
|
||||||
}
|
}
|
||||||
else { // if we don't receive 'N' but still see '*'
|
else { // if we don't receive 'N' but still see '*'
|
||||||
if ((strchr(command, '*') != NULL)) {
|
if ((strchr(command, '*') != NULL)) {
|
||||||
SERIAL_ERROR_START;
|
gcode_line_error(PSTR(MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM), false);
|
||||||
SERIAL_ERRORPGM(MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM);
|
|
||||||
SERIAL_ERRORLN(gcode_LastN);
|
|
||||||
serial_count = 0;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue