ENH:optimize filament settings for k value

Change-Id: Ia82b3427370eb47a9e79d9835b6ee8ba5e58434f
This commit is contained in:
tao wang 2023-06-27 20:49:36 +08:00 committed by Lane.Wei
parent 0962b23904
commit c2abcfc6fd
1 changed files with 89 additions and 94 deletions

View File

@ -305,6 +305,8 @@ void AMSMaterialsSetting::create_panel_kn(wxWindow* parent)
kn_val_sizer->Add(m_k_param, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(0)); kn_val_sizer->Add(m_k_param, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(0));
m_input_k_val = new TextInput(parent, wxEmptyString, wxEmptyString, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_CENTRE | wxTE_PROCESS_ENTER); m_input_k_val = new TextInput(parent, wxEmptyString, wxEmptyString, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_CENTRE | wxTE_PROCESS_ENTER);
m_input_k_val->SetMinSize(wxSize(FromDIP(245), -1));
m_input_k_val->SetMaxSize(wxSize(FromDIP(245), -1));
m_input_k_val->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); m_input_k_val->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
kn_val_sizer->Add(m_input_k_val, 0, wxALL | wxEXPAND | wxALIGN_CENTER_VERTICAL, FromDIP(0)); kn_val_sizer->Add(m_input_k_val, 0, wxALL | wxEXPAND | wxALIGN_CENTER_VERTICAL, FromDIP(0));
@ -437,14 +439,12 @@ void AMSMaterialsSetting::on_select_reset(wxCommandEvent& event) {
if (obj) { if (obj) {
// set filament // set filament
if (!is_virtual_tray()) {
if (is_virtual_tray()) { if (is_virtual_tray()) {
obj->command_ams_filament_settings(255, VIRTUAL_TRAY_ID, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int); obj->command_ams_filament_settings(255, VIRTUAL_TRAY_ID, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int);
} }
else { else {
obj->command_ams_filament_settings(ams_id, tray_id, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int); obj->command_ams_filament_settings(ams_id, tray_id, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int);
} }
}
// set k / n value // set k / n value
if (obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY)) { if (obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY)) {
@ -545,7 +545,7 @@ void AMSMaterialsSetting::on_select_ok(wxCommandEvent &event)
} }
// set filament // set filament
if (!is_virtual_tray()) { if (m_is_third) {
if (is_virtual_tray()) { if (is_virtual_tray()) {
obj->command_ams_filament_settings(255, VIRTUAL_TRAY_ID, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int); obj->command_ams_filament_settings(255, VIRTUAL_TRAY_ID, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int);
} }
@ -554,7 +554,6 @@ void AMSMaterialsSetting::on_select_ok(wxCommandEvent &event)
} }
} }
//reset param //reset param
wxString k_text = m_input_k_val->GetTextCtrl()->GetValue(); wxString k_text = m_input_k_val->GetTextCtrl()->GetValue();
wxString n_text = m_input_n_val->GetTextCtrl()->GetValue(); wxString n_text = m_input_n_val->GetTextCtrl()->GetValue();
@ -734,7 +733,7 @@ bool AMSMaterialsSetting::Show(bool show)
m_input_nozzle_min->GetTextCtrl()->SetSize(wxSize(-1, FromDIP(20))); m_input_nozzle_min->GetTextCtrl()->SetSize(wxSize(-1, FromDIP(20)));
//m_clr_picker->set_color(m_clr_picker->GetParent()->GetBackgroundColour()); //m_clr_picker->set_color(m_clr_picker->GetParent()->GetBackgroundColour());
if (obj && (obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI) || obj->is_high_printer_type())) { /*if (obj && (obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI) || obj->is_high_printer_type())) {
m_ratio_text->Show(); m_ratio_text->Show();
m_k_param->Show(); m_k_param->Show();
m_input_k_val->Show(); m_input_k_val->Show();
@ -743,7 +742,10 @@ bool AMSMaterialsSetting::Show(bool show)
m_ratio_text->Hide(); m_ratio_text->Hide();
m_k_param->Hide(); m_k_param->Hide();
m_input_k_val->Hide(); m_input_k_val->Hide();
} }*/
m_ratio_text->Show();
m_k_param->Show();
m_input_k_val->Show();
Layout(); Layout();
Fit(); Fit();
wxGetApp().UpdateDarkUI(this); wxGetApp().UpdateDarkUI(this);
@ -763,57 +765,6 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi
m_input_k_val->GetTextCtrl()->SetValue(k); m_input_k_val->GetTextCtrl()->SetValue(k);
m_input_n_val->GetTextCtrl()->SetValue(n); m_input_n_val->GetTextCtrl()->SetValue(n);
if (is_virtual_tray() && obj) {
m_button_reset->Show();
m_button_confirm->Show();
update();
Layout();
Fit();
ShowModal();
return;
} else {
/* m_clr_picker->set_color(wxColour(
m_clrData->GetColour().Red(),
m_clrData->GetColour().Green(),
m_clrData->GetColour().Blue(),
254
));*/
if (!m_is_third) {
m_button_reset->Hide();
if (obj && obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY)) {
m_button_confirm->Show();
} else {
m_button_confirm->Hide();
}
m_sn_number->SetLabel(sn);
m_panel_SN->Show();
m_comboBox_filament->Hide();
m_readonly_filament->Show();
//m_readonly_filament->GetTextCtrl()->SetLabel("Bambu " + filament);
m_readonly_filament->SetLabel("Bambu " + filament);
m_input_nozzle_min->GetTextCtrl()->SetValue(temp_min);
m_input_nozzle_max->GetTextCtrl()->SetValue(temp_max);
m_title_pa_profile->Hide();
m_comboBox_cali_result->Hide();
update();
Layout();
Fit();
ShowModal();
return;
}
m_button_reset->Show();
m_button_confirm->Show();
m_panel_SN->Hide();
m_comboBox_filament->Show();
m_readonly_filament->Hide();
m_title_pa_profile->Show();
m_comboBox_cali_result->Show();
int selection_idx = -1, idx = 0; int selection_idx = -1, idx = 0;
wxArrayString filament_items; wxArrayString filament_items;
std::set<std::string> filament_id_set; std::set<std::string> filament_id_set;
@ -875,6 +826,8 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi
} }
} }
} }
}
m_comboBox_filament->Set(filament_items); m_comboBox_filament->Set(filament_items);
m_comboBox_filament->SetSelection(selection_idx); m_comboBox_filament->SetSelection(selection_idx);
post_select_event(selection_idx); post_select_event(selection_idx);
@ -882,7 +835,49 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi
if (selection_idx < 0) { if (selection_idx < 0) {
m_comboBox_filament->SetValue(wxEmptyString); m_comboBox_filament->SetValue(wxEmptyString);
} }
if (is_virtual_tray() && obj) {
m_button_reset->Show();
m_button_confirm->Show();
update();
Layout();
Fit();
ShowModal();
return;
} else {
if (!m_is_third) {
m_button_reset->Hide();
if (obj && obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY)) {
m_button_confirm->Show();
} else {
m_button_confirm->Hide();
} }
m_sn_number->SetLabel(sn);
m_panel_SN->Show();
m_comboBox_filament->Hide();
m_readonly_filament->Show();
//m_readonly_filament->GetTextCtrl()->SetLabel("Bambu " + filament);
m_readonly_filament->SetLabel("Bambu " + filament);
m_input_nozzle_min->GetTextCtrl()->SetValue(temp_min);
m_input_nozzle_max->GetTextCtrl()->SetValue(temp_max);
m_title_pa_profile->Hide();
m_comboBox_cali_result->Hide();
update();
Layout();
Fit();
ShowModal();
return;
}
m_button_reset->Show();
m_button_confirm->Show();
m_panel_SN->Hide();
m_comboBox_filament->Show();
m_readonly_filament->Hide();
m_title_pa_profile->Show();
m_comboBox_cali_result->Show();
} }
update(); update();
@ -1006,6 +1001,9 @@ void AMSMaterialsSetting::on_select_filament(wxCommandEvent &evt)
wxArrayString items; wxArrayString items;
m_pa_profile_items.clear(); m_pa_profile_items.clear();
m_input_k_val->Enable(true);
m_input_n_val->Enable(true);
if (this->obj->is_high_printer_type()) { if (this->obj->is_high_printer_type()) {
std::vector<PACalibResult> cali_history = this->obj->pa_calib_tab; std::vector<PACalibResult> cali_history = this->obj->pa_calib_tab;
items.push_back("default"); items.push_back("default");
@ -1035,10 +1033,7 @@ void AMSMaterialsSetting::on_select_filament(wxCommandEvent &evt)
m_input_n_val->GetTextCtrl()->SetValue(std::to_string(this->obj->pa_calib_tab[cali_select_idx].n_coef)); m_input_n_val->GetTextCtrl()->SetValue(std::to_string(this->obj->pa_calib_tab[cali_select_idx].n_coef));
} }
} }
else {
m_input_k_val->Enable(true);
m_input_n_val->Enable(true);
}
} }
void AMSMaterialsSetting::on_dpi_changed(const wxRect &suggested_rect) void AMSMaterialsSetting::on_dpi_changed(const wxRect &suggested_rect)