(Un)loading speed and time delay parameters introduced into GUI and conf. layer (not yet into wipe tower generator)

This commit is contained in:
Lukas Matena 2018-03-02 15:52:16 +01:00
parent e1421da5e8
commit b3e9b82280
5 changed files with 55 additions and 20 deletions

View file

@ -845,7 +845,11 @@ void WipeTowerPrusaMM::toolchange_Unload(
//writer.retract(15, 5000).retract(50, 5400).retract(15, 3000).retract(12, 2000);
// Pull the filament end to the BEGINNING of the cooling tube
writer.retract(15, 5000).retract(m_cooling_tube_retraction+m_cooling_tube_length/2.f-42, 5400).retract(15, 3000).retract(12, 2000);
float unloading_feedrate = 5400.f; // Alex's original feedrate was 5400
writer.retract(15, 5000) // just after ramming - fixed speed
.retract(m_cooling_tube_retraction+m_cooling_tube_length/2.f-42, unloading_feedrate)
.retract(15, unloading_feedrate*0.55f)
.retract(12, unloading_feedrate*0.35f);
if (new_temperature != 0) // Set the extruder temperature, but don't wait.
@ -953,17 +957,14 @@ void WipeTowerPrusaMM::toolchange_Load(
float oldx = writer.x(); // the nozzle is in place to do the first wiping moves, we will remember the position
float oldy = writer.y();
writer.append("; CP TOOLCHANGE LOAD\n")
// Load the filament while moving left / right,
// Load the filament while moving left / right,
// so the excess material will not create a blob at a single position.
float loading_feedrate = 3000.f;
writer.append("; CP TOOLCHANGE LOAD\n")
.suppress_preview()
// Accelerate the filament loading
.load_move_x(xr, 20, 1400)
// Fast loading phase
//.load_move_x(xl, 40, 3000) - Alex
.load_move_x(xl,m_parking_pos_retraction-50-2,3000) // loading is 2mm shorter that previous retraction
// Slowing down
.load_move_x(xr, 20, 1600)
.load_move_x(xr, 20, 1400) // Accelerate the filament loading
.load_move_x(xl,m_parking_pos_retraction-50-2,3000) // Fast phase - loading is 2mm shorter that previous retraction
.load_move_x(xr, 20, 1600) // Slowing down
.load_move_x(xl, 10, 1000)
.travel(oldx,oldy)
.resume_preview();

View file

@ -448,6 +448,33 @@ PrintConfigDef::PrintConfigDef()
def->min = 0;
def->default_value = new ConfigOptionFloats { 0. };
def = this->add("filament_loading_speed", coFloats);
def->label = _L("Loading speed");
def->tooltip = _L("Speed used for loading the filament on the wipe tower. ");
def->sidetext = _L("mm\u00B3/s");
def->cli = "filament-loading-speed=f@";
def->min = 0;
def->default_value = new ConfigOptionFloats { 0. };
def = this->add("filament_unloading_speed", coFloats);
def->label = _L("Unloading speed");
def->tooltip = _L("Speed used for unloading the filament on the wipe tower (does not affect "
" initial part of unloading just after ramming). ");
def->sidetext = _L("mm\u00B3/s");
def->cli = "filament-unloading-speed=f@";
def->min = 0;
def->default_value = new ConfigOptionFloats { 0. };
def = this->add("filament_toolchange_delay", coFloats);
def->label = _L("Delay after unloading");
def->tooltip = _L("Time to wait after the filament is unloaded. "
"May help to get reliable toolchanges with flexible materials "
"that may need more time to shrink to original dimensions. ");
def->sidetext = _L("s");
def->cli = "filament-toolchange-delay=f@";
def->min = 0;
def->default_value = new ConfigOptionFloats { 0. };
def = this->add("filament_diameter", coFloats);
def->label = _L("Diameter");
def->tooltip = _L("Enter your filament diameter here. Good precision is required, so use a caliper "

View file

@ -466,6 +466,9 @@ public:
ConfigOptionBools filament_soluble;
ConfigOptionFloats filament_cost;
ConfigOptionFloats filament_max_volumetric_speed;
ConfigOptionFloats filament_loading_speed;
ConfigOptionFloats filament_unloading_speed;
ConfigOptionFloats filament_toolchange_delay;
ConfigOptionBool gcode_comments;
ConfigOptionEnum<GCodeFlavor> gcode_flavor;
ConfigOptionString layer_gcode;
@ -518,6 +521,9 @@ protected:
OPT_PTR(filament_soluble);
OPT_PTR(filament_cost);
OPT_PTR(filament_max_volumetric_speed);
OPT_PTR(filament_loading_speed);
OPT_PTR(filament_unloading_speed);
OPT_PTR(filament_toolchange_delay);
OPT_PTR(gcode_comments);
OPT_PTR(gcode_flavor);
OPT_PTR(layer_gcode);