Variable tool change purge (#14618)
This commit is contained in:
committed by
Scott Lahteine
parent
cbe4bf2ba8
commit
ce02c6cee2
@ -37,7 +37,7 @@
|
||||
*/
|
||||
|
||||
// Change EEPROM version if the structure changes
|
||||
#define EEPROM_VERSION "V67"
|
||||
#define EEPROM_VERSION "V68"
|
||||
#define EEPROM_OFFSET 100
|
||||
|
||||
// Check the integrity of data offsets.
|
||||
@ -2290,6 +2290,7 @@ void MarlinSettings::reset() {
|
||||
#if EXTRUDERS > 1
|
||||
#if ENABLED(TOOLCHANGE_FILAMENT_SWAP)
|
||||
toolchange_settings.swap_length = TOOLCHANGE_FIL_SWAP_LENGTH;
|
||||
toolchange_settings.extra_prime = TOOLCHANGE_FIL_EXTRA_PRIME;
|
||||
toolchange_settings.prime_speed = TOOLCHANGE_FIL_SWAP_PRIME_SPEED;
|
||||
toolchange_settings.retract_speed = TOOLCHANGE_FIL_SWAP_RETRACT_SPEED;
|
||||
#endif
|
||||
|
@ -993,16 +993,13 @@ void tool_change(const uint8_t tmp_extruder, bool no_move/*=false*/) {
|
||||
#if ENABLED(TOOLCHANGE_FILAMENT_SWAP)
|
||||
if (should_swap && !too_cold) {
|
||||
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
||||
do_pause_e_move(toolchange_settings.swap_length + TOOLCHANGE_FIL_EXTRA_PRIME, MMM_TO_MMS(toolchange_settings.prime_speed));
|
||||
do_pause_e_move(toolchange_settings.swap_length + toolchange_settings.extra_prime, MMM_TO_MMS(toolchange_settings.prime_speed));
|
||||
#else
|
||||
current_position[E_AXIS] += (toolchange_settings.swap_length + TOOLCHANGE_FIL_EXTRA_PRIME) / planner.e_factor[tmp_extruder];
|
||||
current_position[E_AXIS] += (toolchange_settings.swap_length + toolchange_settings.extra_prime) / planner.e_factor[tmp_extruder];
|
||||
planner.buffer_line(current_position, MMM_TO_MMS(toolchange_settings.prime_speed), tmp_extruder);
|
||||
#endif
|
||||
planner.synchronize();
|
||||
|
||||
#if TOOLCHANGE_FIL_EXTRA_PRIME
|
||||
planner.set_e_position_mm((destination[E_AXIS] = current_position[E_AXIS] = current_position[E_AXIS] - (TOOLCHANGE_FIL_EXTRA_PRIME)));
|
||||
#endif
|
||||
planner.set_e_position_mm((destination[E_AXIS] = current_position[E_AXIS] = current_position[E_AXIS] - (TOOLCHANGE_FIL_EXTRA_PRIME)));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
typedef struct {
|
||||
#if ENABLED(TOOLCHANGE_FILAMENT_SWAP)
|
||||
float swap_length;
|
||||
float swap_length, extra_prime;
|
||||
int16_t prime_speed, retract_speed;
|
||||
#endif
|
||||
#if ENABLED(TOOLCHANGE_PARK)
|
||||
|
Reference in New Issue
Block a user