|
@@ -630,7 +630,7 @@ inline void get_serial_commands() {
|
630
|
630
|
gcode_LastN = gcode_N;
|
631
|
631
|
}
|
632
|
632
|
#if ENABLED(SDSUPPORT)
|
633
|
|
- else if (card.flag.saving && strcmp(command, "M29") != 0) // No line number with M29 in Pronterface
|
|
633
|
+ else if (card.flag.saving && command[0] == 'M' && command[1] == '2' && command[2] == '9' && (command[3] == '\0' || command[3] == ' '))
|
634
|
634
|
return gcode_line_error(PSTR(MSG_ERR_NO_CHECKSUM), i);
|
635
|
635
|
#endif
|
636
|
636
|
|
|
@@ -839,7 +839,7 @@ void advance_command_queue() {
|
839
|
839
|
|
840
|
840
|
if (card.flag.saving) {
|
841
|
841
|
char* command = command_queue[cmd_queue_index_r];
|
842
|
|
- if (strstr_P(command, PSTR("M29"))) {
|
|
842
|
+ if (command[0] == 'M' && command[1] == '2' && command[2] == '9' && (command[3] == '\0' || command[3] == ' ')) {
|
843
|
843
|
// M29 closes the file
|
844
|
844
|
card.closefile();
|
845
|
845
|
SERIAL_ECHOLNPGM(MSG_FILE_SAVED);
|