From 30e4b855877f5496b48e581867a551cc7f3ac2f2 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 26 Sep 2017 16:51:06 -0500 Subject: [PATCH] Fix M118 parameters, with strict guideline --- Marlin/Marlin_main.cpp | 4 ++-- Marlin/gcode.cpp | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 515f55f05f..879dfb83c7 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -8705,8 +8705,8 @@ inline void gcode_M117() { lcd_setstatus(parser.string_arg); } /** * M118: Display a message in the host console. * - * A Append '// ' for an action command, as in OctoPrint - * E Have the host 'echo:' the text + * A1 Append '// ' for an action command, as in OctoPrint + * E1 Have the host 'echo:' the text */ inline void gcode_M118() { if (parser.boolval('E')) SERIAL_ECHO_START(); diff --git a/Marlin/gcode.cpp b/Marlin/gcode.cpp index f7516eb695..34ff60f633 100644 --- a/Marlin/gcode.cpp +++ b/Marlin/gcode.cpp @@ -150,7 +150,7 @@ void GCodeParser::parse(char *p) { #endif // Only use string_arg for these M codes - if (letter == 'M') switch (codenum) { case 23: case 28: case 30: case 117: case 118: case 928: string_arg = p; return; default: break; } + if (letter == 'M') switch (codenum) { case 23: case 28: case 30: case 117: case 928: string_arg = p; return; default: break; } #if ENABLED(DEBUG_GCODE_PARSER) const bool debug = codenum == 800; @@ -162,6 +162,7 @@ void GCodeParser::parse(char *p) { * Most codes ignore 'string_arg', but those that want a string will get the right pointer. * The following loop assigns the first "parameter" having no numeric value to 'string_arg'. * This allows M0/M1 with expire time to work: "M0 S5 You Win!" + * For 'M118' you must use 'E1' and 'A1' rather than just 'E' or 'A' */ string_arg = NULL; while (char code = *p++) { // Get the next parameter. A NUL ends the loop