Merge branch 'main' into feat/generic-n-extruders

This commit is contained in:
Ian Chua
2026-10-15 16:04:30 +08:00
473 changed files with 127462 additions and 21603 deletions
+11 -14
View File
@@ -1,10 +1,12 @@
#include "MoonrakerPrinterAgent.hpp"
#include "Http.hpp"
#include "IPrinterAgent.hpp"
#include "NetworkAgentFactory.hpp"
#include "bambu_networking.hpp"
#include "libslic3r/Preset.hpp"
#include "libslic3r/PresetBundle.hpp"
#include "slic3r/GUI/GUI_App.hpp"
#include "slic3r/GUI/I18N.hpp"
#include "slic3r/GUI/DeviceManager.hpp"
#include "slic3r/GUI/DeviceCore/DevFilaSystem.h"
#include "slic3r/GUI/DeviceCore/DevManager.h"
@@ -141,7 +143,7 @@ MoonrakerPrinterAgent::~MoonrakerPrinterAgent()
AgentInfo MoonrakerPrinterAgent::get_agent_info_static()
{
return AgentInfo{"moonraker", "Moonraker", MoonrakerPrinterAgent_VERSION, "Klipper/Moonraker printer agent"};
return AgentInfo{MOONRAKER_PRINTER_AGENT_ID, "Moonraker", MoonrakerPrinterAgent_VERSION, "Klipper/Moonraker printer agent"};
}
void MoonrakerPrinterAgent::set_cloud_agent(std::shared_ptr<ICloudServiceAgent> cloud)
@@ -293,7 +295,7 @@ int MoonrakerPrinterAgent::start_send_gcode_to_sdcard(PrintParams params,
(void) wait_fn;
if (update_fn)
update_fn(PrintingStageCreate, 0, "Preparing...");
update_fn(PrintingStageCreate, 0, _u8L("Preparing..."));
std::string filename = params.filename;
if (filename.empty()) {
@@ -312,14 +314,14 @@ int MoonrakerPrinterAgent::start_send_gcode_to_sdcard(PrintParams params,
}
if (update_fn)
update_fn(PrintingStageFinished, 100, "File uploaded");
update_fn(PrintingStageFinished, 100, _u8L("File uploaded"));
return BAMBU_NETWORK_SUCCESS;
}
int MoonrakerPrinterAgent::start_local_print(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn)
{
if (update_fn)
update_fn(PrintingStageCreate, 0, "Preparing...");
update_fn(PrintingStageCreate, 0, _u8L("Preparing..."));
// Check cancellation
if (cancel_fn && cancel_fn()) {
@@ -350,7 +352,7 @@ int MoonrakerPrinterAgent::start_local_print(PrintParams params, OnUpdateStatusF
// Upload file
if (update_fn)
update_fn(PrintingStageUpload, 0, "Uploading G-code...");
update_fn(PrintingStageUpload, 0, _u8L("Uploading G-code..."));
if (!upload_gcode(gcode_path, upload_filename, device_info.base_url, device_info.api_key, update_fn, cancel_fn)) {
return BAMBU_NETWORK_ERR_PRINT_LP_UPLOAD_FTP_FAILED;
}
@@ -362,14 +364,14 @@ int MoonrakerPrinterAgent::start_local_print(PrintParams params, OnUpdateStatusF
// Start print via gcode script (simpler than JSON-RPC)
if (update_fn)
update_fn(PrintingStageSending, 0, "Starting print...");
update_fn(PrintingStageSending, 0, _u8L("Starting print..."));
std::string gcode = "SDCARD_PRINT_FILE FILENAME=" + upload_filename;
if (!send_gcode_sync(device_info.dev_id, gcode)) {
return BAMBU_NETWORK_ERR_PRINT_LP_PUBLISH_MSG_FAILED;
}
if (update_fn)
update_fn(PrintingStageFinished, 100, "Print started");
update_fn(PrintingStageFinished, 100, _u8L("Print started"));
return BAMBU_NETWORK_SUCCESS;
}
@@ -1390,7 +1392,7 @@ void MoonrakerPrinterAgent::announce_printhost_device()
{
std::lock_guard<std::recursive_mutex> lock(state_mutex);
ssdp_fn = on_ssdp_msg_fn;
if (!ssdp_fn) {
if (!ssdp_fn || device_info.dev_id.empty() || device_info.dev_ip.empty() || device_info.base_url.empty()) {
return;
}
if (ssdp_announced_host == device_info.base_url && !ssdp_announced_id.empty()) {
@@ -1411,11 +1413,6 @@ void MoonrakerPrinterAgent::announce_printhost_device()
const std::string model_id = device_info.model_id;
if (auto* app_config = GUI::wxGetApp().app_config) {
const std::string access_code = device_info.api_key.empty() ? "88888888" : device_info.api_key;
app_config->set_str("access_code", device_info.dev_id, access_code);
}
nlohmann::json payload;
payload["dev_name"] = dev_name;
payload["dev_id"] = device_info.dev_id;
@@ -2124,7 +2121,7 @@ bool MoonrakerPrinterAgent::upload_gcode(const std::string& local_path,
// Report progress via OnUpdateStatusFn
if (update_fn && progress.ultotal > 0) {
int percent = static_cast<int>((progress.ulnow * 100) / progress.ultotal);
update_fn(PrintingStageUpload, percent, "Uploading...");
update_fn(PrintingStageUpload, percent, _u8L("Uploading..."));
}
})
.perform_sync();