From f3610897c68b5c532d61915483d7681a8671ff6b Mon Sep 17 00:00:00 2001 From: "zhimin.zeng" Date: Fri, 25 Apr 2025 17:06:09 +0800 Subject: [PATCH] FIX: fix the use of PA and flow to push messages jira: STUDIO-11875 Change-Id: I4183ff5f3b297c5c1136fedfd22442a326bc400b (cherry picked from commit f2314f8f57ca2786332807816ade9e1d6efdfae5) --- src/slic3r/GUI/CalibrationWizardStartPage.cpp | 2 +- src/slic3r/GUI/DeviceManager.cpp | 7 +++++-- src/slic3r/GUI/SelectMachine.cpp | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/slic3r/GUI/CalibrationWizardStartPage.cpp b/src/slic3r/GUI/CalibrationWizardStartPage.cpp index 9b1d739061..3fb815bf4c 100644 --- a/src/slic3r/GUI/CalibrationWizardStartPage.cpp +++ b/src/slic3r/GUI/CalibrationWizardStartPage.cpp @@ -296,7 +296,7 @@ void CalibrationFlowRateStartPage::on_device_connected(MachineObject* obj) m_action_panel->enable_button(CaliPageActionType::CALI_ACTION_AUTO_CALI, true); m_action_panel->enable_button(CaliPageActionType::CALI_ACTION_MANUAL_CALI, true); - if (obj->is_multi_extruders() || obj->get_printer_series() == PrinterSeries::SERIES_P1P) { + if (obj->get_printer_series() == PrinterSeries::SERIES_P1P) { m_action_panel->show_button(CaliPageActionType::CALI_ACTION_MANAGE_RESULT, false); m_action_panel->show_button(CaliPageActionType::CALI_ACTION_AUTO_CALI, false); m_action_panel->show_button(CaliPageActionType::CALI_ACTION_MANUAL_CALI, true); diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 415662f65d..fe4cb7dad5 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -1568,9 +1568,10 @@ void MachineObject::parse_status(int flag) } is_support_flow_calibration = ((flag >> 15) & 0x1) != 0; - if (this->is_series_n()) { is_support_flow_calibration = true; }/* STUDIO-11014 cover the mistake of AP at n series*/ + if (this->is_series_o()) { is_support_flow_calibration = false; } // todo: Temp modification due to incorrect machine push message for H2D is_support_pa_calibration = ((flag >> 16) & 0x1) != 0; + if (this->is_series_p()) { is_support_pa_calibration = false; } // todo: Temp modification due to incorrect machine push message for P if (time(nullptr) - xcam_prompt_sound_hold_start > HOLD_TIME_3SEC) { xcam_allow_prompt_sound = ((flag >> 17) & 0x1) != 0; @@ -3470,7 +3471,7 @@ int MachineObject::parse_json(std::string payload, bool key_field_only) if (jj.contains("support_flow_calibration") && jj["support_flow_calibration"].is_boolean()) { - is_support_flow_calibration = jj["support_flow_calibration"].get(); + is_support_pa_calibration = jj["support_flow_calibration"].get(); } if (jj.contains("support_auto_flow_calibration") && jj["support_auto_flow_calibration"].is_boolean()) @@ -6106,7 +6107,9 @@ void MachineObject::parse_new_info(json print) is_220V_voltage = get_flag_bits(fun, 2) == 0?false:true; is_support_flow_calibration = get_flag_bits(fun, 6); + if (this->is_series_o()) { is_support_flow_calibration = false; } // todo: Temp modification due to incorrect machine push message for H2D is_support_pa_calibration = get_flag_bits(fun, 7); + if (this->is_series_p()) { is_support_pa_calibration = false; } // todo: Temp modification due to incorrect machine push message for P is_support_prompt_sound = get_flag_bits(fun, 8); is_support_filament_tangle_detect = get_flag_bits(fun, 9); is_support_motor_noise_cali = get_flag_bits(fun, 10); diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index 34daccf393..c7dc5da916 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -2368,14 +2368,14 @@ void SelectMachineDialog::update_option_opts(MachineObject *obj) m_checkbox_list["nozzle_offset_cali"]->Show(obj->is_support_nozzle_offset_cali); /*flow_cali*/ - if (obj->is_support_flow_calibration) { + if (obj->is_support_pa_calibration) { if (obj->is_support_auto_flow_calibration && can_support_auto_cali()) { m_checkbox_list["flow_cali"]->update_options(ops_auto, _L("This process determines the dynamic flow values to improve overall print quality.\n*Automatic mode: Skip if the filament was calibrated recently.")); } else { m_checkbox_list["flow_cali"]->update_options(ops_no_auto, _L("This process determines the dynamic flow values to improve overall print quality.")); } } - m_checkbox_list["flow_cali"]->Show(obj->is_support_flow_calibration); + m_checkbox_list["flow_cali"]->Show(obj->is_support_pa_calibration); update_options_layout(); }