From c8ce030bd2de6b54a79e218d6073164956f6f0b9 Mon Sep 17 00:00:00 2001 From: tao wang Date: Fri, 13 Dec 2024 16:19:43 +0800 Subject: [PATCH] ENH:adjust the parsing of ams info data jira:[none ] Change-Id: I8e5125ae313b48b3f64fe59ae45ee7b437a0119f (cherry picked from commit c38074d3cdc38f8e676a443f23b20d9477facea9) --- src/slic3r/GUI/DeviceManager.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 8e8411df8..56ecad9a1 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -4178,15 +4178,14 @@ int MachineObject::parse_json(std::string payload, bool key_field_only) if (!it->contains("id")) continue; std::string ams_id = (*it)["id"].get(); - int nozzle_id = 0; // Default nozzle id + int nozzle_id = MAIN_NOZZLE_ID; // Default nozzle id int type_id = 1; // 0:dummy 1:ams 2:ams-lite 3:n3f 4:n3s - if (it->contains("nozzle")) { - nozzle_id = (*it)["nozzle"].get(); - } - - if (it->contains("type")) { - type_id = (*it)["type"].get(); + /*ams info*/ + if (it->contains("info")) { + std::string info = (*it)["info"].get(); + type_id = get_flag_bits(info, 0, 3); + nozzle_id = get_flag_bits(info, 8, 3); } /*AMS without initialization*/