FIX: cali modify for get result

Change-Id: I7017eb186fa629b5d46df1b09bf1021936967689
This commit is contained in:
zhimin.zeng 2023-06-29 17:25:01 +08:00 committed by Lane.Wei
parent 7fc261e644
commit 8009f8991d
5 changed files with 12 additions and 7 deletions

View file

@ -1213,7 +1213,7 @@ void CalibrationWizard::update_print_progress()
{ {
request_calib_result(); request_calib_result();
} }
if (curr_obj->print_status == "FINISH") if (curr_obj->print_status == "FINISH" || curr_obj->print_status == "IDLE")
{ {
m_button_abort->Enable(false); m_button_abort->Enable(false);
m_button_abort->SetBitmap(m_bitmap_abort_disable.bmp()); m_button_abort->SetBitmap(m_bitmap_abort_disable.bmp());

View file

@ -1940,7 +1940,7 @@ int MachineObject::command_start_calibration(bool vibration, bool bed_leveling,
} }
} }
int MachineObject::command_start_pa_calibration(const X1CCalibInfos& pa_data) int MachineObject::command_start_pa_calibration(const X1CCalibInfos &pa_data, bool is_manual)
{ {
pa_calib_results.clear(); pa_calib_results.clear();
if ((printer_type == "BL-P001" || printer_type == "BL-P002")) { if ((printer_type == "BL-P001" || printer_type == "BL-P002")) {
@ -1948,6 +1948,7 @@ int MachineObject::command_start_pa_calibration(const X1CCalibInfos& pa_data)
j["print"]["command"] = "extrusion_cali"; j["print"]["command"] = "extrusion_cali";
j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++); j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
j["print"]["nozzle_diameter"] = to_string_nozzle_diameter(pa_data.calib_datas[0].nozzle_diameter); j["print"]["nozzle_diameter"] = to_string_nozzle_diameter(pa_data.calib_datas[0].nozzle_diameter);
j["print"]["manual"] = is_manual;
for (int i = 0; i < pa_data.calib_datas.size(); ++i) { for (int i = 0; i < pa_data.calib_datas.size(); ++i) {
j["print"]["filaments"][i]["tray_id"] = pa_data.calib_datas[i].tray_id; j["print"]["filaments"][i]["tray_id"] = pa_data.calib_datas[i].tray_id;
@ -1973,6 +1974,7 @@ int MachineObject::command_set_pa_calibration(const std::vector<PACalibResult>&
j["print"]["nozzle_diameter"] = to_string_nozzle_diameter(pa_calib_values[0].nozzle_diameter); j["print"]["nozzle_diameter"] = to_string_nozzle_diameter(pa_calib_values[0].nozzle_diameter);
for (int i = 0; i < pa_calib_values.size(); ++i) { for (int i = 0; i < pa_calib_values.size(); ++i) {
if (pa_calib_values[i].tray_id >= 0)
j["print"]["filaments"][i]["tray_id"] = pa_calib_values[i].tray_id; j["print"]["filaments"][i]["tray_id"] = pa_calib_values[i].tray_id;
j["print"]["filaments"][i]["filament_id"] = pa_calib_values[i].filament_id; j["print"]["filaments"][i]["filament_id"] = pa_calib_values[i].filament_id;
j["print"]["filaments"][i]["setting_id"] = pa_calib_values[i].setting_id; j["print"]["filaments"][i]["setting_id"] = pa_calib_values[i].setting_id;
@ -3906,6 +3908,8 @@ int MachineObject::parse_json(std::string payload)
else if ((*it)["n_coef"].is_string()) else if ((*it)["n_coef"].is_string())
pa_calib_result.n_coef = stof((*it)["n_coef"].get<std::string>().c_str()); pa_calib_result.n_coef = stof((*it)["n_coef"].get<std::string>().c_str());
pa_calib_result.confidence = (*it)["confidence"].get<int>();
pa_calib_results.push_back(pa_calib_result); pa_calib_results.push_back(pa_calib_result);
} }
has_get_pa_calib_result = true; has_get_pa_calib_result = true;

View file

@ -338,6 +338,7 @@ public:
std::string name; std::string name;
float k_value; float k_value;
float n_coef; float n_coef;
int confidence;
}; };
struct PACalibIndexInfo struct PACalibIndexInfo
@ -826,7 +827,7 @@ public:
int command_start_calibration(bool vibration, bool bed_leveling, bool xcam_cali); int command_start_calibration(bool vibration, bool bed_leveling, bool xcam_cali);
// PA calibration // PA calibration
int command_start_pa_calibration(const X1CCalibInfos& pa_data); int command_start_pa_calibration(const X1CCalibInfos& pa_data, bool is_manual = false);
int command_set_pa_calibration(const std::vector<PACalibResult>& pa_calib_values); int command_set_pa_calibration(const std::vector<PACalibResult>& pa_calib_values);
int command_delete_pa_calibration(const PACalibIndexInfo& pa_calib); int command_delete_pa_calibration(const PACalibIndexInfo& pa_calib);
int command_get_pa_calibration_tab(float nozzle_diameter, const std::string &filament_id = ""); int command_get_pa_calibration_tab(float nozzle_diameter, const std::string &filament_id = "");

View file

@ -92,7 +92,7 @@ CalibMode CalibUtils::get_calib_mode_by_name(const std::string &name)
return CalibMode::Calib_None; return CalibMode::Calib_None;
} }
void CalibUtils::calib_PA(const X1CCalibInfos& calib_infos, std::string& error_message) void CalibUtils::calib_PA(const X1CCalibInfos &calib_infos, std::string &error_message, bool is_manual)
{ {
DeviceManager *dev = Slic3r::GUI::wxGetApp().getDeviceManager(); DeviceManager *dev = Slic3r::GUI::wxGetApp().getDeviceManager();
if (!dev) if (!dev)
@ -103,7 +103,7 @@ void CalibUtils::calib_PA(const X1CCalibInfos& calib_infos, std::string& error_m
return; return;
if (calib_infos.calib_datas.size() > 0) if (calib_infos.calib_datas.size() > 0)
obj_->command_start_pa_calibration(calib_infos); obj_->command_start_pa_calibration(calib_infos, is_manual);
} }
void CalibUtils::emit_get_PA_calib_results(float nozzle_diameter) void CalibUtils::emit_get_PA_calib_results(float nozzle_diameter)

View file

@ -30,7 +30,7 @@ public:
static CalibMode get_calib_mode_by_name(const std::string &name); static CalibMode get_calib_mode_by_name(const std::string &name);
static void calib_PA(const X1CCalibInfos& calib_infos, std::string& error_message); static void calib_PA(const X1CCalibInfos &calib_infos, std::string &error_message, bool is_manual = false);
static void emit_get_PA_calib_results(float nozzle_diameter); static void emit_get_PA_calib_results(float nozzle_diameter);
static bool get_PA_calib_results(std::vector<PACalibResult> &pa_calib_results); static bool get_PA_calib_results(std::vector<PACalibResult> &pa_calib_results);