Merge pull request #5794 from thinkyhead/rc_m600_improve
M600 wait for heatup, prevent stepper timeout, etc.
This commit is contained in:
commit
babe1d211c
27 changed files with 412 additions and 143 deletions
|
@ -721,12 +721,16 @@
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
// 0 to disable for manual extrusion
|
// 0 to disable for manual extrusion
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// or until outcoming filament color is not clear for filament color change
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -7290,6 +7290,22 @@ inline void gcode_M503() {
|
||||||
|
|
||||||
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
||||||
|
|
||||||
|
millis_t next_buzz = 0;
|
||||||
|
unsigned long int runout_beep = 0;
|
||||||
|
|
||||||
|
void filament_change_beep() {
|
||||||
|
const millis_t ms = millis();
|
||||||
|
if (ELAPSED(ms, next_buzz)) {
|
||||||
|
if (runout_beep <= FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS + 5) { // Only beep as long as we're supposed to
|
||||||
|
next_buzz = ms + (runout_beep <= FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS ? 2500 : 400);
|
||||||
|
BUZZ(300, 2000);
|
||||||
|
runout_beep++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool busy_doing_M600 = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* M600: Pause for filament change
|
* M600: Pause for filament change
|
||||||
*
|
*
|
||||||
|
@ -7310,6 +7326,12 @@ inline void gcode_M503() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
busy_doing_M600 = true; // Stepper Motors can't timeout when this is set
|
||||||
|
|
||||||
|
// Pause the print job timer
|
||||||
|
bool job_running = print_job_timer.isRunning();
|
||||||
|
print_job_timer.pause();
|
||||||
|
|
||||||
// Show initial message and wait for synchronize steppers
|
// Show initial message and wait for synchronize steppers
|
||||||
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_INIT);
|
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_INIT);
|
||||||
stepper.synchronize();
|
stepper.synchronize();
|
||||||
|
@ -7327,8 +7349,6 @@ inline void gcode_M503() {
|
||||||
#define RUNPLAN(RATE_MM_S) line_to_destination(RATE_MM_S);
|
#define RUNPLAN(RATE_MM_S) line_to_destination(RATE_MM_S);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
KEEPALIVE_STATE(IN_HANDLER);
|
|
||||||
|
|
||||||
// Initial retract before move to filament change position
|
// Initial retract before move to filament change position
|
||||||
if (code_seen('E')) destination[E_AXIS] += code_value_axis_units(E_AXIS);
|
if (code_seen('E')) destination[E_AXIS] += code_value_axis_units(E_AXIS);
|
||||||
#if defined(FILAMENT_CHANGE_RETRACT_LENGTH) && FILAMENT_CHANGE_RETRACT_LENGTH > 0
|
#if defined(FILAMENT_CHANGE_RETRACT_LENGTH) && FILAMENT_CHANGE_RETRACT_LENGTH > 0
|
||||||
|
@ -7367,6 +7387,7 @@ inline void gcode_M503() {
|
||||||
|
|
||||||
stepper.synchronize();
|
stepper.synchronize();
|
||||||
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_UNLOAD);
|
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_UNLOAD);
|
||||||
|
idle();
|
||||||
|
|
||||||
// Unload filament
|
// Unload filament
|
||||||
if (code_seen('L')) destination[E_AXIS] += code_value_axis_units(E_AXIS);
|
if (code_seen('L')) destination[E_AXIS] += code_value_axis_units(E_AXIS);
|
||||||
|
@ -7384,28 +7405,72 @@ inline void gcode_M503() {
|
||||||
disable_e3();
|
disable_e3();
|
||||||
delay(100);
|
delay(100);
|
||||||
|
|
||||||
#if HAS_BUZZER
|
millis_t nozzle_timeout = millis() + FILAMENT_CHANGE_NOZZLE_TIMEOUT * 1000L;
|
||||||
millis_t next_buzz = 0;
|
bool nozzle_timed_out = false;
|
||||||
#endif
|
float temps[4];
|
||||||
|
|
||||||
// Wait for filament insert by user and press button
|
// Wait for filament insert by user and press button
|
||||||
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_INSERT);
|
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_INSERT);
|
||||||
|
|
||||||
// LCD click or M108 will clear this
|
idle();
|
||||||
wait_for_user = true;
|
|
||||||
|
wait_for_user = true; // LCD click or M108 will clear this
|
||||||
|
next_buzz = 0;
|
||||||
|
runout_beep = 0;
|
||||||
|
HOTEND_LOOP() temps[e] = thermalManager.target_temperature[e]; // Save nozzle temps
|
||||||
|
|
||||||
while (wait_for_user) {
|
while (wait_for_user) {
|
||||||
|
millis_t current_ms = millis();
|
||||||
|
if (nozzle_timed_out)
|
||||||
|
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_CLICK_TO_HEAT_NOZZLE);
|
||||||
|
|
||||||
#if HAS_BUZZER
|
#if HAS_BUZZER
|
||||||
millis_t ms = millis();
|
filament_change_beep();
|
||||||
if (ms >= next_buzz) {
|
#endif
|
||||||
BUZZ(300, 2000);
|
|
||||||
next_buzz = ms + 2500; // Beep every 2.5s while waiting
|
if (current_ms >= nozzle_timeout) {
|
||||||
|
if (!nozzle_timed_out) {
|
||||||
|
nozzle_timed_out = true; // on nozzle timeout remember the nozzles need to be reheated
|
||||||
|
HOTEND_LOOP() thermalManager.setTargetHotend(0, e); // Turn off all the nozzles
|
||||||
|
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_CLICK_TO_HEAT_NOZZLE);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
idle(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nozzle_timed_out) // Turn nozzles back on if they were turned off
|
||||||
|
HOTEND_LOOP() thermalManager.setTargetHotend(temps[e], e);
|
||||||
|
|
||||||
|
// Show "wait for heating"
|
||||||
|
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_WAIT_FOR_NOZZLES_TO_HEAT);
|
||||||
|
|
||||||
|
wait_for_heatup = true;
|
||||||
|
while (wait_for_heatup) {
|
||||||
|
idle();
|
||||||
|
wait_for_heatup = false;
|
||||||
|
HOTEND_LOOP() {
|
||||||
|
if (abs(thermalManager.degHotend(e) - temps[e]) > 3) {
|
||||||
|
wait_for_heatup = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Show "insert filament"
|
||||||
|
if (nozzle_timed_out)
|
||||||
|
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_INSERT);
|
||||||
|
|
||||||
|
wait_for_user = true; // LCD click or M108 will clear this
|
||||||
|
next_buzz = 0;
|
||||||
|
runout_beep = 0;
|
||||||
|
while (wait_for_user && nozzle_timed_out) {
|
||||||
|
#if HAS_BUZZER
|
||||||
|
filament_change_beep();
|
||||||
#endif
|
#endif
|
||||||
idle(true);
|
idle(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show load message
|
// Show "load" message
|
||||||
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_LOAD);
|
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_LOAD);
|
||||||
|
|
||||||
// Load filament
|
// Load filament
|
||||||
|
@ -7434,8 +7499,6 @@ inline void gcode_M503() {
|
||||||
|
|
||||||
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_RESUME);
|
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_RESUME);
|
||||||
|
|
||||||
KEEPALIVE_STATE(IN_HANDLER);
|
|
||||||
|
|
||||||
// Set extruder to saved position
|
// Set extruder to saved position
|
||||||
destination[E_AXIS] = current_position[E_AXIS] = lastpos[E_AXIS];
|
destination[E_AXIS] = current_position[E_AXIS] = lastpos[E_AXIS];
|
||||||
planner.set_e_position_mm(current_position[E_AXIS]);
|
planner.set_e_position_mm(current_position[E_AXIS]);
|
||||||
|
@ -7459,6 +7522,11 @@ inline void gcode_M503() {
|
||||||
|
|
||||||
// Show status screen
|
// Show status screen
|
||||||
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_STATUS);
|
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_STATUS);
|
||||||
|
|
||||||
|
// Resume the print job timer if it was running
|
||||||
|
if (job_running) print_job_timer.start();
|
||||||
|
|
||||||
|
busy_doing_M600 = false; // Allow Stepper Motors to be turned off during inactivity
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // FILAMENT_CHANGE_FEATURE
|
#endif // FILAMENT_CHANGE_FEATURE
|
||||||
|
@ -10074,7 +10142,14 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) {
|
||||||
|
|
||||||
if (max_inactive_time && ELAPSED(ms, previous_cmd_ms + max_inactive_time)) kill(PSTR(MSG_KILLED));
|
if (max_inactive_time && ELAPSED(ms, previous_cmd_ms + max_inactive_time)) kill(PSTR(MSG_KILLED));
|
||||||
|
|
||||||
if (stepper_inactive_time && ELAPSED(ms, previous_cmd_ms + stepper_inactive_time)
|
// Prevent steppers timing-out in the middle of M600
|
||||||
|
#if ENABLED(FILAMENT_CHANGE_FEATURE) && ENABLED(FILAMENT_CHANGE_NO_STEPPER_TIMEOUT)
|
||||||
|
#define M600_TEST !busy_doing_M600
|
||||||
|
#else
|
||||||
|
#define M600_TEST true
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (M600_TEST && stepper_inactive_time && ELAPSED(ms, previous_cmd_ms + stepper_inactive_time)
|
||||||
&& !ignore_stepper_queue && !planner.blocks_queued()) {
|
&& !ignore_stepper_queue && !planner.blocks_queued()) {
|
||||||
#if ENABLED(DISABLE_INACTIVE_X)
|
#if ENABLED(DISABLE_INACTIVE_X)
|
||||||
disable_x();
|
disable_x();
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
X Font ascent = 7 descent=-1
|
X Font ascent = 7 descent=-1
|
||||||
Max Font ascent = 8 descent=-1
|
Max Font ascent = 8 descent=-1
|
||||||
*/
|
*/
|
||||||
#include "U8glib.h"
|
#include <U8glib.h>
|
||||||
const u8g_fntpgm_uint8_t ISO10646_TR[2591] U8G_SECTION(".progmem.ISO10646_TR") = {
|
const u8g_fntpgm_uint8_t ISO10646_TR[2591] U8G_SECTION(".progmem.ISO10646_TR") = {
|
||||||
0,6,9,0,254,7,1,146,3,33,32,255,255,8,255,7,
|
0,6,9,0,254,7,1,146,3,33,32,255,255,8,255,7,
|
||||||
255,0,0,0,6,0,0,1,7,7,6,2,0,128,128,128,
|
255,0,0,0,6,0,0,1,7,7,6,2,0,128,128,128,
|
||||||
|
|
|
@ -217,6 +217,10 @@ void Endstops::M119() {
|
||||||
SERIAL_PROTOCOLPGM(MSG_Z_PROBE);
|
SERIAL_PROTOCOLPGM(MSG_Z_PROBE);
|
||||||
SERIAL_PROTOCOLLN(((READ(Z_MIN_PROBE_PIN)^Z_MIN_PROBE_ENDSTOP_INVERTING) ? MSG_ENDSTOP_HIT : MSG_ENDSTOP_OPEN));
|
SERIAL_PROTOCOLLN(((READ(Z_MIN_PROBE_PIN)^Z_MIN_PROBE_ENDSTOP_INVERTING) ? MSG_ENDSTOP_HIT : MSG_ENDSTOP_OPEN));
|
||||||
#endif
|
#endif
|
||||||
|
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
|
||||||
|
SERIAL_PROTOCOLPGM(MSG_FILAMENT_RUNOUT_SENSOR);
|
||||||
|
SERIAL_PROTOCOLLN(((READ(FIL_RUNOUT_PIN)^FIL_RUNOUT_INVERTING) ? MSG_ENDSTOP_HIT : MSG_ENDSTOP_OPEN));
|
||||||
|
#endif
|
||||||
} // Endstops::M119
|
} // Endstops::M119
|
||||||
|
|
||||||
#if ENABLED(Z_DUAL_ENDSTOPS)
|
#if ENABLED(Z_DUAL_ENDSTOPS)
|
||||||
|
|
|
@ -143,7 +143,9 @@ enum TempState {
|
||||||
FILAMENT_CHANGE_MESSAGE_EXTRUDE,
|
FILAMENT_CHANGE_MESSAGE_EXTRUDE,
|
||||||
FILAMENT_CHANGE_MESSAGE_OPTION,
|
FILAMENT_CHANGE_MESSAGE_OPTION,
|
||||||
FILAMENT_CHANGE_MESSAGE_RESUME,
|
FILAMENT_CHANGE_MESSAGE_RESUME,
|
||||||
FILAMENT_CHANGE_MESSAGE_STATUS
|
FILAMENT_CHANGE_MESSAGE_STATUS,
|
||||||
|
FILAMENT_CHANGE_MESSAGE_CLICK_TO_HEAT_NOZZLE,
|
||||||
|
FILAMENT_CHANGE_MESSAGE_WAIT_FOR_NOZZLES_TO_HEAT
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -695,33 +695,42 @@
|
||||||
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
|
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Add support for experimental filament exchange support M600; requires display
|
/**
|
||||||
#if ENABLED(ULTIPANEL)
|
* Filament Change
|
||||||
// #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too)
|
* Experimental filament change support.
|
||||||
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
* Adds the GCode M600 for initiating filament change.
|
||||||
#define FILAMENT_CHANGE_X_POS 30 // X position of hotend
|
*
|
||||||
#define FILAMENT_CHANGE_Y_POS 10 // Y position of hotend
|
* Requires an LCD display.
|
||||||
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
|
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
|
||||||
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
|
*/
|
||||||
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
|
//#define FILAMENT_CHANGE_FEATURE
|
||||||
#define FILAMENT_CHANGE_RETRACT_LENGTH 1 // Initial retract in mm
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
||||||
// It is a short retract used immediately after print interrupt before move to filament exchange position
|
#define FILAMENT_CHANGE_X_POS 30 // X position of hotend
|
||||||
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
|
#define FILAMENT_CHANGE_Y_POS 10 // Y position of hotend
|
||||||
//#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
|
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
|
||||||
// Longer length for bowden printers to unload filament from whole bowden tube,
|
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
|
||||||
// shorter lenght for printers without bowden to unload filament from extruder only,
|
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
|
||||||
// 0 to disable unloading for manual unloading
|
#define FILAMENT_CHANGE_RETRACT_LENGTH 1 // Initial retract in mm
|
||||||
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
|
// It is a short retract used immediately after print interrupt before move to filament exchange position
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
//#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Longer length for bowden printers to unload filament from whole bowden tube,
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
// shorter lenght for printers without bowden to unload filament from extruder only,
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
// 0 to disable unloading for manual unloading
|
||||||
// 0 to disable for manual extrusion
|
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#endif
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
|
// 0 to disable for manual extrusion
|
||||||
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
|
// or until outcoming filament color is not clear for filament color change
|
||||||
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -721,12 +721,16 @@
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
// 0 to disable for manual extrusion
|
// 0 to disable for manual extrusion
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// or until outcoming filament color is not clear for filament color change
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -721,12 +721,16 @@
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
// 0 to disable for manual extrusion
|
// 0 to disable for manual extrusion
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// or until outcoming filament color is not clear for filament color change
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -704,12 +704,16 @@
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
// 0 to disable for manual extrusion
|
// 0 to disable for manual extrusion
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// or until outcoming filament color is not clear for filament color change
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -708,33 +708,42 @@
|
||||||
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
|
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Add support for experimental filament exchange support M600; requires display
|
/**
|
||||||
#if ENABLED(ULTIPANEL)
|
* Filament Change
|
||||||
#define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too)
|
* Experimental filament change support.
|
||||||
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
* Adds the GCode M600 for initiating filament change.
|
||||||
#define FILAMENT_CHANGE_X_POS (X_MAX_POS-3) // X position of hotend
|
*
|
||||||
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
|
* Requires an LCD display.
|
||||||
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
|
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
|
||||||
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
|
*/
|
||||||
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
|
//#define FILAMENT_CHANGE_FEATURE
|
||||||
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
||||||
// It is a short retract used immediately after print interrupt before move to filament exchange position
|
#define FILAMENT_CHANGE_X_POS (X_MAX_POS-3) // X position of hotend
|
||||||
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
|
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
|
||||||
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
|
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
|
||||||
// Longer length for bowden printers to unload filament from whole bowden tube,
|
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
|
||||||
// shorter lenght for printers without bowden to unload filament from extruder only,
|
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
|
||||||
// 0 to disable unloading for manual unloading
|
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
|
||||||
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
|
// It is a short retract used immediately after print interrupt before move to filament exchange position
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Longer length for bowden printers to unload filament from whole bowden tube,
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
// shorter lenght for printers without bowden to unload filament from extruder only,
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
// 0 to disable unloading for manual unloading
|
||||||
// 0 to disable for manual extrusion
|
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#endif
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
|
// 0 to disable for manual extrusion
|
||||||
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
|
// or until outcoming filament color is not clear for filament color change
|
||||||
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -695,33 +695,42 @@
|
||||||
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
|
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Add support for experimental filament exchange support M600; requires display
|
/**
|
||||||
#if ENABLED(ULTIPANEL)
|
* Filament Change
|
||||||
#define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too)
|
* Experimental filament change support.
|
||||||
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
* Adds the GCode M600 for initiating filament change.
|
||||||
#define FILAMENT_CHANGE_X_POS 100 // X position of hotend
|
*
|
||||||
#define FILAMENT_CHANGE_Y_POS 100 // Y position of hotend
|
* Requires an LCD display.
|
||||||
#define FILAMENT_CHANGE_Z_ADD 20 // Z addition of hotend (lift)
|
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
|
||||||
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
|
*/
|
||||||
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
|
//#define FILAMENT_CHANGE_FEATURE
|
||||||
#define FILAMENT_CHANGE_RETRACT_LENGTH 5 // Initial retract in mm
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
||||||
// It is a short retract used immediately after print interrupt before move to filament exchange position
|
#define FILAMENT_CHANGE_X_POS 100 // X position of hotend
|
||||||
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
|
#define FILAMENT_CHANGE_Y_POS 100 // Y position of hotend
|
||||||
#define FILAMENT_CHANGE_UNLOAD_LENGTH 600 // Unload filament length from hotend in mm
|
#define FILAMENT_CHANGE_Z_ADD 20 // Z addition of hotend (lift)
|
||||||
// Longer length for bowden printers to unload filament from whole bowden tube,
|
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
|
||||||
// shorter lenght for printers without bowden to unload filament from extruder only,
|
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
|
||||||
// 0 to disable unloading for manual unloading
|
#define FILAMENT_CHANGE_RETRACT_LENGTH 5 // Initial retract in mm
|
||||||
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
|
// It is a short retract used immediately after print interrupt before move to filament exchange position
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 600 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
#define FILAMENT_CHANGE_UNLOAD_LENGTH 600 // Unload filament length from hotend in mm
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Longer length for bowden printers to unload filament from whole bowden tube,
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
// shorter lenght for printers without bowden to unload filament from extruder only,
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 100 // Extrude filament length in mm after filament is load over the hotend,
|
// 0 to disable unloading for manual unloading
|
||||||
// 0 to disable for manual extrusion
|
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#endif
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 100 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
|
// 0 to disable for manual extrusion
|
||||||
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
|
// or until outcoming filament color is not clear for filament color change
|
||||||
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -721,12 +721,16 @@
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
// 0 to disable for manual extrusion
|
// 0 to disable for manual extrusion
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// or until outcoming filament color is not clear for filament color change
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -721,12 +721,16 @@
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
// 0 to disable for manual extrusion
|
// 0 to disable for manual extrusion
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// or until outcoming filament color is not clear for filament color change
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -703,33 +703,42 @@
|
||||||
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
|
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Add support for experimental filament exchange support M600; requires display
|
/**
|
||||||
#if ENABLED(ULTIPANEL)
|
* Filament Change
|
||||||
#define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too)
|
* Experimental filament change support.
|
||||||
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
* Adds the GCode M600 for initiating filament change.
|
||||||
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend
|
*
|
||||||
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
|
* Requires an LCD display.
|
||||||
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
|
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
|
||||||
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
|
*/
|
||||||
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
|
//#define FILAMENT_CHANGE_FEATURE
|
||||||
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
||||||
// It is a short retract used immediately after print interrupt before move to filament exchange position
|
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend
|
||||||
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
|
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
|
||||||
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
|
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
|
||||||
// Longer length for bowden printers to unload filament from whole bowden tube,
|
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
|
||||||
// shorter lenght for printers without bowden to unload filament from extruder only,
|
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
|
||||||
// 0 to disable unloading for manual unloading
|
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
|
||||||
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
|
// It is a short retract used immediately after print interrupt before move to filament exchange position
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Longer length for bowden printers to unload filament from whole bowden tube,
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
// shorter lenght for printers without bowden to unload filament from extruder only,
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
// 0 to disable unloading for manual unloading
|
||||||
// 0 to disable for manual extrusion
|
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#endif
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
|
// 0 to disable for manual extrusion
|
||||||
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
|
// or until outcoming filament color is not clear for filament color change
|
||||||
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -721,12 +721,16 @@
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
// 0 to disable for manual extrusion
|
// 0 to disable for manual extrusion
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// or until outcoming filament color is not clear for filament color change
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -723,12 +723,16 @@
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
// 0 to disable for manual extrusion
|
// 0 to disable for manual extrusion
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// or until outcoming filament color is not clear for filament color change
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -723,12 +723,16 @@
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
// 0 to disable for manual extrusion
|
// 0 to disable for manual extrusion
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// or until outcoming filament color is not clear for filament color change
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -728,12 +728,16 @@
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
// 0 to disable for manual extrusion
|
// 0 to disable for manual extrusion
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// or until outcoming filament color is not clear for filament color change
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -723,12 +723,16 @@
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
// 0 to disable for manual extrusion
|
// 0 to disable for manual extrusion
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// or until outcoming filament color is not clear for filament color change
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -721,12 +721,16 @@
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
// 0 to disable for manual extrusion
|
// 0 to disable for manual extrusion
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// or until outcoming filament color is not clear for filament color change
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -721,12 +721,16 @@
|
||||||
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
||||||
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
||||||
// Short or zero length for printers without bowden where loading is not used
|
// Short or zero length for printers without bowden where loading is not used
|
||||||
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
||||||
// 0 to disable for manual extrusion
|
// 0 to disable for manual extrusion
|
||||||
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
||||||
// or until outcoming filament color is not clear for filament color change
|
// or until outcoming filament color is not clear for filament color change
|
||||||
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
||||||
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
||||||
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
||||||
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
||||||
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
|
|
|
@ -152,6 +152,7 @@
|
||||||
#define MSG_Z2_MIN "z2_min: "
|
#define MSG_Z2_MIN "z2_min: "
|
||||||
#define MSG_Z2_MAX "z2_max: "
|
#define MSG_Z2_MAX "z2_max: "
|
||||||
#define MSG_Z_PROBE "z_probe: "
|
#define MSG_Z_PROBE "z_probe: "
|
||||||
|
#define MSG_FILAMENT_RUNOUT_SENSOR "filament: "
|
||||||
#define MSG_ERR_MATERIAL_INDEX "M145 S<index> out of range (0-1)"
|
#define MSG_ERR_MATERIAL_INDEX "M145 S<index> out of range (0-1)"
|
||||||
#define MSG_ERR_M355_NONE "No case light"
|
#define MSG_ERR_M355_NONE "No case light"
|
||||||
#define MSG_ERR_M421_PARAMETERS "M421 required parameters missing"
|
#define MSG_ERR_M421_PARAMETERS "M421 required parameters missing"
|
||||||
|
|
|
@ -33,6 +33,9 @@
|
||||||
#ifndef WELCOME_MSG
|
#ifndef WELCOME_MSG
|
||||||
#define WELCOME_MSG MACHINE_NAME _UxGT(" ready.")
|
#define WELCOME_MSG MACHINE_NAME _UxGT(" ready.")
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef MSG_BACK
|
||||||
|
#define MSG_BACK _UxGT("Back")
|
||||||
|
#endif
|
||||||
#ifndef MSG_SD_INSERTED
|
#ifndef MSG_SD_INSERTED
|
||||||
#define MSG_SD_INSERTED _UxGT("Card inserted")
|
#define MSG_SD_INSERTED _UxGT("Card inserted")
|
||||||
#endif
|
#endif
|
||||||
|
@ -486,7 +489,6 @@
|
||||||
#ifndef MSG_DELTA_CALIBRATE_CENTER
|
#ifndef MSG_DELTA_CALIBRATE_CENTER
|
||||||
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Calibrate Center")
|
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Calibrate Center")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef MSG_INFO_MENU
|
#ifndef MSG_INFO_MENU
|
||||||
#define MSG_INFO_MENU _UxGT("About Printer")
|
#define MSG_INFO_MENU _UxGT("About Printer")
|
||||||
#endif
|
#endif
|
||||||
|
@ -583,6 +585,12 @@
|
||||||
#ifndef MSG_FILAMENT_CHANGE_OPTION_RESUME
|
#ifndef MSG_FILAMENT_CHANGE_OPTION_RESUME
|
||||||
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Resume print")
|
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Resume print")
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef MSG_FILAMENT_CHANGE_MINTEMP
|
||||||
|
#define MSG_FILAMENT_CHANGE_MINTEMP _UxGT("Minimum Temp is ")
|
||||||
|
#endif
|
||||||
|
#ifndef MSG_FILAMENT_CHANGE_NOZZLE
|
||||||
|
#define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Nozzle: ")
|
||||||
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// Filament Change screens show up to 3 lines on a 4-line display
|
// Filament Change screens show up to 3 lines on a 4-line display
|
||||||
|
@ -603,6 +611,14 @@
|
||||||
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("and press button")
|
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("and press button")
|
||||||
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("to continue...")
|
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("to continue...")
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef MSG_FILAMENT_CHANGE_HEAT_1
|
||||||
|
#define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Press button to")
|
||||||
|
#define MSG_FILAMENT_CHANGE_HEAT_2 _UxGT("heat nozzle.")
|
||||||
|
#endif
|
||||||
|
#ifndef MSG_FILAMENT_CHANGE_HEATING_1
|
||||||
|
#define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Heating nozzle")
|
||||||
|
#define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("Please wait...")
|
||||||
|
#endif
|
||||||
#ifndef MSG_FILAMENT_CHANGE_LOAD_1
|
#ifndef MSG_FILAMENT_CHANGE_LOAD_1
|
||||||
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Wait for")
|
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Wait for")
|
||||||
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("filament load")
|
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("filament load")
|
||||||
|
@ -625,6 +641,9 @@
|
||||||
#ifndef MSG_FILAMENT_CHANGE_INSERT_1
|
#ifndef MSG_FILAMENT_CHANGE_INSERT_1
|
||||||
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Insert and Click")
|
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Insert and Click")
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef MSG_FILAMENT_CHANGE_HEATING_1
|
||||||
|
#define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Heating...")
|
||||||
|
#endif
|
||||||
#ifndef MSG_FILAMENT_CHANGE_LOAD_1
|
#ifndef MSG_FILAMENT_CHANGE_LOAD_1
|
||||||
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Loading...")
|
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Loading...")
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -54,6 +54,7 @@ char lcd_status_message[3 * (LCD_WIDTH) + 1] = WELCOME_MSG; // worst case is kan
|
||||||
|
|
||||||
#if ENABLED(DOGLCD)
|
#if ENABLED(DOGLCD)
|
||||||
#include "ultralcd_impl_DOGM.h"
|
#include "ultralcd_impl_DOGM.h"
|
||||||
|
#include <U8glib.h>
|
||||||
#else
|
#else
|
||||||
#include "ultralcd_impl_HD44780.h"
|
#include "ultralcd_impl_HD44780.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -151,6 +152,7 @@ uint16_t max_display_update_time = 0;
|
||||||
void lcd_filament_change_unload_message();
|
void lcd_filament_change_unload_message();
|
||||||
void lcd_filament_change_insert_message();
|
void lcd_filament_change_insert_message();
|
||||||
void lcd_filament_change_load_message();
|
void lcd_filament_change_load_message();
|
||||||
|
void lcd_filament_change_heat_nozzle();
|
||||||
void lcd_filament_change_extrude_message();
|
void lcd_filament_change_extrude_message();
|
||||||
void lcd_filament_change_resume_message();
|
void lcd_filament_change_resume_message();
|
||||||
#endif
|
#endif
|
||||||
|
@ -948,7 +950,8 @@ void kill_screen(const char* lcd_msg) {
|
||||||
// Change filament
|
// Change filament
|
||||||
//
|
//
|
||||||
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
||||||
MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_enqueue_filament_change);
|
if (!thermalManager.tooColdToExtrude(active_extruder))
|
||||||
|
MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_enqueue_filament_change);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
END_MENU();
|
END_MENU();
|
||||||
|
@ -1384,11 +1387,13 @@ KeepDrawing:
|
||||||
MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_material1_hotend0);
|
MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_material1_hotend0);
|
||||||
MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_material2_hotend0);
|
MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_material2_hotend0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// Change filament
|
// Change filament
|
||||||
//
|
//
|
||||||
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
||||||
MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_enqueue_filament_change);
|
if (!thermalManager.tooColdToExtrude(active_extruder))
|
||||||
|
MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_enqueue_filament_change);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2441,11 +2446,21 @@ KeepDrawing:
|
||||||
}
|
}
|
||||||
#endif // LCD_INFO_MENU
|
#endif // LCD_INFO_MENU
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Filament Change Feature Screens
|
||||||
|
*
|
||||||
|
*/
|
||||||
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
||||||
|
|
||||||
void lcd_filament_change_toocold_menu() {
|
void lcd_filament_change_toocold_menu() {
|
||||||
START_MENU();
|
START_MENU();
|
||||||
STATIC_ITEM(MSG_HEATING_FAILED_LCD, true, true);
|
STATIC_ITEM(MSG_HEATING_FAILED_LCD, true, true);
|
||||||
MENU_BACK(MSG_FILAMENTCHANGE);
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_MINTEMP STRINGIFY(EXTRUDE_MINTEMP) ".", false, false);
|
||||||
|
MENU_BACK(MSG_BACK);
|
||||||
|
STATIC_ITEM(" ");
|
||||||
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
||||||
|
lcd_implementation_hotend_status();
|
||||||
END_MENU();
|
END_MENU();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2478,6 +2493,8 @@ KeepDrawing:
|
||||||
#ifdef MSG_FILAMENT_CHANGE_INIT_3
|
#ifdef MSG_FILAMENT_CHANGE_INIT_3
|
||||||
STATIC_ITEM(MSG_FILAMENT_CHANGE_INIT_3);
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_INIT_3);
|
||||||
#endif
|
#endif
|
||||||
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
||||||
|
lcd_implementation_hotend_status();
|
||||||
END_SCREEN();
|
END_SCREEN();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2491,6 +2508,35 @@ KeepDrawing:
|
||||||
#ifdef MSG_FILAMENT_CHANGE_UNLOAD_3
|
#ifdef MSG_FILAMENT_CHANGE_UNLOAD_3
|
||||||
STATIC_ITEM(MSG_FILAMENT_CHANGE_UNLOAD_3);
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_UNLOAD_3);
|
||||||
#endif
|
#endif
|
||||||
|
STATIC_ITEM (" ");
|
||||||
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
||||||
|
lcd_implementation_hotend_status();
|
||||||
|
END_SCREEN();
|
||||||
|
}
|
||||||
|
|
||||||
|
void lcd_filament_change_wait_for_nozzles_to_heat() {
|
||||||
|
START_SCREEN();
|
||||||
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_HEADER, true, true);
|
||||||
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_HEATING_1);
|
||||||
|
#ifdef MSG_FILAMENT_CHANGE_HEATING_2
|
||||||
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_HEATING_2);
|
||||||
|
#endif
|
||||||
|
STATIC_ITEM(" ");
|
||||||
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
||||||
|
lcd_implementation_hotend_status();
|
||||||
|
END_SCREEN();
|
||||||
|
}
|
||||||
|
|
||||||
|
void lcd_filament_change_heat_nozzle() {
|
||||||
|
START_SCREEN();
|
||||||
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_HEADER, true, true);
|
||||||
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_HEAT_1);
|
||||||
|
#ifdef MSG_FILAMENT_CHANGE_INSERT_2
|
||||||
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_HEAT_2);
|
||||||
|
#endif
|
||||||
|
STATIC_ITEM(" ");
|
||||||
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
||||||
|
lcd_implementation_hotend_status();
|
||||||
END_SCREEN();
|
END_SCREEN();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2504,6 +2550,8 @@ KeepDrawing:
|
||||||
#ifdef MSG_FILAMENT_CHANGE_INSERT_3
|
#ifdef MSG_FILAMENT_CHANGE_INSERT_3
|
||||||
STATIC_ITEM(MSG_FILAMENT_CHANGE_INSERT_3);
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_INSERT_3);
|
||||||
#endif
|
#endif
|
||||||
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
||||||
|
lcd_implementation_hotend_status();
|
||||||
END_SCREEN();
|
END_SCREEN();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2517,6 +2565,9 @@ KeepDrawing:
|
||||||
#ifdef MSG_FILAMENT_CHANGE_LOAD_3
|
#ifdef MSG_FILAMENT_CHANGE_LOAD_3
|
||||||
STATIC_ITEM(MSG_FILAMENT_CHANGE_LOAD_3);
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_LOAD_3);
|
||||||
#endif
|
#endif
|
||||||
|
STATIC_ITEM(" ");
|
||||||
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
||||||
|
lcd_implementation_hotend_status();
|
||||||
END_SCREEN();
|
END_SCREEN();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2530,6 +2581,9 @@ KeepDrawing:
|
||||||
#ifdef MSG_FILAMENT_CHANGE_EXTRUDE_3
|
#ifdef MSG_FILAMENT_CHANGE_EXTRUDE_3
|
||||||
STATIC_ITEM(MSG_FILAMENT_CHANGE_EXTRUDE_3);
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_EXTRUDE_3);
|
||||||
#endif
|
#endif
|
||||||
|
STATIC_ITEM(" ");
|
||||||
|
STATIC_ITEM(MSG_FILAMENT_CHANGE_NOZZLE, false, true);
|
||||||
|
lcd_implementation_hotend_status();
|
||||||
END_SCREEN();
|
END_SCREEN();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2564,6 +2618,12 @@ KeepDrawing:
|
||||||
case FILAMENT_CHANGE_MESSAGE_EXTRUDE:
|
case FILAMENT_CHANGE_MESSAGE_EXTRUDE:
|
||||||
lcd_goto_screen(lcd_filament_change_extrude_message);
|
lcd_goto_screen(lcd_filament_change_extrude_message);
|
||||||
break;
|
break;
|
||||||
|
case FILAMENT_CHANGE_MESSAGE_CLICK_TO_HEAT_NOZZLE:
|
||||||
|
lcd_goto_screen(lcd_filament_change_heat_nozzle);
|
||||||
|
break;
|
||||||
|
case FILAMENT_CHANGE_MESSAGE_WAIT_FOR_NOZZLES_TO_HEAT:
|
||||||
|
lcd_goto_screen(lcd_filament_change_wait_for_nozzles_to_heat);
|
||||||
|
break;
|
||||||
case FILAMENT_CHANGE_MESSAGE_OPTION:
|
case FILAMENT_CHANGE_MESSAGE_OPTION:
|
||||||
filament_change_menu_response = FILAMENT_CHANGE_RESPONSE_WAIT_FOR;
|
filament_change_menu_response = FILAMENT_CHANGE_RESPONSE_WAIT_FOR;
|
||||||
lcd_goto_screen(lcd_filament_change_option_menu);
|
lcd_goto_screen(lcd_filament_change_option_menu);
|
||||||
|
|
|
@ -379,6 +379,17 @@ FORCE_INLINE void _draw_axis_label(const AxisEnum axis, const char* const pstr,
|
||||||
|
|
||||||
//#define DOGM_SD_PERCENT
|
//#define DOGM_SD_PERCENT
|
||||||
|
|
||||||
|
|
||||||
|
static void lcd_implementation_hotend_status() {
|
||||||
|
u8g.setPrintPos(58, 60);
|
||||||
|
lcd_print((char)('0' + active_extruder));
|
||||||
|
lcd_print(' ');
|
||||||
|
lcd_print(' ');
|
||||||
|
lcd_print(itostr3(thermalManager.degHotend(active_extruder)));
|
||||||
|
lcd_print('/');
|
||||||
|
lcd_print(itostr3(thermalManager.degTargetHotend(active_extruder)));
|
||||||
|
}
|
||||||
|
|
||||||
static void lcd_implementation_status_screen() {
|
static void lcd_implementation_status_screen() {
|
||||||
|
|
||||||
bool blink = lcd_blink();
|
bool blink = lcd_blink();
|
||||||
|
|
|
@ -592,6 +592,14 @@ FORCE_INLINE void _draw_axis_label(const AxisEnum axis, const char* const pstr,
|
||||||
|
|
||||||
#endif // LCD_PROGRESS_BAR
|
#endif // LCD_PROGRESS_BAR
|
||||||
|
|
||||||
|
static void lcd_implementation_hotend_status() {
|
||||||
|
lcd.setCursor(10, 3);
|
||||||
|
lcd.print(LCD_STR_THERMOMETER[active_extruder]);
|
||||||
|
lcd.print(itostr3(thermalManager.degHotend(active_extruder)));
|
||||||
|
lcd.print('/');
|
||||||
|
lcd.print(itostr3(thermalManager.degTargetHotend(active_extruder)));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Possible status screens:
|
Possible status screens:
|
||||||
16x2 |000/000 B000/000|
|
16x2 |000/000 B000/000|
|
||||||
|
|
|
@ -19,6 +19,7 @@ The latest Release Candidate lives in the ["RC" branch](https://github.com/Marli
|
||||||
## Recent Changes
|
## Recent Changes
|
||||||
- RCBugFix
|
- RCBugFix
|
||||||
- Fixed broken MBL
|
- Fixed broken MBL
|
||||||
|
- M600 heater timeout option
|
||||||
|
|
||||||
- RC8 - 06 Dec 2016
|
- RC8 - 06 Dec 2016
|
||||||
- Major performance improvement for Graphical LCDs
|
- Major performance improvement for Graphical LCDs
|
||||||
|
|
Reference in a new issue