mirror of
https://git.mirrors.martin98.com/https://github.com/bambulab/BambuStudio.git
synced 2025-08-20 18:19:09 +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;
|
std::string filament_ids;
|
||||||
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;
|
||||||
|
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]["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]["filament_id"] = pa_data.calib_datas[i].filament_id;
|
||||||
j["print"]["filaments"][i]["setting_id"] = pa_data.calib_datas[i].setting_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;
|
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()) {
|
if (jj.contains("filaments") && jj["filaments"].is_array()) {
|
||||||
try {
|
try {
|
||||||
for (auto it = jj["filaments"].begin(); it != jj["filaments"].end(); it++) {
|
for (auto it = jj["filaments"].begin(); it != jj["filaments"].end(); it++) {
|
||||||
PACalibResult pa_calib_result;
|
PACalibResult pa_calib_result;
|
||||||
pa_calib_result.filament_id = (*it)["filament_id"].get<std::string>();
|
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.name = (*it)["name"].get<std::string>();
|
||||||
pa_calib_result.cali_idx = (*it)["cali_idx"].get<int>();
|
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()) {
|
if (jj["nozzle_diameter"].is_number_float()) {
|
||||||
pa_calib_result.nozzle_diameter = jj["nozzle_diameter"].get<float>();
|
pa_calib_result.nozzle_diameter = jj["nozzle_diameter"].get<float>();
|
||||||
} else if (jj["nozzle_diameter"].is_string()) {
|
} 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;
|
PACalibResult pa_calib_result;
|
||||||
pa_calib_result.tray_id = (*it)["tray_id"].get<int>();
|
pa_calib_result.tray_id = (*it)["tray_id"].get<int>();
|
||||||
pa_calib_result.filament_id = (*it)["filament_id"].get<std::string>();
|
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()) {
|
if (jj["nozzle_diameter"].is_number_float()) {
|
||||||
pa_calib_result.nozzle_diameter = jj["nozzle_diameter"].get<float>();
|
pa_calib_result.nozzle_diameter = jj["nozzle_diameter"].get<float>();
|
||||||
|
@ -693,16 +693,12 @@ public:
|
|||||||
ManualPaCaliMethod manual_pa_cali_method = ManualPaCaliMethod::PA_LINE;
|
ManualPaCaliMethod manual_pa_cali_method = ManualPaCaliMethod::PA_LINE;
|
||||||
bool has_get_pa_calib_tab{ false };
|
bool has_get_pa_calib_tab{ false };
|
||||||
std::vector<PACalibResult> pa_calib_tab;
|
std::vector<PACalibResult> pa_calib_tab;
|
||||||
PACalibTabInfo pa_calib_tab_info;
|
|
||||||
bool get_pa_calib_result { false };
|
bool get_pa_calib_result { false };
|
||||||
std::vector<PACalibResult> pa_calib_results;
|
std::vector<PACalibResult> pa_calib_results;
|
||||||
bool get_flow_calib_result { false };
|
bool get_flow_calib_result { false };
|
||||||
std::vector<FlowRatioCalibResult> flow_ratio_results;
|
std::vector<FlowRatioCalibResult> flow_ratio_results;
|
||||||
void reset_pa_cali_history_result()
|
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;
|
has_get_pa_calib_tab = false;
|
||||||
pa_calib_tab.clear();
|
pa_calib_tab.clear();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user