From 1e60390545fdc463eae84b2f8dd05c5b3a5fc7cb Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 19 Jun 2018 16:51:22 +0200 Subject: [PATCH] dont process data from serial line if print is saved (crash detection and filament detection) --- Firmware/Marlin_main.cpp | 5 +++-- Firmware/cmdqueue.cpp | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index d9240234..7000923e 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -7160,8 +7160,8 @@ void FlushSerialRequestResend() void ClearToSend() { previous_millis_cmd = millis(); - if ((CMDBUFFER_CURRENT_TYPE == CMDBUFFER_CURRENT_TYPE_USB) || (CMDBUFFER_CURRENT_TYPE == CMDBUFFER_CURRENT_TYPE_USB_WITH_LINENR)) - SERIAL_PROTOCOLLNRPGM(_T(MSG_OK)); + if ((CMDBUFFER_CURRENT_TYPE == CMDBUFFER_CURRENT_TYPE_USB) || (CMDBUFFER_CURRENT_TYPE == CMDBUFFER_CURRENT_TYPE_USB_WITH_LINENR)) + SERIAL_PROTOCOLLNRPGM(_T(MSG_OK)); } #if MOTHERBOARD == BOARD_RAMBO_MINI_1_0 || MOTHERBOARD == BOARD_RAMBO_MINI_1_3 @@ -8926,6 +8926,7 @@ void restore_print_from_ram_and_continue(float e_move) } else if (saved_printing_type == PRINTING_TYPE_USB) { //was usb printing gcode_LastN = saved_sdpos; //saved_sdpos was reused for storing line number when usb printing + serial_count = 0; FlushSerialRequestResend(); } else { diff --git a/Firmware/cmdqueue.cpp b/Firmware/cmdqueue.cpp index 8d3f8717..66f72408 100644 --- a/Firmware/cmdqueue.cpp +++ b/Firmware/cmdqueue.cpp @@ -91,7 +91,7 @@ bool cmdqueue_pop_front() void cmdqueue_reset() { - bufindr = 0; + bufindr = 0; bufindw = 0; buflen = 0; cmdbuffer_front_already_processed = false; @@ -385,7 +385,8 @@ void get_command() rx_buffer_full = true; //sets flag that buffer was full } - while (MYSERIAL.available() > 0) { + // start of serial line processing loop + while (MYSERIAL.available() > 0 && !saved_printing) { //is print is saved (crash detection or filament detection), dont process data from serial line char serial_char = MYSERIAL.read(); /* if (selectedSerialPort == 1)