diff --git a/Firmware/cmdqueue.cpp b/Firmware/cmdqueue.cpp index 202b36d4..31c0cb79 100755 --- a/Firmware/cmdqueue.cpp +++ b/Firmware/cmdqueue.cpp @@ -27,10 +27,7 @@ bool comment_mode = false; char *strchr_pointer; // just a pointer to find chars in the command string like X, Y, Z, E, etc ShortTimer serialTimeoutTimer; - -long gcode_N = 0; long gcode_LastN = 0; - uint32_t sdpos_atomic = 0; @@ -372,7 +369,7 @@ void get_command() cmdbuffer[bufindw+serial_count+CMDHDRSIZE] = 0; //terminate string if(!comment_mode){ - gcode_N = 0; + long gcode_N = -1; // Line numbers must be first in buffer @@ -459,7 +456,7 @@ void get_command() // Command is complete: store the current line into buffer, move to the next line. // Store type of entry - cmdbuffer[bufindw] = gcode_N ? CMDBUFFER_CURRENT_TYPE_USB_WITH_LINENR : CMDBUFFER_CURRENT_TYPE_USB; + cmdbuffer[bufindw] = gcode_N >= 0 ? CMDBUFFER_CURRENT_TYPE_USB_WITH_LINENR : CMDBUFFER_CURRENT_TYPE_USB; #ifdef CMDBUFFER_DEBUG SERIAL_ECHO_START; @@ -475,7 +472,8 @@ void get_command() ++ buflen; // Update the processed gcode line - gcode_LastN = gcode_N; + if (gcode_N >= 0) + gcode_LastN = gcode_N; #ifdef CMDBUFFER_DEBUG SERIAL_ECHOPGM("Number of commands in the buffer: "); diff --git a/Firmware/cmdqueue.h b/Firmware/cmdqueue.h index 5229b96b..3573d502 100644 --- a/Firmware/cmdqueue.h +++ b/Firmware/cmdqueue.h @@ -52,7 +52,6 @@ extern int serial_count; extern bool comment_mode; extern char *strchr_pointer; -extern long gcode_N; extern long gcode_LastN; extern bool cmdqueue_pop_front();