Merge pull request #4214 from thinkyhead/fix_clear_command_queue

Allow the command queue to be cleared by commands, lcd menus
This commit is contained in:
Scott Lahteine 2016-07-05 16:35:55 -07:00 committed by GitHub
commit 90d8bb53e8

View file

@ -284,11 +284,11 @@ bool axis_homed[3] = { false };
static long gcode_N, gcode_LastN, Stopped_gcode_LastN = 0;
static char* current_command, *current_command_args;
static int cmd_queue_index_r = 0;
static int cmd_queue_index_w = 0;
static int commands_in_queue = 0;
static char command_queue[BUFSIZE][MAX_CMD_SIZE];
static char* current_command, *current_command_args;
static uint8_t cmd_queue_index_r = 0,
cmd_queue_index_w = 0,
commands_in_queue = 0;
#if ENABLED(INCH_MODE_SUPPORT)
float linear_unit_factor = 1.0;
@ -990,8 +990,11 @@ void loop() {
#endif // SDSUPPORT
commands_in_queue--;
cmd_queue_index_r = (cmd_queue_index_r + 1) % BUFSIZE;
// The queue may be reset by a command handler or by code invoked by idle() within a handler
if (commands_in_queue) {
--commands_in_queue;
cmd_queue_index_r = (cmd_queue_index_r + 1) % BUFSIZE;
}
}
endstops.report_state();
idle();