Some more beautifications

This commit is contained in:
Lukas Matena 2022-01-05 10:00:35 +01:00
parent 85f98b880a
commit da8e4b6fda
2 changed files with 13 additions and 11 deletions

View File

@ -1694,11 +1694,12 @@ void GCode::print_machine_envelope(GCodeOutputStream &file, Print &print)
int(print.config().machine_max_acceleration_y.values.front() + 0.5),
int(print.config().machine_max_acceleration_z.values.front() + 0.5),
int(print.config().machine_max_acceleration_e.values.front() + 0.5));
file.write_format("M203 X%d Y%d Z%d E%d ; sets maximum feedrates, mm/sec (or mm/min for RRF)\n",
file.write_format("M203 X%d Y%d Z%d E%d ; sets maximum feedrates, %s\n",
int(print.config().machine_max_feedrate_x.values.front() * factor + 0.5),
int(print.config().machine_max_feedrate_y.values.front() * factor + 0.5),
int(print.config().machine_max_feedrate_z.values.front() * factor + 0.5),
int(print.config().machine_max_feedrate_e.values.front() * factor + 0.5));
int(print.config().machine_max_feedrate_e.values.front() * factor + 0.5),
factor == 60 ? "mm / min" : "mm / sec");
// Now M204 - acceleration. This one is quite hairy thanks to how Marlin guys care about
// backwards compatibility: https://github.com/prusa3d/PrusaSlicer/issues/1089
@ -1707,7 +1708,7 @@ void GCode::print_machine_envelope(GCodeOutputStream &file, Print &print)
int travel_acc = flavor == gcfMarlinLegacy
? int(print.config().machine_max_acceleration_extruding.values.front() + 0.5)
: int(print.config().machine_max_acceleration_travel.values.front() + 0.5);
// Retract acceleration not accepeted in M204 in RRF
// Retract acceleration not accepted in M204 in RRF
if (flavor == gcfRepRapFirmware)
file.write_format("M204 P%d T%d ; sets acceleration (P, T), mm/sec^2\n",
int(print.config().machine_max_acceleration_extruding.values.front() + 0.5),
@ -1726,11 +1727,14 @@ void GCode::print_machine_envelope(GCodeOutputStream &file, Print &print)
print.config().machine_max_jerk_y.values.front() * factor,
print.config().machine_max_jerk_z.values.front() * factor,
print.config().machine_max_jerk_e.values.front() * factor);
// M205 Sn Tn not supported in RRF
if (flavor != gcfRepRapFirmware)
file.write_format("M205 S%d T%d ; sets the minimum extruding and travel feed rate, mm/sec\n",
int(print.config().machine_min_extruding_rate.values.front() + 0.5),
int(print.config().machine_min_travel_rate.values.front() + 0.5));
else {
// M205 Sn Tn not supported in RRF. They use M203 Inn to set minimum feedrate for
// all moves. This is currently not implemented.
}
}
}

View File

@ -2926,13 +2926,13 @@ void TabPrinter::toggle_options()
if (!m_active_page || m_presets->get_edited_preset().printer_technology() == ptSLA)
return;
const GCodeFlavor flavor = m_config->option<ConfigOptionEnum<GCodeFlavor>>("gcode_flavor")->value;
bool have_multiple_extruders = m_extruders_count > 1;
if (m_active_page->title() == "Custom G-code")
toggle_option("toolchange_gcode", have_multiple_extruders);
if (m_active_page->title() == "General") {
toggle_option("single_extruder_multi_material", have_multiple_extruders);
auto flavor = m_config->option<ConfigOptionEnum<GCodeFlavor>>("gcode_flavor")->value;
bool is_marlin_flavor = flavor == gcfMarlinLegacy || flavor == gcfMarlinFirmware;
// Disable silent mode for non-marlin firmwares.
toggle_option("silent_mode", is_marlin_flavor);
@ -3002,9 +3002,9 @@ void TabPrinter::toggle_options()
}
if (m_active_page->title() == "Machine limits" && m_machine_limits_description_line) {
assert(m_config->option<ConfigOptionEnum<GCodeFlavor>>("gcode_flavor")->value == gcfMarlinLegacy
|| m_config->option<ConfigOptionEnum<GCodeFlavor>>("gcode_flavor")->value == gcfMarlinFirmware
|| m_config->option<ConfigOptionEnum<GCodeFlavor>>("gcode_flavor")->value == gcfRepRapFirmware);
assert(flavor == gcfMarlinLegacy
|| flavor == gcfMarlinFirmware
|| flavor == gcfRepRapFirmware);
const auto *machine_limits_usage = m_config->option<ConfigOptionEnum<MachineLimitsUsage>>("machine_limits_usage");
bool enabled = machine_limits_usage->value != MachineLimitsUsage::Ignore;
bool silent_mode = m_config->opt_bool("silent_mode");
@ -3963,9 +3963,7 @@ void TabPrinter::update_machine_limits_description(const MachineLimitsUsage usag
break;
case MachineLimitsUsage::TimeEstimateOnly:
text = _L("Machine limits will NOT be emitted to G-code, however they will be used to estimate print time, "
"which may therefore not be accurate as the printer may apply a different set of machine limits. "
"This newly works with RepRapFirmware to estimate time, but the algorithm is unchanged from Marlin. "
"Estimates work well when machine limits are accurately described.");
"which may therefore not be accurate as the printer may apply a different set of machine limits.");
break;
case MachineLimitsUsage::Ignore:
text = _L("Machine limits are not set, therefore the print time estimate may not be accurate.");