From 2d8ddca1d606326a57d9c4fa0925c4ec983675e0 Mon Sep 17 00:00:00 2001 From: tao wang Date: Thu, 25 May 2023 16:51:01 +0800 Subject: [PATCH] ENH:synchronize different codes Change-Id: I011b39ee85eecbb9da99d1c4fe1f2875267acc32 --- src/libslic3r/AppConfig.cpp | 6 +++++ src/slic3r/GUI/DeviceManager.cpp | 44 ++++++++++++++++++------------- src/slic3r/GUI/DeviceManager.hpp | 7 ++--- src/slic3r/GUI/Jobs/SendJob.hpp | 4 +-- src/slic3r/GUI/Plater.cpp | 2 +- src/slic3r/GUI/Preferences.cpp | 2 -- src/slic3r/GUI/ReleaseNote.cpp | 8 +++--- src/slic3r/GUI/SelectMachine.cpp | 2 -- src/slic3r/GUI/SendToPrinter.cpp | 3 +-- src/slic3r/Utils/CalibUtils.cpp | 1 + src/slic3r/Utils/NetworkAgent.cpp | 8 +++--- src/slic3r/Utils/NetworkAgent.hpp | 4 +-- 12 files changed, 50 insertions(+), 41 deletions(-) diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp index 54efc4af6..8e73040b2 100644 --- a/src/libslic3r/AppConfig.cpp +++ b/src/libslic3r/AppConfig.cpp @@ -204,6 +204,12 @@ void AppConfig::set_defaults() if (get("developer_mode").empty()) set_bool("developer_mode", false); + if (get("enable_ssl_for_mqtt").empty()) + set_bool("enable_ssl_for_mqtt", true); + + if (get("enable_ssl_for_ftp").empty()) + set_bool("enable_ssl_for_ftp", true); + if (get("severity_level").empty()) set("severity_level", "info"); diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 95633b05a..da76d000c 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -1118,6 +1118,17 @@ std::string MachineObject::get_firmware_type_str() return "engineer"; } +std::string MachineObject::get_lifecycle_type_str() +{ + if (lifecycle == PrinterFirmwareType::FIRMWARE_TYPE_ENGINEER) + return "engineer"; + else if (lifecycle == PrinterFirmwareType::FIRMWARE_TYPE_PRODUCTION) + return "product"; + + // return engineer by default; + return "engineer"; +} + bool MachineObject::is_in_upgrading() { return upgrade_display_state == (int)UpgradingInProgress; @@ -1406,15 +1417,6 @@ void MachineObject::parse_version_func() is_support_ams_humidity = true; } - /*if (firmware_type == PrinterFirmwareType::FIRMWARE_TYPE_ENGINEER) { - local_use_ssl_for_mqtt = false; - local_use_ssl_for_ftp = true; - } - 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; } @@ -1430,6 +1432,7 @@ void MachineObject::parse_version_func() 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; + is_support_ai_monitoring = ota_version->second.sw_ver.compare("01.02.99.00") >= 0; is_support_remote_tunnel = ota_version->second.sw_ver.compare("01.02.99.00") >= 0; } local_camera_proto = 1; @@ -1440,14 +1443,6 @@ void MachineObject::parse_version_func() } else if (printer_type == "C12") { is_support_ai_monitoring = true; is_cloud_print_only = true; - 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_support_remote_tunnel = true; local_camera_proto = 1; } @@ -2312,7 +2307,7 @@ int MachineObject::connect(bool is_anonymous, bool use_openssl) } if (m_agent) { try { - return m_agent->connect_printer(dev_id, dev_ip, username, password); + return m_agent->connect_printer(dev_id, dev_ip, username, password, use_openssl); } catch (...) { ; } @@ -2937,6 +2932,18 @@ int MachineObject::parse_json(std::string payload) ; } + try { + if (jj.contains("lifecycle")) { + if (jj["lifecycle"].get() == "engineer") + lifecycle = PrinterFirmwareType::FIRMWARE_TYPE_ENGINEER; + else if (jj["lifecycle"].get() == "product") + lifecycle = PrinterFirmwareType::FIRMWARE_TYPE_PRODUCTION; + } + } + catch (...) { + ; + } + try { if (jj.contains("lights_report") && jj["lights_report"].is_array()) { for (auto it = jj["lights_report"].begin(); it != jj["lights_report"].end(); it++) { @@ -4461,7 +4468,6 @@ 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 diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index 77ca11c82..7ffc97bed 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -452,9 +452,8 @@ public: std::string dev_name; std::string dev_ip; std::string dev_id; - bool local_use_ssl { false }; - bool local_use_ssl_for_mqtt { false }; - bool local_use_ssl_for_ftp { false }; + bool local_use_ssl_for_mqtt { true }; + bool local_use_ssl_for_ftp { true }; float nozzle_diameter { 0.0f }; std::string dev_connection_type; /* lan | cloud */ std::string connection_type() { return dev_connection_type; } @@ -598,6 +597,7 @@ public: int upgrade_display_state = 0; // 0 : upgrade unavailable, 1: upgrade idle, 2: upgrading, 3: upgrade_finished int upgrade_display_hold_count = 0; PrinterFirmwareType firmware_type; // engineer|production + PrinterFirmwareType lifecycle; std::string upgrade_progress; std::string upgrade_message; std::string upgrade_status; @@ -614,6 +614,7 @@ public: std::vector firmware_list; std::string get_firmware_type_str(); + std::string get_lifecycle_type_str(); bool is_in_upgrading(); bool is_upgrading_avalable(); int get_upgrade_percent(); diff --git a/src/slic3r/GUI/Jobs/SendJob.hpp b/src/slic3r/GUI/Jobs/SendJob.hpp index 579bebf21..3f5129baf 100644 --- a/src/slic3r/GUI/Jobs/SendJob.hpp +++ b/src/slic3r/GUI/Jobs/SendJob.hpp @@ -41,8 +41,8 @@ public: std::string task_ams_mapping; std::string connection_type; - bool m_local_use_ssl_for_ftp{false}; - bool m_local_use_ssl_for_mqtt{false}; + bool m_local_use_ssl_for_ftp{true}; + bool m_local_use_ssl_for_mqtt{true}; bool cloud_print_only { false }; bool has_sdcard { false }; bool task_use_ams { true }; diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 17f7a1165..0c9c71f96 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -7998,7 +7998,7 @@ void Plater::import_model_id(wxString download_info) } //target_path /= (boost::format("%1%_%2%.3mf") % filename % unique).str(); - target_path /= fs::path(wxString(filename)); + target_path /= fs::path(wxString(filename).wc_str()); fs::path tmp_path = target_path; tmp_path += format(".%1%", ".download"); diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp index 73cd83134..1c16ebe72 100644 --- a/src/slic3r/GUI/Preferences.cpp +++ b/src/slic3r/GUI/Preferences.cpp @@ -1119,7 +1119,6 @@ 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"); @@ -1236,7 +1235,6 @@ 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)); diff --git a/src/slic3r/GUI/ReleaseNote.cpp b/src/slic3r/GUI/ReleaseNote.cpp index 3ac6badf3..9fa69aba8 100644 --- a/src/slic3r/GUI/ReleaseNote.cpp +++ b/src/slic3r/GUI/ReleaseNote.cpp @@ -1335,11 +1335,11 @@ void InputIpAddressDialog::on_ok(wxMouseEvent& evt) 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 +#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 diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index 1a31aaabd..737714149 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -2379,7 +2379,6 @@ void SelectMachineDialog::connect_printer_mqtt() 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 @@ -2500,7 +2499,6 @@ 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; diff --git a/src/slic3r/GUI/SendToPrinter.cpp b/src/slic3r/GUI/SendToPrinter.cpp index bacbc92bc..f2e035800 100644 --- a/src/slic3r/GUI/SendToPrinter.cpp +++ b/src/slic3r/GUI/SendToPrinter.cpp @@ -764,8 +764,7 @@ void SendToPrinterDialog::on_ok(wxCommandEvent &event) m_send_job = std::make_shared(m_status_bar, m_plater, m_printer_last_select); m_send_job->m_dev_ip = obj_->dev_ip; 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; diff --git a/src/slic3r/Utils/CalibUtils.cpp b/src/slic3r/Utils/CalibUtils.cpp index 0e2ad262b..ac111cb15 100644 --- a/src/slic3r/Utils/CalibUtils.cpp +++ b/src/slic3r/Utils/CalibUtils.cpp @@ -619,6 +619,7 @@ void CalibUtils::send_to_print(const std::string& dev_id, const std::string& sel 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; diff --git a/src/slic3r/Utils/NetworkAgent.cpp b/src/slic3r/Utils/NetworkAgent.cpp index 5034ce4ec..a1c84d16a 100644 --- a/src/slic3r/Utils/NetworkAgent.cpp +++ b/src/slic3r/Utils/NetworkAgent.cpp @@ -683,14 +683,14 @@ int NetworkAgent::send_message(std::string dev_id, std::string json_str, int qos return ret; } -int NetworkAgent::connect_printer(std::string dev_id, std::string dev_ip, std::string username, std::string password) +int NetworkAgent::connect_printer(std::string dev_id, std::string dev_ip, std::string username, std::string password, bool use_ssl) { int ret = 0; if (network_agent && connect_printer_ptr) { - ret = connect_printer_ptr(network_agent, dev_id, dev_ip, username, password); + ret = connect_printer_ptr(network_agent, dev_id, dev_ip, username, password, use_ssl); if (ret) - BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << boost::format(" error: network_agent=%1%, ret=%2%, dev_id=%3%, dev_ip=%4%, username=%5%, password=%6%") - %network_agent %ret %dev_id %dev_ip %username %password; + BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << (boost::format(" error: network_agent=%1%, ret=%2%, dev_id=%3%, dev_ip=%4%, username=%5%, password=%6%") + % network_agent % ret % dev_id % dev_ip % username % password).str(); } return ret; } diff --git a/src/slic3r/Utils/NetworkAgent.hpp b/src/slic3r/Utils/NetworkAgent.hpp index 9eb218e2e..7ba730887 100644 --- a/src/slic3r/Utils/NetworkAgent.hpp +++ b/src/slic3r/Utils/NetworkAgent.hpp @@ -32,7 +32,7 @@ typedef int (*func_refresh_connection)(void *agent); typedef int (*func_start_subscribe)(void *agent, std::string module); typedef int (*func_stop_subscribe)(void *agent, std::string module); typedef int (*func_send_message)(void *agent, std::string dev_id, std::string json_str, int qos); -typedef int (*func_connect_printer)(void *agent, std::string dev_id, std::string dev_ip, std::string username, std::string password); +typedef int (*func_connect_printer)(void *agent, std::string dev_id, std::string dev_ip, std::string username, std::string password, bool use_ssl); typedef int (*func_disconnect_printer)(void *agent); typedef int (*func_send_message_to_printer)(void *agent, std::string dev_id, std::string json_str, int qos); typedef bool (*func_start_discovery)(void *agent, bool start, bool sending); @@ -125,7 +125,7 @@ public: int start_subscribe(std::string module); int stop_subscribe(std::string module); int send_message(std::string dev_id, std::string json_str, int qos); - int connect_printer(std::string dev_id, std::string dev_ip, std::string username, std::string password); + int connect_printer(std::string dev_id, std::string dev_ip, std::string username, std::string password, bool use_ssl); int disconnect_printer(); int send_message_to_printer(std::string dev_id, std::string json_str, int qos); bool start_discovery(bool start, bool sending);