From 5807353e2448b8422d29582e4771afd656a2bc8d Mon Sep 17 00:00:00 2001 From: "xin.zhang" Date: Wed, 5 Mar 2025 12:29:20 +0800 Subject: [PATCH] FIX: disable printing while ams setting up jira: [STUDIO-9813] Change-Id: Ic5ff3f96ab86da317744d5fbe0b068e3ba77666b (cherry picked from commit 26609a130afbab4088cc7bea261266fa6da1def5) --- src/slic3r/GUI/DeviceManager.cpp | 19 +++++++++++++------ src/slic3r/GUI/DeviceManager.hpp | 5 +++++ src/slic3r/GUI/SelectMachine.cpp | 3 --- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 2878e87003..f996ac30bd 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -917,15 +917,12 @@ bool MachineObject::is_support_amx_ext_mix_mapping() { return true; } -/* the API is developing by AP, not completed now*/ bool MachineObject::is_ams_on_settingup() const { - for (const auto& ext : m_extder_data.extders) + int setting_up_stat = this->get_flag_bits(ams_cali_stat, 0, 8); + if (setting_up_stat == 0x01 || setting_up_stat == 0x02 || setting_up_stat == 0x03 || setting_up_stat == 0x04) { - if (ext.ams_stat != 0) - { - return true; - } + return true; } return false; @@ -4285,6 +4282,16 @@ int MachineObject::parse_json(std::string payload, bool key_field_only) tray_exist_bits = stol(jj["ams"]["tray_exist_bits"].get(), nullptr, 16); } + if (jj["ams"].contains("cali_id")) + { + ams_cali_id = jj["ams"]["cali_id"].get(); + } + + if (jj["ams"].contains("cali_stat")) + { + ams_cali_stat = jj["ams"]["cali_stat"].get(); + } + if (!key_field_only) { if (jj["ams"].contains("tray_read_done_bits")) { tray_read_done_bits = stol(jj["ams"]["tray_read_done_bits"].get(), nullptr, 16); diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index 9b25258d85..e37d3993e7 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -674,6 +674,11 @@ public: /* ams properties */ std::map amsList; // key: ams[id], start with 0 + + int ams_cali_id = 0; + int ams_cali_stat = 0; + + //AmsTray vt_tray; // virtual tray long ams_exist_bits = 0; long tray_exist_bits = 0; long tray_is_bbl_bits = 0; diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index 7ec45b5bff..27e9f1cbb9 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -3449,14 +3449,11 @@ void SelectMachineDialog::update_show_status() } } - // check ams and vt_slot mix use status -#if 0 /*AP is supporting, send the print job and let the device check it*/ if (obj_->is_ams_on_settingup()) { show_status(PrintDialogStatus::PrintStatusAmsOnSettingup); return; } -#endif struct ExtruderStatus {