NEW:Support setting filaments in printing

jira:[set filament]

Change-Id: Ib37896f9101d93ca63c7edb0b1e6328045a5ddb3
(cherry picked from commit fa2dbd7ada18bc806be845673cce9eb4559cda80)
This commit is contained in:
tao wang 2024-08-13 11:41:45 +08:00 committed by Noisyfox
parent e9f9cf5c0a
commit 8eece6a66f
3 changed files with 25 additions and 4 deletions

View file

@ -413,7 +413,13 @@ void AMSMaterialsSetting::update()
void AMSMaterialsSetting::enable_confirm_button(bool en)
{
m_button_confirm->Show(en);
if (!en) {
m_button_confirm->Show(obj->is_support_filament_setting_inprinting);
}
else {
m_button_confirm->Show(en);
}
if (!m_is_third) {
m_tip_readonly->Hide();
}
@ -705,7 +711,7 @@ void AMSMaterialsSetting::on_picker_color(wxCommandEvent& event)
void AMSMaterialsSetting::on_clr_picker(wxMouseEvent &event)
{
if(!m_is_third || obj->is_in_printing() || obj->can_resume())
if(!m_is_third || !obj->is_support_filament_setting_inprinting)
return;
@ -922,8 +928,8 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi
}
m_button_reset->Show();
m_button_confirm->Show();
}
//m_button_confirm->Show();
}
m_comboBox_filament->Set(filament_items);
m_comboBox_filament->SetSelection(selection_idx);

View file

@ -3165,6 +3165,12 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
mc_print_line_number = atoi(jj["mc_print_line_number"].get<std::string>().c_str());
}
}
if (!key_field_only) {
if (jj.contains("flag3")) {
int flag3 = jj["flag3"].get<int>();
is_support_filament_setting_inprinting = get_flag_bits(flag3, 3);
}
}
if (!key_field_only) {
if (jj.contains("net")) {
if (jj["net"].contains("conf")) {
@ -4308,6 +4314,14 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
}
}
} else if (jj["command"].get<std::string>() == "ams_filament_setting" && !key_field_only) {
if (jj.contains("result") && jj.contains("reason")) {
if (jj["result"].get<std::string>() == "fail") {
auto err_code = jj["err_code"].get<int>();
print_error = err_code;
}
}
// BBS trigger ams UI update
ams_version = -1;

View file

@ -762,6 +762,7 @@ public:
bool is_support_p1s_plus{false};
bool is_support_nozzle_blob_detection{false};
bool is_support_air_print_detection{false};
bool is_support_filament_setting_inprinting{false};
int nozzle_max_temperature = -1;
int bed_temperature_limit = -1;