From cdcb80f3c5bdd29569273f7549801a3b1144d4f8 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 9 Feb 2016 18:00:35 -0800 Subject: [PATCH 1/3] Allow no-space after initial command Addresses issue #2715 --- Marlin/Marlin_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index d21bd599e9..53cdc29e45 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -5716,7 +5716,7 @@ void process_next_command() { // Args pointer optimizes code_seen, especially those taking XYZEF // This wastes a little cpu on commands that expect no arguments. current_command_args = current_command; - while (*current_command_args && *current_command_args != ' ') ++current_command_args; + while (*current_command_args >= '0' && *current_command_args <= '9') ++current_command_args; while (*current_command_args == ' ') ++current_command_args; // Interpret the code int From 400e9329be32c2488feaeafe3727cedb32c09da8 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 9 Feb 2016 18:03:13 -0800 Subject: [PATCH 2/3] Allow spaces after a code letter --- Marlin/Marlin_main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 53cdc29e45..a40269d71a 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -973,6 +973,7 @@ void get_command() { bool code_has_value() { int i = 1; char c = seen_pointer[i]; + while (c == ' ') c = seen_pointer[++i]; if (c == '-' || c == '+') c = seen_pointer[++i]; if (c == '.') c = seen_pointer[++i]; return (c >= '0' && c <= '9'); From 711e5db19a7c980b8674391dd837e7ed2d717bd7 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 9 Feb 2016 18:16:35 -0800 Subject: [PATCH 3/3] Tweak comment in process_next_command --- Marlin/Marlin_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index a40269d71a..34e93c6fd8 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -5692,7 +5692,7 @@ void process_next_command() { // Sanitize the current command: // - Skip leading spaces - // - Bypass N[0-9][0-9]*[ ]* + // - Bypass N[-0-9][0-9]*[ ]* // - Overwrite * with nul to mark the end while (*current_command == ' ') ++current_command; if (*current_command == 'N' && ((current_command[1] >= '0' && current_command[1] <= '9') || current_command[1] == '-')) {