ENH:supports new fields for flag3
jira:[none] Change-Id: I013c7b843f3f7d5156a8d209572da2bc078e9191
This commit is contained in:
parent
65868cf603
commit
106d9865c3
|
@ -3779,6 +3779,7 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
|
||||||
if (jj.contains("flag3")) {
|
if (jj.contains("flag3")) {
|
||||||
int flag3 = jj["flag3"].get<int>();
|
int flag3 = jj["flag3"].get<int>();
|
||||||
is_support_filament_setting_inprinting = get_flag_bits(flag3, 3);
|
is_support_filament_setting_inprinting = get_flag_bits(flag3, 3);
|
||||||
|
is_enable_ams_np = get_flag_bits(flag3, 9);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!key_field_only) {
|
if (!key_field_only) {
|
||||||
|
@ -4468,12 +4469,12 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
|
||||||
if (jj["ams"]["version"].is_number())
|
if (jj["ams"]["version"].is_number())
|
||||||
ams_version = jj["ams"]["version"].get<int>();
|
ams_version = jj["ams"]["version"].get<int>();
|
||||||
}
|
}
|
||||||
if (jj["ams"].contains("tray_now")) {
|
|
||||||
this->_parse_tray_now(jj["ams"]["tray_now"].get<std::string>());
|
|
||||||
}
|
|
||||||
if (jj["ams"].contains("tray_tar")) {
|
if (jj["ams"].contains("tray_tar")) {
|
||||||
m_tray_tar = jj["ams"]["tray_tar"].get<std::string>();
|
m_tray_tar = jj["ams"]["tray_tar"].get<std::string>();
|
||||||
}
|
}
|
||||||
|
if (jj["ams"].contains("tray_now")) {
|
||||||
|
_parse_tray_now(jj["ams"]["tray_now"].get<std::string>());
|
||||||
|
}
|
||||||
if (jj["ams"].contains("ams_rfid_status"))
|
if (jj["ams"].contains("ams_rfid_status"))
|
||||||
ams_rfid_status = jj["ams"]["ams_rfid_status"].get<int>();
|
ams_rfid_status = jj["ams"]["ams_rfid_status"].get<int>();
|
||||||
|
|
||||||
|
|
|
@ -1310,6 +1310,7 @@ public:
|
||||||
|
|
||||||
/*for more extruder*/
|
/*for more extruder*/
|
||||||
bool is_enable_np{ false };
|
bool is_enable_np{ false };
|
||||||
|
bool is_enable_ams_np{ false };
|
||||||
|
|
||||||
ExtderData m_extder_data;
|
ExtderData m_extder_data;
|
||||||
NozzleData m_nozzle_data;
|
NozzleData m_nozzle_data;
|
||||||
|
|
|
@ -3283,7 +3283,7 @@ void StatusPanel::update_ams(MachineObject *obj)
|
||||||
} else {
|
} else {
|
||||||
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||||
}
|
}
|
||||||
m_ams_control->SetExtruder(ext.ext_has_filament, ext.snow.ams_id, ext.snow.slot_id);
|
m_ams_control->SetExtruder(ext.ext_has_filament, MAIN_NOZZLE_ID, ext.snow.ams_id, ext.snow.slot_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*left*/
|
/*left*/
|
||||||
|
@ -3298,7 +3298,7 @@ void StatusPanel::update_ams(MachineObject *obj)
|
||||||
} else {
|
} else {
|
||||||
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||||
}
|
}
|
||||||
m_ams_control->SetExtruder(ext.ext_has_filament, ext.snow.ams_id, ext.snow.slot_id);
|
m_ams_control->SetExtruder(ext.ext_has_filament, DEPUTY_NOZZLE_ID, ext.snow.ams_id, ext.snow.slot_id);
|
||||||
}
|
}
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
@ -4192,9 +4192,10 @@ void StatusPanel::on_ams_load_curr()
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (obj->is_enable_np) {
|
if (obj->is_enable_np || obj->is_enable_ams_np) {
|
||||||
try {
|
try {
|
||||||
if (!curr_ams_id.empty() && !curr_can_id.empty()) { obj->command_ams_change_filament(true, curr_ams_id, "0", old_temp, new_temp);
|
if (!curr_ams_id.empty() && !curr_can_id.empty()) {
|
||||||
|
obj->command_ams_change_filament(true, curr_ams_id, "0", old_temp, new_temp);
|
||||||
}
|
}
|
||||||
} catch (...) {}
|
} catch (...) {}
|
||||||
} else {
|
} else {
|
||||||
|
@ -4257,6 +4258,8 @@ void StatusPanel::on_ams_load_vams(wxCommandEvent& event) {
|
||||||
void StatusPanel::on_ams_switch(SimpleEvent &event)
|
void StatusPanel::on_ams_switch(SimpleEvent &event)
|
||||||
{
|
{
|
||||||
if(obj){
|
if(obj){
|
||||||
|
|
||||||
|
/*right*/
|
||||||
if (obj->m_extder_data.extders.size() > 0) {
|
if (obj->m_extder_data.extders.size() > 0) {
|
||||||
auto ext = obj->m_extder_data.extders[MAIN_NOZZLE_ID];
|
auto ext = obj->m_extder_data.extders[MAIN_NOZZLE_ID];
|
||||||
if (ext.ext_has_filament) {
|
if (ext.ext_has_filament) {
|
||||||
|
@ -4268,7 +4271,7 @@ void StatusPanel::on_ams_switch(SimpleEvent &event)
|
||||||
} else {
|
} else {
|
||||||
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||||
}
|
}
|
||||||
m_ams_control->SetExtruder(ext.ext_has_filament, ext.snow.ams_id, ext.snow.slot_id);
|
m_ams_control->SetExtruder(ext.ext_has_filament, MAIN_NOZZLE_ID, ext.snow.ams_id, ext.snow.slot_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*left*/
|
/*left*/
|
||||||
|
@ -4283,7 +4286,7 @@ void StatusPanel::on_ams_switch(SimpleEvent &event)
|
||||||
} else {
|
} else {
|
||||||
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
m_ams_control->SetAmsStep(ext.snow.ams_id, ext.snow.slot_id, AMSPassRoadType::AMS_ROAD_TYPE_UNLOAD, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||||
}
|
}
|
||||||
m_ams_control->SetExtruder(ext.ext_has_filament, ext.snow.ams_id, ext.snow.slot_id);
|
m_ams_control->SetExtruder(ext.ext_has_filament, DEPUTY_NOZZLE_ID, ext.snow.ams_id, ext.snow.slot_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4550,20 +4553,13 @@ void StatusPanel::on_ams_refresh_rfid(wxCommandEvent &event)
|
||||||
auto has_filament_at_extruder = false;
|
auto has_filament_at_extruder = false;
|
||||||
auto use_new_command = false;
|
auto use_new_command = false;
|
||||||
|
|
||||||
if (obj->m_extder_data.total_extder_count <= 1 && !obj->is_enable_np) {
|
if (obj->is_enable_np || obj->is_enable_ams_np) {
|
||||||
has_filament_at_extruder = obj->is_filament_at_extruder();
|
|
||||||
|
|
||||||
/*for xp support n3s/n3f*/
|
|
||||||
if (!ams_it->second->info.empty()) {
|
|
||||||
use_new_command = true;
|
use_new_command = true;
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
use_new_command = true;
|
|
||||||
|
|
||||||
if (ams_it->second->nozzle < obj->m_extder_data.extders.size()) {
|
if (ams_it->second->nozzle < obj->m_extder_data.extders.size()) {
|
||||||
has_filament_at_extruder = obj->m_extder_data.extders[ams_it->second->nozzle].ext_has_filament;
|
has_filament_at_extruder = obj->m_extder_data.extders[ams_it->second->nozzle].ext_has_filament;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
has_filament_at_extruder = obj->is_filament_at_extruder();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (has_filament_at_extruder) {
|
if (has_filament_at_extruder) {
|
||||||
|
|
|
@ -1465,19 +1465,17 @@ bool AMSControl::Enable(bool enable)
|
||||||
return wxWindow::Enable(enable);
|
return wxWindow::Enable(enable);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AMSControl::SetExtruder(bool on_off, std::string ams_id, std::string slot_id)
|
void AMSControl::SetExtruder(bool on_off, int nozzle_id, std::string ams_id, std::string slot_id)
|
||||||
{
|
{
|
||||||
AmsItem *item = nullptr;
|
AmsItem *item = nullptr;
|
||||||
if (m_ams_item_list.find(ams_id) != m_ams_item_list.end()) { item = m_ams_item_list[ams_id]; }
|
if (m_ams_item_list.find(ams_id) != m_ams_item_list.end()) { item = m_ams_item_list[ams_id]; }
|
||||||
|
|
||||||
if (!item) {
|
if (on_off && item) {
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!on_off) {
|
|
||||||
m_extruder->OnAmsLoading(false, item->get_nozzle_id());
|
|
||||||
} else {
|
|
||||||
auto col = item->GetTagColr(slot_id);
|
auto col = item->GetTagColr(slot_id);
|
||||||
m_extruder->OnAmsLoading(true, item->get_nozzle_id(), col);
|
m_extruder->OnAmsLoading(true, nozzle_id, col);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
m_extruder->OnAmsLoading(false, nozzle_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -170,7 +170,7 @@ public:
|
||||||
void AddAms(std::vector<AMSinfo> single_info, const std::string &series_name, const std::string &printer_type, AMSPanelPos pos = AMSPanelPos::LEFT_PANEL);
|
void AddAms(std::vector<AMSinfo> single_info, const std::string &series_name, const std::string &printer_type, AMSPanelPos pos = AMSPanelPos::LEFT_PANEL);
|
||||||
void AddAmsPreview(std::vector<AMSinfo>single_info, AMSPanelPos pos);
|
void AddAmsPreview(std::vector<AMSinfo>single_info, AMSPanelPos pos);
|
||||||
//void AddExtraAms(std::vector<AMSinfo>single_info);
|
//void AddExtraAms(std::vector<AMSinfo>single_info);
|
||||||
void SetExtruder(bool on_off, std::string ams_id, std::string slot_id);
|
void SetExtruder(bool on_off, int nozzle_id, std::string ams_id, std::string slot_id);
|
||||||
void SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadType type, AMSPassRoadSTEP step);
|
void SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadType type, AMSPassRoadSTEP step);
|
||||||
void SwitchAms(std::string ams_id);
|
void SwitchAms(std::string ams_id);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue