ENH: refine logic for chamber temp and exhaust fan

1. Add chamber temp option for 3rd printers
2. Move support_air_filtration option from develop mode to advanced
mode

jira:[NEW]

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I9cb4263fc12d9d5edcf2595d97143446b3e63316
This commit is contained in:
xun.zhang 2023-10-18 12:03:03 +08:00 committed by Lane.Wei
parent c3865c293d
commit a62bf3b838
3 changed files with 12 additions and 5 deletions

View file

@ -1904,6 +1904,12 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato
// Set extruder(s) temperature before and after start G-code. // Set extruder(s) temperature before and after start G-code.
this->_print_first_layer_extruder_temperatures(file, print, machine_start_gcode, initial_extruder_id, false); this->_print_first_layer_extruder_temperatures(file, print, machine_start_gcode, initial_extruder_id, false);
} }
// BBS: chamber temp control for 3rd printers
if (!is_BBL_Printer() && print.config().support_chamber_temp_control.value && max_chamber_temp > 0 ){
file.write(m_writer.set_chamber_temperature(max_chamber_temp,true));
}
// adds tag for processor // adds tag for processor
file.write_format(";%s%s\n", GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Role).c_str(), ExtrusionEntity::role_to_string(erCustom).c_str()); file.write_format(";%s%s\n", GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Role).c_str(), ExtrusionEntity::role_to_string(erCustom).c_str());
@ -2193,7 +2199,8 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato
file.write(m_writer.update_progress(m_layer_count, m_layer_count, true)); // 100% file.write(m_writer.update_progress(m_layer_count, m_layer_count, true)); // 100%
file.write(m_writer.postamble()); file.write(m_writer.postamble());
file.write(m_writer.set_chamber_temperature(0, false)); //close chamber_temperature if (print.config().support_chamber_temp_control.value && max_chamber_temp>0)
file.write(m_writer.set_chamber_temperature(0, false)); //close chamber_temperature
// adds tags for time estimators // adds tags for time estimators

View file

@ -1831,7 +1831,7 @@ void PrintConfigDef::init_fff_params()
def =this->add("support_air_filtration",coBool); def =this->add("support_air_filtration",coBool);
def->label=L("Support air filtration"); def->label=L("Support air filtration");
def->tooltip=L("Enable this if printer support air filtration"); def->tooltip=L("Enable this if printer support air filtration");
def->mode=comDevelop; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
def = this->add("gcode_flavor", coEnum); def = this->add("gcode_flavor", coEnum);

View file

@ -3097,8 +3097,8 @@ void TabFilament::toggle_options()
toggle_option("pressure_advance", m_config->opt_bool("enable_pressure_advance", 0)); toggle_option("pressure_advance", m_config->opt_bool("enable_pressure_advance", 0));
} }
bool support_chamber_temp_control = this->m_preset_bundle->printers.get_selected_preset().config.opt_bool("support_chamber_temp_control"); bool support_chamber_temp_control = this->m_preset_bundle->printers.get_edited_preset().config.opt_bool("support_chamber_temp_control");
toggle_line("chamber_temperatures", is_BBL_printer&&support_chamber_temp_control); toggle_line("chamber_temperatures", support_chamber_temp_control);
for (auto el : for (auto el :
{"cool_plate_temp", "cool_plate_temp_initial_layer", "eng_plate_temp", "eng_plate_temp_initial_layer", "textured_plate_temp", "textured_plate_temp_initial_layer"}) {"cool_plate_temp", "cool_plate_temp_initial_layer", "eng_plate_temp", "eng_plate_temp_initial_layer", "textured_plate_temp", "textured_plate_temp_initial_layer"})
@ -3906,7 +3906,7 @@ void TabPrinter::toggle_options()
toggle_option("thumbnail_size",!is_BBL_printer); toggle_option("thumbnail_size",!is_BBL_printer);
toggle_option("printer_structure", !is_BBL_printer); toggle_option("printer_structure", !is_BBL_printer);
toggle_option("use_relative_e_distances", !is_BBL_printer); toggle_option("use_relative_e_distances", !is_BBL_printer);
toggle_option("support_chamber_temp_control", 0); toggle_option("support_chamber_temp_control",!is_BBL_printer);
toggle_option("support_air_filtration",is_BBL_printer); toggle_option("support_air_filtration",is_BBL_printer);
auto flavor = m_config->option<ConfigOptionEnum<GCodeFlavor>>("gcode_flavor")->value; auto flavor = m_config->option<ConfigOptionEnum<GCodeFlavor>>("gcode_flavor")->value;
bool is_marlin_flavor = flavor == gcfMarlinLegacy || flavor == gcfMarlinFirmware; bool is_marlin_flavor = flavor == gcfMarlinLegacy || flavor == gcfMarlinFirmware;