From 90a58ae4c6b542053342484d7867185e5ff4142f Mon Sep 17 00:00:00 2001 From: "xin.zhang" Date: Wed, 19 Mar 2025 18:21:37 +0800 Subject: [PATCH] FIX: use time to stay data jira: [STUDIO-10972] Change-Id: Ic87ecad9c104e24c050f3f9355f1b5983fad8853 --- src/slic3r/GUI/DeviceManager.cpp | 46 +++++++++++++++----------------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index d53d4373e..a71ec6b67 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -4956,17 +4956,22 @@ int MachineObject::parse_json(std::string payload, bool key_field_only) xcam_buildplate_marker_hold_count = HOLD_COUNT_MAX; } else if (jj["module_name"].get() == "printing_monitor") { - xcam_ai_monitoring = enable; - if (jj.contains("halt_print_sensitivity")) { - xcam_ai_monitoring_sensitivity = jj["halt_print_sensitivity"].get(); + if (time(nullptr) - xcam_ai_monitoring_hold_start > HOLD_TIME_MAX) { + xcam_ai_monitoring = enable; + if (jj.contains("halt_print_sensitivity")) { + xcam_ai_monitoring_sensitivity = jj["halt_print_sensitivity"].get(); + } } } else if (jj["module_name"].get() == "spaghetti_detector") { - // old protocol - xcam_ai_monitoring = enable; - if (jj.contains("print_halt")) { - if (jj["print_halt"].get()) - xcam_ai_monitoring_sensitivity = "medium"; + if (time(nullptr) - xcam_ai_monitoring_hold_start > HOLD_TIME_MAX) { + // old protocol + xcam_ai_monitoring = enable; + if (jj.contains("print_halt")) { + if (jj["print_halt"].get()) { + xcam_ai_monitoring_sensitivity = "medium"; + } + } } } } @@ -6018,25 +6023,18 @@ void MachineObject::parse_new_info(json print) xcam_first_layer_inspector = get_flag_bits(cfg, 12); - switch (get_flag_bits(cfg, 13, 2)) - { - case 0: - xcam_ai_monitoring_sensitivity = "never_halt"; - break; - case 1: - xcam_ai_monitoring_sensitivity = "low"; - break; - case 2: - xcam_ai_monitoring_sensitivity = "medium"; - break; - case 3: - xcam_ai_monitoring_sensitivity = "high"; - break; - } - if (time(nullptr) - xcam_ai_monitoring_hold_start > HOLD_COUNT_MAX) { xcam_ai_monitoring = get_flag_bits(cfg, 15); + + switch (get_flag_bits(cfg, 13, 2)) + { + case 0: xcam_ai_monitoring_sensitivity = "never_halt"; break; + case 1: xcam_ai_monitoring_sensitivity = "low"; break; + case 2: xcam_ai_monitoring_sensitivity = "medium"; break; + case 3: xcam_ai_monitoring_sensitivity = "high"; break; + default: break; + } } xcam_auto_recovery_step_loss = get_flag_bits(cfg, 16);