FIX: Ams road display
jira: [Ams road display] Change-Id: I1669bb588c969fe1cee7149d0d900cda3758deb3
This commit is contained in:
parent
f722334f3b
commit
3e8fe435e3
|
@ -2935,7 +2935,7 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||
m_Humidity_tip_popup.Position(popup_pos, wxSize(0, 0));
|
||||
if (m_ams_info.size() > 0) {
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
if (m_ams_info[i].ams_id == m_current_show_ams) {
|
||||
if (m_ams_info[i].ams_id == m_current_show_ams_left || m_ams_info[i].ams_id == m_current_show_ams_right) {
|
||||
m_Humidity_tip_popup.set_humidity_level(m_ams_info[i].ams_humidity);
|
||||
}
|
||||
}
|
||||
|
@ -2968,8 +2968,22 @@ AMSControl::~AMSControl() {
|
|||
m_simplebook_ams_right->DeleteAllPages();*/
|
||||
}
|
||||
|
||||
std::string AMSControl::GetCurentAms() { return m_current_ams; }
|
||||
std::string AMSControl::GetCurentShowAms() { return m_current_show_ams; }
|
||||
std::string AMSControl::GetCurentAms(bool right_panel) {
|
||||
if (right_panel){
|
||||
return m_current_ams_right;
|
||||
}
|
||||
else{
|
||||
return m_current_ams_left;
|
||||
}
|
||||
}
|
||||
std::string AMSControl::GetCurentShowAms(bool right_panel) {
|
||||
if (right_panel){
|
||||
return m_current_show_ams_right;
|
||||
}
|
||||
else{
|
||||
return m_current_show_ams_left;
|
||||
}
|
||||
}
|
||||
|
||||
std::string AMSControl::GetCurrentCan(std::string amsid)
|
||||
{
|
||||
|
@ -2984,6 +2998,24 @@ std::string AMSControl::GetCurrentCan(std::string amsid)
|
|||
return current_can;
|
||||
}
|
||||
|
||||
bool AMSControl::IsAmsInRightPanel(std::string ams_id) {
|
||||
if (m_nozzle_num == 2){
|
||||
if (m_ams_item_list[ams_id]->m_info.nozzle_id == 0){
|
||||
return true;
|
||||
}
|
||||
else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else{
|
||||
for (auto id : m_item_ids[1]){
|
||||
if (id == ams_id){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
wxColour AMSControl::GetCanColour(std::string amsid, std::string canid)
|
||||
{
|
||||
|
@ -3429,6 +3461,9 @@ void AMSControl::CreateAmsNew()
|
|||
m_down_road->UpdateRight(2, right_init_mode);
|
||||
}
|
||||
m_extruder->update(2);
|
||||
auto it = m_ams_item_list.begin();
|
||||
m_down_road->UpdatePassRoad(0, true, -1, it->second->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(0, false, -1, (++it)->second->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
//Refresh();
|
||||
//Freeze();
|
||||
Thaw();
|
||||
|
@ -3560,6 +3595,12 @@ void AMSControl::CreateAmsSingleNozzle()
|
|||
m_down_road->UpdateRight(1, right_init_mode);
|
||||
}
|
||||
m_extruder->update(1);
|
||||
auto it = m_ams_item_list.begin();
|
||||
m_down_road->UpdatePassRoad("0", true, -1, it->second->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
if ((++it) != m_ams_item_list.end()){
|
||||
m_down_road->UpdatePassRoad("0", false, -1, it->second->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
|
||||
//Refresh();
|
||||
Thaw();
|
||||
}
|
||||
|
@ -3619,7 +3660,7 @@ void AMSControl::show_vams(bool show)
|
|||
//m_panel_virtual->Show(show);
|
||||
//m_vams_sizer->Show(show);
|
||||
//m_vams_extra_road->Show(show);
|
||||
m_extruder->has_ams(show);
|
||||
/*m_extruder->has_ams(show);
|
||||
show_vams_kn_value(show);
|
||||
Layout();
|
||||
|
||||
|
@ -3629,7 +3670,7 @@ void AMSControl::show_vams(bool show)
|
|||
event.SetEventObject(m_vams_lib);
|
||||
wxPostEvent(m_vams_lib, event);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
void AMSControl::show_vams_kn_value(bool show)
|
||||
|
@ -3710,8 +3751,8 @@ void AMSControl::ReadExtInfo(MachineObject* obj) {
|
|||
void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ext_info, std::string dev_id, bool is_reset, bool test)
|
||||
{
|
||||
if (!test){
|
||||
std::string curr_ams_id = GetCurentAms();
|
||||
std::string curr_can_id = GetCurrentCan(curr_ams_id);
|
||||
/*std::string curr_ams_id = GetCurentAms();
|
||||
std::string curr_can_id = GetCurrentCan(curr_ams_id);*/
|
||||
|
||||
int nozzle_num = ext_info.size();
|
||||
|
||||
|
@ -3784,11 +3825,11 @@ void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ex
|
|||
}
|
||||
}
|
||||
|
||||
if (m_current_show_ams.empty() && !is_reset) {
|
||||
/*if (m_current_show_ams.empty() && !is_reset) {
|
||||
if (ext_info.size() > 0) {
|
||||
SwitchAms(ext_info[0].ams_id);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
//m_simplebook_ams_left->SetSelection(m_simplebook_ams_left->m_first);
|
||||
}
|
||||
|
@ -3909,11 +3950,11 @@ void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, std::vector<AMSinfo>ex
|
|||
}
|
||||
}
|
||||
|
||||
if (m_current_show_ams.empty() && !is_reset) {
|
||||
/*if (m_current_show_ams.empty() && !is_reset) {
|
||||
if (ams_info.size() > 0) {
|
||||
SwitchAms(ams_info[0].ams_id);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
|
@ -4226,23 +4267,25 @@ void AMSControl::AddAmsPreview(std::vector<AMSinfo>single_info) {
|
|||
|
||||
void AMSControl::SwitchAms(std::string ams_id)
|
||||
{
|
||||
if(ams_id == m_current_show_ams){return;}
|
||||
if(ams_id == m_current_show_ams_left || ams_id == m_current_show_ams_right){return;}
|
||||
|
||||
if (m_current_show_ams != ams_id) {
|
||||
m_current_show_ams = ams_id;
|
||||
m_extruder->OnAmsLoading(false);
|
||||
}
|
||||
|
||||
/*if (ams_id != std::to_string(VIRTUAL_TRAY_MAIN_ID)) {
|
||||
if (m_current_show_ams != ams_id) {
|
||||
m_current_show_ams = ams_id;
|
||||
bool is_in_right = IsAmsInRightPanel(ams_id);
|
||||
if (is_in_right){
|
||||
if (m_current_show_ams_right != ams_id) {
|
||||
m_current_show_ams_right = ams_id;
|
||||
m_extruder->OnAmsLoading(false);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
else{
|
||||
m_current_show_ams_left = ams_id;
|
||||
m_extruder->OnAmsLoading(false);
|
||||
if (m_nozzle_num > 1) m_extruder->OnAmsLoading(false, 1);
|
||||
}
|
||||
|
||||
|
||||
for (auto prv_it : m_ams_preview_list) {
|
||||
AMSPreview* prv = prv_it.second;
|
||||
if (prv->m_amsinfo.ams_id == m_current_show_ams) {
|
||||
if (prv->m_amsinfo.ams_id == m_current_show_ams_left || prv->m_amsinfo.ams_id == m_current_show_ams_right) {
|
||||
prv->OnSelected();
|
||||
m_current_select = ams_id;
|
||||
|
||||
|
@ -4258,16 +4301,12 @@ void AMSControl::SwitchAms(std::string ams_id)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
//if (!ready_selected) {
|
||||
// m_current_ams = std::to_string(VIRTUAL_TRAY_MAIN_ID);
|
||||
// //m_vams_lib->OnSelected();
|
||||
//}
|
||||
//else {
|
||||
// m_current_ams = ams_id;
|
||||
// //m_vams_lib->UnSelected();
|
||||
//}
|
||||
m_current_ams = ams_id;
|
||||
if (is_in_right){
|
||||
m_current_ams_right = ams_id;
|
||||
}
|
||||
else{
|
||||
m_current_ams_left = ams_id;
|
||||
}
|
||||
|
||||
} else {
|
||||
prv->UnSelected();
|
||||
|
@ -4288,130 +4327,106 @@ void AMSControl::SwitchAms(std::string ams_id)
|
|||
for (auto ams_item : m_ams_item_list) {
|
||||
AmsItem* item = ams_item.second;
|
||||
if (item->m_info.ams_id == ams_id) {
|
||||
|
||||
/*if (m_ams_model == AMSModel::GENERIC_AMS) {
|
||||
if (item->m_info.nozzle_id == 1)
|
||||
{
|
||||
m_simplebook_ams_left->SetSelection(item->m_selection);
|
||||
}
|
||||
else if (item->m_info.nozzle_id == 0)
|
||||
{
|
||||
m_simplebook_ams_right->SetSelection(item->m_selection);
|
||||
}
|
||||
|
||||
}*/
|
||||
if (m_nozzle_num == 2) {
|
||||
if (item->m_info.nozzle_id == 1)
|
||||
{
|
||||
if (item->m_info.nozzle_id == 1){
|
||||
m_simplebook_ams_left->SetSelection(item->m_selection);
|
||||
if (item->m_info.cans.size() == 4)
|
||||
{
|
||||
if (item->m_info.cans.size() == 4){
|
||||
m_down_road->UpdateLeft(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_FOUR);
|
||||
}
|
||||
else {
|
||||
AMSRoadShowMode mode = AMSRoadShowMode::AMS_ROAD_MODE_SINGLE;
|
||||
for (auto it : pair_id)
|
||||
{
|
||||
if (it.first == ams_id || it.second == ams_id)
|
||||
{
|
||||
for (auto it : pair_id){
|
||||
if (it.first == ams_id || it.second == ams_id){
|
||||
mode = AMSRoadShowMode::AMS_ROAD_MODE_DOUBLE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
m_down_road->UpdateLeft(m_nozzle_num, mode);
|
||||
m_down_road->UpdatePassRoad(item->m_info.current_can_id, true, -1, item->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
|
||||
}
|
||||
else if (item->m_info.nozzle_id == 0)
|
||||
{
|
||||
else if (item->m_info.nozzle_id == 0){
|
||||
m_simplebook_ams_right->SetSelection(item->m_selection);
|
||||
if (item->m_info.cans.size() == 4)
|
||||
{
|
||||
if (item->m_info.cans.size() == 4){
|
||||
m_down_road->UpdateRight(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_FOUR);
|
||||
}
|
||||
else {
|
||||
AMSRoadShowMode mode = AMSRoadShowMode::AMS_ROAD_MODE_SINGLE;
|
||||
for (auto it : pair_id)
|
||||
{
|
||||
if (it.first == ams_id || it.second == ams_id)
|
||||
{
|
||||
for (auto it : pair_id){
|
||||
if (it.first == ams_id || it.second == ams_id){
|
||||
mode = AMSRoadShowMode::AMS_ROAD_MODE_DOUBLE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
m_down_road->UpdateRight(m_nozzle_num, mode);
|
||||
m_down_road->UpdatePassRoad(item->m_info.current_can_id, false, -1, item->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if (m_nozzle_num == 1) {
|
||||
for (auto id : m_item_ids[0])
|
||||
{
|
||||
if (id == item->m_info.ams_id)
|
||||
{
|
||||
for (auto id : m_item_ids[0]){
|
||||
if (id == item->m_info.ams_id){
|
||||
m_simplebook_ams_left->SetSelection(item->m_selection);
|
||||
if (item->m_info.cans.size() == 4)
|
||||
{
|
||||
if (item->m_info.cans.size() == 4){
|
||||
m_down_road->UpdateLeft(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_FOUR);
|
||||
}
|
||||
else {
|
||||
AMSRoadShowMode mode = AMSRoadShowMode::AMS_ROAD_MODE_SINGLE;
|
||||
for (auto it : pair_id)
|
||||
{
|
||||
if (it.first == ams_id || it.second == ams_id)
|
||||
{
|
||||
for (auto it : pair_id){
|
||||
if (it.first == ams_id || it.second == ams_id){
|
||||
mode = AMSRoadShowMode::AMS_ROAD_MODE_DOUBLE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
m_down_road->UpdateLeft(m_nozzle_num, mode);
|
||||
m_down_road->UpdatePassRoad(item->m_info.current_can_id, true, -1, item->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
for (auto id : m_item_ids[1])
|
||||
{
|
||||
if (id == item->m_info.ams_id)
|
||||
{
|
||||
if (id == item->m_info.ams_id){
|
||||
m_simplebook_ams_right->SetSelection(item->m_selection);
|
||||
|
||||
if (item->m_info.cans.size() == 4)
|
||||
{
|
||||
if (item->m_info.cans.size() == 4){
|
||||
m_down_road->UpdateRight(m_nozzle_num, AMSRoadShowMode::AMS_ROAD_MODE_FOUR);
|
||||
}
|
||||
else {
|
||||
AMSRoadShowMode mode = AMSRoadShowMode::AMS_ROAD_MODE_SINGLE;
|
||||
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;
|
||||
break;
|
||||
}
|
||||
}
|
||||
m_down_road->UpdateRight(m_nozzle_num, mode);
|
||||
m_down_road->UpdatePassRoad(item->m_info.current_can_id, false, -1, item->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//update extruder
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
if (m_ams_info[i].ams_id == m_current_ams) {
|
||||
if (m_ams_info[i].ams_id == ams_id) {
|
||||
switch (m_ams_info[i].current_step) {
|
||||
case AMSPassRoadSTEP::AMS_ROAD_STEP_NONE: m_extruder->TurnOff(); break;
|
||||
|
||||
case AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP1: m_extruder->TurnOff(); break;
|
||||
|
||||
case AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2: m_extruder->TurnOn(GetCanColour(m_current_ams, m_ams_info[i].current_can_id)); break;
|
||||
case AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2: m_extruder->TurnOn(GetCanColour(ams_id, m_ams_info[i].current_can_id)); break;
|
||||
|
||||
case AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3: m_extruder->TurnOn(GetCanColour(m_current_ams, m_ams_info[i].current_can_id)); break;
|
||||
case AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3: m_extruder->TurnOn(GetCanColour(ams_id, m_ams_info[i].current_can_id)); break;
|
||||
}
|
||||
SetAmsStep(ams_id, m_ams_info[i].current_can_id, AMSPassRoadType::AMS_ROAD_TYPE_LOAD, m_ams_info[i].current_step);
|
||||
}
|
||||
}
|
||||
for (auto i = 0; i < m_ext_info.size(); i++) {
|
||||
if (m_ext_info[i].ams_id == ams_id) {
|
||||
SetAmsStep(ams_id, "0", AMSPassRoadType::AMS_ROAD_TYPE_LOAD, m_ext_info[i].current_step);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4660,7 +4675,6 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
|||
auto amsit = m_ams_item_list.find(ams_id);
|
||||
bool notfound = false;
|
||||
|
||||
|
||||
if (amsit != m_ams_item_list.end()) {
|
||||
ams = amsit->second;
|
||||
}
|
||||
|
@ -4684,15 +4698,9 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
|||
m_last_tray_id = canid;
|
||||
auto model = AMSModel::EXTRA_AMS;
|
||||
|
||||
bool left = false;
|
||||
for (auto id : m_item_ids[0]){
|
||||
if (id == ams_id){
|
||||
left = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
int length = -1;
|
||||
bool left = !IsAmsInRightPanel(ams_id);
|
||||
|
||||
int length = -1;
|
||||
|
||||
if (ams->m_info.cans.size() == 4){
|
||||
length = left ? 135 : 149;
|
||||
|
@ -4719,26 +4727,24 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
|||
if (model == AMSModel::GENERIC_AMS || model == AMSModel::N3F_AMS || model == AMSModel::EXTRA_AMS) {
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_NONE) {
|
||||
//cans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(canid, true, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(canid, false, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(canid, left, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false);
|
||||
m_extruder->OnAmsLoading(false, ams->m_info.nozzle_id);
|
||||
}
|
||||
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP1) {
|
||||
m_down_road->UpdatePassRoad(canid, left, length, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_1);
|
||||
m_extruder->OnAmsLoading(false);
|
||||
m_extruder->OnAmsLoading(false, ams->m_info.nozzle_id);
|
||||
}
|
||||
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2) {
|
||||
m_down_road->UpdatePassRoad(canid, left, length, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
if (m_current_show_ams == ams_id) {
|
||||
if (m_current_show_ams_left == ams_id || m_current_show_ams_right == ams_id) {
|
||||
m_extruder->OnAmsLoading(true, ams->m_info.nozzle_id, ams->GetTagColr(canid));
|
||||
}
|
||||
}
|
||||
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP3) {
|
||||
m_down_road->UpdatePassRoad(canid, left, length, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_3);
|
||||
|
@ -4748,8 +4754,7 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
|||
else if(model == AMSModel::NO_AMS || model == AMSModel::SINGLE_AMS) {
|
||||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_NONE) {
|
||||
//cans->SetAmsStep(canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(canid, true, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(canid, false, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_down_road->UpdatePassRoad(canid, left, -1, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_NONE);
|
||||
m_extruder->OnAmsLoading(false);
|
||||
}
|
||||
|
@ -4763,7 +4768,7 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
|||
if (step == AMSPassRoadSTEP::AMS_ROAD_STEP_COMBO_LOAD_STEP2) {
|
||||
m_down_road->UpdatePassRoad(canid, left, length, ams->m_info, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
ams->SetAmsStep(ams_id, canid, type, AMSPassRoadSTEP::AMS_ROAD_STEP_2);
|
||||
if (m_current_show_ams == ams_id) {
|
||||
if (m_current_show_ams_left == ams_id || m_current_show_ams_right == ams_id) {
|
||||
m_extruder->OnAmsLoading(true, ams->m_info.nozzle_id, ams->GetTagColr(canid));
|
||||
}
|
||||
}
|
||||
|
@ -4819,13 +4824,19 @@ void AMSControl::SetAmsStep(std::string ams_id, std::string canid, AMSPassRoadTy
|
|||
m_ams_info[i].current_can_id = canid;
|
||||
}
|
||||
}
|
||||
for (auto i = 0; i < m_ext_info.size(); i++) {
|
||||
if (m_ext_info[i].ams_id == ams_id) {
|
||||
m_ext_info[i].current_step = step;
|
||||
m_ext_info[i].current_can_id = canid;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AMSControl::on_filament_load(wxCommandEvent &event)
|
||||
{
|
||||
m_button_extruder_back->Disable();
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
if (m_ams_info[i].ams_id == m_current_ams) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_LOAD; }
|
||||
if (m_ams_info[i].ams_id == m_current_ams_left || m_ams_info[i].ams_id == m_current_ams_right) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_LOAD; }
|
||||
}
|
||||
post_event(SimpleEvent(EVT_AMS_LOAD));
|
||||
}
|
||||
|
@ -4833,7 +4844,7 @@ void AMSControl::on_filament_load(wxCommandEvent &event)
|
|||
void AMSControl::on_extrusion_cali(wxCommandEvent &event)
|
||||
{
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
if (m_ams_info[i].ams_id == m_current_ams) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_CALI; }
|
||||
if (m_ams_info[i].ams_id == m_current_ams_left || m_ams_info[i].ams_id == m_current_ams_right) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_CALI; }
|
||||
}
|
||||
post_event(SimpleEvent(EVT_AMS_EXTRUSION_CALI));
|
||||
}
|
||||
|
@ -4842,7 +4853,7 @@ void AMSControl::on_filament_unload(wxCommandEvent &event)
|
|||
{
|
||||
m_button_extruder_feed->Disable();
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
if (m_ams_info[i].ams_id == m_current_ams) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_UNLOAD; }
|
||||
if (m_ams_info[i].ams_id == m_current_ams_left || m_ams_info[i].ams_id == m_current_ams_right) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_UNLOAD; }
|
||||
}
|
||||
post_event(SimpleEvent(EVT_AMS_UNLOAD));
|
||||
}
|
||||
|
@ -4855,7 +4866,7 @@ void AMSControl::auto_refill(wxCommandEvent& event)
|
|||
void AMSControl::on_ams_setting_click(wxMouseEvent &event)
|
||||
{
|
||||
for (auto i = 0; i < m_ams_info.size(); i++) {
|
||||
if (m_ams_info[i].ams_id == m_current_ams) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_CALI; }
|
||||
if (m_ams_info[i].ams_id == m_current_ams_left || m_ams_info[i].ams_id == m_current_ams_right) { m_ams_info[i].current_action = AMSAction::AMS_ACTION_CALI; }
|
||||
}
|
||||
post_event(SimpleEvent(EVT_AMS_SETTINGS));
|
||||
}
|
||||
|
|
|
@ -26,9 +26,12 @@ public:
|
|||
void on_retry();
|
||||
|
||||
protected:
|
||||
std::string m_current_ams;
|
||||
std::string m_current_slot;
|
||||
std::string m_current_show_ams;
|
||||
std::string m_current_ams_left;
|
||||
std::string m_current_ams_right;
|
||||
std::string m_current_slot_left;
|
||||
std::string m_current_slot_right;
|
||||
std::string m_current_show_ams_left;
|
||||
std::string m_current_show_ams_right;
|
||||
std::map<std::string, int> m_ams_selection;
|
||||
|
||||
std::map<std::string, AMSPreview*> m_ams_preview_list;
|
||||
|
@ -127,9 +130,10 @@ protected:
|
|||
std::string m_last_tray_id = "-1";
|
||||
|
||||
public:
|
||||
std::string GetCurentAms();
|
||||
std::string GetCurentShowAms();
|
||||
std::string GetCurentAms(bool right_panel = true);
|
||||
std::string GetCurentShowAms(bool right_panel = true);
|
||||
std::string GetCurrentCan(std::string amsid);
|
||||
bool IsAmsInRightPanel(std::string ams_id);
|
||||
wxColour GetCanColour(std::string amsid, std::string canid);
|
||||
|
||||
AMSModel m_ams_model{AMSModel::NO_AMS};
|
||||
|
|
|
@ -600,14 +600,13 @@ void AMSextruder::OnVamsLoading(bool load, wxColour col)
|
|||
void AMSextruder::OnAmsLoading(bool load, int nozzle_id, wxColour col /*= AMS_CONTROL_GRAY500*/)
|
||||
{
|
||||
m_ams_loading = load;
|
||||
if (load)m_current_colur = col;
|
||||
if (nozzle_id == 0){
|
||||
m_left_extruder->OnAmsLoading(load, col);
|
||||
m_right_extruder->OnAmsLoading(false, col);
|
||||
if (load) m_current_colur = col;
|
||||
}
|
||||
else{
|
||||
m_right_extruder->OnAmsLoading(load, col);
|
||||
m_left_extruder->OnAmsLoading(false, col);
|
||||
if (load) m_current_colur_deputy = col;
|
||||
}
|
||||
Refresh();
|
||||
}
|
||||
|
@ -631,6 +630,7 @@ void AMSextruder::render(wxDC& dc)
|
|||
wxGCDC dc2(memdc);
|
||||
//doRender(dc2);
|
||||
}
|
||||
m_left_extruder->update(true);
|
||||
if (m_nozzle_num >= 2) {
|
||||
m_right_extruder->update(true);
|
||||
}
|
||||
|
@ -1301,9 +1301,10 @@ void AMSLib::render_generic_lib(wxDC &dc)
|
|||
|
||||
// selected
|
||||
if (m_selected) {
|
||||
dc.SetPen(wxPen(tmp_lib_colour, 2, wxSOLID));
|
||||
dc.SetPen(wxPen(AMS_CONTROL_BRAND_COLOUR, 3, wxSOLID));
|
||||
//dc.SetPen(wxPen(tmp_lib_colour, 2, wxSOLID));
|
||||
if (tmp_lib_colour.Alpha() == 0) {
|
||||
dc.SetPen(wxPen(wxColour(tmp_lib_colour.Red(), tmp_lib_colour.Green(), tmp_lib_colour.Blue(), 128), 2, wxSOLID));
|
||||
dc.SetPen(wxPen(wxColour(tmp_lib_colour.Red(), tmp_lib_colour.Green(), tmp_lib_colour.Blue(), 128), 3, wxSOLID));
|
||||
}
|
||||
dc.SetBrush(wxBrush(*wxTRANSPARENT_BRUSH));
|
||||
if (m_radius == 0) {
|
||||
|
@ -1500,9 +1501,10 @@ void AMSLib::render_generic_lib(wxDC &dc)
|
|||
#endif
|
||||
|
||||
if (m_selected) {
|
||||
dc.SetPen(wxPen(tmp_lib_colour, 2, wxSOLID));
|
||||
dc.SetPen(wxPen(AMS_CONTROL_BRAND_COLOUR, 3, wxSOLID));
|
||||
//dc.SetPen(wxPen(tmp_lib_colour, 3, wxSOLID));
|
||||
if (tmp_lib_colour.Alpha() == 0) {
|
||||
dc.SetPen(wxPen(wxColour(tmp_lib_colour.Red(), tmp_lib_colour.Green(), tmp_lib_colour.Blue(), 128), 2, wxSOLID));
|
||||
dc.SetPen(wxPen(wxColour(tmp_lib_colour.Red(), tmp_lib_colour.Green(), tmp_lib_colour.Blue(), 128), 3, wxSOLID));
|
||||
}
|
||||
dc.SetBrush(wxBrush(*wxTRANSPARENT_BRUSH));
|
||||
if (m_radius == 0) {
|
||||
|
@ -1517,7 +1519,7 @@ void AMSLib::render_generic_lib(wxDC &dc)
|
|||
}
|
||||
|
||||
if (!m_selected && m_hover) {
|
||||
dc.SetPen(wxPen(AMS_CONTROL_BRAND_COLOUR, 2, wxSOLID));
|
||||
dc.SetPen(wxPen(AMS_CONTROL_BRAND_COLOUR, 3, wxSOLID));
|
||||
dc.SetBrush(wxBrush(*wxTRANSPARENT_BRUSH));
|
||||
if (m_radius == 0) {
|
||||
dc.DrawRectangle(0, 0, size.x, size.y);
|
||||
|
@ -2225,42 +2227,60 @@ void AMSRoadDownPart::doRender(wxDC& dc)
|
|||
dc.DrawLine(left_nozzle_pos.x, left_nozzle_pos.y, FromDIP(left_nozzle_pos.x + 30), left_nozzle_pos.y);
|
||||
}*/
|
||||
//dc.SetBrush(wxBrush(*wxBLUE));
|
||||
if (m_pass_road_step == AMSPassRoadSTEP::AMS_ROAD_STEP_2 || m_pass_road_step == AMSPassRoadSTEP::AMS_ROAD_STEP_3){
|
||||
if (m_pass_road_left_step == AMSPassRoadSTEP::AMS_ROAD_STEP_2 || m_pass_road_left_step == AMSPassRoadSTEP::AMS_ROAD_STEP_3){
|
||||
dc.SetPen(wxPen(m_amsinfo.cans[m_canindex].material_colour, 4, wxSOLID));
|
||||
if (m_left_road_length > 0){
|
||||
dc.DrawLine((FromDIP(left_nozzle_pos.x - m_left_road_length)), FromDIP(size.y / 2), FromDIP(left_nozzle_pos.x), FromDIP(size.y / 2));
|
||||
dc.DrawLine(FromDIP(left_nozzle_pos.x), FromDIP(size.y / 2), FromDIP(left_nozzle_pos.x), FromDIP(size.y));
|
||||
dc.DrawLine(FromDIP(left_nozzle_pos.x - m_left_road_length), FromDIP(0), FromDIP(left_nozzle_pos.x - m_left_road_length), FromDIP(size.y / 2));
|
||||
}
|
||||
else if (m_right_road_length > 0){
|
||||
dc.DrawLine((FromDIP(left_nozzle_pos.x)), FromDIP(size.y / 2), FromDIP(left_nozzle_pos.x + m_right_road_length), FromDIP(size.y / 2));
|
||||
dc.DrawLine(FromDIP(left_nozzle_pos.x + m_right_road_length), FromDIP(0), FromDIP(left_nozzle_pos.x + m_right_road_length), FromDIP(size.y / 2));
|
||||
if (m_nozzle_num == 1){
|
||||
dc.DrawLine(FromDIP(left_nozzle_pos.x), FromDIP(size.y / 2), FromDIP(right_nozzle_pos.x), FromDIP(size.y / 2));
|
||||
dc.DrawLine(FromDIP(left_nozzle_pos.x), FromDIP(size.y / 2), FromDIP(left_nozzle_pos.x), FromDIP(size.y));
|
||||
}
|
||||
else{
|
||||
dc.DrawLine(FromDIP(right_nozzle_pos.x), FromDIP(size.y / 2), FromDIP(right_nozzle_pos.x), FromDIP(size.y));
|
||||
}
|
||||
|
||||
if (m_pass_road_right_step == AMSPassRoadSTEP::AMS_ROAD_STEP_2 || m_pass_road_right_step == AMSPassRoadSTEP::AMS_ROAD_STEP_3) {
|
||||
dc.SetPen(wxPen(m_amsinfo.cans[m_canindex].material_colour, 4, wxSOLID));
|
||||
if (m_right_road_length > 0) {
|
||||
int x = left_nozzle_pos.x;
|
||||
int len = m_right_road_length;
|
||||
if (m_nozzle_num == 2){
|
||||
x = right_nozzle_pos.x;
|
||||
len = len - 14;
|
||||
}
|
||||
dc.DrawLine((FromDIP(x)), FromDIP(size.y / 2), FromDIP(x + len), FromDIP(size.y / 2));
|
||||
dc.DrawLine(FromDIP(x + len), FromDIP(0), FromDIP(left_nozzle_pos.x + len), FromDIP(size.y / 2));
|
||||
dc.DrawLine(FromDIP(x), FromDIP(size.y / 2), FromDIP(x), FromDIP(size.y));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AMSRoadDownPart::UpdatePassRoad(string can_id, bool left, int len, AMSinfo info, AMSPassRoadSTEP step) {
|
||||
m_pass_road_step = step;
|
||||
if (len == -1){
|
||||
m_left_road_length = -1;
|
||||
m_right_road_length = -1;
|
||||
return;
|
||||
if (m_nozzle_num >= 2){
|
||||
if (left) {
|
||||
m_left_road_length = len;
|
||||
m_pass_road_left_step = step;
|
||||
}
|
||||
else {
|
||||
m_right_road_length = len;
|
||||
m_pass_road_right_step = step;
|
||||
}
|
||||
}
|
||||
else{
|
||||
if (left) {
|
||||
m_left_road_length = len;
|
||||
m_right_road_length = -1;
|
||||
m_pass_road_left_step = step;
|
||||
}
|
||||
else {
|
||||
m_right_road_length = len;
|
||||
m_left_road_length = -1;
|
||||
m_pass_road_right_step = step;
|
||||
}
|
||||
}
|
||||
|
||||
m_canindex = atoi(can_id.c_str());
|
||||
if (m_canindex == -1){
|
||||
return;
|
||||
}
|
||||
m_amsinfo = info;
|
||||
m_left_road_length = left ? len : -1;
|
||||
m_right_road_length = left ? -1 : len;
|
||||
m_pass_road_step = step;
|
||||
}
|
||||
|
||||
|
||||
|
@ -2851,9 +2871,9 @@ void AmsItem::Update(AMSinfo info)
|
|||
}
|
||||
|
||||
i = 0;
|
||||
for (auto lib_it : m_can_lib_list) {
|
||||
AMSLib* lib = lib_it.second;
|
||||
if (i < m_can_count) {
|
||||
for (int i = 0; i < m_can_lib_list.size(); i++) {
|
||||
AMSLib* lib = m_can_lib_list[std::to_string(i)];
|
||||
if (i < m_can_count && lib != nullptr) {
|
||||
lib->Update(info.cans[i], info.ams_id);
|
||||
lib->Show();
|
||||
}
|
||||
|
|
|
@ -173,7 +173,7 @@ public:
|
|||
std::vector<Caninfo> cans;
|
||||
int nozzle_id = 0;
|
||||
std::string current_can_id;
|
||||
AMSPassRoadSTEP current_step;
|
||||
AMSPassRoadSTEP current_step = AMSPassRoadSTEP::AMS_ROAD_STEP_NONE;
|
||||
AMSAction current_action;
|
||||
int curreent_filamentstep;
|
||||
int ams_humidity = 0;
|
||||
|
@ -313,6 +313,7 @@ public:
|
|||
bool m_vams_loading{false};
|
||||
bool m_ams_loading{false};
|
||||
wxColour m_current_colur;
|
||||
wxColour m_current_colur_deputy;
|
||||
int m_nozzle_num{ 1 };
|
||||
|
||||
wxBoxSizer * m_bitmap_sizer{nullptr};
|
||||
|
@ -543,7 +544,8 @@ public:
|
|||
double m_radius = { 4 };
|
||||
wxColour m_road_def_color;
|
||||
AMSPassRoadType m_pass_road_type = { AMSPassRoadType::AMS_ROAD_TYPE_NONE };
|
||||
AMSPassRoadSTEP m_pass_road_step = { AMSPassRoadSTEP::AMS_ROAD_STEP_NONE };
|
||||
AMSPassRoadSTEP m_pass_road_left_step = { AMSPassRoadSTEP::AMS_ROAD_STEP_NONE };
|
||||
AMSPassRoadSTEP m_pass_road_right_step = { AMSPassRoadSTEP::AMS_ROAD_STEP_NONE };
|
||||
|
||||
wxColour m_road_color;
|
||||
//void Update(AMSRoadDownPartMode nozzle, AMSRoadShowMode left_mode, AMSRoadShowMode right_mode, int left_len, int right_len);
|
||||
|
|
Loading…
Reference in New Issue