FIX:Fixed incorrect printer status

jira:[fixed device issue ]

Change-Id: Ibab8db09854adca1e80acaf3831c6e4191e137c7
(cherry picked from commit 0572d811780ac406214665af7748e4ba8243bdc8)
This commit is contained in:
tao wang 2024-12-10 17:29:43 +08:00 committed by lane.wei
parent 99c717e271
commit b60cdcfed8
5 changed files with 85 additions and 72 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1640,8 +1640,6 @@ int MachineObject::command_select_extruder(int id)
{ {
BOOST_LOG_TRIVIAL(info) << "select_extruder"; BOOST_LOG_TRIVIAL(info) << "select_extruder";
nozzle_selected_count = HOLD_COUNT_MAX;
json j; json j;
j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++); j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
j["print"]["command"] = "select_extruder"; j["print"]["command"] = "select_extruder";
@ -1923,8 +1921,6 @@ int MachineObject::command_set_nozzle_new(int nozzle_id, int temp)
{ {
BOOST_LOG_TRIVIAL(info) << "set_nozzle_temp"; BOOST_LOG_TRIVIAL(info) << "set_nozzle_temp";
nozzle_selected_count = HOLD_COUNT_MAX;
json j; json j;
j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++); j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
j["print"]["command"] = "set_nozzle_temp"; j["print"]["command"] = "set_nozzle_temp";
@ -5752,18 +5748,21 @@ void MachineObject::parse_new_info(json print)
if (device.contains("extruder")) { if (device.contains("extruder")) {
json const& extruder = device["extruder"]; json const& extruder = device["extruder"];
m_extder_data = ExtderData(); auto extder_data = ExtderData();
m_extder_data.total_extder_count = get_flag_bits(extruder["state"].get<int>(), 0, 3); extder_data.total_extder_count = get_flag_bits(extruder["state"].get<int>(), 0, 3);
if (nozzle_selected_count > 0) {
nozzle_selected_count--; extder_data.current_extder_id = get_flag_bits(extruder["state"].get<int>(), 4, 3);
} else { extder_data.target_extder_id = get_flag_bits(extruder["state"].get<int>(), 8, 3);
m_extder_data.current_extder_id = get_flag_bits(extruder["state"].get<int>(), 4, 3); extder_data.switch_extder_state = (ExtruderSwitchState) get_flag_bits(extruder["state"].get<int>(), 12, 2);
m_extder_data.target_extder_id = get_flag_bits(extruder["state"].get<int>(), 8, 3);
m_extder_data.switch_extder_state = (ExtruderSwitchState) get_flag_bits(extruder["state"].get<int>(), 12, 2); if (extder_data.switch_extder_state != ExtruderSwitchState::ES_SWITCHING && extder_data.target_extder_id == extder_data.current_extder_id) {
m_extder_data.current_loading_extder_id = get_flag_bits(extruder["state"].get<int>(), 15, 3); flag_update_nozzle = true;
} }
extder_data.current_loading_extder_id = get_flag_bits(extruder["state"].get<int>(), 15, 3);
extder_data.current_busy_for_loading = get_flag_bits(extruder["state"].get<int>(), 19);
for (auto it = extruder["info"].begin(); it != extruder["info"].end(); it++) { for (auto it = extruder["info"].begin(); it != extruder["info"].end(); it++) {
Extder extder_obj; Extder extder_obj;
@ -5813,17 +5812,19 @@ void MachineObject::parse_new_info(json print)
} }
} }
} }
m_extder_data.extders.push_back(extder_obj); extder_data.extders.push_back(extder_obj);
} }
if (m_extder_data.extders.size() <= 0) { if (extder_data.extders.size() <= 0) {
// def data // def data
m_extder_data.current_extder_id = 0; extder_data.current_extder_id = 0;
m_extder_data.target_extder_id = 0; extder_data.target_extder_id = 0;
m_extder_data.total_extder_count = 1; extder_data.total_extder_count = 1;
Extder nozzle; Extder nozzle;
m_extder_data.extders.push_back(nozzle); extder_data.extders.push_back(nozzle);
} }
m_extder_data = extder_data;
} }
} }
} }

View File

@ -221,6 +221,7 @@ struct ExtderData
int target_extder_id{0}; int target_extder_id{0};
int total_extder_count {0}; int total_extder_count {0};
int current_loading_extder_id {-1}; int current_loading_extder_id {-1};
bool current_busy_for_loading{false};
ExtruderSwitchState switch_extder_state; ExtruderSwitchState switch_extder_state;
std::vector<Extder> extders; std::vector<Extder> extders;
}; };
@ -917,6 +918,7 @@ public:
int xcam_filament_tangle_detect_count = 0; int xcam_filament_tangle_detect_count = 0;
int ams_print_option_count = 0; int ams_print_option_count = 0;
int nozzle_selected_count = 0; int nozzle_selected_count = 0;
bool flag_update_nozzle = {true};
//supported features //supported features
bool is_support_chamber_edit{false}; bool is_support_chamber_edit{false};

View File

@ -2165,6 +2165,7 @@ StatusPanel::StatusPanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, co
if (id == m_tempCtrl_bed->GetType()) { if (id == m_tempCtrl_bed->GetType()) {
on_set_bed_temp(); on_set_bed_temp();
} else if (id == m_tempCtrl_nozzle->GetType()) { } else if (id == m_tempCtrl_nozzle->GetType()) {
if (e.GetString() == wxString::Format("%d", MAIN_NOZZLE_ID)) { if (e.GetString() == wxString::Format("%d", MAIN_NOZZLE_ID)) {
on_set_nozzle_temp(MAIN_NOZZLE_ID); on_set_nozzle_temp(MAIN_NOZZLE_ID);
} else if (e.GetString() == wxString::Format("%d", DEPUTY_NOZZLE_ID)) { } else if (e.GetString() == wxString::Format("%d", DEPUTY_NOZZLE_ID)) {
@ -2190,6 +2191,8 @@ StatusPanel::StatusPanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, co
m_tempCtrl_bed->Connect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_bed_temp_set_focus), NULL, this); m_tempCtrl_bed->Connect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_bed_temp_set_focus), NULL, this);
m_tempCtrl_nozzle->Connect(wxEVT_KILL_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_kill_focus), NULL, this); m_tempCtrl_nozzle->Connect(wxEVT_KILL_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_kill_focus), NULL, this);
m_tempCtrl_nozzle->Connect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_set_focus), NULL, this); m_tempCtrl_nozzle->Connect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_set_focus), NULL, this);
m_tempCtrl_nozzle_deputy->Connect(wxEVT_KILL_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_kill_focus), NULL, this);
m_tempCtrl_nozzle_deputy->Connect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_set_focus), NULL, this);
m_tempCtrl_chamber->Connect(wxEVT_KILL_FOCUS, wxFocusEventHandler(StatusPanel::on_cham_temp_kill_focus), NULL, this); m_tempCtrl_chamber->Connect(wxEVT_KILL_FOCUS, wxFocusEventHandler(StatusPanel::on_cham_temp_kill_focus), NULL, this);
m_tempCtrl_chamber->Connect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_cham_temp_set_focus), NULL, this); m_tempCtrl_chamber->Connect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_cham_temp_set_focus), NULL, this);
m_switch_lamp->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_lamp_switch), NULL, this); m_switch_lamp->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_lamp_switch), NULL, this);
@ -2256,6 +2259,10 @@ StatusPanel::~StatusPanel()
m_tempCtrl_bed->Disconnect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_bed_temp_set_focus), NULL, this); m_tempCtrl_bed->Disconnect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_bed_temp_set_focus), NULL, this);
m_tempCtrl_nozzle->Disconnect(wxEVT_KILL_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_kill_focus), NULL, this); m_tempCtrl_nozzle->Disconnect(wxEVT_KILL_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_kill_focus), NULL, this);
m_tempCtrl_nozzle->Disconnect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_set_focus), NULL, this); m_tempCtrl_nozzle->Disconnect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_set_focus), NULL, this);
m_tempCtrl_nozzle_deputy->Disconnect(wxEVT_KILL_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_kill_focus), NULL, this);
m_tempCtrl_nozzle_deputy->Disconnect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_set_focus), NULL, this);
m_switch_lamp->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_lamp_switch), NULL, this); m_switch_lamp->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_lamp_switch), NULL, this);
/*m_switch_nozzle_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this); /*m_switch_nozzle_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this);
m_switch_printing_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this); m_switch_printing_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this);
@ -2853,24 +2860,28 @@ void StatusPanel::update_temp_ctrl(MachineObject *obj)
if (m_temp_nozzle_timeout > 0) { if (m_temp_nozzle_timeout > 0) {
m_temp_nozzle_timeout--; m_temp_nozzle_timeout--;
} else { } else {
if (!nozzle_temp_input) { m_tempCtrl_nozzle->SetTagTemp((int) obj->m_extder_data.extders[MAIN_NOZZLE_ID].target_temp); } if (!nozzle_temp_input) {
m_tempCtrl_nozzle->SetTagTemp((int) obj->m_extder_data.extders[MAIN_NOZZLE_ID].target_temp);
}
} }
if (m_temp_nozzle_deputy_timeout > 0) { if (m_temp_nozzle_deputy_timeout > 0) {
m_temp_nozzle_deputy_timeout--; m_temp_nozzle_deputy_timeout--;
} }
else { else {
if (!nozzle_temp_input && nozzle_num >= 2) { m_tempCtrl_nozzle_deputy->SetTagTemp((int)obj->m_extder_data.extders[DEPUTY_NOZZLE_ID].target_temp); } if (!nozzle_temp_input && nozzle_num >= 2) {
m_tempCtrl_nozzle_deputy->SetTagTemp((int)obj->m_extder_data.extders[DEPUTY_NOZZLE_ID].target_temp);
}
} }
if ((obj->m_extder_data.extders[0].target_temp - obj->m_extder_data.extders[0].temp) >= TEMP_THRESHOLD_VAL) { if ((obj->m_extder_data.extders[MAIN_NOZZLE_ID].target_temp - obj->m_extder_data.extders[MAIN_NOZZLE_ID].temp) >= TEMP_THRESHOLD_VAL) {
m_tempCtrl_nozzle->SetIconActive(); m_tempCtrl_nozzle->SetIconActive();
} else { } else {
m_tempCtrl_nozzle->SetIconNormal(); m_tempCtrl_nozzle->SetIconNormal();
} }
if (nozzle_num >= 2 && obj->m_extder_data.extders.size() > 1){ if (nozzle_num >= 2 && obj->m_extder_data.extders.size() > 1){
if ((obj->m_extder_data.extders[1].target_temp - obj->m_extder_data.extders[1].temp) >= TEMP_THRESHOLD_VAL) { if ((obj->m_extder_data.extders[DEPUTY_NOZZLE_ID].target_temp - obj->m_extder_data.extders[DEPUTY_NOZZLE_ID].temp) >= TEMP_THRESHOLD_VAL) {
m_tempCtrl_nozzle_deputy->SetIconActive(); m_tempCtrl_nozzle_deputy->SetIconActive();
} }
else { else {
@ -2913,6 +2924,7 @@ void StatusPanel::update_misc_ctrl(MachineObject *obj)
m_extruderImage[select_index]->update(ExtruderState::FILLED_LOAD, ExtruderState::FILLED_UNLOAD); m_extruderImage[select_index]->update(ExtruderState::FILLED_LOAD, ExtruderState::FILLED_UNLOAD);
/*current*/ /*current*/
if (obj->flag_update_nozzle) {
if (obj->m_extder_data.current_extder_id == 0xf) { if (obj->m_extder_data.current_extder_id == 0xf) {
m_extruderImage[select_index]->setExtruderUsed(""); m_extruderImage[select_index]->setExtruderUsed("");
m_nozzle_btn_panel->updateState(""); m_nozzle_btn_panel->updateState("");
@ -2923,7 +2935,7 @@ void StatusPanel::update_misc_ctrl(MachineObject *obj)
m_extruderImage[select_index]->setExtruderUsed("left"); m_extruderImage[select_index]->setExtruderUsed("left");
m_nozzle_btn_panel->updateState("left"); m_nozzle_btn_panel->updateState("left");
} }
Layout(); }
} else { } else {
m_nozzle_btn_panel->Hide(); m_nozzle_btn_panel->Hide();
m_extruder_book->SetSelection(m_nozzle_num); m_extruder_book->SetSelection(m_nozzle_num);
@ -3162,24 +3174,19 @@ void StatusPanel::update_ams(MachineObject *obj)
m_ams_control->SetExtruder(false, true, ext.snow.ams_id, m_ams_control->GetCanColour(obj->m_ams_id, obj->m_tray_id)); m_ams_control->SetExtruder(false, true, ext.snow.ams_id, m_ams_control->GetCanColour(obj->m_ams_id, obj->m_tray_id));
} }
} }
//m_ams_control->SetAmsStep(std::to_string(VIRTUAL_TRAY_MAIN_ID), "0", AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3);
//m_ams_control->SetExtruder(true, true, std::to_string(VIRTUAL_TRAY_MAIN_ID), *wxRED);
} }
bool ams_loading_state = false; bool ams_loading_state = false;
auto ams_status_sub = obj->ams_status_sub; auto ams_status_sub = obj->ams_status_sub;
int vt_tray_id = VIRTUAL_TRAY_DEPUTY_ID; int vt_tray_id = VIRTUAL_TRAY_DEPUTY_ID;
/*if (obj->is_enable_np) { if (obj->is_enable_np) {
if (obj->m_extder_data.current_loading_extder_id == MAIN_NOZZLE_ID || obj->m_extder_data.current_loading_extder_id == DEPUTY_NOZZLE_ID) { if (obj->m_extder_data.current_busy_for_loading) {
ams_loading_state = true; ams_loading_state = true;
} }
} else if (obj->ams_status_main == AMS_STATUS_MAIN_FILAMENT_CHANGE) { } else if (obj->ams_status_main == AMS_STATUS_MAIN_FILAMENT_CHANGE) {
ams_loading_state = true; ams_loading_state = true;
}*/ }
if (ams_loading_state) { if (ams_loading_state) {
update_filament_step(); update_filament_step();
@ -3346,7 +3353,6 @@ void StatusPanel::update_ams_insert_material(MachineObject* obj) {
void StatusPanel::update_ams_control_state(std::string ams_id, std::string slot_id) void StatusPanel::update_ams_control_state(std::string ams_id, std::string slot_id)
{ {
return;
// set default value to true // set default value to true
bool enable[ACTION_BTN_COUNT]; bool enable[ACTION_BTN_COUNT];
enable[ACTION_BTN_LOAD] = true; enable[ACTION_BTN_LOAD] = true;
@ -3362,10 +3368,13 @@ void StatusPanel::update_ams_control_state(std::string ams_id, std::string slot_
else { else {
/*switch now*/ /*switch now*/
bool in_switch_filament = false; bool in_switch_filament = false;
for ( auto ext : obj->m_extder_data.extders) {
if (ext.ams_stat == AmsStatusMain::AMS_STATUS_MAIN_FILAMENT_CHANGE) { if (obj->is_enable_np) {
if (obj->m_extder_data.current_busy_for_loading) {
in_switch_filament = true; in_switch_filament = true;
} }
} else if (obj->ams_status_main == AMS_STATUS_MAIN_FILAMENT_CHANGE) {
in_switch_filament = true;
} }
if (in_switch_filament) { if (in_switch_filament) {
@ -4011,7 +4020,7 @@ void StatusPanel::on_set_nozzle_temp(int nozzle_id)
if (nozzle_id == DEPUTY_NOZZLE_ID) { if (nozzle_id == DEPUTY_NOZZLE_ID) {
wxString str = m_tempCtrl_nozzle_deputy->GetTextCtrl()->GetValue(); wxString str = m_tempCtrl_nozzle_deputy->GetTextCtrl()->GetValue();
if (str.ToLong(&nozzle_temp) && obj) { if (str.ToLong(&nozzle_temp) && obj) {
// set_hold_count(m_temp_nozzle_deputy_timeout); set_hold_count(m_temp_nozzle_deputy_timeout);
if (nozzle_temp > m_tempCtrl_nozzle_deputy->get_max_temp()) { if (nozzle_temp > m_tempCtrl_nozzle_deputy->get_max_temp()) {
nozzle_temp = m_tempCtrl_nozzle_deputy->get_max_temp(); nozzle_temp = m_tempCtrl_nozzle_deputy->get_max_temp();
m_tempCtrl_nozzle_deputy->SetTagTemp(wxString::Format("%d", nozzle_temp)); m_tempCtrl_nozzle_deputy->SetTagTemp(wxString::Format("%d", nozzle_temp));
@ -4055,7 +4064,6 @@ void StatusPanel::on_ams_load(SimpleEvent &event)
void StatusPanel::update_filament_step() void StatusPanel::update_filament_step()
{ {
//m_ams_control->UpdateStepCtrl(obj->is_filament_at_extruder());
m_filament_step->UpdateStepCtrl(obj->is_filament_at_extruder()); m_filament_step->UpdateStepCtrl(obj->is_filament_at_extruder());
if (!obj->is_filament_at_extruder()) { if (!obj->is_filament_at_extruder()) {
m_is_load_with_temp = true; m_is_load_with_temp = true;
@ -4776,7 +4784,7 @@ void StatusPanel::on_xyz_abs(wxCommandEvent &event)
void StatusPanel::on_nozzle_selected(wxCommandEvent &event) void StatusPanel::on_nozzle_selected(wxCommandEvent &event)
{ {
if (obj) { if (obj) {
obj->m_extder_data.current_extder_id = event.GetInt(); obj->flag_update_nozzle = false;
auto nozzle_id = event.GetInt();obj->command_select_extruder(nozzle_id); auto nozzle_id = event.GetInt();obj->command_select_extruder(nozzle_id);
} }
} }
@ -4851,6 +4859,7 @@ void StatusPanel::set_default()
speed_lvl_timeout = 0; speed_lvl_timeout = 0;
m_switch_lamp_timeout = 0; m_switch_lamp_timeout = 0;
m_temp_nozzle_timeout = 0; m_temp_nozzle_timeout = 0;
m_temp_nozzle_deputy_timeout = 0;
m_temp_bed_timeout = 0; m_temp_bed_timeout = 0;
m_temp_chamber_timeout = 0; m_temp_chamber_timeout = 0;
m_switch_nozzle_fan_timeout = 0; m_switch_nozzle_fan_timeout = 0;

View File

@ -45,10 +45,11 @@ void FilamentLoad::SetFilamentStep(FilamentStep item_idx, FilamentStepType f_typ
m_filament_load_steps->Idle(); m_filament_load_steps->Idle();
m_filament_unload_steps->Idle(); m_filament_unload_steps->Idle();
m_filament_vt_load_steps->Idle(); m_filament_vt_load_steps->Idle();
this->Hide(); if (IsShown()) {Hide(); }
return; return;
} }
this->Show();
if (!IsShown()) {Show();}
wxString step_str = wxEmptyString; wxString step_str = wxEmptyString;
if (item_idx < FilamentStep::STEP_COUNT) { if (item_idx < FilamentStep::STEP_COUNT) {
step_str = FILAMENT_CHANGE_STEP_STRING[item_idx]; step_str = FILAMENT_CHANGE_STEP_STRING[item_idx];
@ -58,36 +59,36 @@ void FilamentLoad::SetFilamentStep(FilamentStep item_idx, FilamentStepType f_typ
if (f_type == FilamentStepType::STEP_TYPE_LOAD) { if (f_type == FilamentStepType::STEP_TYPE_LOAD) {
step_control = m_filament_load_steps; step_control = m_filament_load_steps;
if (item_idx > 0 && item_idx < FilamentStep::STEP_COUNT) { if (item_idx > 0 && item_idx < FilamentStep::STEP_COUNT) {
if (this->GetSelection() != 0) { if (GetSelection() != 0) {
this->SetSelection(0); SetSelection(0);
} }
m_filament_load_steps->SelectItem(m_filament_load_steps->GetItemUseText(step_str)); m_filament_load_steps->SelectItem(m_filament_load_steps->GetItemUseText(step_str));
} }
else { else {
m_filament_load_steps->Idle(); m_filament_load_steps->Idle();
this->Hide(); Hide();
this->Layout(); Layout();
} }
} }
else if (f_type == FilamentStepType::STEP_TYPE_UNLOAD) { else if (f_type == FilamentStepType::STEP_TYPE_UNLOAD) {
step_control = m_filament_unload_steps; step_control = m_filament_unload_steps;
if (item_idx > 0 && item_idx < FilamentStep::STEP_COUNT) { if (item_idx > 0 && item_idx < FilamentStep::STEP_COUNT) {
if (GetSelection() != 1) { if (GetSelection() != 1) {
this->SetSelection(1); SetSelection(1);
this->Layout(); Layout();
} }
m_filament_unload_steps->SelectItem(m_filament_unload_steps->GetItemUseText(step_str)); m_filament_unload_steps->SelectItem(m_filament_unload_steps->GetItemUseText(step_str));
} }
else { else {
m_filament_unload_steps->Idle(); m_filament_unload_steps->Idle();
this->Hide(); Hide();
this->Layout(); Layout();
} }
} }
else if (f_type == FilamentStepType::STEP_TYPE_VT_LOAD) { else if (f_type == FilamentStepType::STEP_TYPE_VT_LOAD) {
step_control = m_filament_vt_load_steps; step_control = m_filament_vt_load_steps;
this->SetSelection(2); SetSelection(2);
this->Layout(); Layout();
if (item_idx > 0 && item_idx < FilamentStep::STEP_COUNT) { if (item_idx > 0 && item_idx < FilamentStep::STEP_COUNT) {
if (item_idx == STEP_CONFIRM_EXTRUDED) { if (item_idx == STEP_CONFIRM_EXTRUDED) {
m_filament_vt_load_steps->SelectItem(2); m_filament_vt_load_steps->SelectItem(2);
@ -98,8 +99,8 @@ void FilamentLoad::SetFilamentStep(FilamentStep item_idx, FilamentStepType f_typ
} }
else { else {
m_filament_vt_load_steps->Idle(); m_filament_vt_load_steps->Idle();
this->Hide(); Hide();
this->Layout(); Layout();
} }
} }
else { else {
@ -110,8 +111,8 @@ void FilamentLoad::SetFilamentStep(FilamentStep item_idx, FilamentStepType f_typ
} }
else { else {
m_filament_load_steps->Idle(); m_filament_load_steps->Idle();
this->Hide(); Hide();
this->Layout(); Layout();
} }
} }
@ -130,7 +131,7 @@ void FilamentLoad::UpdateStepCtrl(bool is_extrusion_exist) {
is_extrusion = true; //Forgot what it means, need to update dynamically is_extrusion = true; //Forgot what it means, need to update dynamically
if (m_ams_model == AMSModel::GENERIC_AMS || m_ext_model == AMSModel::GENERIC_AMS) { if (m_ams_model == AMSModel::GENERIC_AMS || m_ext_model == AMSModel::N3F_AMS) {
if (is_extrusion) { if (is_extrusion) {
m_filament_load_steps->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_HEAT_NOZZLE]); m_filament_load_steps->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_HEAT_NOZZLE]);
m_filament_load_steps->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_CUT_FILAMENT]); m_filament_load_steps->AppendItem(FILAMENT_CHANGE_STEP_STRING[FilamentStep::STEP_CUT_FILAMENT]);