diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h index 87169cbe5..218291b4c 100644 --- a/Marlin/Marlin.h +++ b/Marlin/Marlin.h @@ -243,8 +243,8 @@ extern bool Running; inline bool IsRunning() { return Running; } inline bool IsStopped() { return !Running; } -bool enqueue_and_echo_command(const char* cmd, bool say_ok=false); //put a single ASCII command at the end of the current buffer or return false when it is full -void enqueue_and_echo_commands_P(const char* cmd); //put one or many ASCII commands at the end of the current buffer, read from flash +bool enqueue_and_echo_command(const char* cmd, bool say_ok=false); // Add a single command to the end of the buffer. Return false on failure. +void enqueue_and_echo_commands_P(const char * const cmd); // Set one or more commands to be prioritized over the next Serial/SD command. void clear_command_queue(); extern millis_t previous_cmd_ms; diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 67e97dd78..7d4a95506 100755 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -795,39 +795,6 @@ inline void echo_command(const char* cmd) { SERIAL_EOL; } -/** - * Shove a command in RAM to the front of the main command queue. - * Return true if the command is successfully added. - */ -inline bool _shovecommand(const char* cmd, bool say_ok=false) { - if (*cmd == ';' || commands_in_queue >= BUFSIZE) return false; - cmd_queue_index_r = (cmd_queue_index_r + BUFSIZE - 1) % BUFSIZE; // Index of the previous slot - commands_in_queue++; - strcpy(command_queue[cmd_queue_index_r], cmd); - send_ok[cmd_queue_index_r] = say_ok; - return true; -} - -/** - * Shove a command to the front of the queue with Serial Echo - * Return true if the command is successfully added. - */ -bool shove_and_echo_command(const char* cmd, bool say_ok=false) { - if (_shovecommand(cmd, say_ok)) { - echo_command(cmd); - return true; - } - return false; -} - -/** - * Shove a command onto the front of the queue, - * and don't return until successful. - */ -void shove_and_echo_command_now(const char* cmd) { - while (!shove_and_echo_command(cmd)) idle(); -} - /** * Inject the next "immediate" command, when possible, onto the front of the queue. * Return true if any immediate commands remain to inject. @@ -840,7 +807,7 @@ static bool drain_injected_commands_P() { cmd[sizeof(cmd) - 1] = '\0'; while ((c = cmd[i]) && c != '\n') i++; // find the end of this gcode command cmd[i] = '\0'; - if (shove_and_echo_command(cmd)) // success? + if (enqueue_and_echo_command(cmd)) // success? injected_commands_P = c ? injected_commands_P + i + 1 : NULL; // next command or done } return (injected_commands_P != NULL); // return whether any more remain