FIX: disable the bed_exclude_area

2. fix crash of ams item
3. fix crash in update_sync_status when ams is not calibrated
jira: STUDIO-8934

Change-Id: I4c8acd36e2f921d0750c23d2b8a1d65dfa6b241a
This commit is contained in:
zhimin.zeng 2024-12-24 16:37:50 +08:00 committed by lane.wei
parent 64aa4e63fe
commit 21865dc055
3 changed files with 8 additions and 1 deletions

View File

@ -1228,6 +1228,9 @@ void Sidebar::priv::update_sync_status(const MachineObject *obj)
// 2. update extruder status // 2. update extruder status
int extruder_nums = preset_bundle->get_printer_extruder_count(); int extruder_nums = preset_bundle->get_printer_extruder_count();
if (extruder_nums != obj->m_extder_data.extders.size())
return;
std::vector<ExtruderInfo> extruder_infos(extruder_nums); std::vector<ExtruderInfo> extruder_infos(extruder_nums);
std::vector<int> nozzle_volume_types = wxGetApp().preset_bundle->project_config.option<ConfigOptionEnumsGeneric>("nozzle_volume_type")->values; std::vector<int> nozzle_volume_types = wxGetApp().preset_bundle->project_config.option<ConfigOptionEnumsGeneric>("nozzle_volume_type")->values;
for (size_t i = 0; i < nozzle_volume_types.size(); ++i) { for (size_t i = 0; i < nozzle_volume_types.size(); ++i) {
@ -1267,6 +1270,9 @@ void Sidebar::priv::update_sync_status(const MachineObject *obj)
machine_extruder_infos[extruder.id].diameter = extruder.current_nozzle_diameter; machine_extruder_infos[extruder.id].diameter = extruder.current_nozzle_diameter;
} }
for (auto &item : obj->amsList) { for (auto &item : obj->amsList) {
if (item.second->nozzle >= machine_extruder_infos.size())
continue;
if (item.second->type == 4) { // N3S if (item.second->type == 4) { // N3S
machine_extruder_infos[item.second->nozzle].ams_1++; machine_extruder_infos[item.second->nozzle].ams_1++;
} else { } else {

View File

@ -4300,6 +4300,7 @@ void TabPrinter::toggle_options()
toggle_option("support_chamber_temp_control",!is_BBL_printer); toggle_option("support_chamber_temp_control",!is_BBL_printer);
toggle_option("use_firmware_retraction", !is_BBL_printer); toggle_option("use_firmware_retraction", !is_BBL_printer);
toggle_option("support_air_filtration",is_BBL_printer); toggle_option("support_air_filtration",is_BBL_printer);
toggle_option("bed_exclude_area", !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;
// Disable silent mode for non-marlin firmwares. // Disable silent mode for non-marlin firmwares.

View File

@ -2614,7 +2614,7 @@ void AMSPreview::doRender(wxDC &dc)
} }
//single slot //single slot
else { else if (m_amsinfo.cans.size() == 1) {
auto iter = m_amsinfo.cans[0]; auto iter = m_amsinfo.cans[0];
dc.SetPen(wxPen(*wxTRANSPARENT_PEN)); dc.SetPen(wxPen(*wxTRANSPARENT_PEN));
dc.SetBrush(StateColor::darkModeColorFor(AMS_CONTROL_DEF_BLOCK_BK_COLOUR)); dc.SetBrush(StateColor::darkModeColorFor(AMS_CONTROL_DEF_BLOCK_BK_COLOUR));