FIX: cannot cali for single nozzle printer

jira: none
Change-Id: I1cc0e5e4b0f9db2a66694c894f96a14047fde9e5
This commit is contained in:
zhimin.zeng 2024-08-05 17:34:45 +08:00 committed by lane.wei
parent b7176bfdd1
commit 7bd3a5218a
4 changed files with 16 additions and 6 deletions

View File

@ -1656,7 +1656,12 @@ void CalibrationPresetPage::sync_ams_info(MachineObject* obj)
{
if (!obj) return;
std::map<int, DynamicPrintConfig> full_filament_ams_list = wxGetApp().sidebar().build_filament_ams_list(obj);
std::map<int, DynamicPrintConfig> old_full_filament_ams_list = wxGetApp().sidebar().build_filament_ams_list(obj);
std::map<int, DynamicPrintConfig> full_filament_ams_list;
for (auto ams_item : old_full_filament_ams_list) {
int key = ams_item.first & 0x0FFFF;
full_filament_ams_list[key] = std::move(ams_item.second);
}
// sync filament_ams_list from obj ams list
filament_ams_list.clear();

View File

@ -1128,6 +1128,11 @@ void MachineObject::reset_mapping_result(std::vector<FilamentInfo>& result)
}
}
bool MachineObject::is_multi_extruders() const
{
return m_nozzle_data.total_nozzle_count > 1;
}
bool MachineObject::is_bbl_filament(std::string tag_uid)
{
if (tag_uid.empty())

View File

@ -571,6 +571,7 @@ public:
// exceed index start with 0
bool is_mapping_exceed_filament(std::vector<FilamentInfo>& result, int &exceed_index);
void reset_mapping_result(std::vector<FilamentInfo>& result);
bool is_multi_extruders() const;
/*online*/
bool online_rfid;
@ -752,17 +753,17 @@ public:
} liveview_local{ LVL_None };
enum LiveviewRemote {
LVR_None,
LVR_Tutk,
LVR_Tutk,
LVR_Agora,
LVR_TutkAgora
} liveview_remote{ LVR_None };
enum FileLocal {
FL_None,
FL_None,
FL_Local
} file_local{ FL_None };
enum FileRemote {
FR_None,
FR_Tutk,
FR_None,
FR_Tutk,
FR_Agora,
FR_TutkAgora
} file_remote{ FR_None };

View File

@ -2305,7 +2305,6 @@ void Sidebar::auto_calc_flushing_volumes(const int modify_id)
auto& printer_config = preset_bundle->printers.get_edited_preset().config;
const auto& full_config = wxGetApp().preset_bundle->full_config();
auto& ams_multi_color_filament = preset_bundle->ams_multi_color_filment;
auto& ams_filament_list = preset_bundle->filament_ams_list;
size_t nozzle_nums = preset_bundle->get_printer_extruder_count();
for (size_t nozzle_id = 0; nozzle_id < nozzle_nums; ++nozzle_id)