FIX: Parse virtual slot info
jira: STUDIO-7724, STUDIO-7725 Change-Id: Id9181511b7503787fe06403be6ecb782d78cb21e
This commit is contained in:
parent
62b1d00d1f
commit
286eca79c2
|
@ -2094,7 +2094,7 @@ void CalibrationPresetPage::sync_ams_info(MachineObject* obj)
|
||||||
for (const AmsTray& vt_tray : obj->vt_slot) {
|
for (const AmsTray& vt_tray : obj->vt_slot) {
|
||||||
if (vt_tray.id == std::to_string(VIRTUAL_TRAY_MAIN_ID)) {
|
if (vt_tray.id == std::to_string(VIRTUAL_TRAY_MAIN_ID)) {
|
||||||
AMSinfo info;
|
AMSinfo info;
|
||||||
info.ReadExtInfo(vt_tray);
|
info.parse_ext_info(obj, vt_tray);
|
||||||
info.ams_type = AMSModel::EXT_AMS;
|
info.ams_type = AMSModel::EXT_AMS;
|
||||||
|
|
||||||
assert(m_main_ams_preview_list.size() == 4);
|
assert(m_main_ams_preview_list.size() == 4);
|
||||||
|
@ -2104,7 +2104,7 @@ void CalibrationPresetPage::sync_ams_info(MachineObject* obj)
|
||||||
}
|
}
|
||||||
else if (vt_tray.id == std::to_string(VIRTUAL_TRAY_DEPUTY_ID)) {
|
else if (vt_tray.id == std::to_string(VIRTUAL_TRAY_DEPUTY_ID)) {
|
||||||
AMSinfo info;
|
AMSinfo info;
|
||||||
info.ReadExtInfo(vt_tray);
|
info.parse_ext_info(obj, vt_tray);
|
||||||
info.ams_type = AMSModel::EXT_AMS;
|
info.ams_type = AMSModel::EXT_AMS;
|
||||||
|
|
||||||
assert(m_deputy_ams_preview_list.size() == 4);
|
assert(m_deputy_ams_preview_list.size() == 4);
|
||||||
|
|
|
@ -2641,7 +2641,7 @@ void StatusPanel::update_ams(MachineObject *obj)
|
||||||
ext_info.clear();
|
ext_info.clear();
|
||||||
for (auto slot : obj->vt_slot) {
|
for (auto slot : obj->vt_slot) {
|
||||||
AMSinfo info;
|
AMSinfo info;
|
||||||
info.ReadExtInfo(slot);
|
info.parse_ext_info(obj, slot);
|
||||||
if (ams_mode == AMSModel::AMS_LITE) info.ext_type = AMSModelOriginType::LITE_EXT;
|
if (ams_mode == AMSModel::AMS_LITE) info.ext_type = AMSModelOriginType::LITE_EXT;
|
||||||
ext_info.push_back(info);
|
ext_info.push_back(info);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3647,33 +3647,6 @@ void AMSControl::reset_vams()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void AMSControl::ReadExtInfo(MachineObject* obj) {
|
|
||||||
m_ext_info.clear();
|
|
||||||
if (!obj){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
AMSinfo ext_info;
|
|
||||||
for (auto slot : obj->vt_slot){
|
|
||||||
ext_info.ams_id = slot.id;
|
|
||||||
Caninfo can;
|
|
||||||
can.can_id = std::to_string(0);
|
|
||||||
can.material_name = slot.filament_setting_id;
|
|
||||||
ext_info.cans.push_back(can);
|
|
||||||
if (slot.id == std::to_string(VIRTUAL_TRAY_MAIN_ID)){
|
|
||||||
ext_info.nozzle_id = MAIN_NOZZLE_ID;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
ext_info.nozzle_id = DEPUTY_NOZZLE_ID;
|
|
||||||
}
|
|
||||||
ext_info.cans[0].material_state = AMSCanType::AMS_CAN_TYPE_VIRTUAL;
|
|
||||||
ext_info.cans[0].material_colour = slot.decode_color(slot.color);
|
|
||||||
ext_info.cans[0].material_remain = slot.remain;
|
|
||||||
ext_info.cans[0].material_name = slot.type;
|
|
||||||
|
|
||||||
m_ext_info.push_back(ext_info);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
std::vector<AMSinfo> AMSControl::GenerateSimulateData() {
|
std::vector<AMSinfo> AMSControl::GenerateSimulateData() {
|
||||||
auto caninfo0_0 = Caninfo{ "0", (""), *wxRED, AMSCanType::AMS_CAN_TYPE_VIRTUAL };
|
auto caninfo0_0 = Caninfo{ "0", (""), *wxRED, AMSCanType::AMS_CAN_TYPE_VIRTUAL };
|
||||||
auto caninfo0_1 = Caninfo{ "1", (""), *wxGREEN, AMSCanType::AMS_CAN_TYPE_VIRTUAL };
|
auto caninfo0_1 = Caninfo{ "1", (""), *wxGREEN, AMSCanType::AMS_CAN_TYPE_VIRTUAL };
|
||||||
|
|
|
@ -165,7 +165,6 @@ public:
|
||||||
void CreateAmsSingleNozzle();
|
void CreateAmsSingleNozzle();
|
||||||
void ClearAms();
|
void ClearAms();
|
||||||
void UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo> ext_info, NozzleData data, std::string dev_id, bool is_reset = true, bool test = false);
|
void UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo> ext_info, NozzleData data, std::string dev_id, bool is_reset = true, bool test = false);
|
||||||
void ReadExtInfo(MachineObject* obj);
|
|
||||||
std::vector<AMSinfo> GenerateSimulateData();
|
std::vector<AMSinfo> GenerateSimulateData();
|
||||||
|
|
||||||
void AddAms(AMSinfo info, AMSPanelPos pos = AMSPanelPos::LEFT_PANEL);
|
void AddAms(AMSinfo info, AMSPanelPos pos = AMSPanelPos::LEFT_PANEL);
|
||||||
|
|
|
@ -120,23 +120,50 @@ bool AMSinfo::parse_ams_info(MachineObject *obj, Ams *ams, bool remain_flag, boo
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AMSinfo::ReadExtInfo(AmsTray tray) {
|
void AMSinfo::parse_ext_info(MachineObject* obj, AmsTray tray) {
|
||||||
|
|
||||||
this->ams_id = tray.id;
|
this->ams_id = tray.id;
|
||||||
this->ams_type = AMSModel::EXT_AMS;
|
this->ams_type = AMSModel::EXT_AMS;
|
||||||
Caninfo can;
|
Caninfo info;
|
||||||
can.can_id = std::to_string(0);
|
info.can_id = std::to_string(0);
|
||||||
can.material_name = tray.filament_setting_id;
|
this->cans.clear();
|
||||||
this->cans.push_back(can);
|
|
||||||
if (tray.id == std::to_string(VIRTUAL_TRAY_MAIN_ID)) {
|
if (tray.id == std::to_string(VIRTUAL_TRAY_MAIN_ID))
|
||||||
this->nozzle_id = 0;
|
this->nozzle_id = 0;
|
||||||
|
else if (tray.id == std::to_string(VIRTUAL_TRAY_DEPUTY_ID))
|
||||||
|
this->nozzle_id = 1;
|
||||||
|
|
||||||
|
if (tray.is_tray_info_ready()) {
|
||||||
|
info.ctype = tray.ctype;
|
||||||
|
info.material_name = tray.get_display_filament_type();
|
||||||
|
if (!tray.color.empty()) {
|
||||||
|
info.material_colour = AmsTray::decode_color(tray.color);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// set to white by default
|
||||||
|
info.material_colour = AMS_TRAY_DEFAULT_COL;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (std::string cols : tray.cols) {
|
||||||
|
info.material_cols.push_back(AmsTray::decode_color(cols));
|
||||||
|
}
|
||||||
|
info.material_remain = 100;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
this->nozzle_id = 1;
|
info.material_name = "";
|
||||||
|
info.ctype = 0;
|
||||||
|
info.material_colour = AMS_TRAY_DEFAULT_COL;
|
||||||
|
wxColour(255, 255, 255);
|
||||||
}
|
}
|
||||||
this->cans[0].material_state = AMSCanType::AMS_CAN_TYPE_VIRTUAL;
|
info.material_state = AMSCanType::AMS_CAN_TYPE_VIRTUAL;
|
||||||
this->cans[0].material_colour = tray.decode_color(tray.color);
|
if (tray.is_tray_info_ready() && obj->cali_version >= 0) {
|
||||||
this->cans[0].material_remain = tray.remain;
|
CalibUtils::get_pa_k_n_value_by_cali_idx(obj, tray.cali_idx, info.k, info.n);
|
||||||
this->cans[0].material_name = tray.type;
|
}
|
||||||
|
else {
|
||||||
|
info.k = tray.k;
|
||||||
|
info.n = tray.n;
|
||||||
|
}
|
||||||
|
this->cans.push_back(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*************************************************
|
/*************************************************
|
||||||
|
|
|
@ -197,7 +197,7 @@ public:
|
||||||
AMSModelOriginType ext_type = AMSModelOriginType::GENERIC_EXT;
|
AMSModelOriginType ext_type = AMSModelOriginType::GENERIC_EXT;
|
||||||
|
|
||||||
bool parse_ams_info(MachineObject* obj, Ams *ams, bool remain_flag = false, bool humidity_flag = false);
|
bool parse_ams_info(MachineObject* obj, Ams *ams, bool remain_flag = false, bool humidity_flag = false);
|
||||||
void ReadExtInfo(AmsTray tray);
|
void parse_ext_info(MachineObject* obj, AmsTray tray);
|
||||||
};
|
};
|
||||||
|
|
||||||
/*************************************************
|
/*************************************************
|
||||||
|
|
Loading…
Reference in New Issue