FIX: clear last job status

Change-Id: I91c406c45c9e9d2a1c08048849a45babc41bb564
This commit is contained in:
liz.li 2023-07-06 19:43:19 +08:00 committed by Lane.Wei
parent a95de8ae25
commit ab54fb6c80
3 changed files with 29 additions and 4 deletions

View File

@ -357,7 +357,7 @@ void PressureAdvanceWizard::on_device_connected(MachineObject* obj)
if (m_curr_step != cali_step) {
if (obj_cali_mode == m_mode) {
if (obj->is_in_printing() || obj->is_printing_finished()) {
if (obj->is_in_printing() /*|| obj->is_printing_finished()*/ || obj->print_status == "FINISH") {
CalibrationWizard::set_cali_method(method);
show_step(cali_step);
}
@ -494,6 +494,9 @@ void PressureAdvanceWizard::on_cali_start()
}
show_step(m_curr_step->next);
CalibrationCaliPage* cali_page = (static_cast<CalibrationCaliPage*>(cali_step->page));
cali_page->clear_last_job_status();
}
void PressureAdvanceWizard::on_cali_save()
@ -829,6 +832,9 @@ void FlowRateWizard::on_cali_start(CaliPresetStage stage, float cali_value, Flow
}
show_step(m_curr_step->next);
CalibrationCaliPage* cali_page = (static_cast<CalibrationCaliPage*>(cali_step->page));
cali_page->clear_last_job_status();
}
void FlowRateWizard::on_cali_save()
@ -930,7 +936,7 @@ void FlowRateWizard::on_device_connected(MachineObject* obj)
if (obj) {
this->set_cali_method(method);
if (obj_cali_mode == m_mode) {
if (obj->is_in_printing() || obj->is_printing_finished()) {
if (obj->is_in_printing() /*|| obj->is_printing_finished()*/ || obj->print_status == "FINISH") {
if (method == CalibrationMethod::CALI_METHOD_MANUAL) {
if (cali_stage == 1) {
if (m_curr_step != cali_coarse_step)
@ -1143,6 +1149,9 @@ void MaxVolumetricSpeedWizard::on_cali_start()
}
preset_page->on_cali_start_job();
CalibrationCaliPage* cali_page = (static_cast<CalibrationCaliPage*>(cali_step->page));
cali_page->clear_last_job_status();
}
void MaxVolumetricSpeedWizard::on_cali_save()
@ -1202,7 +1211,7 @@ void MaxVolumetricSpeedWizard::on_device_connected(MachineObject *obj)
if (obj) {
this->set_cali_method(method);
if (obj_cali_mode == m_mode) {
if (obj->is_in_printing() || obj->is_printing_finished()) {
if (obj->is_in_printing() /*|| obj->is_printing_finished()*/ || obj->print_status == "FINISH") {
if (m_curr_step != cali_step) {
show_step(cali_step);
}

View File

@ -115,12 +115,25 @@ void CalibrationCaliPage::set_cali_img()
}
}
void CalibrationCaliPage::clear_last_job_status()
{
m_is_between_start_and_running = true;
}
void CalibrationCaliPage::update(MachineObject* obj)
{
static int get_result_count = 0;
// enable calibration when finished
bool enable_cali = false;
if (obj) {
if (obj->print_status == "RUNNING")
m_is_between_start_and_running = false;
if (m_is_between_start_and_running) {
reset_printing_values();
m_action_panel->enable_button(CaliPageActionType::CALI_ACTION_NEXT, false);
return;
}
if (m_cali_mode == CalibMode::Calib_PA_Line) {
if (m_cali_method == CalibrationMethod::CALI_METHOD_AUTO) {
if (get_obj_calibration_mode(obj) == m_cali_mode) {
@ -194,7 +207,7 @@ void CalibrationCaliPage::update(MachineObject* obj)
if (get_obj_calibration_mode(obj) == m_cali_mode && obj->is_printing_finished()) {
enable_cali = true;
} else {
;
enable_cali = false;
}
}
else {

View File

@ -26,6 +26,8 @@ public:
void update_subtask(MachineObject* obj);
void update_basic_print_data(bool def, float weight = 0.0, int prediction = 0);
void reset_printing_values();
void clear_last_job_status();
void on_device_connected(MachineObject* obj) override;
void set_cali_method(CalibrationMethod method) override;
@ -34,6 +36,7 @@ protected:
float get_selected_calibration_nozzle_dia(MachineObject* obj);
bool m_print_finish {false};
bool m_is_between_start_and_running { false };
wxBoxSizer* m_top_sizer;
CaliPageStepGuide* m_step_panel { nullptr };
PrintingTaskPanel* m_printing_panel { nullptr };