add filament_max_wipe_tower_speed

This commit is contained in:
supermerill 2019-02-14 17:51:24 +01:00
parent 29755d0353
commit 430d023ede
6 changed files with 25 additions and 9 deletions

View File

@ -903,13 +903,15 @@ void WipeTowerPrusaMM::toolchange_Change(
m_used_filament_length[m_current_tool] += writer.get_and_reset_used_filament_length(); m_used_filament_length[m_current_tool] += writer.get_and_reset_used_filament_length();
// Speed override for the material. Go slow for flex and soluble materials. // Speed override for the material. Go slow for flex and soluble materials.
int speed_override; int speed_override = m_config->filament_max_wipe_tower_speed.get_at(new_tool);
switch (new_material) { if (speed_override <= 0) {
case PVA: speed_override = (m_z_pos < 0.80f) ? 60 : 80; break; switch (new_material) {
case SCAFF: speed_override = 35; break; case PVA: speed_override = (m_z_pos < 0.80f) ? 60 : 80; break;
case FLEX: speed_override = 35; break; case SCAFF: speed_override = 35; break;
default: speed_override = 100; case FLEX: speed_override = 35; break;
} default: speed_override = 100;
}
}
writer.set_tool(new_tool); writer.set_tool(new_tool);
if (m_retain_speed_override) if (m_retain_speed_override)
assert(speed_override == 100); assert(speed_override == 100);

View File

@ -75,7 +75,7 @@ public:
m_filpar.push_back(FilamentParameters()); m_filpar.push_back(FilamentParameters());
m_filpar[idx].material = WipeTowerPrusaMM::parse_material(m_config->filament_type.get_at(idx).c_str()); m_filpar[idx].material = WipeTowerPrusaMM::parse_material(m_config->filament_type.get_at(idx).c_str());
if (m_filpar[idx].material == FLEX || m_filpar[idx].material == SCAFF || m_filpar[idx].material == PVA) { if (m_config->filament_max_wipe_tower_speed.get_at(idx) > 0 || m_filpar[idx].material == FLEX || m_filpar[idx].material == SCAFF || m_filpar[idx].material == PVA) {
// MMU2 lowers the print speed using the speed override (M220) for printing of soluble PVA/BVOH and flex materials. // MMU2 lowers the print speed using the speed override (M220) for printing of soluble PVA/BVOH and flex materials.
// Therefore it does not make sense to use the new M220 B and M220 R (backup / restore). // Therefore it does not make sense to use the new M220 B and M220 R (backup / restore).
m_retain_speed_override = false; m_retain_speed_override = false;

View File

@ -713,6 +713,16 @@ void PrintConfigDef::init_fff_params()
def->mode = comAdvanced; def->mode = comAdvanced;
def->default_value = new ConfigOptionFloats { 0. }; def->default_value = new ConfigOptionFloats { 0. };
def = this->add("filament_max_wipe_tower_speed", coFloats);
def->label = L("Max speed on the wipe tower");
def->tooltip = L("This setting is used to set the maximum speed when extruding inside the wipe tower (use M220). In %, set 0 to disable and use the Filament type instead.");
def->sidetext = L("% of mm/s");
def->cli = "filament-max-wipe-tower-speed=f@";
def->min = 0;
def->max = 200;
def->mode = comExpert;
def->default_value = new ConfigOptionFloats { 0 };
def = this->add("filament_loading_speed", coFloats); def = this->add("filament_loading_speed", coFloats);
def->label = L("Loading speed"); def->label = L("Loading speed");
def->tooltip = L("Speed used for loading the filament on the wipe tower. "); def->tooltip = L("Speed used for loading the filament on the wipe tower. ");

View File

@ -708,6 +708,7 @@ public:
ConfigOptionBools filament_soluble; ConfigOptionBools filament_soluble;
ConfigOptionFloats filament_cost; ConfigOptionFloats filament_cost;
ConfigOptionFloats filament_max_volumetric_speed; ConfigOptionFloats filament_max_volumetric_speed;
ConfigOptionFloats filament_max_wipe_tower_speed;
ConfigOptionFloats filament_loading_speed; ConfigOptionFloats filament_loading_speed;
ConfigOptionFloats filament_loading_speed_start; ConfigOptionFloats filament_loading_speed_start;
ConfigOptionFloats filament_load_time; ConfigOptionFloats filament_load_time;
@ -786,6 +787,7 @@ protected:
OPT_PTR(filament_soluble); OPT_PTR(filament_soluble);
OPT_PTR(filament_cost); OPT_PTR(filament_cost);
OPT_PTR(filament_max_volumetric_speed); OPT_PTR(filament_max_volumetric_speed);
OPT_PTR(filament_max_wipe_tower_speed);
OPT_PTR(filament_loading_speed); OPT_PTR(filament_loading_speed);
OPT_PTR(filament_loading_speed_start); OPT_PTR(filament_loading_speed_start);
OPT_PTR(filament_load_time); OPT_PTR(filament_load_time);

View File

@ -373,6 +373,7 @@ const std::vector<std::string>& Preset::filament_options()
{ {
static std::vector<std::string> s_opts { static std::vector<std::string> s_opts {
"filament_colour", "filament_diameter", "filament_type", "filament_soluble", "filament_notes", "filament_max_volumetric_speed", "filament_colour", "filament_diameter", "filament_type", "filament_soluble", "filament_notes", "filament_max_volumetric_speed",
"filament_max_wipe_tower_speed",
"extrusion_multiplier", "filament_density", "filament_cost", "filament_loading_speed", "filament_loading_speed_start", "filament_load_time", "extrusion_multiplier", "filament_density", "filament_cost", "filament_loading_speed", "filament_loading_speed_start", "filament_load_time",
"filament_unloading_speed", "filament_toolchange_delay", "filament_unloading_speed_start", "filament_unload_time", "filament_cooling_moves", "filament_unloading_speed", "filament_toolchange_delay", "filament_unloading_speed_start", "filament_unload_time", "filament_cooling_moves",
"filament_cooling_initial_speed", "filament_cooling_final_speed", "filament_ramming_parameters", "filament_minimal_purge_on_wipe_tower", "filament_cooling_initial_speed", "filament_cooling_final_speed", "filament_ramming_parameters", "filament_minimal_purge_on_wipe_tower",

View File

@ -1548,7 +1548,8 @@ void TabFilament::build()
line.widget = [this](wxWindow* parent) { line.widget = [this](wxWindow* parent) {
return description_line_widget(parent, &m_volumetric_speed_description_line); return description_line_widget(parent, &m_volumetric_speed_description_line);
}; };
optgroup->append_line(line); optgroup->append_line(line);
optgroup->append_single_option_line("filament_max_wipe_tower_speed");
optgroup = page->new_optgroup(_(L("Toolchange parameters with single extruder MM printers"))); optgroup = page->new_optgroup(_(L("Toolchange parameters with single extruder MM printers")));
optgroup->append_single_option_line("filament_loading_speed_start"); optgroup->append_single_option_line("filament_loading_speed_start");