Browse Source

Merge pull request #9549 from thinkyhead/bf2_prevent_comments_resetting

[2.0.x] Prevent watchdog reset due to many comments
pull/1/head
Scott Lahteine 7 years ago
committed by GitHub
parent
commit
3168f0e646
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      Marlin/src/Marlin.cpp
  2. 2
      Marlin/src/feature/power.cpp
  3. 2
      Marlin/src/gcode/config/M200-M205.cpp
  4. 11
      Marlin/src/gcode/queue.cpp
  5. 4
      Marlin/src/pins/pins_RAMBO.h

6
Marlin/src/Marlin.cpp

@ -428,8 +428,10 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) {
#endif
#if ENABLED(EXTRUDER_RUNOUT_PREVENT)
if (ELAPSED(ms, gcode.previous_cmd_ms + (EXTRUDER_RUNOUT_SECONDS) * 1000UL)
&& thermalManager.degHotend(active_extruder) > EXTRUDER_RUNOUT_MINTEMP) {
if (thermalManager.degHotend(active_extruder) > EXTRUDER_RUNOUT_MINTEMP
&& ELAPSED(ms, gcode.previous_cmd_ms + (EXTRUDER_RUNOUT_SECONDS) * 1000UL)
&& !planner.blocks_queued()
) {
#if ENABLED(SWITCHING_EXTRUDER)
const bool oldstatus = E0_ENABLE_READ;
enable_E0();

2
Marlin/src/feature/power.cpp

@ -45,7 +45,7 @@ bool Power::is_power_needed() {
HOTEND_LOOP() if (thermalManager.autofan_speed[e] > 0) return true;
#endif
#if ENABLED(AUTO_POWER_CONTROLLERFAN) && HAS_CONTROLLERFAN
#if ENABLED(AUTO_POWER_CONTROLLERFAN) && HAS_CONTROLLER_FAN
if (controllerFanSpeed > 0) return true;
#endif

2
Marlin/src/gcode/config/M200-M205.cpp

@ -89,8 +89,6 @@ void GcodeSuite::M203() {
* P = Printing moves
* R = Retract only (no X, Y, Z) 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() {
if (parser.seen('S')) { // Kept for legacy compatibility. Should NOT BE USED for new developments.

11
Marlin/src/gcode/queue.cpp

@ -30,6 +30,7 @@
#include "../lcd/ultralcd.h"
#include "../sd/cardreader.h"
#include "../module/planner.h"
#include "../module/temperature.h"
#include "../Marlin.h"
#if HAS_COLOR_LEDS
@ -271,7 +272,7 @@ inline void get_serial_commands() {
// If the command buffer is empty for too long,
// 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;
const millis_t ms = millis();
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
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_count[i] = 0; // Reset buffer
@ -387,7 +389,7 @@ inline void get_serial_commands() {
else if (serial_char == '\\') { // Handle escapes
// if we have one more character, copy it over
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
if (serial_char == ';') serial_comment_mode[i] = true;
@ -458,7 +460,8 @@ inline void get_serial_commands() {
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
sd_count = 0; // clear sd line buffer

4
Marlin/src/pins/pins_RAMBO.h

@ -192,7 +192,7 @@
#define STAT_LED_RED_PIN 22
#define STAT_LED_BLUE_PIN 32
#else
#else // !VIKI2 && !miniVIKI
#define BEEPER_PIN 79 // AUX-4
@ -203,7 +203,7 @@
#define SD_DETECT_PIN 81
#endif // VIKI2/miniVIKI
#endif // !VIKI2 && !miniVIKI
#else // !NEWPANEL - old style panel with shift register

Loading…
Cancel
Save