diff --git a/resources/images/monitir_err_close.svg b/resources/images/monitir_err_close.svg new file mode 100644 index 000000000..745e129da --- /dev/null +++ b/resources/images/monitir_err_close.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/resources/images/monitir_err_open.svg b/resources/images/monitir_err_open.svg new file mode 100644 index 000000000..f396d2a8f --- /dev/null +++ b/resources/images/monitir_err_open.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/slic3r/GUI/BBLStatusBarSend.cpp b/src/slic3r/GUI/BBLStatusBarSend.cpp index d3b0a689b..19d34fbf7 100644 --- a/src/slic3r/GUI/BBLStatusBarSend.cpp +++ b/src/slic3r/GUI/BBLStatusBarSend.cpp @@ -36,14 +36,26 @@ BBLStatusBarSend::BBLStatusBarSend(wxWindow *parent, int id) m_prog->SetMinSize(wxSize(m_self->FromDIP(300),m_self->FromDIP(6))); m_prog->SetValue(0); - StateColor btn_bd_white(std::pair(*wxWHITE, StateColor::Disabled), std::pair(wxColour(38, 46, 48), StateColor::Enabled)); + //StateColor btn_bd_white(std::pair(*wxWHITE, StateColor::Disabled), std::pair(wxColour(38, 46, 48), StateColor::Enabled)); + + StateColor btn_bt_white(std::pair(wxColour(0x90, 0x90, 0x90), StateColor::Disabled), + std::pair(wxColour(206, 206, 206), StateColor::Pressed), + std::pair(wxColour(238, 238, 238), StateColor::Hovered), + std::pair(*wxWHITE, StateColor::Normal)); + + StateColor btn_bd_white(std::pair(wxColour(255, 255, 254), StateColor::Disabled), + std::pair(wxColour(38, 46, 48), StateColor::Enabled)); + + + StateColor btn_txt_white(std::pair(wxColour("#FFFFFE"), StateColor::Disabled), std::pair(wxColour(38, 46, 48), StateColor::Normal)); m_cancelbutton = new Button(m_self, _L("Cancel")); m_cancelbutton->SetSize(wxSize(m_self->FromDIP(58), m_self->FromDIP(22))); m_cancelbutton->SetMinSize(wxSize(m_self->FromDIP(58), m_self->FromDIP(22))); m_cancelbutton->SetMaxSize(wxSize(m_self->FromDIP(58), m_self->FromDIP(22))); - m_cancelbutton->SetBackgroundColor(wxColour(255, 255, 255)); + m_cancelbutton->SetBackgroundColor(btn_bt_white); m_cancelbutton->SetBorderColor(btn_bd_white); + m_cancelbutton->SetTextColor(btn_txt_white); m_cancelbutton->SetCornerRadius(m_self->FromDIP(12)); m_cancelbutton->Bind(wxEVT_BUTTON, [this](wxCommandEvent &evt) { @@ -332,6 +344,7 @@ void BBLStatusBarSend::reset() m_static_bitmap_show_error->Hide(); m_prog->Show(); m_stext_percent->Show(); + m_cancelbutton->Enable(); m_cancelbutton->Show(); m_was_cancelled = false; @@ -362,4 +375,14 @@ void BBLStatusBarSend::change_button_label(wxString name) m_cancelbutton->SetLabel(name); } +void BBLStatusBarSend::disable_cancel_button() +{ + m_cancelbutton->Disable(); +} + +void BBLStatusBarSend::enable_cancel_button() +{ + m_cancelbutton->Enable(); +} + } diff --git a/src/slic3r/GUI/BBLStatusBarSend.hpp b/src/slic3r/GUI/BBLStatusBarSend.hpp index f28cbf89a..e5eff5202 100644 --- a/src/slic3r/GUI/BBLStatusBarSend.hpp +++ b/src/slic3r/GUI/BBLStatusBarSend.hpp @@ -84,6 +84,8 @@ public: void hide_cancel_button(); void change_button_label(wxString name); + void disable_cancel_button(); + void enable_cancel_button(); private: bool m_show_error_info_state = false; bool m_busy = false; diff --git a/src/slic3r/GUI/BindDialog.cpp b/src/slic3r/GUI/BindDialog.cpp index 17661e5c5..fc7577081 100644 --- a/src/slic3r/GUI/BindDialog.cpp +++ b/src/slic3r/GUI/BindDialog.cpp @@ -39,7 +39,10 @@ wxString get_fail_reason(int code) return _L("Failed to post ticket to server"); else if (code == BAMBU_NETWORK_ERR_BIND_PARSE_LOGIN_REPORT_FAILED) - return _L("Failed to parse login report reason"); + return _L("Failed to parse login report reason"); + + else if (code == BAMBU_NETWORK_ERR_BIND_ECODE_LOGIN_REPORT_FAILED) + return _L("Failed to parse login report reason111"); else if (code == BAMBU_NETWORK_ERR_BIND_RECEIVE_LOGIN_REPORT_TIMEOUT) return _L("Receive login report timeout"); @@ -331,7 +334,7 @@ wxString get_fail_reason(int code) m_link_network_state = new Label(m_sw_bind_failed_info, _L("Check the status of current system services")); m_link_network_state->SetForegroundColour(0x00AE42); m_link_network_state->SetFont(::Label::Body_12); - m_link_network_state->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {link_to_network_check(); }); + m_link_network_state->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {wxGetApp().link_to_network_check(); }); m_link_network_state->Bind(wxEVT_ENTER_WINDOW, [this](auto& e) {m_link_network_state->SetCursor(wxCURSOR_HAND); }); m_link_network_state->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {m_link_network_state->SetCursor(wxCURSOR_ARROW); }); @@ -486,33 +489,6 @@ wxString get_fail_reason(int code) this->Disconnect(EVT_BIND_UPDATE_MESSAGE, wxCommandEventHandler(BindMachineDialog::on_update_message), NULL, this); } - void BindMachineDialog::link_to_network_check() - { - std::string url; - std::string country_code = Slic3r::GUI::wxGetApp().app_config->get_country_code(); - - - if (country_code == "US") { - url = "https://status.bambulab.com"; - } - else if (country_code == "CN") { - url = "https://status.bambulab.cn"; - } - else if (country_code == "ENV_CN_DEV") { - url = "https://status.bambu-lab.com"; - } - else if (country_code == "ENV_CN_QA") { - url = "https://status.bambu-lab.com"; - } - else if (country_code == "ENV_CN_PRE") { - url = "https://status.bambu-lab.com"; - } - else { - url = "https://status.bambu-lab.com"; - } - wxLaunchDefaultBrowser(url); - } - void BindMachineDialog::show_bind_failed_info(bool show, int code, wxString description, wxString extra) { if (show) { @@ -523,9 +499,9 @@ wxString get_fail_reason(int code) m_st_txt_error_desc->SetLabelText( wxGetApp().filter_string(m_result_info)); m_st_txt_extra_info->SetLabelText( wxGetApp().filter_string(m_result_extra)); - m_st_txt_error_code->Wrap(FromDIP(260)); - m_st_txt_error_desc->Wrap(FromDIP(260)); - m_st_txt_extra_info->Wrap(FromDIP(260)); + m_st_txt_error_code->Wrap(FromDIP(330)); + m_st_txt_error_desc->Wrap(FromDIP(330)); + m_st_txt_extra_info->Wrap(FromDIP(330)); } else { m_sw_bind_failed_info->Show(false); diff --git a/src/slic3r/GUI/BindDialog.hpp b/src/slic3r/GUI/BindDialog.hpp index 94b7248d6..11f27f2c2 100644 --- a/src/slic3r/GUI/BindDialog.hpp +++ b/src/slic3r/GUI/BindDialog.hpp @@ -83,7 +83,6 @@ public: BindMachineDialog(Plater *plater = nullptr); ~BindMachineDialog(); - void link_to_network_check(); void show_bind_failed_info(bool show, int code = 0, wxString description = wxEmptyString, wxString extra = wxEmptyString); void on_cancel(wxCommandEvent& event); void on_bind_fail(wxCommandEvent &event); diff --git a/src/slic3r/GUI/ConnectPrinter.cpp b/src/slic3r/GUI/ConnectPrinter.cpp index ad01ce365..8c9f79050 100644 --- a/src/slic3r/GUI/ConnectPrinter.cpp +++ b/src/slic3r/GUI/ConnectPrinter.cpp @@ -149,7 +149,9 @@ void ConnectPrinterDialog::on_button_confirm(wxCommandEvent &event) } if (m_obj) { m_obj->set_user_access_code(code.ToStdString()); - wxGetApp().getDeviceManager()->set_selected_machine(m_obj->dev_id); + if (m_need_connect) { + wxGetApp().getDeviceManager()->set_selected_machine(m_obj->dev_id); + } } EndModal(wxID_OK); } diff --git a/src/slic3r/GUI/ConnectPrinter.hpp b/src/slic3r/GUI/ConnectPrinter.hpp index 54f502141..d73a3ba63 100644 --- a/src/slic3r/GUI/ConnectPrinter.hpp +++ b/src/slic3r/GUI/ConnectPrinter.hpp @@ -25,6 +25,7 @@ class ConnectPrinterDialog : public DPIDialog { private: protected: + bool m_need_connect{true}; wxStaticText * m_staticText_connection_code; TextInput * m_textCtrl_code; Button * m_button_confirm; @@ -45,6 +46,7 @@ public: ~ConnectPrinterDialog(); + void go_connect_printer(bool need) {m_need_connect = need;}; void end_modal(wxStandardID id); void init_bitmap(); void set_machine_object(MachineObject* obj); diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 57cf5bcc7..95633b05a 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -1406,12 +1406,17 @@ void MachineObject::parse_version_func() is_support_ams_humidity = true; } - if (firmware_type == PrinterFirmwareType::FIRMWARE_TYPE_ENGINEER) { + /*if (firmware_type == PrinterFirmwareType::FIRMWARE_TYPE_ENGINEER) { local_use_ssl_for_mqtt = false; local_use_ssl_for_ftp = true; - }else { + } + else { local_use_ssl_for_mqtt = ota_version->second.sw_ver.compare("01.03.01.04") >= 0; local_use_ssl_for_ftp = true; + }*/ + + if (firmware_type == PrinterFirmwareType::FIRMWARE_TYPE_PRODUCTION) { + local_use_ssl_for_mqtt = ota_version->second.sw_ver.compare("01.03.01.04") >= 0; } is_support_remote_tunnel = true; @@ -1422,14 +1427,6 @@ void MachineObject::parse_version_func() file_proto = 2; } } else if (printer_type == "C11") { - if (firmware_type == PrinterFirmwareType::FIRMWARE_TYPE_ENGINEER) { - local_use_ssl_for_mqtt = false; - local_use_ssl_for_ftp = false; - } else { - local_use_ssl_for_mqtt = true; - local_use_ssl_for_ftp = true; - } - is_cloud_print_only = true; if (ota_version != module_vers.end()) { is_support_send_to_sdcard = ota_version->second.sw_ver.compare("01.02.00.00") >= 0; @@ -4444,7 +4441,11 @@ bool DeviceManager::set_selected_machine(std::string dev_id, bool need_disconnec if (m_agent) { if (!need_disconnect) {m_agent->disconnect_printer();} it->second->reset(); +#if !BBL_RELEASE_TO_PUBLIC + it->second->connect(false, Slic3r::GUI::wxGetApp().app_config->get("enable_ssl_for_mqtt") == "true" ? true : false); +#else it->second->connect(false, it->second->local_use_ssl_for_mqtt); +#endif it->second->set_lan_mode_connection_state(true); } } @@ -4460,7 +4461,12 @@ bool DeviceManager::set_selected_machine(std::string dev_id, bool need_disconnec } } else { it->second->reset(); + +#if !BBL_RELEASE_TO_PUBLIC + it->second->connect(false, Slic3r::GUI::wxGetApp().app_config->get("enable_ssl_for_mqtt") == "true" ? true : false); +#else it->second->connect(false, it->second->local_use_ssl_for_mqtt); +#endif it->second->set_lan_mode_connection_state(true); } } diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 9c5ec72d4..f4d94c0d6 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -1934,6 +1934,10 @@ void GUI_App::init_networking_callbacks() event.SetInt(1); event.SetString(obj->dev_id); } + else if(msg == "5") { + event.SetInt(5); + event.SetString(obj->dev_id); + } else { event.SetInt(-2); event.SetString(obj->dev_id); @@ -3243,6 +3247,33 @@ void GUI_App::set_side_menu_popup_status(bool status) m_side_popup_status = status; } +void GUI_App::link_to_network_check() +{ + std::string url; + std::string country_code = app_config->get_country_code(); + + + if (country_code == "US") { + url = "https://status.bambulab.com"; + } + else if (country_code == "CN") { + url = "https://status.bambulab.cn"; + } + else if (country_code == "ENV_CN_DEV") { + url = "https://status.bambu-lab.com"; + } + else if (country_code == "ENV_CN_QA") { + url = "https://status.bambu-lab.com"; + } + else if (country_code == "ENV_CN_PRE") { + url = "https://status.bambu-lab.com"; + } + else { + url = "https://status.bambu-lab.com"; + } + wxLaunchDefaultBrowser(url); +} + bool GUI_App::tabs_as_menu() const { return false; diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index 120d69177..0dd4c7a0f 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -353,6 +353,8 @@ public: //update side popup status bool get_side_menu_popup_status(); void set_side_menu_popup_status(bool status); + void link_to_network_check(); + const wxColour& get_label_clr_modified(){ return m_color_label_modified; } const wxColour& get_label_clr_sys() { return m_color_label_sys; } diff --git a/src/slic3r/GUI/Jobs/BindJob.cpp b/src/slic3r/GUI/Jobs/BindJob.cpp index 05f117263..a9f543354 100644 --- a/src/slic3r/GUI/Jobs/BindJob.cpp +++ b/src/slic3r/GUI/Jobs/BindJob.cpp @@ -106,6 +106,18 @@ void BindJob::process() if (result < 0) { BOOST_LOG_TRIVIAL(trace) << "login: result = " << result; + + int error_code; + wxString error_msg; + try + { + error_code = stoi(result_info); + result_info = wxGetApp().get_hms_query()->query_print_error_msg(error_code).ToStdString(); + } + catch (...) { + ; + } + post_fail_event(result_code, result_info); return; } diff --git a/src/slic3r/GUI/Jobs/PrintJob.cpp b/src/slic3r/GUI/Jobs/PrintJob.cpp index 83a47ec0c..a808dca4a 100644 --- a/src/slic3r/GUI/Jobs/PrintJob.cpp +++ b/src/slic3r/GUI/Jobs/PrintJob.cpp @@ -182,7 +182,7 @@ void PrintJob::process() params.password = m_access_code; // check access code and ip address - if (this->connection_type == "lan") { + if (this->connection_type == "lan" && m_print_type == "from_normal") { params.dev_id = m_dev_id; params.project_name = "verify_job"; params.filename = job_data._temp_path.string(); @@ -495,4 +495,10 @@ void PrintJob::on_check_ip_address_success(std::function func) m_enter_ip_address_fun_success = func; } +void PrintJob::connect_to_local_mqtt() +{ + this->update_status(0, "1111111"); +} + + }} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/Jobs/PrintJob.hpp b/src/slic3r/GUI/Jobs/PrintJob.hpp index 8d3124e28..7599a5be6 100644 --- a/src/slic3r/GUI/Jobs/PrintJob.hpp +++ b/src/slic3r/GUI/Jobs/PrintJob.hpp @@ -97,6 +97,7 @@ public: void set_project_name(std::string name); void on_check_ip_address_fail(std::function func); void on_check_ip_address_success(std::function func); + void connect_to_local_mqtt(); }; }} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/Monitor.cpp b/src/slic3r/GUI/Monitor.cpp index 3096afb87..0f58dbc2d 100644 --- a/src/slic3r/GUI/Monitor.cpp +++ b/src/slic3r/GUI/Monitor.cpp @@ -171,7 +171,7 @@ MonitorPanel::~MonitorPanel() wxBoxSizer *sizer_boxh = new wxBoxSizer(wxVERTICAL); wxBoxSizer *sizer_boxv = new wxBoxSizer(wxHORIZONTAL);*/ - m_connection_info = new Button(this, "Failed to connect to the printer"); + m_connection_info = new Button(this, wxEmptyString); m_connection_info->SetBackgroundColor(wxColour(255, 111, 0)); m_connection_info->SetBorderColor(wxColour(255, 111, 0)); m_connection_info->SetTextColor(*wxWHITE); @@ -181,18 +181,139 @@ MonitorPanel::~MonitorPanel() m_connection_info->SetMinSize(wxSize(FromDIP(-1), FromDIP(25))); m_connection_info->SetMaxSize(wxSize(FromDIP(-1), FromDIP(25))); - wxBoxSizer* connection_sizer = new wxBoxSizer(wxVERTICAL); - m_hyperlink = new wxHyperlinkCtrl(m_connection_info, wxID_ANY, _L("Failed to connect to the server"), wxT("https://wiki.bambulab.com/en/software/bambu-studio/failed-to-connect-printer"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE); - connection_sizer->Add(m_hyperlink, 0, wxALIGN_CENTER | wxALL, 5); - m_hyperlink->SetBackgroundColour(wxColour(255, 111, 0)); - m_connection_info->SetSizer(connection_sizer); - m_connection_info->Layout(); - connection_sizer->Fit(m_connection_info); + wxBoxSizer* connection_sizer_V = new wxBoxSizer(wxVERTICAL); + wxBoxSizer* connection_sizer_H = new wxBoxSizer(wxHORIZONTAL); + + m_hyperlink = new wxHyperlinkCtrl(m_connection_info, wxID_ANY, _L("Failed to connect to the server"), wxT("https://wiki.bambulab.com/en/software/bambu-studio/failed-to-connect-printer"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE); + m_hyperlink->SetBackgroundColour(wxColour(255, 111, 0)); + + m_more_err_open = ScalableBitmap(this, "monitir_err_open", 16); + m_more_err_close = ScalableBitmap(this, "monitir_err_close", 16); + m_more_button = new ScalableButton(m_connection_info, wxID_ANY, "monitir_err_open"); + m_more_button->Bind(wxEVT_ENTER_WINDOW, [this](auto& e) {SetCursor(wxCURSOR_HAND); }); + m_more_button->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {SetCursor(wxCURSOR_ARROW); }); + m_more_button->Bind(wxEVT_LEFT_DOWN, [this](auto& e) { + if (!m_more_err_state) { + m_more_button->SetBitmap(m_more_err_close.bmp()); + Freeze(); + m_side_error_panel->Show(); + m_more_err_state = true; + m_tabpanel->Refresh(); + m_tabpanel->Layout(); + Thaw(); + } + else { + m_more_button->SetBitmap(m_more_err_open.bmp()); + Freeze(); + m_side_error_panel->Hide(); + m_more_err_state = false; + m_tabpanel->Refresh(); + m_tabpanel->Layout(); + Thaw(); + } + + }); + + connection_sizer_H->Add(m_hyperlink, 0, wxALIGN_CENTER | wxALL, 5); + connection_sizer_H->Add(m_more_button, 0, wxALIGN_CENTER | wxALL, 3); + connection_sizer_V->Add(connection_sizer_H, 0, wxALIGN_CENTER, 0); + + m_connection_info->SetSizer(connection_sizer_V); + m_connection_info->Layout(); + connection_sizer_V->Fit(m_connection_info); + + m_side_error_panel = new wxWindow(this,wxID_ANY); + m_side_error_panel->SetBackgroundColour(wxColour(255,232,214)); + m_side_error_panel->SetMinSize(wxSize(-1, -1)); + m_side_error_panel->SetMaxSize(wxSize(-1, -1)); + + m_side_error_panel->Hide(); + m_more_button->Hide(); m_connection_info->Hide(); + wxBoxSizer* sizer_print_failed_info = new wxBoxSizer(wxVERTICAL); + m_side_error_panel->SetSizer(sizer_print_failed_info); + + wxBoxSizer* sizer_error_code = new wxBoxSizer(wxHORIZONTAL); + wxBoxSizer* sizer_error_desc = new wxBoxSizer(wxHORIZONTAL); + wxBoxSizer* sizer_extra_info = new wxBoxSizer(wxHORIZONTAL); + + m_link_network_state = new Label(m_side_error_panel, _L("Check cloud service status"), wxALIGN_CENTER_HORIZONTAL|wxST_ELLIPSIZE_END); + m_link_network_state->SetMinSize(wxSize(FromDIP(220), -1)); + m_link_network_state->SetMaxSize(wxSize(FromDIP(220), -1)); + m_link_network_state->SetForegroundColour(0x00AE42); + m_link_network_state->SetFont(::Label::Body_12); + m_link_network_state->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {wxGetApp().link_to_network_check(); }); + m_link_network_state->Bind(wxEVT_ENTER_WINDOW, [this](auto& e) {m_link_network_state->SetCursor(wxCURSOR_HAND); }); + m_link_network_state->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {m_link_network_state->SetCursor(wxCURSOR_ARROW); }); + + auto st_title_error_code = new wxStaticText(m_side_error_panel, wxID_ANY, _L("code"),wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END); + auto st_title_error_code_doc = new wxStaticText(m_side_error_panel, wxID_ANY, ": "); + m_st_txt_error_code = new Label(m_side_error_panel, wxEmptyString); + st_title_error_code->SetForegroundColour(0x909090); + st_title_error_code_doc->SetForegroundColour(0x909090); + m_st_txt_error_code->SetForegroundColour(0x909090); + st_title_error_code->SetFont(::Label::Body_12); + st_title_error_code_doc->SetFont(::Label::Body_12); + m_st_txt_error_code->SetFont(::Label::Body_12); + st_title_error_code->SetMinSize(wxSize(FromDIP(32), -1)); + st_title_error_code->SetMaxSize(wxSize(FromDIP(32), -1)); + m_st_txt_error_code->SetMinSize(wxSize(FromDIP(175), -1)); + m_st_txt_error_code->SetMaxSize(wxSize(FromDIP(175), -1)); + sizer_error_code->Add(st_title_error_code, 0, wxALL, 0); + sizer_error_code->Add(st_title_error_code_doc, 0, wxALL, 0); + sizer_error_code->Add(m_st_txt_error_code, 0, wxALL, 0); + + + auto st_title_error_desc = new wxStaticText(m_side_error_panel, wxID_ANY, wxT("desc"),wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END); + auto st_title_error_desc_doc = new wxStaticText(m_side_error_panel, wxID_ANY, ": "); + m_st_txt_error_desc = new Label(m_side_error_panel, wxEmptyString); + st_title_error_desc->SetForegroundColour(0x909090); + st_title_error_desc_doc->SetForegroundColour(0x909090); + m_st_txt_error_desc->SetForegroundColour(0x909090); + st_title_error_desc->SetFont(::Label::Body_12); + st_title_error_desc_doc->SetFont(::Label::Body_12); + m_st_txt_error_desc->SetFont(::Label::Body_12); + st_title_error_desc->SetMinSize(wxSize(FromDIP(32), -1)); + st_title_error_desc->SetMaxSize(wxSize(FromDIP(32), -1)); + m_st_txt_error_desc->SetMinSize(wxSize(FromDIP(175), -1)); + m_st_txt_error_desc->SetMaxSize(wxSize(FromDIP(175), -1)); + sizer_error_desc->Add(st_title_error_desc, 0, wxALL, 0); + sizer_error_desc->Add(st_title_error_desc_doc, 0, wxALL, 0); + sizer_error_desc->Add(m_st_txt_error_desc, 0, wxALL, 0); + + auto st_title_extra_info = new wxStaticText(m_side_error_panel, wxID_ANY, wxT("info"),wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END); + auto st_title_extra_info_doc = new wxStaticText(m_side_error_panel, wxID_ANY, ": "); + m_st_txt_extra_info = new Label(m_side_error_panel, wxEmptyString); + st_title_extra_info->SetForegroundColour(0x909090); + st_title_extra_info_doc->SetForegroundColour(0x909090); + m_st_txt_extra_info->SetForegroundColour(0x909090); + st_title_extra_info->SetFont(::Label::Body_12); + st_title_extra_info_doc->SetFont(::Label::Body_12); + m_st_txt_extra_info->SetFont(::Label::Body_12); + st_title_extra_info->SetMinSize(wxSize(FromDIP(32), -1)); + st_title_extra_info->SetMaxSize(wxSize(FromDIP(32), -1)); + m_st_txt_extra_info->SetMinSize(wxSize(FromDIP(175), -1)); + m_st_txt_extra_info->SetMaxSize(wxSize(FromDIP(175), -1)); + sizer_extra_info->Add(st_title_extra_info, 0, wxALL, 0); + sizer_extra_info->Add(st_title_extra_info_doc, 0, wxALL, 0); + sizer_extra_info->Add(m_st_txt_extra_info, 0, wxALL, 0); + + sizer_print_failed_info->Add(m_link_network_state, 0, wxALIGN_CENTER, 3); + sizer_print_failed_info->Add(sizer_error_code, 0, wxLEFT, 5); + sizer_print_failed_info->Add(0, 0, 0, wxTOP, FromDIP(3)); + sizer_print_failed_info->Add(sizer_error_desc, 0, wxLEFT, 5); + sizer_print_failed_info->Add(0, 0, 0, wxTOP, FromDIP(3)); + sizer_print_failed_info->Add(sizer_extra_info, 0, wxLEFT, 5); + + m_st_txt_error_desc->SetLabel(""); + m_st_txt_error_desc->Wrap(FromDIP(170)); + + sizer_side_tools->Add(m_connection_info, 0, wxEXPAND, 0); + sizer_side_tools->Add(m_side_error_panel, 0, wxEXPAND, 0); sizer_side_tools->Add(m_side_tools, 1, wxEXPAND, 0); m_tabpanel = new Tabbook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, sizer_side_tools, wxNB_LEFT | wxTAB_TRAVERSAL | wxNB_NOPAGETHEME); m_tabpanel->SetBackgroundColour(wxColour("#FEFFFF")); @@ -223,6 +344,24 @@ MonitorPanel::~MonitorPanel() show_status((int)MonitorStatus::MONITOR_NO_PRINTER); } +void MonitorPanel::update_connect_err_info(int code, wxString desc, wxString info) +{ + m_st_txt_error_code->SetLabelText(wxString::Format("%d", code)); + m_st_txt_error_desc->SetLabelText(desc); + m_st_txt_extra_info->SetLabelText(info); + + m_st_txt_error_code->Wrap(FromDIP(175)); + m_st_txt_error_desc->Wrap(FromDIP(175)); + m_st_txt_extra_info->Wrap(FromDIP(175)); + + if (code == BAMBU_NETWORK_ERR_CONNECTION_TO_PRINTER_FAILED) { + m_link_network_state->Hide(); + } + else if(code == BAMBU_NETWORK_ERR_CONNECTION_TO_SERVER_FAILED){ + m_link_network_state->Show(); + } +} + void MonitorPanel::set_default() { obj = nullptr; @@ -544,29 +683,43 @@ void MonitorPanel::show_status(int status) BOOST_LOG_TRIVIAL(info) << "monitor: show_status = " << status; if (((status & (int) MonitorStatus::MONITOR_DISCONNECTED) != 0) || ((status & (int) MonitorStatus::MONITOR_DISCONNECTED_SERVER) != 0)) { - if ((status & (int) MonitorStatus::MONITOR_DISCONNECTED_SERVER)) + if ((status & (int)MonitorStatus::MONITOR_DISCONNECTED_SERVER)) { m_hyperlink->SetLabel(_L("Failed to connect to the server")); - //m_connection_info->SetLabel(_L("Failed to connect to the server")); - else + update_connect_err_info(BAMBU_NETWORK_ERR_CONNECTION_TO_SERVER_FAILED, + _L("Failed to connect to cloud service"), + _L("Please click on the hyperlink above to view the cloud service status")); + } + else { m_hyperlink->SetLabel(_L("Failed to connect to the printer")); - //m_connection_info->SetLabel(_L("Failed to connect to the printer")); - + update_connect_err_info(BAMBU_NETWORK_ERR_CONNECTION_TO_PRINTER_FAILED, + _L("Connection to printer failed"), + _L("Please check the network connection of the printer and Studio.")); + } + m_hyperlink->Show(); m_connection_info->SetLabel(wxEmptyString); + m_connection_info->SetBackgroundColor(0xFF6F00); + m_connection_info->SetBorderColor(0xFF6F00); m_connection_info->Show(); - m_connection_info->SetBackgroundColor(wxColour(255, 111, 0)); - m_connection_info->SetBorderColor(wxColour(255, 111, 0)); + m_more_button->Show(); + + + #if !BBL_RELEASE_TO_PUBLIC m_upgrade_panel->update(nullptr); #endif } else if ((status & (int) MonitorStatus::MONITOR_NORMAL) != 0) { m_connection_info->Hide(); + m_more_button->Hide(); + m_side_error_panel->Hide(); } else if ((status & (int) MonitorStatus::MONITOR_CONNECTING) != 0) { m_hyperlink->Hide(); m_connection_info->SetLabel(_L("Connecting...")); - m_connection_info->SetBackgroundColor(wxColour(0, 174, 66)); - m_connection_info->SetBorderColor(wxColour(0, 174, 66)); + m_connection_info->SetBackgroundColor(0x00AE42); + m_connection_info->SetBorderColor(0x00AE42); m_connection_info->Show(); + m_more_button->Hide(); + m_side_error_panel->Hide(); } Freeze(); @@ -581,6 +734,8 @@ void MonitorPanel::show_status(int status) set_default(); m_side_tools->set_none_printer_mode(); m_connection_info->Hide(); + m_side_error_panel->Hide(); + m_more_button->Hide(); m_tabpanel->Refresh(); m_tabpanel->Layout(); #if !BBL_RELEASE_TO_PUBLIC diff --git a/src/slic3r/GUI/Monitor.hpp b/src/slic3r/GUI/Monitor.hpp index 5586bcd16..bb2899a23 100644 --- a/src/slic3r/GUI/Monitor.hpp +++ b/src/slic3r/GUI/Monitor.hpp @@ -84,6 +84,7 @@ private: UpgradePanel* m_upgrade_panel; HMSPanel* m_hms_panel; Button * m_connection_info{nullptr}; + wxWindow * m_side_error_panel{nullptr}; wxHyperlinkCtrl* m_hyperlink{nullptr}; /* side tools */ @@ -94,6 +95,10 @@ private: wxStaticBitmap* m_bitmap_wifi_signal; wxBoxSizer * m_side_tools_sizer; + Label* m_link_network_state; + Label* m_st_txt_error_code; + Label* m_st_txt_error_desc; + Label* m_st_txt_extra_info; SelectMachinePopup m_select_machine; @@ -105,6 +110,11 @@ private: wxBitmap m_printer_img; wxBitmap m_arrow_img; + ScalableButton* m_more_button; + bool m_more_err_state{false}; + ScalableBitmap m_more_err_open; + ScalableBitmap m_more_err_close; + int last_wifi_signal = -1; wxTimer* m_refresh_timer = nullptr; int last_status; @@ -126,6 +136,7 @@ public: void init_bitmap(); void init_timer(); void init_tabpanel(); + void update_connect_err_info(int code, wxString desc, wxString info); Tabbook* get_tabpanel() { return m_tabpanel; }; void set_default(); wxWindow* create_side_tools(); diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp index 3c36be40e..73cd83134 100644 --- a/src/slic3r/GUI/Preferences.cpp +++ b/src/slic3r/GUI/Preferences.cpp @@ -1119,6 +1119,9 @@ wxWindow* PreferencesDialog::create_debug_page() wxBoxSizer *bSizer = new wxBoxSizer(wxVERTICAL); + + auto enable_ssl_for_mqtt = create_item_checkbox(_L("Enable SSL(MQTT)"), page, _L("Enable SSL(MQTT)"), 50, "enable_ssl_for_mqtt"); + auto enable_ssl_for_ftp = create_item_checkbox(_L("Enable SSL(FTP)"), page, _L("Enable SSL(MQTT)"), 50, "enable_ssl_for_ftp"); auto item_internal_developer = create_item_checkbox(_L("Internal developer mode"), page, _L("Internal developer mode"), 50, "internal_developer_mode"); auto title_log_level = create_item_title(_L("Log Level"), page, _L("Log Level")); @@ -1233,6 +1236,9 @@ wxWindow* PreferencesDialog::create_debug_page() }); + + bSizer->Add(enable_ssl_for_mqtt, 0, wxTOP, FromDIP(3)); + bSizer->Add(enable_ssl_for_ftp, 0, wxTOP, FromDIP(3)); bSizer->Add(item_internal_developer, 0, wxTOP, FromDIP(3)); bSizer->Add(title_log_level, 0, wxTOP| wxEXPAND, FromDIP(20)); bSizer->Add(loglevel_combox, 0, wxTOP, FromDIP(3)); diff --git a/src/slic3r/GUI/ReleaseNote.cpp b/src/slic3r/GUI/ReleaseNote.cpp index aced6aa0e..3ac6badf3 100644 --- a/src/slic3r/GUI/ReleaseNote.cpp +++ b/src/slic3r/GUI/ReleaseNote.cpp @@ -1334,8 +1334,16 @@ void InputIpAddressDialog::on_ok(wxMouseEvent& evt) m_send_job = std::make_shared(m_status_bar, wxGetApp().plater(), m_obj->dev_id); m_send_job->m_dev_ip = ip.ToStdString(); m_send_job->m_access_code = str_access_code.ToStdString(); + +#if !BBL_RELEASE_TO_PUBLIC + m_send_job->m_local_use_ssl_for_mqtt = wxGetApp().app_config->get("enable_ssl_for_mqtt") == "true"?true:false; + m_send_job->m_local_use_ssl_for_ftp = wxGetApp().app_config->get("enable_ssl_for_ftp") == "true"?true:false; +#else + m_send_job->m_local_use_ssl_for_mqtt = m_obj->local_use_ssl_for_mqtt; m_send_job->m_local_use_ssl_for_ftp = m_obj->local_use_ssl_for_ftp; +#endif + m_send_job->connection_type = m_obj->connection_type(); m_send_job->cloud_print_only = true; m_send_job->has_sdcard = m_obj->has_sdcard(); diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index 879b244fe..1a31aaabd 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -1364,7 +1364,7 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater) m_link_network_state = new Label(m_sw_print_failed_info, _L("Check the status of current system services")); m_link_network_state->SetForegroundColour(0x00AE42); m_link_network_state->SetFont(::Label::Body_12); - m_link_network_state->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {link_to_network_check();}); + m_link_network_state->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {wxGetApp().link_to_network_check();}); m_link_network_state->Bind(wxEVT_ENTER_WINDOW, [this](auto& e) {m_link_network_state->SetCursor(wxCURSOR_HAND);}); m_link_network_state->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {m_link_network_state->SetCursor(wxCURSOR_ARROW);}); @@ -1456,9 +1456,24 @@ void SelectMachineDialog::init_bind() on_send_print(); } else if (e.GetInt() == -2) { + show_status(PrintDialogStatus::PrintStatusSendingCanceled); + prepare_mode(); MessageDialog msg_wingow(nullptr, _L("Printer local connection failed, please try again."), "", wxAPPLY | wxOK); msg_wingow.ShowModal(); } + else if (e.GetInt() == 5) { + show_status(PrintDialogStatus::PrintStatusSendingCanceled); + prepare_mode(); + + DeviceManager* dev = Slic3r::GUI::wxGetApp().getDeviceManager(); + if (!dev) return; + ConnectPrinterDialog dlg(wxGetApp().mainframe, wxID_ANY, _L("Input access code")); + dlg.go_connect_printer(false); + dlg.set_machine_object(dev->get_selected_machine()); + if (dlg.ShowModal() == wxID_OK) { + this->connect_printer_mqtt(); + } + } }); m_bitmap_last_plate->Bind(wxEVT_LEFT_DOWN, [this](auto& e) { @@ -1485,33 +1500,6 @@ void SelectMachineDialog::check_focus(wxWindow* window) } } -void SelectMachineDialog::link_to_network_check() -{ - std::string url; - std::string country_code = Slic3r::GUI::wxGetApp().app_config->get_country_code(); - - - if (country_code == "US") { - url = "https://status.bambulab.com"; - } - else if (country_code == "CN") { - url = "https://status.bambulab.cn"; - } - else if (country_code == "ENV_CN_DEV") { - url = "https://status.bambu-lab.com"; - } - else if (country_code == "ENV_CN_QA") { - url = "https://status.bambu-lab.com"; - } - else if (country_code == "ENV_CN_PRE") { - url = "https://status.bambu-lab.com"; - } - else { - url = "https://status.bambu-lab.com"; - } - wxLaunchDefaultBrowser(url); -} - void SelectMachineDialog::show_print_failed_info(bool show, int code, wxString description, wxString extra) { @@ -2388,7 +2376,15 @@ void SelectMachineDialog::connect_printer_mqtt() MachineObject* obj_ = dev->get_selected_machine(); if (obj_->connection_type() == "cloud") { + show_status(PrintDialogStatus::PrintStatusSending); + m_status_bar->disable_cancel_button(); + m_status_bar->set_status_text("Connecting to the printer. Unable to cancel during the connection process."); + +#if !BBL_RELEASE_TO_PUBLIC + obj_->connect(false, wxGetApp().app_config->get("enable_ssl_for_mqtt") == "true" ? true : false); +#else obj_->connect(false, obj_->local_use_ssl_for_mqtt); +#endif } else { on_send_print(); @@ -2400,7 +2396,8 @@ void SelectMachineDialog::on_send_print() BOOST_LOG_TRIVIAL(info) << "print_job: on_ok to send"; m_is_canceled = false; Enable_Send_Button(false); - if (m_is_in_sending_mode) + + if (m_print_type == PrintFromType::FROM_NORMAL && m_is_in_sending_mode) return; int result = 0; @@ -2444,6 +2441,7 @@ void SelectMachineDialog::on_send_print() // enter sending mode sending_mode(); + m_status_bar->enable_cancel_button(); // get ams_mapping_result std::string ams_mapping_array; @@ -2502,8 +2500,14 @@ void SelectMachineDialog::on_send_print() m_print_job->m_dev_ip = obj_->dev_ip; m_print_job->m_ftp_folder = obj_->get_ftp_folder(); m_print_job->m_access_code = obj_->get_access_code(); + +#if !BBL_RELEASE_TO_PUBLIC + m_print_job->m_local_use_ssl_for_ftp = wxGetApp().app_config->get("enable_ssl_for_mqtt") == "true" ? true : false; + m_print_job->m_local_use_ssl_for_mqtt = wxGetApp().app_config->get("enable_ssl_for_ftp") == "true" ? true : false; +#else m_print_job->m_local_use_ssl_for_ftp = obj_->local_use_ssl_for_ftp; m_print_job->m_local_use_ssl_for_mqtt = obj_->local_use_ssl_for_mqtt; +#endif m_print_job->connection_type = obj_->connection_type(); m_print_job->cloud_print_only = obj_->is_cloud_print_only; @@ -3801,7 +3805,10 @@ bool SelectMachineDialog::Show(bool show) if (dev) { MachineObject* obj_ = dev->get_selected_machine(); if (obj_ && obj_->connection_type() == "cloud" && m_print_type == FROM_SDCARD_VIEW) { - obj_->disconnect(); + if (obj_->is_connected()) { + obj_->disconnect(); + } + } } } diff --git a/src/slic3r/GUI/SelectMachine.hpp b/src/slic3r/GUI/SelectMachine.hpp index fc8214c2c..e93ddd590 100644 --- a/src/slic3r/GUI/SelectMachine.hpp +++ b/src/slic3r/GUI/SelectMachine.hpp @@ -389,7 +389,6 @@ public: void init_bind(); void init_timer(); void check_focus(wxWindow* window); - void link_to_network_check(); void show_print_failed_info(bool show, int code = 0, wxString description = wxEmptyString, wxString extra = wxEmptyString); void check_fcous_state(wxWindow* window); void popup_filament_backup(); diff --git a/src/slic3r/GUI/SendToPrinter.cpp b/src/slic3r/GUI/SendToPrinter.cpp index 598e2670f..bacbc92bc 100644 --- a/src/slic3r/GUI/SendToPrinter.cpp +++ b/src/slic3r/GUI/SendToPrinter.cpp @@ -383,7 +383,7 @@ SendToPrinterDialog::SendToPrinterDialog(Plater *plater) m_link_network_state = new Label(m_sw_print_failed_info, _L("Check the status of current system services")); m_link_network_state->SetForegroundColour(0x00AE42); m_link_network_state->SetFont(::Label::Body_12); - m_link_network_state->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {link_to_network_check(); }); + m_link_network_state->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {wxGetApp().link_to_network_check(); }); m_link_network_state->Bind(wxEVT_ENTER_WINDOW, [this](auto& e) {m_link_network_state->SetCursor(wxCURSOR_HAND); }); m_link_network_state->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {m_link_network_state->SetCursor(wxCURSOR_ARROW); }); @@ -591,33 +591,6 @@ void SendToPrinterDialog::sending_mode() } } -void SendToPrinterDialog::link_to_network_check() -{ - std::string url; - std::string country_code = Slic3r::GUI::wxGetApp().app_config->get_country_code(); - - - if (country_code == "US") { - url = "https://status.bambulab.com"; - } - else if (country_code == "CN") { - url = "https://status.bambulab.cn"; - } - else if (country_code == "ENV_CN_DEV") { - url = "https://status.bambu-lab.com"; - } - else if (country_code == "ENV_CN_QA") { - url = "https://status.bambu-lab.com"; - } - else if (country_code == "ENV_CN_PRE") { - url = "https://status.bambu-lab.com"; - } - else { - url = "https://status.bambu-lab.com"; - } - wxLaunchDefaultBrowser(url); -} - void SendToPrinterDialog::prepare(int print_plate_idx) { m_print_plate_idx = print_plate_idx; @@ -793,6 +766,15 @@ void SendToPrinterDialog::on_ok(wxCommandEvent &event) m_send_job->m_access_code = obj_->get_access_code(); m_send_job->m_local_use_ssl_for_ftp = obj_->local_use_ssl_for_ftp; m_send_job->m_local_use_ssl_for_mqtt = obj_->local_use_ssl_for_mqtt; + +#if !BBL_RELEASE_TO_PUBLIC + m_send_job->m_local_use_ssl_for_ftp = wxGetApp().app_config->get("enable_ssl_for_mqtt") == "true" ? true : false; + m_send_job->m_local_use_ssl_for_mqtt = wxGetApp().app_config->get("enable_ssl_for_ftp") == "true" ? true : false; +#else + m_send_job->m_local_use_ssl_for_ftp = obj_->local_use_ssl_for_ftp; + m_send_job->m_local_use_ssl_for_mqtt = obj_->local_use_ssl_for_mqtt; +#endif + m_send_job->connection_type = obj_->connection_type(); m_send_job->cloud_print_only = true; m_send_job->has_sdcard = obj_->has_sdcard(); diff --git a/src/slic3r/GUI/SendToPrinter.hpp b/src/slic3r/GUI/SendToPrinter.hpp index 8ebe11bea..eebf4d794 100644 --- a/src/slic3r/GUI/SendToPrinter.hpp +++ b/src/slic3r/GUI/SendToPrinter.hpp @@ -128,7 +128,6 @@ public: void stripWhiteSpace(std::string& str); void prepare_mode(); void sending_mode(); - void link_to_network_check(); void reset_timeout(); void update_user_printer(); void update_show_status(); diff --git a/src/slic3r/Utils/CalibUtils.cpp b/src/slic3r/Utils/CalibUtils.cpp index 7224aedb3..0e2ad262b 100644 --- a/src/slic3r/Utils/CalibUtils.cpp +++ b/src/slic3r/Utils/CalibUtils.cpp @@ -618,8 +618,15 @@ void CalibUtils::send_to_print(const std::string& dev_id, const std::string& sel print_job->m_dev_ip = obj_->dev_ip; print_job->m_ftp_folder = obj_->get_ftp_folder(); print_job->m_access_code = obj_->get_access_code(); + +#if !BBL_RELEASE_TO_PUBLIC + print_job->m_local_use_ssl_for_ftp = wxGetApp().app_config->get("enable_ssl_for_mqtt") == "true" ? true : false; + print_job->m_local_use_ssl_for_mqtt = wxGetApp().app_config->get("enable_ssl_for_ftp") == "true" ? true : false; +#else print_job->m_local_use_ssl_for_ftp = obj_->local_use_ssl_for_ftp; print_job->m_local_use_ssl_for_mqtt = obj_->local_use_ssl_for_mqtt; +#endif + print_job->connection_type = obj_->connection_type(); print_job->cloud_print_only = obj_->is_cloud_print_only; print_job->set_print_job_finished_event(wxGetApp().plater()->get_send_calibration_finished_event()); diff --git a/src/slic3r/Utils/bambu_networking.hpp b/src/slic3r/Utils/bambu_networking.hpp index d1986d567..6181b0d00 100644 --- a/src/slic3r/Utils/bambu_networking.hpp +++ b/src/slic3r/Utils/bambu_networking.hpp @@ -35,8 +35,9 @@ namespace BBL { #define BAMBU_NETWORK_ERR_BIND_GET_PRINTER_TICKET_TIMEOUT -1040 //timeout to get ticket from printer #define BAMBU_NETWORK_ERR_BIND_GET_CLOUD_TICKET_TIMEOUT -1050 //timeout to get ticket from cloud server #define BAMBU_NETWORK_ERR_BIND_POST_TICKET_TO_CLOUD_FAILED -1060 //failed to post ticket to cloud server -#define BAMBU_NETWORK_ERR_BIND_PARSE_LOGIN_REPORT_FAILED -1070 //failed to parse login report reason -#define BAMBU_NETWORK_ERR_BIND_RECEIVE_LOGIN_REPORT_TIMEOUT -1080 //timeout to receive login report +#define BAMBU_NETWORK_ERR_BIND_PARSE_LOGIN_REPORT_FAILED -1070 //failed to parse login report reason no error code +#define BAMBU_NETWORK_ERR_BIND_ECODE_LOGIN_REPORT_FAILED -1080 //failed to parse login report reason has error code +#define BAMBU_NETWORK_ERR_BIND_RECEIVE_LOGIN_REPORT_TIMEOUT -1090 //timeout to receive login report //start_local_print_with_record error #define BAMBU_NETWORK_ERR_PRINT_WR_REQUEST_PROJECT_ID_FAILED -2010 //failed to request project id @@ -76,6 +77,10 @@ namespace BBL { //start_send_gcode_to_sdcard error #define BAMBU_NETWORK_ERR_PRINT_SG_UPLOAD_FTP_FAILED -5010 //failed to upload ftp +//connection to printer failed +#define BAMBU_NETWORK_ERR_CONNECTION_TO_PRINTER_FAILED -6010 //Connection to printer failed +#define BAMBU_NETWORK_ERR_CONNECTION_TO_SERVER_FAILED -6020 //Connection to server failed + #define BAMBU_NETWORK_LIBRARY "bambu_networking" #define BAMBU_NETWORK_AGENT_NAME "bambu_network_agent" diff --git a/version.inc b/version.inc index 3b7fd5148..edc32928d 100644 --- a/version.inc +++ b/version.inc @@ -12,4 +12,4 @@ set(BBL_INTERNAL_TESTING "1") endif() # The build_version should start from 50 in master branch -set(SLIC3R_VERSION "01.06.07.51") +set(SLIC3R_VERSION "01.06.08.51")