ENH: support load and edit with virtual tray
Change-Id: I36cd8d9f6da719526c38b7479625ed0fa868f63b Signed-off-by: Stone Li <stone.li@bambulab.com>
This commit is contained in:
parent
71ef9e946c
commit
b731ac8db8
|
@ -376,7 +376,7 @@ void AMSMaterialsSetting::on_select_ok(wxCommandEvent &event)
|
|||
wxString k_text = m_input_k_val->GetTextCtrl()->GetValue();
|
||||
wxString n_text = m_input_n_val->GetTextCtrl()->GetValue();
|
||||
|
||||
if (is_virtual_tray()) {
|
||||
if (is_virtual_tray() && obj && !obj->is_support_filament_edit_virtual_tray) {
|
||||
if (!ExtrusionCalibration::check_k_validation(k_text)) {
|
||||
wxString k_tips = _L("Please input a valid value (K in 0~0.5)");
|
||||
wxString kn_tips = _L("Please input a valid value (K in 0~0.5, N in 0.6~2.0)");
|
||||
|
@ -478,8 +478,12 @@ void AMSMaterialsSetting::on_select_ok(wxCommandEvent &event)
|
|||
}
|
||||
|
||||
// set filament
|
||||
if (!is_virtual_tray()) {
|
||||
obj->command_ams_filament_settings(ams_id, tray_id, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int);
|
||||
if (obj->is_support_filament_edit_virtual_tray || !is_virtual_tray()) {
|
||||
if (is_virtual_tray()) {
|
||||
obj->command_ams_filament_settings(255, VIRTUAL_TRAY_ID, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int);
|
||||
} else {
|
||||
obj->command_ams_filament_settings(ams_id, tray_id, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int);
|
||||
}
|
||||
}
|
||||
|
||||
// set k / n value
|
||||
|
@ -548,7 +552,10 @@ void AMSMaterialsSetting::update_widgets()
|
|||
{
|
||||
// virtual tray
|
||||
if (is_virtual_tray()) {
|
||||
m_panel_normal->Hide();
|
||||
if (obj && obj->is_support_filament_edit_virtual_tray)
|
||||
m_panel_normal->Show();
|
||||
else
|
||||
m_panel_normal->Hide();
|
||||
m_panel_kn->Show();
|
||||
} else if (obj && obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI)) {
|
||||
m_panel_normal->Show();
|
||||
|
@ -583,7 +590,7 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi
|
|||
m_input_k_val->GetTextCtrl()->SetValue(k);
|
||||
m_input_n_val->GetTextCtrl()->SetValue(n);
|
||||
|
||||
if (is_virtual_tray()) {
|
||||
if (is_virtual_tray() && obj && !obj->is_support_filament_edit_virtual_tray) {
|
||||
m_button_confirm->Show();
|
||||
update();
|
||||
Layout();
|
||||
|
|
|
@ -136,6 +136,32 @@ wxColour AmsTray::get_color()
|
|||
return AmsTray::decode_color(color);
|
||||
}
|
||||
|
||||
void AmsTray::reset()
|
||||
{
|
||||
tag_uid = "";
|
||||
setting_id = "";
|
||||
filament_setting_id = "";
|
||||
type = "";
|
||||
sub_brands = "";
|
||||
color = "";
|
||||
weight = "";
|
||||
diameter = "";
|
||||
temp = "";
|
||||
time = "";
|
||||
bed_temp_type = "";
|
||||
bed_temp = "";
|
||||
nozzle_temp_max = "";
|
||||
nozzle_temp_min = "";
|
||||
xcam_info = "";
|
||||
uuid = "";
|
||||
k = 0.0f;
|
||||
n = 0.0f;
|
||||
is_bbl = false;
|
||||
hold_count = 0;
|
||||
remain = 0;
|
||||
}
|
||||
|
||||
|
||||
bool AmsTray::is_tray_info_ready()
|
||||
{
|
||||
if (color.empty())
|
||||
|
@ -523,6 +549,10 @@ Ams *MachineObject::get_curr_Ams()
|
|||
|
||||
AmsTray *MachineObject::get_curr_tray()
|
||||
{
|
||||
if (m_tray_now.compare(std::to_string(VIRTUAL_TRAY_ID)) == 0) {
|
||||
return &vt_tray;
|
||||
}
|
||||
|
||||
Ams* curr_ams = get_curr_Ams();
|
||||
if (!curr_ams) return nullptr;
|
||||
|
||||
|
@ -1532,6 +1562,8 @@ int MachineObject::command_ams_switch(int tray_index, int old_temp, int new_temp
|
|||
std::string gcode = "";
|
||||
if (tray_index == 255) {
|
||||
gcode = DeviceManager::load_gcode(printer_type, "ams_unload.gcode");
|
||||
} else if (tray_index == VIRTUAL_TRAY_ID) {
|
||||
gcode = DeviceManager::load_gcode(printer_type, "vt_load.gcode");
|
||||
} else {
|
||||
gcode = DeviceManager::load_gcode(printer_type, "ams_load.gcode");
|
||||
boost::replace_all(gcode, "[next_extruder]", std::to_string(tray_index));
|
||||
|
@ -2044,6 +2076,8 @@ void MachineObject::reset()
|
|||
m_new_ver_list_exist = false;
|
||||
extruder_axis_status = LOAD;
|
||||
|
||||
vt_tray.reset();
|
||||
|
||||
subtask_ = nullptr;
|
||||
|
||||
}
|
||||
|
@ -3140,6 +3174,89 @@ int MachineObject::parse_json(std::string payload)
|
|||
vt_tray.n = jj["vt_tray"]["n"].get<float>();
|
||||
}
|
||||
ams_support_virtual_tray = true;
|
||||
|
||||
if (vt_tray.hold_count > 0) {
|
||||
vt_tray.hold_count--;
|
||||
} else {
|
||||
if (jj["vt_tray"].contains("tag_uid"))
|
||||
vt_tray.tag_uid = jj["vt_tray"]["tag_uid"].get<std::string>();
|
||||
else
|
||||
vt_tray.tag_uid = "0";
|
||||
if (jj["vt_tray"].contains("tray_info_idx") && jj["vt_tray"].contains("tray_type")) {
|
||||
vt_tray.setting_id = jj["vt_tray"]["tray_info_idx"].get<std::string>();
|
||||
std::string type = jj["vt_tray"]["tray_type"].get<std::string>();
|
||||
if (vt_tray.setting_id == "GFS00") {
|
||||
vt_tray.type = "PLA-S";
|
||||
}
|
||||
else if (vt_tray.setting_id == "GFS01") {
|
||||
vt_tray.type = "PA-S";
|
||||
}
|
||||
else {
|
||||
vt_tray.type = type;
|
||||
}
|
||||
}
|
||||
else {
|
||||
vt_tray.setting_id = "";
|
||||
vt_tray.type = "";
|
||||
}
|
||||
if (jj["vt_tray"].contains("tray_sub_brands"))
|
||||
vt_tray.sub_brands = jj["vt_tray"]["tray_sub_brands"].get<std::string>();
|
||||
else
|
||||
vt_tray.sub_brands = "";
|
||||
if (jj["vt_tray"].contains("tray_weight"))
|
||||
vt_tray.weight = jj["vt_tray"]["tray_weight"].get<std::string>();
|
||||
else
|
||||
vt_tray.weight = "";
|
||||
if (jj["vt_tray"].contains("tray_diameter"))
|
||||
vt_tray.diameter = jj["vt_tray"]["tray_diameter"].get<std::string>();
|
||||
else
|
||||
vt_tray.diameter = "";
|
||||
if (jj["vt_tray"].contains("tray_temp"))
|
||||
vt_tray.temp = jj["vt_tray"]["tray_temp"].get<std::string>();
|
||||
else
|
||||
vt_tray.temp = "";
|
||||
if (jj["vt_tray"].contains("tray_time"))
|
||||
vt_tray.time = jj["vt_tray"]["tray_time"].get<std::string>();
|
||||
else
|
||||
vt_tray.time = "";
|
||||
if (jj["vt_tray"].contains("bed_temp_type"))
|
||||
vt_tray.bed_temp_type = jj["vt_tray"]["bed_temp_type"].get<std::string>();
|
||||
else
|
||||
vt_tray.bed_temp_type = "";
|
||||
if (jj["vt_tray"].contains("bed_temp"))
|
||||
vt_tray.bed_temp = jj["vt_tray"]["bed_temp"].get<std::string>();
|
||||
else
|
||||
vt_tray.bed_temp = "";
|
||||
if (jj["vt_tray"].contains("nozzle_temp_max"))
|
||||
vt_tray.nozzle_temp_max = jj["vt_tray"]["nozzle_temp_max"].get<std::string>();
|
||||
else
|
||||
vt_tray.nozzle_temp_max = "";
|
||||
if (jj["vt_tray"].contains("nozzle_temp_min"))
|
||||
vt_tray.nozzle_temp_min = jj["vt_tray"]["nozzle_temp_min"].get<std::string>();
|
||||
else
|
||||
vt_tray.nozzle_temp_min = "";
|
||||
if (jj["vt_tray"].contains("xcam_info"))
|
||||
vt_tray.xcam_info = jj["vt_tray"]["xcam_info"].get<std::string>();
|
||||
else
|
||||
vt_tray.xcam_info = "";
|
||||
if (jj["vt_tray"].contains("tray_uuid"))
|
||||
vt_tray.uuid = jj["vt_tray"]["tray_uuid"].get<std::string>();
|
||||
else
|
||||
vt_tray.uuid = "0";
|
||||
if (jj["vt_tray"].contains("tray_color")) {
|
||||
auto color = jj["vt_tray"]["tray_color"].get<std::string>();
|
||||
vt_tray.update_color_from_str(color);
|
||||
}
|
||||
else {
|
||||
vt_tray.color = "";
|
||||
}
|
||||
if (jj["vt_tray"].contains("remain")) {
|
||||
vt_tray.remain = jj["vt_tray"]["remain"].get<int>();
|
||||
}
|
||||
else {
|
||||
vt_tray.remain = -1;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ams_support_virtual_tray = false;
|
||||
}
|
||||
|
@ -3169,24 +3286,39 @@ int MachineObject::parse_json(std::string payload)
|
|||
|
||||
if (jj["ams_id"].is_number()) {
|
||||
int ams_id = jj["ams_id"].get<int>();
|
||||
auto ams_it = amsList.find(std::to_string(ams_id));
|
||||
if (ams_it != amsList.end()) {
|
||||
int tray_id = jj["tray_id"].get<int>();
|
||||
auto tray_it = ams_it->second->trayList.find(std::to_string(tray_id));
|
||||
if (tray_it != ams_it->second->trayList.end()) {
|
||||
BOOST_LOG_TRIVIAL(trace) << "ams_filament_setting, parse tray info";
|
||||
tray_it->second->nozzle_temp_max = std::to_string(jj["nozzle_temp_max"].get<int>());
|
||||
tray_it->second->nozzle_temp_min = std::to_string(jj["nozzle_temp_min"].get<int>());
|
||||
tray_it->second->type = jj["tray_type"].get<std::string>();
|
||||
tray_it->second->color = jj["tray_color"].get<std::string>();
|
||||
tray_it->second->setting_id = jj["tray_info_idx"].get<std::string>();
|
||||
// delay update
|
||||
tray_it->second->set_hold_count();
|
||||
} else {
|
||||
BOOST_LOG_TRIVIAL(warning) << "ams_filament_setting, can not find in trayList, tray_id=" << tray_id;
|
||||
}
|
||||
int tray_id = 0;
|
||||
if (jj.contains("tray_id")) {
|
||||
tray_id = jj["tray_id"].get<int>();
|
||||
}
|
||||
if (ams_id == 255 && tray_id == VIRTUAL_TRAY_ID) {
|
||||
BOOST_LOG_TRIVIAL(trace) << "ams_filament_setting, parse tray info";
|
||||
vt_tray.nozzle_temp_max = std::to_string(jj["nozzle_temp_max"].get<int>());
|
||||
vt_tray.nozzle_temp_min = std::to_string(jj["nozzle_temp_min"].get<int>());
|
||||
vt_tray.type = jj["tray_type"].get<std::string>();
|
||||
vt_tray.color = jj["tray_color"].get<std::string>();
|
||||
vt_tray.setting_id = jj["tray_info_idx"].get<std::string>();
|
||||
// delay update
|
||||
vt_tray.set_hold_count();
|
||||
} else {
|
||||
BOOST_LOG_TRIVIAL(warning) << "ams_filament_setting, can not find in amsList, ams_id=" << ams_id;
|
||||
auto ams_it = amsList.find(std::to_string(ams_id));
|
||||
if (ams_it != amsList.end()) {
|
||||
tray_id = jj["tray_id"].get<int>();
|
||||
auto tray_it = ams_it->second->trayList.find(std::to_string(tray_id));
|
||||
if (tray_it != ams_it->second->trayList.end()) {
|
||||
BOOST_LOG_TRIVIAL(trace) << "ams_filament_setting, parse tray info";
|
||||
tray_it->second->nozzle_temp_max = std::to_string(jj["nozzle_temp_max"].get<int>());
|
||||
tray_it->second->nozzle_temp_min = std::to_string(jj["nozzle_temp_min"].get<int>());
|
||||
tray_it->second->type = jj["tray_type"].get<std::string>();
|
||||
tray_it->second->color = jj["tray_color"].get<std::string>();
|
||||
tray_it->second->setting_id = jj["tray_info_idx"].get<std::string>();
|
||||
// delay update
|
||||
tray_it->second->set_hold_count();
|
||||
} else {
|
||||
BOOST_LOG_TRIVIAL(warning) << "ams_filament_setting, can not find in trayList, tray_id=" << tray_id;
|
||||
}
|
||||
} else {
|
||||
BOOST_LOG_TRIVIAL(warning) << "ams_filament_setting, can not find in amsList, ams_id=" << ams_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (jj["command"].get<std::string>() == "xcam_control_set") {
|
||||
|
|
|
@ -178,6 +178,8 @@ public:
|
|||
if (digit1 == -1 || digit2 == -1) break;
|
||||
ret[j] = float(digit1 * 16 + digit2);
|
||||
}
|
||||
} else {
|
||||
return wxColour(255, 255, 255);
|
||||
}
|
||||
return wxColour(ret[0], ret[1], ret[2]);
|
||||
}
|
||||
|
@ -216,6 +218,8 @@ public:
|
|||
void update_color_from_str(std::string color);
|
||||
wxColour get_color();
|
||||
|
||||
void reset();
|
||||
|
||||
bool is_tray_info_ready();
|
||||
bool is_unset_third_filament();
|
||||
std::string get_display_filament_type();
|
||||
|
@ -464,7 +468,7 @@ public:
|
|||
int ams_version = 0;
|
||||
std::string m_ams_id; // local ams : "0" ~ "3"
|
||||
std::string m_tray_id; // local tray id : "0" ~ "3"
|
||||
std::string m_tray_now; // tray_now : "0" ~ "15" or "255"
|
||||
std::string m_tray_now; // tray_now : "0" ~ "15" or "254", "255"
|
||||
std::string m_tray_tar; // tray_tar : "0" ~ "15" or "255"
|
||||
|
||||
int extrusion_cali_hold_count = 0;
|
||||
|
@ -634,6 +638,7 @@ public:
|
|||
bool is_support_1080dpi {false};
|
||||
bool is_support_ai_monitoring {false};
|
||||
bool is_support_ams_humidity {true};
|
||||
bool is_support_filament_edit_virtual_tray {true};
|
||||
|
||||
/* sdcard */
|
||||
MachineObject::SdcardState sdcard_state { NO_SDCARD };
|
||||
|
|
|
@ -1096,12 +1096,11 @@ wxBoxSizer *StatusBasePanel::create_ams_group(wxWindow *parent)
|
|||
return sizer;
|
||||
}
|
||||
|
||||
void StatusBasePanel::show_ams_group(bool show, bool support_virtual_tray)
|
||||
void StatusBasePanel::show_ams_group(bool show, bool support_virtual_tray, bool support_vt_load)
|
||||
{
|
||||
m_ams_control->Show(true);
|
||||
m_ams_control_box->Show(true);
|
||||
m_ams_control->show_noams_mode(show, support_virtual_tray);
|
||||
|
||||
m_ams_control->show_noams_mode(show, support_virtual_tray, support_vt_load);
|
||||
if (m_show_ams_group != show) {
|
||||
Fit();
|
||||
}
|
||||
|
@ -1908,7 +1907,7 @@ void StatusPanel::update_ams(MachineObject *obj)
|
|||
if (is_support_extrusion_cali) {
|
||||
m_ams_control->update_vams_kn_value(obj->vt_tray);
|
||||
}
|
||||
show_ams_group(false, obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI));
|
||||
show_ams_group(false, obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI), obj->is_support_filament_edit_virtual_tray);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1917,7 +1916,7 @@ void StatusPanel::update_ams(MachineObject *obj)
|
|||
m_ams_control->update_vams_kn_value(obj->vt_tray);
|
||||
}
|
||||
|
||||
show_ams_group(true, obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI));
|
||||
show_ams_group(true, obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI), obj->is_support_filament_edit_virtual_tray);
|
||||
if (m_filament_setting_dlg) m_filament_setting_dlg->update();
|
||||
|
||||
std::vector<AMSinfo> ams_info;
|
||||
|
@ -1953,7 +1952,10 @@ void StatusPanel::update_ams(MachineObject *obj)
|
|||
std::string curr_ams_id = m_ams_control->GetCurentAms();
|
||||
std::string curr_can_id = m_ams_control->GetCurrentCan(curr_ams_id);
|
||||
|
||||
if (m_ams_control->GetCurentAms() != obj->m_ams_id) {
|
||||
if (m_ams_control->GetCurentAms() == std::to_string(VIRTUAL_TRAY_ID)) {
|
||||
m_ams_control->SetAmsStep(curr_ams_id, curr_can_id, AMSPassRoadType::AMS_ROAD_TYPE_NONE, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
else if (m_ams_control->GetCurentAms() != obj->m_ams_id) {
|
||||
m_ams_control->SetAmsStep(curr_ams_id, curr_can_id, AMSPassRoadType::AMS_ROAD_TYPE_LOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
} else {
|
||||
if (obj->ams_status_main == AMS_STATUS_MAIN_FILAMENT_CHANGE) {
|
||||
|
@ -2498,6 +2500,33 @@ void StatusPanel::on_ams_load_curr()
|
|||
if (obj) {
|
||||
std::string curr_ams_id = m_ams_control->GetCurentAms();
|
||||
std::string curr_can_id = m_ams_control->GetCurrentCan(curr_ams_id);
|
||||
|
||||
//virtual tray
|
||||
if (curr_ams_id.compare(std::to_string(VIRTUAL_TRAY_ID)) == 0) {
|
||||
/*if (con_load_dlg == nullptr) {
|
||||
con_load_dlg = new SecondaryCheckDialog(this->GetParent(), wxID_ANY, _L("Confirm"));
|
||||
con_load_dlg->Bind(EVT_SECONDARY_CHECK_CONFIRM, [this](wxCommandEvent& e) {*/
|
||||
int old_temp = -1;
|
||||
int new_temp = -1;
|
||||
AmsTray* curr_tray = obj->get_curr_tray();
|
||||
try {
|
||||
if (!curr_tray->nozzle_temp_max.empty() && !curr_tray->nozzle_temp_min.empty())
|
||||
old_temp = (atoi(curr_tray->nozzle_temp_min.c_str()) + atoi(curr_tray->nozzle_temp_max.c_str())) / 2;
|
||||
if (!obj->vt_tray.nozzle_temp_max.empty() && !obj->vt_tray.nozzle_temp_min.empty())
|
||||
new_temp = (atoi(obj->vt_tray.nozzle_temp_min.c_str()) + atoi(obj->vt_tray.nozzle_temp_max.c_str())) / 2;
|
||||
}
|
||||
catch (...) {
|
||||
;
|
||||
}
|
||||
obj->command_ams_switch(VIRTUAL_TRAY_ID, old_temp, new_temp);
|
||||
/*}
|
||||
);
|
||||
}
|
||||
con_load_dlg->update_text(_L("Please confirm the filament is ready?"));
|
||||
con_load_dlg->on_show();*/
|
||||
return;
|
||||
}
|
||||
|
||||
std::map<std::string, Ams*>::iterator it = obj->amsList.find(curr_ams_id);
|
||||
if (it == obj->amsList.end()) {
|
||||
BOOST_LOG_TRIVIAL(trace) << "ams: find " << curr_ams_id << " failed";
|
||||
|
@ -2508,7 +2537,6 @@ void StatusPanel::on_ams_load_curr()
|
|||
BOOST_LOG_TRIVIAL(trace) << "ams: find " << curr_can_id << " failed";
|
||||
return;
|
||||
}
|
||||
|
||||
AmsTray* curr_tray = obj->get_curr_tray();
|
||||
AmsTray* targ_tray = obj->get_ams_tray(curr_ams_id, curr_can_id);
|
||||
if (curr_tray && targ_tray) {
|
||||
|
|
|
@ -253,7 +253,7 @@ public:
|
|||
wxBoxSizer *create_ams_group(wxWindow *parent);
|
||||
wxBoxSizer *create_settings_group(wxWindow *parent);
|
||||
|
||||
void show_ams_group(bool show = true, bool support_virtual_tray = true);
|
||||
void show_ams_group(bool show = true, bool support_virtual_tray = true, bool support_vt_load = true);
|
||||
};
|
||||
|
||||
|
||||
|
@ -274,6 +274,7 @@ protected:
|
|||
|
||||
SecondaryCheckDialog* m_print_error_dlg = nullptr;
|
||||
SecondaryCheckDialog* abort_dlg = nullptr;
|
||||
SecondaryCheckDialog* con_load_dlg = nullptr;
|
||||
SecondaryCheckDialog* ctrl_e_hint_dlg = nullptr;
|
||||
SecondaryCheckDialog* sdcard_hint_dlg = nullptr;
|
||||
FanControlPopup* m_fan_control_popup{nullptr};
|
||||
|
|
|
@ -2047,14 +2047,14 @@ void AMSControl::SetActionState(AMSAction action, bool support_virtual_tray)
|
|||
m_button_extrusion_cali->Enable();
|
||||
else
|
||||
m_button_extrusion_cali->Disable();
|
||||
m_button_extruder_feed->Disable();
|
||||
m_button_extruder_back->Disable();
|
||||
m_button_extruder_feed->Enable();
|
||||
m_button_extruder_back->Enable();
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
void AMSControl::EnterNoneAMSMode()
|
||||
void AMSControl::EnterNoneAMSMode(bool support_vt_load)
|
||||
{
|
||||
m_simplebook_amsitems->Hide();
|
||||
m_panel_top->Hide();
|
||||
|
@ -2064,8 +2064,14 @@ void AMSControl::EnterNoneAMSMode()
|
|||
m_button_ams_setting->Hide();
|
||||
m_button_guide->Hide();
|
||||
m_button_retry->Hide();
|
||||
m_button_extruder_feed->Hide();
|
||||
m_button_extruder_back->Hide();
|
||||
if (support_vt_load) {
|
||||
m_button_extruder_feed->Show();
|
||||
m_button_extruder_back->Show();
|
||||
} else {
|
||||
m_button_extruder_feed->Hide();
|
||||
m_button_extruder_back->Hide();
|
||||
}
|
||||
|
||||
ShowFilamentTip(false);
|
||||
m_amswin->Layout();
|
||||
m_amswin->Fit();
|
||||
|
@ -2205,7 +2211,7 @@ void AMSControl::Reset()
|
|||
m_current_senect = "";
|
||||
}
|
||||
|
||||
void AMSControl::show_noams_mode(bool show, bool support_virtual_tray)
|
||||
void AMSControl::show_noams_mode(bool show, bool support_virtual_tray, bool support_vt_load)
|
||||
{
|
||||
show_vams(support_virtual_tray);
|
||||
m_sizer_ams_tips->Show(support_virtual_tray);
|
||||
|
@ -2215,7 +2221,7 @@ void AMSControl::show_noams_mode(bool show, bool support_virtual_tray)
|
|||
m_button_extrusion_cali->Show();
|
||||
}
|
||||
|
||||
show?ExitNoneAMSMode() : EnterNoneAMSMode();
|
||||
show?ExitNoneAMSMode() : EnterNoneAMSMode(support_vt_load);
|
||||
}
|
||||
|
||||
void AMSControl::show_vams(bool show)
|
||||
|
@ -2245,6 +2251,10 @@ void AMSControl::update_vams_kn_value(AmsTray tray)
|
|||
m_vams_info.n = tray.n;
|
||||
m_vams_lib->m_info.k = tray.k;
|
||||
m_vams_lib->m_info.n = tray.n;
|
||||
m_vams_info.material_name = tray.get_display_filament_type();
|
||||
m_vams_info.material_colour = tray.get_color();
|
||||
m_vams_lib->m_info.material_name = tray.get_display_filament_type();
|
||||
m_vams_lib->m_info.material_colour = tray.get_color();
|
||||
m_vams_lib->Refresh();
|
||||
}
|
||||
|
||||
|
@ -2481,7 +2491,6 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
|||
cans->amsCans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
|
||||
type = AMSPassRoadType::AMS_ROAD_TYPE_LOAD;
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP1) {
|
||||
if (ams_id == m_current_ams) { m_extruder->TurnOff(); }
|
||||
cans->amsCans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
|
@ -2508,10 +2517,10 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
|||
|
||||
if (type == AMSPassRoadType::AMS_ROAD_TYPE_LOAD) {
|
||||
SetActionState(AMSAction::AMS_ACTION_LOAD);
|
||||
}
|
||||
|
||||
if (type == AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD) {
|
||||
} else if (type == AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD) {
|
||||
SetActionState(AMSAction::AMS_ACTION_UNLOAD);
|
||||
} else if (type == AMSPassRoadType::AMS_ROAD_TYPE_NONE) {
|
||||
SetActionState(AMSAction::AMS_ACTION_NORMAL);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -516,7 +516,7 @@ public:
|
|||
|
||||
bool m_is_none_ams_mode{false};
|
||||
void SetActionState(AMSAction action, bool support_virtual_tray = true);
|
||||
void EnterNoneAMSMode();
|
||||
void EnterNoneAMSMode(bool support_vt_load = false);
|
||||
void ExitNoneAMSMode();
|
||||
|
||||
void EnterCalibrationMode(bool read_to_calibration);
|
||||
|
@ -549,7 +549,7 @@ public:
|
|||
void on_clibration_cancel_click(wxMouseEvent &event);
|
||||
void Reset();
|
||||
|
||||
void show_noams_mode(bool show, bool support_virtual_tray);
|
||||
void show_noams_mode(bool show, bool support_virtual_tray, bool support_vt_load = false);
|
||||
void show_vams(bool show);
|
||||
void show_vams_kn_value(bool show);
|
||||
void update_vams_kn_value(AmsTray tray);
|
||||
|
|
Loading…
Reference in New Issue