FIX:Fix the issue of extruder matching errors

jira:[for nozzle match]

Change-Id: I6965500bfb7feef6d18d28bea8a53a3c477f5e36
This commit is contained in:
tao wang 2024-11-06 22:09:33 +08:00 committed by lane.wei
parent 4e387d4ace
commit 7bcf4b6cc5
3 changed files with 17 additions and 28 deletions

View File

@ -646,7 +646,6 @@ MachineObject::MachineObject(NetworkAgent* agent, std::string name, std::string
is_ams_need_update = false; is_ams_need_update = false;
ams_insert_flag = false; ams_insert_flag = false;
ams_power_on_flag = false; ams_power_on_flag = false;
ams_support_use_ams = false;
ams_calibrate_remain_flag = false; ams_calibrate_remain_flag = false;
ams_humidity = 5; ams_humidity = 5;
@ -4091,7 +4090,6 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
} }
if (jj["ams"].contains("tray_reading_bits")) { if (jj["ams"].contains("tray_reading_bits")) {
tray_reading_bits = stol(jj["ams"]["tray_reading_bits"].get<std::string>(), nullptr, 16); tray_reading_bits = stol(jj["ams"]["tray_reading_bits"].get<std::string>(), nullptr, 16);
ams_support_use_ams = true;
} }
if (jj["ams"].contains("tray_is_bbl_bits")) { if (jj["ams"].contains("tray_is_bbl_bits")) {
tray_is_bbl_bits = stol(jj["ams"]["tray_is_bbl_bits"].get<std::string>(), nullptr, 16); tray_is_bbl_bits = stol(jj["ams"]["tray_is_bbl_bits"].get<std::string>(), nullptr, 16);

View File

@ -640,7 +640,6 @@ public:
bool ams_calibrate_remain_flag { false }; bool ams_calibrate_remain_flag { false };
bool ams_auto_switch_filament_flag { false }; bool ams_auto_switch_filament_flag { false };
bool ams_air_print_status { false }; bool ams_air_print_status { false };
bool ams_support_use_ams { false };
bool ams_support_virtual_tray { true }; bool ams_support_virtual_tray { true };
int ams_humidity; int ams_humidity;
int ams_user_setting_hold_count = 0; int ams_user_setting_hold_count = 0;

View File

@ -2237,7 +2237,7 @@ bool SelectMachineDialog::is_nozzle_type_match(ExtderData data) {
// The default two extruders are left, right, but the order of the extruders on the machine is right, left. // The default two extruders are left, right, but the order of the extruders on the machine is right, left.
std::vector<std::string> flow_type_of_machine; std::vector<std::string> flow_type_of_machine;
for (auto it = data.extders.rbegin(); it != data.extders.rend(); it++) { for (auto it = data.extders.begin(); it != data.extders.end(); it++) {
if (it->current_nozzle_flow_type == NozzleFlowType::H_FLOW) { if (it->current_nozzle_flow_type == NozzleFlowType::H_FLOW) {
flow_type_of_machine.push_back("Big Traffic"); flow_type_of_machine.push_back("Big Traffic");
} else if (it->current_nozzle_flow_type == NozzleFlowType::S_FLOW){ } else if (it->current_nozzle_flow_type == NozzleFlowType::S_FLOW){
@ -3739,17 +3739,14 @@ void SelectMachineDialog::update_flow_cali_check(MachineObject* obj)
void SelectMachineDialog::update_ams_check(MachineObject *obj) void SelectMachineDialog::update_ams_check(MachineObject *obj)
{ {
if (obj && obj->ams_support_use_ams && obj->has_ams() && !obj->is_enable_np) { if (obj && obj->has_ams() && !obj->is_enable_np) {
select_use_ams->Show(); select_use_ams->Show();
if (obj->get_printer_ams_type() == "generic") { if (obj->get_printer_ams_type() == "generic") {
img_use_ams_tip->Show(); img_use_ams_tip->Show();
} else { } else {
img_use_ams_tip->Hide(); img_use_ams_tip->Hide();
} }
} /* else { }
select_use_ams->Hide();
}*/
if (obj && obj->is_enable_np) { m_checkbox_list["use_ams"]->SetValue(true); } if (obj && obj->is_enable_np) { m_checkbox_list["use_ams"]->SetValue(true); }
} }
@ -3834,13 +3831,11 @@ void SelectMachineDialog::update_show_status()
// do ams mapping if no ams result // do ams mapping if no ams result
bool clean_ams_mapping = false; bool clean_ams_mapping = false;
if (obj_->has_ams() && m_ams_mapping_result.empty()) { if (m_ams_mapping_result.empty()) {
if (obj_->ams_support_use_ams) { if (m_checkbox_list["use_ams"]->GetValue()) {
if (m_checkbox_list["use_ams"]->GetValue()) { do_ams_mapping(obj_);
do_ams_mapping(obj_); } else {
} else { clean_ams_mapping = true;
clean_ams_mapping = true;
}
} }
} }
@ -3908,20 +3903,17 @@ void SelectMachineDialog::update_show_status()
return; return;
} }
if (obj_->ams_support_use_ams) { if (!m_checkbox_list["use_ams"]->GetValue()) {
if (!m_checkbox_list["use_ams"]->GetValue()) { m_ams_mapping_result.clear();
m_ams_mapping_result.clear(); sync_ams_mapping_result(m_ams_mapping_result);
sync_ams_mapping_result(m_ams_mapping_result);
if (has_timelapse_warning()) { if (has_timelapse_warning()) {
show_status(PrintDialogStatus::PrintStatusTimelapseWarning); show_status(PrintDialogStatus::PrintStatusTimelapseWarning);
} } else {
else { show_status(PrintDialogStatus::PrintStatusDisableAms);
show_status(PrintDialogStatus::PrintStatusDisableAms);
}
return;
} }
return;
} }