mirror of
https://git.mirrors.martin98.com/https://github.com/bambulab/BambuStudio.git
synced 2025-08-20 13:09:06 +08:00
FIX: FIX cali protocol
add extruder_id for start_cali and add protection for setting_id jira:none Change-Id: Idd8eeaa38c618c0ef8db10064d3e4d9793487aa6
This commit is contained in:
parent
a35d9b3138
commit
9097efd869
@ -2262,6 +2262,7 @@ int MachineObject::command_start_pa_calibration(const X1CCalibInfos &pa_data, in
|
||||
std::string filament_ids;
|
||||
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]["extruder_id"] = pa_data.calib_datas[i].extruder_id;
|
||||
j["print"]["filaments"][i]["bed_temp"] = pa_data.calib_datas[i].bed_temp;
|
||||
j["print"]["filaments"][i]["filament_id"] = pa_data.calib_datas[i].filament_id;
|
||||
j["print"]["filaments"][i]["setting_id"] = pa_data.calib_datas[i].setting_id;
|
||||
@ -4657,38 +4658,26 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
|
||||
has_get_pa_calib_tab = true;
|
||||
}
|
||||
|
||||
if (jj.contains("nozzle_diameter")) {
|
||||
if (jj["nozzle_diameter"].is_number_float()) {
|
||||
pa_calib_tab_info.pa_calib_tab_nozzle_dia = jj["nozzle_diameter"].get<float>();
|
||||
}
|
||||
else if (jj["nozzle_diameter"].is_string()) {
|
||||
pa_calib_tab_info.pa_calib_tab_nozzle_dia = string_to_float(jj["nozzle_diameter"].get<std::string>());
|
||||
}
|
||||
else {
|
||||
assert(false);
|
||||
}
|
||||
}
|
||||
else {
|
||||
assert(false);
|
||||
}
|
||||
|
||||
if (jj.contains("extruder_id")) {
|
||||
pa_calib_tab_info.extruder_id = jj["extruder_id"].get<int>();
|
||||
}
|
||||
|
||||
if (jj.contains("nozzle_id")) {
|
||||
pa_calib_tab_info.nozzle_volume_type = convert_to_nozzle_type(jj["nozzle_id"].get<std::string>());
|
||||
}
|
||||
|
||||
if (jj.contains("filaments") && jj["filaments"].is_array()) {
|
||||
try {
|
||||
for (auto it = jj["filaments"].begin(); it != jj["filaments"].end(); it++) {
|
||||
PACalibResult pa_calib_result;
|
||||
pa_calib_result.filament_id = (*it)["filament_id"].get<std::string>();
|
||||
pa_calib_result.setting_id = (*it)["setting_id"].get<std::string>();
|
||||
pa_calib_result.name = (*it)["name"].get<std::string>();
|
||||
pa_calib_result.cali_idx = (*it)["cali_idx"].get<int>();
|
||||
|
||||
if ((*it).contains("setting_id")) {
|
||||
pa_calib_result.setting_id = (*it)["setting_id"].get<std::string>();
|
||||
}
|
||||
|
||||
if ((*it).contains("extruder_id")) {
|
||||
pa_calib_result.extruder_id = (*it)["extruder_id"].get<int>();
|
||||
}
|
||||
|
||||
if ((*it).contains("nozzle_id")) {
|
||||
pa_calib_result.nozzle_volume_type = convert_to_nozzle_type((*it)["nozzle_id"].get<std::string>());
|
||||
}
|
||||
|
||||
if (jj["nozzle_diameter"].is_number_float()) {
|
||||
pa_calib_result.nozzle_diameter = jj["nozzle_diameter"].get<float>();
|
||||
} else if (jj["nozzle_diameter"].is_string()) {
|
||||
@ -4742,7 +4731,10 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
|
||||
PACalibResult pa_calib_result;
|
||||
pa_calib_result.tray_id = (*it)["tray_id"].get<int>();
|
||||
pa_calib_result.filament_id = (*it)["filament_id"].get<std::string>();
|
||||
pa_calib_result.setting_id = (*it)["setting_id"].get<std::string>();
|
||||
|
||||
if ((*it).contains("setting_id")) {
|
||||
pa_calib_result.setting_id = (*it)["setting_id"].get<std::string>();
|
||||
}
|
||||
|
||||
if (jj["nozzle_diameter"].is_number_float()) {
|
||||
pa_calib_result.nozzle_diameter = jj["nozzle_diameter"].get<float>();
|
||||
|
@ -693,16 +693,12 @@ public:
|
||||
ManualPaCaliMethod manual_pa_cali_method = ManualPaCaliMethod::PA_LINE;
|
||||
bool has_get_pa_calib_tab{ false };
|
||||
std::vector<PACalibResult> pa_calib_tab;
|
||||
PACalibTabInfo pa_calib_tab_info;
|
||||
bool get_pa_calib_result { false };
|
||||
std::vector<PACalibResult> pa_calib_results;
|
||||
bool get_flow_calib_result { false };
|
||||
std::vector<FlowRatioCalibResult> flow_ratio_results;
|
||||
void reset_pa_cali_history_result()
|
||||
{
|
||||
pa_calib_tab_info.pa_calib_tab_nozzle_dia = 0.4f;
|
||||
pa_calib_tab_info.extruder_id = -1;
|
||||
pa_calib_tab_info.nozzle_volume_type = NozzleVolumeType::nvtNormal;
|
||||
has_get_pa_calib_tab = false;
|
||||
pa_calib_tab.clear();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user