mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2024-11-30 15:26:18 +00:00
Add gcode_line_error to reduce code size
This commit is contained in:
parent
98c4f22432
commit
ce218cafdb
@ -721,6 +721,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)
|
||||
@ -766,12 +775,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;
|
||||
}
|
||||
|
||||
@ -782,33 +786,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;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user