From d44ad07cfa48e442377338000ba63ee797bf6c8e Mon Sep 17 00:00:00 2001 From: "xin.zhang" Date: Mon, 26 May 2025 14:44:24 +0800 Subject: [PATCH] NEW: add HMS action to stop AMS drying jira: [STUDIO-12372] Change-Id: Ic6a818487fdfdde206b63708303dfe8af6e79dbf (cherry picked from commit 092de0c43f7e3f4702f529c28a637a5b3d78e20a) --- src/slic3r/GUI/DeviceManager.cpp | 7 +++++++ src/slic3r/GUI/DeviceManager.hpp | 3 +++ src/slic3r/GUI/ReleaseNote.cpp | 5 +++-- src/slic3r/GUI/ReleaseNote.hpp | 1 + src/slic3r/GUI/StatusPanel.cpp | 4 ++++ 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 694e1dd628..d08017c271 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -2316,6 +2316,13 @@ int MachineObject::command_ams_control(std::string action) return -1; } +int MachineObject::command_ams_drying_stop() +{ + json j; + j["print"]["command"] = "auto_stop_ams_dry"; + j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++); + return this->publish_json(j.dump()); +} int MachineObject::command_set_chamber_light(LIGHT_EFFECT effect, int on_time, int off_time, int loops, int interval) { diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index 655969626e..cd699d9952 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -1222,6 +1222,9 @@ public: int command_ams_refresh_rfid(std::string tray_id); int command_ams_refresh_rfid2(int ams_id, int slot_id); int command_ams_control(std::string action); + + int command_ams_drying_stop(); + int command_set_chamber_light(LIGHT_EFFECT effect, int on_time = 500, int off_time = 500, int loops = 1, int interval = 1000); int command_set_chamber_light2(LIGHT_EFFECT effect, int on_time = 500, int off_time = 500, int loops = 1, int interval = 1000); int command_set_work_light(LIGHT_EFFECT effect, int on_time = 500, int off_time = 500, int loops = 1, int interval = 1000); diff --git a/src/slic3r/GUI/ReleaseNote.cpp b/src/slic3r/GUI/ReleaseNote.cpp index cd19da0f59..215cd880a0 100644 --- a/src/slic3r/GUI/ReleaseNote.cpp +++ b/src/slic3r/GUI/ReleaseNote.cpp @@ -153,7 +153,7 @@ UpdatePluginDialog::UpdatePluginDialog(wxWindow* parent /*= nullptr*/) auto m_button_ok = new Button(this, _L("OK")); m_button_ok->SetBackgroundColor(btn_bg_green); m_button_ok->SetBorderColor(*wxWHITE); - m_button_ok->SetTextColor(wxColour(0xFFFFFE)); + m_button_ok->SetTextColor(wxColour("#FFFFFE")); m_button_ok->SetFont(Label::Body_12); m_button_ok->SetSize(wxSize(FromDIP(58), FromDIP(24))); m_button_ok->SetMinSize(wxSize(FromDIP(58), FromDIP(24))); @@ -1123,6 +1123,7 @@ void PrintErrorDialog::init_button_list() init_button(PROBLEM_SOLVED_RESUME, _L("Problem Solved and Resume")); init_button(STOP_BUZZER, _L("Stop Buzzer")); init_button(RETRY_PROBLEM_SOLVED, _L("Retry (problem solved)")); + init_button(STOP_DRYING, _L("Stop Drying")); } PrintErrorDialog::~PrintErrorDialog() @@ -1603,7 +1604,7 @@ InputIpAddressDialog::InputIpAddressDialog(wxWindow *parent) m_button_ok = new Button(this, _L("Connect")); m_button_ok->SetBackgroundColor(btn_bg_green); m_button_ok->SetBorderColor(*wxWHITE); - m_button_ok->SetTextColor(wxColour(0xFFFFFE)); + m_button_ok->SetTextColor(wxColour("#FFFFFE")); m_button_ok->SetFont(Label::Body_12); m_button_ok->SetSize(wxSize(FromDIP(58), FromDIP(24))); m_button_ok->SetMinSize(wxSize(FromDIP(58), FromDIP(24))); diff --git a/src/slic3r/GUI/ReleaseNote.hpp b/src/slic3r/GUI/ReleaseNote.hpp index 3e29eb7592..48c115b10e 100644 --- a/src/slic3r/GUI/ReleaseNote.hpp +++ b/src/slic3r/GUI/ReleaseNote.hpp @@ -188,6 +188,7 @@ public: STOP_BUZZER = 29, RETRY_PROBLEM_SOLVED = 34, + STOP_DRYING = 35, ERROR_BUTTON_COUNT }; diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index 0c3d36cb24..9128345f89 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -4731,6 +4731,10 @@ void StatusPanel::on_print_error_dlg_btn_clicked(wxCommandEvent& event) obj->command_ams_control("resume"); break; } + case Slic3r::GUI::PrintErrorDialog::STOP_DRYING: { + obj->command_ams_drying_stop(); + break; + } case Slic3r::GUI::PrintErrorDialog::ERROR_BUTTON_COUNT: break; default: break; }