From 4fb0f6c9b7b0fdfc6cc52c9bf1153d87f92651ca Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期四, 14 八月 2025 11:52:50 +0800
Subject: [PATCH] 1. 修复RIP新增配方闪退的问题 2. 完善RIP结果绘画在视图窗口
---
EdgeInspector_App/ViewMain_Recipe.cpp | 99 +++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 91 insertions(+), 8 deletions(-)
diff --git a/EdgeInspector_App/ViewMain_Recipe.cpp b/EdgeInspector_App/ViewMain_Recipe.cpp
index 454f6e0..c6b393c 100644
--- a/EdgeInspector_App/ViewMain_Recipe.cpp
+++ b/EdgeInspector_App/ViewMain_Recipe.cpp
@@ -1657,7 +1657,7 @@
nRows = 14;
break;
case eRcp_InsType_RipThickness:
- nRows = 10;
+ nRows = 15;
break;
default:
break;
@@ -1855,6 +1855,16 @@
vecParams.push_back(strTemp);
strTemp.Format(_T("%s Ins. B Offset"), g_strInsType[m_eSelectInsType]);
vecParams.push_back(strTemp);
+ strTemp.Format(_T("%s Ins. Use (0:OFF/1:ON)"), g_strInsType[m_eSelectInsType]);
+ vecParams.push_back(strTemp);
+ strTemp.Format(_T("%s Ins. Range (um)"), g_strInsType[m_eSelectInsType]);
+ vecParams.push_back(strTemp);
+ strTemp.Format(_T("%s Ins. SideLine Offset (um)"), g_strInsType[m_eSelectInsType]);
+ vecParams.push_back(strTemp);
+ strTemp.Format(_T("%s Ins. Min Thres"), g_strInsType[m_eSelectInsType]);
+ vecParams.push_back(strTemp);
+ strTemp.Format(_T("%s Ins. Max Thres"), g_strInsType[m_eSelectInsType]);
+ vecParams.push_back(strTemp);
CLanguageControl* pLanguageControl = g_pStatus->m_pLanguageControl;
@@ -1911,7 +1921,7 @@
nRows = 11;
break;
case eRcp_InsType_RipThickness:
- nRows = 7;
+ nRows = 10;
break;
default:
break;
@@ -2069,17 +2079,23 @@
}
else if (eRcp_InsType_RipThickness == m_eSelectInsType) {
std::vector<CString> vecParams;
- strTemp.Format(_T("Glass Size Min um"), g_strInsType[m_eSelectInsType]);
+ strTemp.Format(_T("Glass %s Size Min um"), g_strInsType[m_eSelectInsType]);
vecParams.push_back(strTemp);
- strTemp.Format(_T("Glass Size Max um"), g_strInsType[m_eSelectInsType]);
+ strTemp.Format(_T("Glass %s Size Max um"), g_strInsType[m_eSelectInsType]);
vecParams.push_back(strTemp);
- strTemp.Format(_T("Left Rip Size Min um"), g_strInsType[m_eSelectInsType]);
+ strTemp.Format(_T("Left %s Rip Size Min um"), g_strInsType[m_eSelectInsType]);
vecParams.push_back(strTemp);
- strTemp.Format(_T("Left Rip Size Max um"), g_strInsType[m_eSelectInsType]);
+ strTemp.Format(_T("Left %s Rip Size Max um"), g_strInsType[m_eSelectInsType]);
vecParams.push_back(strTemp);
- strTemp.Format(_T("Right Rip Size Min um"), g_strInsType[m_eSelectInsType]);
+ strTemp.Format(_T("Right %s Rip Size Min um"), g_strInsType[m_eSelectInsType]);
vecParams.push_back(strTemp);
- strTemp.Format(_T("Right Rip Size Max um"), g_strInsType[m_eSelectInsType]);
+ strTemp.Format(_T("Right %s Rip Size Max um"), g_strInsType[m_eSelectInsType]);
+ vecParams.push_back(strTemp);
+ strTemp.Format(_T("%s Rip Judge Size Min X um"), g_strInsType[m_eSelectInsType]);
+ vecParams.push_back(strTemp);
+ strTemp.Format(_T("%s Rip Judge Size Min Y um"), g_strInsType[m_eSelectInsType]);
+ vecParams.push_back(strTemp);
+ strTemp.Format(_T("%s Rip Judge Mode (0:NoUse/1:OR/2:AND)"), g_strInsType[m_eSelectInsType]);
vecParams.push_back(strTemp);
CLanguageControl* pLanguageControl = g_pStatus->m_pLanguageControl;
@@ -2607,6 +2623,32 @@
m_SideInspectInfo.GetCell(nRowIdx, nColIdx)->SetBackClr(uCellColor);
strTemp.Format(_T("%d"), rip.m_nBottomOffset);
m_SideInspectInfo.SetItemText(nRowIdx++, nColIdx, strTemp);
+
+ // 10. RIP Inspect Use
+ if (rip.m_bRipUseInspect) m_SideInspectInfo.GetCell(nRowIdx, nColIdx)->SetBackClr(RGB(50, 255, 50));
+ else m_SideInspectInfo.GetCell(nRowIdx, nColIdx)->SetBackClr(RGB(255, 50, 50));
+ strTemp.Format(_T("%d"), rip.m_bRipUseInspect);
+ m_SideInspectInfo.SetItemText(nRowIdx++, nColIdx, strTemp);
+
+ // 11. RIP Inspect Range
+ m_SideInspectInfo.GetCell(nRowIdx, nColIdx)->SetBackClr(uCellColor);
+ strTemp.Format(_T("%d"), rip.m_nRipInspect_Range_um);
+ m_SideInspectInfo.SetItemText(nRowIdx++, nColIdx, strTemp);
+
+ // 12. RIP Inspect SideLine Offset
+ m_SideInspectInfo.GetCell(nRowIdx, nColIdx)->SetBackClr(uCellColor);
+ strTemp.Format(_T("%d"), rip.m_nRipInspect_SideLine_Offset_um);
+ m_SideInspectInfo.SetItemText(nRowIdx++, nColIdx, strTemp);
+
+ // 13. RIP Min Threshold
+ m_SideInspectInfo.GetCell(nRowIdx, nColIdx)->SetBackClr(uCellColor);
+ strTemp.Format(_T("%d"), rip.m_nRipMin_Threshold);
+ m_SideInspectInfo.SetItemText(nRowIdx++, nColIdx, strTemp);
+
+ // 14. RIP Min Threshold
+ m_SideInspectInfo.GetCell(nRowIdx, nColIdx)->SetBackClr(uCellColor);
+ strTemp.Format(_T("%d"), rip.m_nRipMax_Threshold);
+ m_SideInspectInfo.SetItemText(nRowIdx++, nColIdx, strTemp);
}
}
@@ -2815,6 +2857,26 @@
// 9. B Offset
strTemp = m_SideInspectInfo.GetItemText(nRowIdx++, nColIdx);
rip.m_nBottomOffset = _wtoi(strTemp);
+
+ // 10. RIP Inspect Use
+ strTemp = m_SideInspectInfo.GetItemText(nRowIdx++, nColIdx);
+ rip.m_bRipUseInspect = _wtoi(strTemp);
+
+ // 11. RIP Inspect Range
+ strTemp = m_SideInspectInfo.GetItemText(nRowIdx++, nColIdx);
+ rip.m_nRipInspect_Range_um = _wtoi(strTemp);
+
+ // 12. RIP Inspect SideLine Offset
+ strTemp = m_SideInspectInfo.GetItemText(nRowIdx++, nColIdx);
+ rip.m_nRipInspect_SideLine_Offset_um = _wtoi(strTemp);
+
+ // 13. RIP Min Threshold
+ strTemp = m_SideInspectInfo.GetItemText(nRowIdx++, nColIdx);
+ rip.m_nRipMin_Threshold = _wtoi(strTemp);
+
+ // 14. RIP Min Threshold
+ strTemp = m_SideInspectInfo.GetItemText(nRowIdx++, nColIdx);
+ rip.m_nRipMax_Threshold = _wtoi(strTemp);
}
}
}
@@ -3000,6 +3062,18 @@
m_JudgementInfo.GetCell(nRowIdx, nColIdx)->SetBackClr(uCellColor);
strTemp.Format(_T("%d"), rip.m_nRightRipSizeMax_um);
m_JudgementInfo.SetItemText(nRowIdx++, nColIdx, strTemp);
+ // 7. Rip chip Size Min um
+ m_JudgementInfo.GetCell(nRowIdx, nColIdx)->SetBackClr(uCellColor);
+ strTemp.Format(_T("%d"), rip.m_nRipJudge_Size_Min_X_um);
+ m_JudgementInfo.SetItemText(nRowIdx++, nColIdx, strTemp);
+ // 8. Rip chip Size Max um
+ m_JudgementInfo.GetCell(nRowIdx, nColIdx)->SetBackClr(uCellColor);
+ strTemp.Format(_T("%d"), rip.m_nRipJudge_Size_Min_Y_um);
+ m_JudgementInfo.SetItemText(nRowIdx++, nColIdx, strTemp);
+ // 9. Rip chip OR/AND
+ m_JudgementInfo.GetCell(nRowIdx, nColIdx)->SetBackClr(uCellColor);
+ strTemp.Format(_T("%d"), rip.m_nRipJudge_Size_Min_OR_AND);
+ m_JudgementInfo.SetItemText(nRowIdx++, nColIdx, strTemp);
}
}
@@ -3144,6 +3218,15 @@
// 6. Right Rip Size Max um
strTemp = m_JudgementInfo.GetItemText(nRowIdx++, nColIdx);
rip.m_nRightRipSizeMax_um = _wtoi(strTemp);
+ // 7. Rip chip Size Min um
+ strTemp = m_JudgementInfo.GetItemText(nRowIdx++, nColIdx);
+ rip.m_nRipJudge_Size_Min_X_um = _wtoi(strTemp);
+ // 8. Rip chip Size Max um
+ strTemp = m_JudgementInfo.GetItemText(nRowIdx++, nColIdx);
+ rip.m_nRipJudge_Size_Min_Y_um = _wtoi(strTemp);
+ // 9. Rip chip OR/AND
+ strTemp = m_JudgementInfo.GetItemText(nRowIdx++, nColIdx);
+ rip.m_nRipJudge_Size_Min_OR_AND = _wtoi(strTemp);
}
}
}
--
Gitblit v1.9.3