ENH: display partial mapping result for U0 firmware
Change-Id: I181b88e451478d0b75a1d948cd6e83ddbf60b4f9 Signed-off-by: Stone Li <stone.li@bambulab.com>
This commit is contained in:
parent
9a767aa74a
commit
ec8f1265f6
|
@ -648,7 +648,20 @@ int MachineObject::ams_filament_mapping(std::vector<FilamentInfo> filaments, std
|
|||
for (int i = 0; i < filaments.size(); i++) {
|
||||
FilamentInfo info;
|
||||
info.id = filaments[i].id;
|
||||
info.tray_id = filaments[i].id;
|
||||
int ams_id = filaments[i].id / 4;
|
||||
auto ams_it = amsList.find(std::to_string(ams_id));
|
||||
if (ams_it == amsList.end()) {
|
||||
info.tray_id = -1;
|
||||
} else {
|
||||
info.tray_id = filaments[i].id;
|
||||
|
||||
int tray_id = filaments[i].id % 4;
|
||||
auto tray_it = ams_it->second->trayList.find(std::to_string(tray_id));
|
||||
if (tray_it != ams_it->second->trayList.end()) {
|
||||
info.color = tray_it->second->color;
|
||||
info.type = tray_it->second->type;
|
||||
}
|
||||
}
|
||||
result.push_back(info);
|
||||
}
|
||||
return 1;
|
||||
|
@ -808,11 +821,12 @@ bool MachineObject::is_valid_mapping_result(std::vector<FilamentInfo>& result)
|
|||
for (int i = 0; i < result.size(); i++) {
|
||||
// invalid mapping result
|
||||
if (result[i].tray_id < 0)
|
||||
return false;
|
||||
is_valid = false;
|
||||
else {
|
||||
int ams_id = result[i].tray_id / 4;
|
||||
if (amsList.find(std::to_string(ams_id)) == amsList.end()) {
|
||||
return false;
|
||||
result[i].tray_id = -1;
|
||||
is_valid = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1110,8 +1110,8 @@ bool SelectMachineDialog::do_ams_mapping(MachineObject *obj_)
|
|||
} else {
|
||||
// do not support ams mapping try to use order mapping
|
||||
bool is_valid = obj_->is_valid_mapping_result(m_ams_mapping_result);
|
||||
if (!is_valid) {
|
||||
// reset invalid result
|
||||
if (result != 1 && !is_valid) {
|
||||
//reset invalid result
|
||||
for (int i = 0; i < m_ams_mapping_result.size(); i++) {
|
||||
m_ams_mapping_result[i].tray_id = -1;
|
||||
m_ams_mapping_result[i].distance = 99999;
|
||||
|
@ -1693,6 +1693,7 @@ void SelectMachineDialog::on_selection_changed(wxCommandEvent &event)
|
|||
}
|
||||
|
||||
if (obj) {
|
||||
obj->command_get_version();
|
||||
dev->set_selected_machine(m_printer_last_select);
|
||||
update_select_layout(obj->printer_type);
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue