diff --git a/src/slic3r/GUI/BindDialog.cpp b/src/slic3r/GUI/BindDialog.cpp index ab838033de..4d3e4fc6d5 100644 --- a/src/slic3r/GUI/BindDialog.cpp +++ b/src/slic3r/GUI/BindDialog.cpp @@ -813,7 +813,7 @@ PingCodeBindDialog::~PingCodeBindDialog() { m_simplebook->SetSelection(0); auto m_bind_job = std::make_unique( - m_machine_info->get_dev_id(), m_machine_info->get_dev_ip(), m_machine_info->bind_sec_link, m_machine_info->bind_ssdp_version); + m_machine_info->get_dev_id(), m_machine_info->get_dev_ip(), m_machine_info->get_show_printer_type(), m_machine_info->bind_sec_link, m_machine_info->bind_ssdp_version); if (m_machine_info && (m_machine_info->get_printer_series() == PrinterSeries::SERIES_X1)) { m_bind_job->set_improved(false); diff --git a/src/slic3r/GUI/Jobs/BindJob.cpp b/src/slic3r/GUI/Jobs/BindJob.cpp index fa54ec4303..61c430c6e6 100644 --- a/src/slic3r/GUI/Jobs/BindJob.cpp +++ b/src/slic3r/GUI/Jobs/BindJob.cpp @@ -18,10 +18,11 @@ static auto waiting_auth_str = _u8L("Logging in"); static auto login_failed_str = _u8L("Login failed"); -BindJob::BindJob(std::string dev_id, std::string dev_ip, std::string sec_link, std::string ssdp_version) +BindJob::BindJob(std::string dev_id, std::string dev_ip, std::string dev_model, std::string sec_link, std::string ssdp_version) : m_dev_id(dev_id), m_dev_ip(dev_ip), + m_dev_model(dev_model), m_sec_link(sec_link), m_ssdp_version(ssdp_version) { @@ -60,7 +61,7 @@ void BindJob::process(Ctl &ctl) std::string timezone = get_timezone_utc_hm(offset); m_agent->track_update_property("ssdp_version", m_ssdp_version, "string"); - int result = m_agent->bind(m_dev_ip, m_dev_id, m_sec_link, timezone, m_improved, + int result = m_agent->bind(m_dev_ip, m_dev_id, m_dev_model, m_sec_link, timezone, m_improved, [this, &ctl, &curr_percent, &msg, &result_code, &result_info](int stage, int code, std::string info) { result_code = code; diff --git a/src/slic3r/GUI/Jobs/BindJob.hpp b/src/slic3r/GUI/Jobs/BindJob.hpp index 7890d63afb..af89e2fc1b 100644 --- a/src/slic3r/GUI/Jobs/BindJob.hpp +++ b/src/slic3r/GUI/Jobs/BindJob.hpp @@ -16,6 +16,7 @@ class BindJob : public Job std::function m_success_fun{nullptr}; std::string m_dev_id; std::string m_dev_ip; + std::string m_dev_model; std::string m_sec_link; std::string m_ssdp_version; bool m_job_finished{ false }; @@ -23,7 +24,7 @@ class BindJob : public Job bool m_improved{false}; public: - BindJob(std::string dev_id, std::string dev_ip, std::string sec_link, std::string ssdp_version); + BindJob(std::string dev_id, std::string dev_ip, std::string dev_model, std::string sec_link, std::string ssdp_version); int status_range() const { diff --git a/src/slic3r/Utils/BBLNetworkPlugin.hpp b/src/slic3r/Utils/BBLNetworkPlugin.hpp index ddbc0ac67c..f650f23546 100644 --- a/src/slic3r/Utils/BBLNetworkPlugin.hpp +++ b/src/slic3r/Utils/BBLNetworkPlugin.hpp @@ -68,7 +68,7 @@ typedef std::string (*func_build_login_info)(void *agent); typedef int (*func_ping_bind)(void *agent, std::string ping_code); typedef int (*func_bind_detect)(void *agent, std::string dev_ip, std::string sec_link, detectResult& detect); typedef int (*func_set_server_callback)(void *agent, OnServerErrFn fn); -typedef int (*func_bind)(void *agent, std::string dev_ip, std::string dev_id, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn); +typedef int (*func_bind)(void *agent, std::string dev_ip, std::string dev_id, std::string dev_model, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn); typedef int (*func_unbind)(void *agent, std::string dev_id); typedef std::string (*func_get_bambulab_host)(void *agent); typedef std::string (*func_get_user_selected_machine)(void *agent); diff --git a/src/slic3r/Utils/BBLPrinterAgent.cpp b/src/slic3r/Utils/BBLPrinterAgent.cpp index e8cdad1075..9701b04194 100644 --- a/src/slic3r/Utils/BBLPrinterAgent.cpp +++ b/src/slic3r/Utils/BBLPrinterAgent.cpp @@ -138,13 +138,13 @@ int BBLPrinterAgent::bind_detect(std::string dev_ip, std::string sec_link, detec return -1; } -int BBLPrinterAgent::bind(std::string dev_ip, std::string dev_id, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) +int BBLPrinterAgent::bind(std::string dev_ip, std::string dev_id, std::string dev_model, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) { auto& plugin = BBLNetworkPlugin::instance(); auto agent = plugin.get_agent(); auto func = plugin.get_bind(); if (func && agent) { - return func(agent, dev_ip, dev_id, sec_link, timezone, improved, update_fn); + return func(agent, dev_ip, dev_id, dev_model, sec_link, timezone, improved, update_fn); } return -1; } diff --git a/src/slic3r/Utils/BBLPrinterAgent.hpp b/src/slic3r/Utils/BBLPrinterAgent.hpp index b98161ea3d..b4d2726ccf 100644 --- a/src/slic3r/Utils/BBLPrinterAgent.hpp +++ b/src/slic3r/Utils/BBLPrinterAgent.hpp @@ -42,7 +42,7 @@ public: // Binding int ping_bind(std::string ping_code) override; int bind_detect(std::string dev_ip, std::string sec_link, detectResult& detect) override; - int bind(std::string dev_ip, std::string dev_id, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) override; + int bind(std::string dev_ip, std::string dev_id, std::string dev_model, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) override; int unbind(std::string dev_id) override; int request_bind_ticket(std::string* ticket) override; int set_server_callback(OnServerErrFn fn) override; diff --git a/src/slic3r/Utils/IPrinterAgent.hpp b/src/slic3r/Utils/IPrinterAgent.hpp index a8712520ef..52da1a069a 100644 --- a/src/slic3r/Utils/IPrinterAgent.hpp +++ b/src/slic3r/Utils/IPrinterAgent.hpp @@ -127,7 +127,7 @@ public: /** * Execute the multi-stage printer binding workflow. */ - virtual int bind(std::string dev_ip, std::string dev_id, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) = 0; + virtual int bind(std::string dev_ip, std::string dev_id, std::string dev_model, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) = 0; /** * Remove the association between account and printer. diff --git a/src/slic3r/Utils/MoonrakerPrinterAgent.cpp b/src/slic3r/Utils/MoonrakerPrinterAgent.cpp index b0ea653dd3..17e0573457 100644 --- a/src/slic3r/Utils/MoonrakerPrinterAgent.cpp +++ b/src/slic3r/Utils/MoonrakerPrinterAgent.cpp @@ -229,10 +229,11 @@ int MoonrakerPrinterAgent::bind_detect(std::string dev_ip, std::string sec_link, } int MoonrakerPrinterAgent::bind( - std::string dev_ip, std::string dev_id, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) + std::string dev_ip, std::string dev_id, std::string dev_model, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) { (void) dev_ip; (void) dev_id; + (void) dev_model; (void) sec_link; (void) timezone; (void) improved; diff --git a/src/slic3r/Utils/MoonrakerPrinterAgent.hpp b/src/slic3r/Utils/MoonrakerPrinterAgent.hpp index a37a6c3fd6..bf152bcaac 100644 --- a/src/slic3r/Utils/MoonrakerPrinterAgent.hpp +++ b/src/slic3r/Utils/MoonrakerPrinterAgent.hpp @@ -42,7 +42,7 @@ public: // Binding int ping_bind(std::string ping_code) override; int bind_detect(std::string dev_ip, std::string sec_link, detectResult& detect) override; - int bind(std::string dev_ip, std::string dev_id, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) override; + int bind(std::string dev_ip, std::string dev_id, std::string dev_model, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) override; int unbind(std::string dev_id) override; int request_bind_ticket(std::string* ticket) override; int set_server_callback(OnServerErrFn fn) override; diff --git a/src/slic3r/Utils/NetworkAgent.cpp b/src/slic3r/Utils/NetworkAgent.cpp index 5073ac133c..44489ff445 100644 --- a/src/slic3r/Utils/NetworkAgent.cpp +++ b/src/slic3r/Utils/NetworkAgent.cpp @@ -824,10 +824,10 @@ int NetworkAgent::bind_detect(std::string dev_ip, std::string sec_link, detectRe } int NetworkAgent::bind( - std::string dev_ip, std::string dev_id, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) + std::string dev_ip, std::string dev_id, std::string dev_model, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) { if (m_printer_agent) - return m_printer_agent->bind(dev_ip, dev_id, sec_link, timezone, improved, update_fn); + return m_printer_agent->bind(dev_ip, dev_id, dev_model, sec_link, timezone, improved, update_fn); return -1; } diff --git a/src/slic3r/Utils/NetworkAgent.hpp b/src/slic3r/Utils/NetworkAgent.hpp index e640c9ab3b..5df64d3abf 100644 --- a/src/slic3r/Utils/NetworkAgent.hpp +++ b/src/slic3r/Utils/NetworkAgent.hpp @@ -150,7 +150,7 @@ public: bool start_discovery(bool start, bool sending); int ping_bind(std::string ping_code); int bind_detect(std::string dev_ip, std::string sec_link, detectResult& detect); - int bind(std::string dev_ip, std::string dev_id, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn); + int bind(std::string dev_ip, std::string dev_id, std::string dev_model, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn); int unbind(std::string dev_id); std::string get_user_selected_machine(); int set_user_selected_machine(std::string dev_id); diff --git a/src/slic3r/Utils/OrcaPrinterAgent.cpp b/src/slic3r/Utils/OrcaPrinterAgent.cpp index d16a5c5432..40ea519aba 100644 --- a/src/slic3r/Utils/OrcaPrinterAgent.cpp +++ b/src/slic3r/Utils/OrcaPrinterAgent.cpp @@ -78,7 +78,7 @@ int OrcaPrinterAgent::bind_detect(std::string dev_ip, std::string sec_link, dete } int OrcaPrinterAgent::bind( - std::string dev_ip, std::string dev_id, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) + std::string dev_ip, std::string dev_id, std::string dev_model, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) { return BAMBU_NETWORK_SUCCESS; } diff --git a/src/slic3r/Utils/OrcaPrinterAgent.hpp b/src/slic3r/Utils/OrcaPrinterAgent.hpp index 4f2828f6be..5b627c7b81 100644 --- a/src/slic3r/Utils/OrcaPrinterAgent.hpp +++ b/src/slic3r/Utils/OrcaPrinterAgent.hpp @@ -42,7 +42,7 @@ public: // Binding int ping_bind(std::string ping_code) override; int bind_detect(std::string dev_ip, std::string sec_link, detectResult& detect) override; - int bind(std::string dev_ip, std::string dev_id, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) override; + int bind(std::string dev_ip, std::string dev_id, std::string dev_model, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) override; int unbind(std::string dev_id) override; int request_bind_ticket(std::string* ticket) override; int set_server_callback(OnServerErrFn fn) override; diff --git a/src/slic3r/Utils/bambu_networking.hpp b/src/slic3r/Utils/bambu_networking.hpp index b4c12ced47..4049fd21f8 100644 --- a/src/slic3r/Utils/bambu_networking.hpp +++ b/src/slic3r/Utils/bambu_networking.hpp @@ -269,14 +269,18 @@ struct PrintParams { bool task_vibration_cali; /* vibration calibration of task */ bool task_layer_inspect; /* first layer inspection of task */ bool task_record_timelapse; /* record timelapse of task */ + bool task_timelapse_use_internal; bool task_use_ams; std::string task_bed_type; std::string extra_options; int auto_bed_leveling{ 0 }; int auto_flow_cali{ 0 }; int auto_offset_cali{ 0 }; + int extruder_cali_manual_mode{ -1 }; bool task_ext_change_assist; bool try_emmc_print; + std::string svc_context; + std::string slicer_uid; }; struct TaskQueryParams @@ -313,7 +317,8 @@ struct NetworkLibraryVersion { }; static const NetworkLibraryVersion AVAILABLE_NETWORK_VERSIONS[] = { - {"02.03.00.62", "02.03.00.62", nullptr, true, nullptr}, + {"02.08.01.52", "02.08.01.52", nullptr, true, nullptr}, + {"02.03.00.62", "02.03.00.62", nullptr, false, nullptr}, {"02.01.01.52", "02.01.01.52", nullptr, false, nullptr}, {"02.00.02.50", "02.00.02.50", nullptr, false, "This version may crash on startup due to Bambu Lab's signature verification."}, {BAMBU_NETWORK_AGENT_VERSION_LEGACY, BAMBU_NETWORK_AGENT_VERSION_LEGACY " (legacy)", nullptr, false, nullptr},