mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-22 04:35:17 +00:00
ENH:compatible with AMS exist flag
jira:[none] Change-Id: I6afeafe0676eded86f83838576d67233f50ee509 (cherry picked from commit a182fa1aa4a3bdd32c4ccfa26adcd92a9f1cca37)
This commit is contained in:
@@ -798,19 +798,19 @@ void MachineObject::_parse_tray_now(std::string tray_now)
|
|||||||
try {
|
try {
|
||||||
int tray_now_int = atoi(tray_now.c_str());
|
int tray_now_int = atoi(tray_now.c_str());
|
||||||
|
|
||||||
if (tray_now_int == 255) {
|
if (tray_now_int == VIRTUAL_TRAY_MAIN_ID) {
|
||||||
m_ams_id = "0";
|
m_ams_id = "0";
|
||||||
m_tray_id = "0";
|
m_tray_id = "0";
|
||||||
m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id = "";
|
m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id = "";
|
||||||
m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id = "";
|
m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id = "";
|
||||||
|
|
||||||
if (m_tray_now == std::to_string(255)) {
|
if (m_tray_now == std::to_string(VIRTUAL_TRAY_DEPUTY_ID)) {
|
||||||
m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id = std::to_string(255);
|
m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id = std::to_string(VIRTUAL_TRAY_MAIN_ID);
|
||||||
m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id = "0";
|
m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id = "0";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tray_now_int == 254) {
|
else if (tray_now_int == VIRTUAL_TRAY_DEPUTY_ID) {
|
||||||
m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id = std::to_string(254);
|
m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id = std::to_string(VIRTUAL_TRAY_MAIN_ID);
|
||||||
m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id = "0";
|
m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id = "0";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -3669,7 +3669,7 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*the param is invalid in np for Yeshu*/
|
/*the param is invalid in np for Yeshu*/
|
||||||
if (!check_enable_np(jj) && jj.contains("hw_switch_state")) {
|
if (jj.contains("hw_switch_state")) {
|
||||||
hw_switch_state = jj["hw_switch_state"].get<int>();
|
hw_switch_state = jj["hw_switch_state"].get<int>();
|
||||||
m_extder_data.extders[MAIN_NOZZLE_ID].ext_has_filament = hw_switch_state;
|
m_extder_data.extders[MAIN_NOZZLE_ID].ext_has_filament = hw_switch_state;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1130,6 +1130,7 @@ AMSRoadShowMode AMSControl::findFirstMode(AMSPanelPos pos) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (item->second->get_ams_model() == AMSModel::EXT_AMS && item->second->get_ext_type() == AMSModelOriginType::LITE_EXT) return AMSRoadShowMode::AMS_ROAD_MODE_AMS_LITE;
|
if (item->second->get_ams_model() == AMSModel::EXT_AMS && item->second->get_ext_type() == AMSModelOriginType::LITE_EXT) return AMSRoadShowMode::AMS_ROAD_MODE_AMS_LITE;
|
||||||
|
if (item->second->get_ams_model() == AMSModel::N3S_AMS) return AMSRoadShowMode::AMS_ROAD_MODE_SINGLE_N3S;
|
||||||
return AMSRoadShowMode::AMS_ROAD_MODE_SINGLE;
|
return AMSRoadShowMode::AMS_ROAD_MODE_SINGLE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1400,6 +1401,10 @@ void AMSControl::SwitchAms(std::string ams_id)
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
AMSRoadShowMode mode = AMSRoadShowMode::AMS_ROAD_MODE_SINGLE;
|
AMSRoadShowMode mode = AMSRoadShowMode::AMS_ROAD_MODE_SINGLE;
|
||||||
|
|
||||||
|
if (item->get_ams_model() == AMSModel::N3S_AMS)
|
||||||
|
mode = AMSRoadShowMode::AMS_ROAD_MODE_SINGLE_N3S;
|
||||||
|
|
||||||
for (auto it : pair_id) {
|
for (auto it : pair_id) {
|
||||||
if (it.first == ams_id || it.second == ams_id) {
|
if (it.first == ams_id || it.second == ams_id) {
|
||||||
mode = AMSRoadShowMode::AMS_ROAD_MODE_DOUBLE;
|
mode = AMSRoadShowMode::AMS_ROAD_MODE_DOUBLE;
|
||||||
@@ -1521,9 +1526,10 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Set path length in different case
|
//Set path length in different case
|
||||||
if (ams->get_can_count() == GENERIC_AMS_SLOT_NUM){
|
model = ams->get_ams_model();
|
||||||
|
|
||||||
|
if (ams->get_can_count() == GENERIC_AMS_SLOT_NUM) {
|
||||||
length = left ? 129 : 145;
|
length = left ? 129 : 145;
|
||||||
model = ams->get_ams_model();
|
|
||||||
} else if (ams->get_can_count() == 1) {
|
} else if (ams->get_can_count() == 1) {
|
||||||
for (auto it : pair_id){
|
for (auto it : pair_id){
|
||||||
if (it.first == ams_id){
|
if (it.first == ams_id){
|
||||||
@@ -1537,8 +1543,12 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
model = ams->get_ams_model();
|
|
||||||
|
if (!in_pair && model == N3S_AMS) {
|
||||||
|
length = left ? 129 : 232;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (model == AMSModel::AMS_LITE){
|
if (model == AMSModel::AMS_LITE){
|
||||||
length = left ? 145 : 45;
|
length = left ? 145 : 45;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2328,6 +2328,10 @@ void AMSRoadDownPart::doRender(wxDC& dc)
|
|||||||
dc.DrawLine(left_nozzle_pos.x - FromDIP(218), 0, left_nozzle_pos.x - FromDIP(218), (size.y / 2));
|
dc.DrawLine(left_nozzle_pos.x - FromDIP(218), 0, left_nozzle_pos.x - FromDIP(218), (size.y / 2));
|
||||||
break;
|
break;
|
||||||
case AMSRoadShowMode::AMS_ROAD_MODE_SINGLE:
|
case AMSRoadShowMode::AMS_ROAD_MODE_SINGLE:
|
||||||
|
dc.DrawLine(left_nozzle_pos.x - FromDIP(192), (size.y / 2), left_nozzle_pos.x, (size.y / 2));
|
||||||
|
dc.DrawLine(left_nozzle_pos.x - FromDIP(192), 0, left_nozzle_pos.x - FromDIP(192), (size.y / 2));
|
||||||
|
break;
|
||||||
|
case AMSRoadShowMode::AMS_ROAD_MODE_SINGLE_N3S:
|
||||||
dc.DrawLine(left_nozzle_pos.x - FromDIP((129)), (size.y / 2), left_nozzle_pos.x, (size.y / 2));
|
dc.DrawLine(left_nozzle_pos.x - FromDIP((129)), (size.y / 2), left_nozzle_pos.x, (size.y / 2));
|
||||||
dc.DrawLine(left_nozzle_pos.x - FromDIP((129)), 0, left_nozzle_pos.x - FromDIP((129)), (size.y / 2));
|
dc.DrawLine(left_nozzle_pos.x - FromDIP((129)), 0, left_nozzle_pos.x - FromDIP((129)), (size.y / 2));
|
||||||
break;
|
break;
|
||||||
@@ -2353,6 +2357,10 @@ void AMSRoadDownPart::doRender(wxDC& dc)
|
|||||||
dc.DrawLine(right_nozzle_pos.x, (size.y / 2), right_nozzle_pos.x + FromDIP(68), (size.y / 2));
|
dc.DrawLine(right_nozzle_pos.x, (size.y / 2), right_nozzle_pos.x + FromDIP(68), (size.y / 2));
|
||||||
dc.DrawLine(right_nozzle_pos.x + FromDIP(68), 0, right_nozzle_pos.x + FromDIP(68), (size.y / 2));
|
dc.DrawLine(right_nozzle_pos.x + FromDIP(68), 0, right_nozzle_pos.x + FromDIP(68), (size.y / 2));
|
||||||
break;
|
break;
|
||||||
|
case AMSRoadShowMode::AMS_ROAD_MODE_SINGLE_N3S:
|
||||||
|
dc.DrawLine(left_nozzle_pos.x - FromDIP((129)), (size.y / 2), left_nozzle_pos.x, (size.y / 2));
|
||||||
|
dc.DrawLine(left_nozzle_pos.x - FromDIP((129)), 0, left_nozzle_pos.x - FromDIP((129)), (size.y / 2));
|
||||||
|
break;
|
||||||
case AMSRoadShowMode::AMS_ROAD_MODE_AMS_LITE:
|
case AMSRoadShowMode::AMS_ROAD_MODE_AMS_LITE:
|
||||||
dc.DrawLine(left_nozzle_pos.x, (size.y / 2), left_nozzle_pos.x + FromDIP(145), (size.y / 2));
|
dc.DrawLine(left_nozzle_pos.x, (size.y / 2), left_nozzle_pos.x + FromDIP(145), (size.y / 2));
|
||||||
dc.DrawLine(left_nozzle_pos.x + FromDIP(145), 0, left_nozzle_pos.x + FromDIP(145), (size.y / 2));
|
dc.DrawLine(left_nozzle_pos.x + FromDIP(145), 0, left_nozzle_pos.x + FromDIP(145), (size.y / 2));
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ enum class AMSRoadShowMode : int {
|
|||||||
AMS_ROAD_MODE_FOUR,
|
AMS_ROAD_MODE_FOUR,
|
||||||
AMS_ROAD_MODE_DOUBLE,
|
AMS_ROAD_MODE_DOUBLE,
|
||||||
AMS_ROAD_MODE_SINGLE,
|
AMS_ROAD_MODE_SINGLE,
|
||||||
|
AMS_ROAD_MODE_SINGLE_N3S,
|
||||||
AMS_ROAD_MODE_AMS_LITE,
|
AMS_ROAD_MODE_AMS_LITE,
|
||||||
AMS_ROAD_MODE_NONE
|
AMS_ROAD_MODE_NONE
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user