Merge pull request #9549 from thinkyhead/bf2_prevent_comments_resetting
[2.0.x] Prevent watchdog reset due to many comments
This commit is contained in:
commit
3168f0e646
5 changed files with 14 additions and 11 deletions
|
@ -428,8 +428,10 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(EXTRUDER_RUNOUT_PREVENT)
|
#if ENABLED(EXTRUDER_RUNOUT_PREVENT)
|
||||||
if (ELAPSED(ms, gcode.previous_cmd_ms + (EXTRUDER_RUNOUT_SECONDS) * 1000UL)
|
if (thermalManager.degHotend(active_extruder) > EXTRUDER_RUNOUT_MINTEMP
|
||||||
&& thermalManager.degHotend(active_extruder) > EXTRUDER_RUNOUT_MINTEMP) {
|
&& ELAPSED(ms, gcode.previous_cmd_ms + (EXTRUDER_RUNOUT_SECONDS) * 1000UL)
|
||||||
|
&& !planner.blocks_queued()
|
||||||
|
) {
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
const bool oldstatus = E0_ENABLE_READ;
|
const bool oldstatus = E0_ENABLE_READ;
|
||||||
enable_E0();
|
enable_E0();
|
||||||
|
|
|
@ -45,7 +45,7 @@ bool Power::is_power_needed() {
|
||||||
HOTEND_LOOP() if (thermalManager.autofan_speed[e] > 0) return true;
|
HOTEND_LOOP() if (thermalManager.autofan_speed[e] > 0) return true;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(AUTO_POWER_CONTROLLERFAN) && HAS_CONTROLLERFAN
|
#if ENABLED(AUTO_POWER_CONTROLLERFAN) && HAS_CONTROLLER_FAN
|
||||||
if (controllerFanSpeed > 0) return true;
|
if (controllerFanSpeed > 0) return true;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -89,8 +89,6 @@ void GcodeSuite::M203() {
|
||||||
* P = Printing moves
|
* P = Printing moves
|
||||||
* R = Retract only (no X, Y, Z) moves
|
* R = Retract only (no X, Y, Z) moves
|
||||||
* T = Travel (non printing) moves
|
* T = Travel (non printing) moves
|
||||||
*
|
|
||||||
* Also sets minimum segment time in ms (B20000) to prevent buffer under-runs and M20 minimum feedrate
|
|
||||||
*/
|
*/
|
||||||
void GcodeSuite::M204() {
|
void GcodeSuite::M204() {
|
||||||
if (parser.seen('S')) { // Kept for legacy compatibility. Should NOT BE USED for new developments.
|
if (parser.seen('S')) { // Kept for legacy compatibility. Should NOT BE USED for new developments.
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
#include "../lcd/ultralcd.h"
|
#include "../lcd/ultralcd.h"
|
||||||
#include "../sd/cardreader.h"
|
#include "../sd/cardreader.h"
|
||||||
#include "../module/planner.h"
|
#include "../module/planner.h"
|
||||||
|
#include "../module/temperature.h"
|
||||||
#include "../Marlin.h"
|
#include "../Marlin.h"
|
||||||
|
|
||||||
#if HAS_COLOR_LEDS
|
#if HAS_COLOR_LEDS
|
||||||
|
@ -271,7 +272,7 @@ inline void get_serial_commands() {
|
||||||
|
|
||||||
// If the command buffer is empty for too long,
|
// If the command buffer is empty for too long,
|
||||||
// send "wait" to indicate Marlin is still waiting.
|
// send "wait" to indicate Marlin is still waiting.
|
||||||
#if defined(NO_TIMEOUTS) && NO_TIMEOUTS > 0
|
#if NO_TIMEOUTS > 0
|
||||||
static millis_t last_command_time = 0;
|
static millis_t last_command_time = 0;
|
||||||
const millis_t ms = millis();
|
const millis_t ms = millis();
|
||||||
if (commands_in_queue == 0 && !serial_data_available() && ELAPSED(ms, last_command_time + NO_TIMEOUTS)) {
|
if (commands_in_queue == 0 && !serial_data_available() && ELAPSED(ms, last_command_time + NO_TIMEOUTS)) {
|
||||||
|
@ -297,7 +298,8 @@ inline void get_serial_commands() {
|
||||||
|
|
||||||
serial_comment_mode[i] = false; // end of line == end of comment
|
serial_comment_mode[i] = false; // end of line == end of comment
|
||||||
|
|
||||||
if (!serial_count[i]) continue; // Skip empty lines
|
// Skip empty lines and comments
|
||||||
|
if (!serial_count[i]) { thermalManager.manage_heater(); continue; }
|
||||||
|
|
||||||
serial_line_buffer[i][serial_count[i]] = 0; // Terminate string
|
serial_line_buffer[i][serial_count[i]] = 0; // Terminate string
|
||||||
serial_count[i] = 0; // Reset buffer
|
serial_count[i] = 0; // Reset buffer
|
||||||
|
@ -387,7 +389,7 @@ inline void get_serial_commands() {
|
||||||
else if (serial_char == '\\') { // Handle escapes
|
else if (serial_char == '\\') { // Handle escapes
|
||||||
// if we have one more character, copy it over
|
// if we have one more character, copy it over
|
||||||
if ((c = read_serial(i)) >= 0 && !serial_comment_mode[i])
|
if ((c = read_serial(i)) >= 0 && !serial_comment_mode[i])
|
||||||
serial_line_buffer[i][serial_count[i]++] = serial_char;
|
serial_line_buffer[i][serial_count[i]++] = (char)c;
|
||||||
}
|
}
|
||||||
else { // it's not a newline, carriage return or escape char
|
else { // it's not a newline, carriage return or escape char
|
||||||
if (serial_char == ';') serial_comment_mode[i] = true;
|
if (serial_char == ';') serial_comment_mode[i] = true;
|
||||||
|
@ -458,7 +460,8 @@ inline void get_serial_commands() {
|
||||||
|
|
||||||
sd_comment_mode = false; // for new command
|
sd_comment_mode = false; // for new command
|
||||||
|
|
||||||
if (!sd_count) continue; // skip empty lines (and comment lines)
|
// Skip empty lines and comments
|
||||||
|
if (!sd_count) { thermalManager.manage_heater(); continue; }
|
||||||
|
|
||||||
command_queue[cmd_queue_index_w][sd_count] = '\0'; // terminate string
|
command_queue[cmd_queue_index_w][sd_count] = '\0'; // terminate string
|
||||||
sd_count = 0; // clear sd line buffer
|
sd_count = 0; // clear sd line buffer
|
||||||
|
|
|
@ -192,7 +192,7 @@
|
||||||
#define STAT_LED_RED_PIN 22
|
#define STAT_LED_RED_PIN 22
|
||||||
#define STAT_LED_BLUE_PIN 32
|
#define STAT_LED_BLUE_PIN 32
|
||||||
|
|
||||||
#else
|
#else // !VIKI2 && !miniVIKI
|
||||||
|
|
||||||
#define BEEPER_PIN 79 // AUX-4
|
#define BEEPER_PIN 79 // AUX-4
|
||||||
|
|
||||||
|
@ -203,7 +203,7 @@
|
||||||
|
|
||||||
#define SD_DETECT_PIN 81
|
#define SD_DETECT_PIN 81
|
||||||
|
|
||||||
#endif // VIKI2/miniVIKI
|
#endif // !VIKI2 && !miniVIKI
|
||||||
|
|
||||||
#else // !NEWPANEL - old style panel with shift register
|
#else // !NEWPANEL - old style panel with shift register
|
||||||
|
|
||||||
|
|
Reference in a new issue