FIX: the return cali value of filament is incorrect

jira: STUDIO-14552
Change-Id: Ic48445942afb66f674c92c12e7ab2b9510f7ac03
(cherry picked from commit c771bb2dbeb61ed8871cce01230735ddb9e69b8b)
This commit is contained in:
zhimin.zeng 2025-09-12 17:11:41 +08:00 committed by Noisyfox
parent 38faa0ae46
commit 21cd25d5af

View file

@ -4088,12 +4088,22 @@ int MachineObject::parse_json(std::string tunnel, std::string payload, bool key_
pa_calib_result.setting_id = (*it)["setting_id"].get<std::string>();
}
// old
if (jj["nozzle_diameter"].is_number_float()) {
pa_calib_result.nozzle_diameter = jj["nozzle_diameter"].get<float>();
} else if (jj["nozzle_diameter"].is_string()) {
pa_calib_result.nozzle_diameter = string_to_float(jj["nozzle_diameter"].get<std::string>());
}
// new: should get nozzle diameter from filament item
if ((*it).contains("setting_id")) {
if ((*it)["nozzle_diameter"].is_number_float()) {
pa_calib_result.nozzle_diameter = (*it)["nozzle_diameter"].get<float>();
} else if ((*it)["nozzle_diameter"].is_string()) {
pa_calib_result.nozzle_diameter = string_to_float((*it)["nozzle_diameter"].get<std::string>());
}
}
if (it->contains("ams_id")) {
pa_calib_result.ams_id = (*it)["ams_id"].get<int>();
} else {