mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	FIX: cali modify for get result
Change-Id: I7017eb186fa629b5d46df1b09bf1021936967689
This commit is contained in:
		
							parent
							
								
									7fc261e644
								
							
						
					
					
						commit
						8009f8991d
					
				
					 5 changed files with 12 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -1213,7 +1213,7 @@ void CalibrationWizard::update_print_progress()
 | 
			
		|||
                    {
 | 
			
		||||
                        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->SetBitmap(m_bitmap_abort_disable.bmp());
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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();
 | 
			
		||||
    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"]["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"]["manual"]          = is_manual;
 | 
			
		||||
 | 
			
		||||
        for (int i = 0; i < pa_data.calib_datas.size(); ++i) {
 | 
			
		||||
            j["print"]["filaments"][i]["tray_id"]              = pa_data.calib_datas[i].tray_id;
 | 
			
		||||
| 
						 | 
				
			
			@ -1973,7 +1974,8 @@ int MachineObject::command_set_pa_calibration(const std::vector<PACalibResult>&
 | 
			
		|||
        j["print"]["nozzle_diameter"] = to_string_nozzle_diameter(pa_calib_values[0].nozzle_diameter);
 | 
			
		||||
 | 
			
		||||
        for (int i = 0; i < pa_calib_values.size(); ++i) {
 | 
			
		||||
            j["print"]["filaments"][i]["tray_id"]     = pa_calib_values[i].tray_id;
 | 
			
		||||
            if (pa_calib_values[i].tray_id >= 0)
 | 
			
		||||
                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]["setting_id"]  = pa_calib_values[i].setting_id;
 | 
			
		||||
            j["print"]["filaments"][i]["name"]        = pa_calib_values[i].name;
 | 
			
		||||
| 
						 | 
				
			
			@ -3906,6 +3908,8 @@ int MachineObject::parse_json(std::string payload)
 | 
			
		|||
                                else if ((*it)["n_coef"].is_string())
 | 
			
		||||
                                    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);
 | 
			
		||||
                            }
 | 
			
		||||
                            has_get_pa_calib_result = true;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -338,6 +338,7 @@ public:
 | 
			
		|||
    std::string name;
 | 
			
		||||
    float       k_value;
 | 
			
		||||
    float       n_coef;
 | 
			
		||||
    int         confidence;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct PACalibIndexInfo
 | 
			
		||||
| 
						 | 
				
			
			@ -826,7 +827,7 @@ public:
 | 
			
		|||
    int command_start_calibration(bool vibration, bool bed_leveling, bool xcam_cali);
 | 
			
		||||
 | 
			
		||||
    // 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_delete_pa_calibration(const PACalibIndexInfo& pa_calib);
 | 
			
		||||
    int command_get_pa_calibration_tab(float nozzle_diameter, const std::string &filament_id = "");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -92,7 +92,7 @@ CalibMode CalibUtils::get_calib_mode_by_name(const std::string &name)
 | 
			
		|||
    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();
 | 
			
		||||
    if (!dev)
 | 
			
		||||
| 
						 | 
				
			
			@ -103,7 +103,7 @@ void CalibUtils::calib_PA(const X1CCalibInfos& calib_infos, std::string& error_m
 | 
			
		|||
        return;
 | 
			
		||||
 | 
			
		||||
    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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,7 +30,7 @@ public:
 | 
			
		|||
 | 
			
		||||
    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 bool get_PA_calib_results(std::vector<PACalibResult> &pa_calib_results);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue