From 2379434200219132ee252f12d47a1e5efd160f42 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期三, 06 八月 2025 15:32:44 +0800
Subject: [PATCH] 1. 实时扫描界面新添两个相机(侧面检)
---
EdgeInspector_App/View/ViewMain_LiveCam.h | 8 +-
EdgeInspector_App/View/FrameImg.cpp | 6 +
EdgeInspector_App/EdgeInspector_App.rc | 0
EdgeInspector_App/Define/Global_Define.h | 2
EdgeInspector_App/View/ViewMain_LiveCam.cpp | 172 +++++++++++++++++++-----------------------
EdgeInspector_App/MainFrm.cpp | 25 +++---
EdgeInspector_App/resource.h | 8 +
7 files changed, 107 insertions(+), 114 deletions(-)
diff --git a/EdgeInspector_App/Define/Global_Define.h b/EdgeInspector_App/Define/Global_Define.h
index 11f2cbe..ff34171 100644
--- a/EdgeInspector_App/Define/Global_Define.h
+++ b/EdgeInspector_App/Define/Global_Define.h
@@ -14,7 +14,7 @@
#define UM_UPDATE_RECIPE WM_USER + 5
#define UM_SEND_MESSAGE_MAIN_DLG WM_USER + 6
-#define MAX_CAMERA_COUNT 4
+#define MAX_CAMERA_COUNT 6
#define MAX_SCAN_COUNT 2
#define MAX_DIMENSION_COUNT 12
#define MAX_STAGE_HAND_COUNT 2
diff --git a/EdgeInspector_App/EdgeInspector_App.rc b/EdgeInspector_App/EdgeInspector_App.rc
index 14866ad..c061963 100644
--- a/EdgeInspector_App/EdgeInspector_App.rc
+++ b/EdgeInspector_App/EdgeInspector_App.rc
Binary files differ
diff --git a/EdgeInspector_App/MainFrm.cpp b/EdgeInspector_App/MainFrm.cpp
index 9ffc2e9..c80f5fc 100644
--- a/EdgeInspector_App/MainFrm.cpp
+++ b/EdgeInspector_App/MainFrm.cpp
@@ -550,20 +550,18 @@
BOOL CMainFrame::IV2M_SetLiveGrabCommand(DimensionDir eDim,BOOL bStop)
{
- if (IsScanNow())
- {
+ if (IsScanNow()) {
g_pLog->DisplayMessage(_T("Doing Inspection"));
return TRUE;
}
// 4/13 MiniLED
- if(eDim < DIMENSION_A || eDim > DIMENSION_D)
+ if (eDim < DIMENSION_A || eDim > DIMENSION_D_RIP) {
return FALSE;
+ }
g_pLog->DisplayMessage(_T("Live Cam %d Start : Main"),(int)eDim);
-
BOOL bRet = SetLiveGrabCommand(eDim,bStop);
-
g_pLog->DisplayMessage(_T("Live Cam %d End : Main"),(int)eDim);
return bRet;
@@ -571,16 +569,18 @@
LPBYTE CMainFrame::IV2M_GetGrabBufferByDimension(DimensionDir eDim,int iVline)
{
- // if(IsScanNow())
- // {
- // g_pLog->DisplayMessage(_T("Doing Inspection"));
- // return NULL;
- // }
+ //if (IsScanNow()) {
+ // g_pLog->DisplayMessage(_T("Doing Inspection"));
+ // return NULL;
+ //}
- if(eDim < DIMENSION_A || eDim > DIMENSION_D_DN)
+ if (eDim < DIMENSION_A || eDim > DIMENSION_D_RIP) {
return NULL;
- if(iVline < 0)
+ }
+
+ if (iVline < 0) {
return NULL;
+ }
return GetGrabBuffer(eDim,iVline);
}
@@ -612,7 +612,6 @@
#ifndef _DEBUG
SetSlashText(GLOBAL_DEFINE::emShow, _T(""), RGB(0,0,0));
#endif
-
SetSlashText(GLOBAL_DEFINE::emText, _T("Image Loading Start"), RGB(0,0,0));
if(iSide > -1)
diff --git a/EdgeInspector_App/View/FrameImg.cpp b/EdgeInspector_App/View/FrameImg.cpp
index f836b31..fc051ef 100644
--- a/EdgeInspector_App/View/FrameImg.cpp
+++ b/EdgeInspector_App/View/FrameImg.cpp
@@ -9,7 +9,11 @@
#include "EdgeInspector_App.h"
#include "Global_Define.h"
-const TCHAR* PANEL_SIDE_NAME[] = {_T("A_TOP"), _T("B_TOP"), _T("C_TOP"), _T("D_TOP"),_T("A_BOT"), _T("B_BOT"), _T("C_BOT"), _T("D_BOT")};
+const TCHAR* PANEL_SIDE_NAME[] = {
+ _T("A_TOP"), _T("B_TOP"), _T("C_TOP"), _T("D_TOP"),
+ _T("A_BOT"), _T("B_BOT"), _T("C_BOT"), _T("D_BOT"),
+ _T("A RIP"), _T("B RIP"), _T("C RIP"), _T("D RIP")
+};
// CFrameImg
IMPLEMENT_DYNAMIC(CFrameImg, CStatic)
diff --git a/EdgeInspector_App/View/ViewMain_LiveCam.cpp b/EdgeInspector_App/View/ViewMain_LiveCam.cpp
index d3b6ac5..9348880 100644
--- a/EdgeInspector_App/View/ViewMain_LiveCam.cpp
+++ b/EdgeInspector_App/View/ViewMain_LiveCam.cpp
@@ -17,8 +17,7 @@
m_IV2M = NULL;
m_pGlassData = NULL;
m_pHardware = NULL;
- for(int i=0;i<MAX_CAMERA_COUNT;i++)
- {
+ for (int i = 0; i < MAX_CAMERA_COUNT; i++) {
m_dZoom[i] = 1;
}
}
@@ -29,16 +28,18 @@
void CViewMain_LiveCam::DoDataExchange(CDataExchange* pDX)
{
- DDX_Control(pDX, IDC_SCROLLBAR1 , m_ctrlScrollH[0]);
- DDX_Control(pDX, IDC_SCROLLBAR2 , m_ctrlScrollH[1]);
- DDX_Control(pDX, IDC_SCROLLBAR3 , m_ctrlScrollH[2]);
- DDX_Control(pDX, IDC_SCROLLBAR4 , m_ctrlScrollH[3]);
+ DDX_Control(pDX, IDC_SCROLLBAR1, m_ctrlScrollH[0]);
+ DDX_Control(pDX, IDC_SCROLLBAR2, m_ctrlScrollH[1]);
+ DDX_Control(pDX, IDC_SCROLLBAR3, m_ctrlScrollH[2]);
+ DDX_Control(pDX, IDC_SCROLLBAR4, m_ctrlScrollH[3]);
+ DDX_Control(pDX, IDC_SCROLLBAR5, m_ctrlScrollH[4]);
+ DDX_Control(pDX, IDC_SCROLLBAR6, m_ctrlScrollH[5]);
CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CViewMain_LiveCam, CDialogEx)
- ON_MESSAGE(WM_LIVE_IMG_UPDATE , OnLiveImgUpDate)
+ ON_MESSAGE(WM_LIVE_IMG_UPDATE, OnLiveImgUpDate)
ON_WM_HSCROLL()
ON_WM_TIMER()
ON_WM_MOUSEWHEEL()
@@ -55,10 +56,8 @@
// CViewLiveCam 鐨嬬煫鐦� 璐稿簻鎵佹稘鑱績.
int CViewMain_LiveCam::GetIndex(int nSide)
{
- int nIndex = 0;
-
- if(m_pHardware != NULL)
- {
+ int nIndex = 0;
+ if(m_pHardware != NULL) {
nIndex = m_pHardware->GetCameraIndexToDimension((DimensionDir)nSide);
}
@@ -69,17 +68,23 @@
{
m_pHardware = pHW;
- int nSide,i;
- LPBYTE plpBuf = NULL;
- for(i = 0 ; i < 4 ; i++)
- {
+ int nSide, i;
+ LPBYTE plpBuf = NULL;
+ for(i = 0 ; i < 6 ; i++) {
nSide = LiveGetSideIdx(i);
m_frameImg[i].SetSide(nSide);
plpBuf = NULL;
- if(m_IV2M != NULL)
- plpBuf = m_IV2M->IV2M_GetGrabBufferByDimension((DimensionDir)nSide,0);
+ if (m_IV2M != NULL) {
+ plpBuf = m_IV2M->IV2M_GetGrabBufferByDimension((DimensionDir)nSide, 0);
+ }
+
+ CCameraSettings* pCamera = m_pHardware->GetCameraSettings(i, 0);
+ if (pCamera != nullptr) {
+ m_frameImg[i].SetImgSize(pCamera->m_FrameSize.cx, pCamera->m_FrameSize.cy);
+ }
+
m_frameImg[i].SetImage(plpBuf);
m_frameImg[i].SetGlassData(m_pGlassData);
}
@@ -89,21 +94,19 @@
{
UpdateData(FALSE);
- CRect rc[4];
- int i =0;
-
-
+ CRect rc[6];
GetDlgItem(IDC_STATIC_CAM1)->GetWindowRect(rc[0]);
GetDlgItem(IDC_STATIC_CAM2)->GetWindowRect(rc[1]);
GetDlgItem(IDC_STATIC_CAM3)->GetWindowRect(rc[2]);
GetDlgItem(IDC_STATIC_CAM4)->GetWindowRect(rc[3]);
+ GetDlgItem(IDC_STATIC_CAM5)->GetWindowRect(rc[4]);
+ GetDlgItem(IDC_STATIC_CAM6)->GetWindowRect(rc[5]);
- for(i = 0 ; i < 4 ; i++)
- {
- ScreenToClient(rc[i]);
+ for (int i = 0; i < 6; i++) {
+ ScreenToClient(rc[i]);
m_frameImg[i].InitBitMap();
-
- m_frameImg[i].Create(NULL,NULL,WS_VISIBLE | WS_CHILD,rc[i],this,0);
+
+ m_frameImg[i].Create(NULL, NULL, WS_VISIBLE | WS_CHILD, rc[i], this, 0);
m_dZoom[i] = 1;
m_frameImg[i].SetZommMode(m_dZoom[i]);
@@ -116,28 +119,25 @@
int CViewMain_LiveCam::LiveGetSideIdx(int nViewIndex)
{
- if(m_pHardware == NULL)
+ if (m_pHardware == nullptr) {
return 0;
-
- CCameraSettings *pCamera = NULL;
-
- pCamera = m_pHardware->GetCameraSettings(nViewIndex,0);
- if(pCamera == NULL)
+ }
+
+ CCameraSettings* pCamera = m_pHardware->GetCameraSettings(nViewIndex, 0);
+ if (pCamera == nullptr) {
return 0;
+ }
return (int)pCamera->m_eDimension;
}
BOOL CViewMain_LiveCam::PreTranslateMessage(MSG* pMsg)
{
- if( pMsg->message == WM_KEYDOWN )
- {
- if(pMsg->wParam == VK_RETURN
- || pMsg->wParam == VK_ESCAPE )
- {
+ if( pMsg->message == WM_KEYDOWN ) {
+ if(pMsg->wParam == VK_RETURN || pMsg->wParam == VK_ESCAPE) {
::TranslateMessage(pMsg);
::DispatchMessage(pMsg);
- return TRUE; // DO NOT process further
+ return TRUE;
}
}
@@ -149,17 +149,17 @@
OnBnClickedBtnStop();
int nDisplayFrame = 0;
- if(m_nRdoSignal == 0)
- {
+ if(m_nRdoSignal == 0) {
nDisplayFrame = 20;
}
- if(m_IV2M != NULL)
- {
- m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(0),FALSE);
- m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(1),FALSE);
- m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(2),FALSE);
- m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(3),FALSE);
+ if(m_IV2M != NULL) {
+ m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(0), FALSE);
+ m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(1), FALSE);
+ m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(2), FALSE);
+ m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(3), FALSE);
+ m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(4), FALSE);
+ m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(5), FALSE);
}
SetTimer(1,100,NULL);
@@ -167,8 +167,7 @@
void CViewMain_LiveCam::OnTimer(UINT_PTR nIDEvent)
{
- for(int i = 0 ; i < 4 ; i++)
- {
+ for(int i = 0 ; i < 6 ; i++) {
m_frameImg[i].ViewUpdate();
}
@@ -177,12 +176,13 @@
void CViewMain_LiveCam::OnBnClickedBtnStop()
{
- if(m_IV2M != NULL)
- {
- m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(0),TRUE);
- m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(1),TRUE);
- m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(2),TRUE);
- m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(3),TRUE);
+ if(m_IV2M != NULL) {
+ m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(0), TRUE);
+ m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(1), TRUE);
+ m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(2), TRUE);
+ m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(3), TRUE);
+ m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(4), TRUE);
+ m_IV2M->IV2M_SetLiveGrabCommand((DimensionDir)LiveGetSideIdx(5), TRUE);
}
KillTimer(1);
@@ -193,30 +193,29 @@
// TODO: 鍜墎淇� 鐨嬬煫鐦� 璐稿簻鎵� 鍐呴潧鐢� 鐪犲晩 妫�/鑲氱话 鎵佸く钄奸槕 榫嬪厤閽﹁仾淇�.
int nIndex;
-
- if(pScrollBar->m_hWnd == m_ctrlScrollH[0].m_hWnd)
- {
+ if(pScrollBar->m_hWnd == m_ctrlScrollH[0].m_hWnd) {
nIndex = 0;
}
- else if(pScrollBar->m_hWnd == m_ctrlScrollH[1].m_hWnd)
- {
+ else if(pScrollBar->m_hWnd == m_ctrlScrollH[1].m_hWnd) {
nIndex = 1;
}
- else if(pScrollBar->m_hWnd == m_ctrlScrollH[2].m_hWnd)
- {
+ else if(pScrollBar->m_hWnd == m_ctrlScrollH[2].m_hWnd) {
nIndex = 2;
}
- else if(pScrollBar->m_hWnd == m_ctrlScrollH[3].m_hWnd)
- {
+ else if(pScrollBar->m_hWnd == m_ctrlScrollH[3].m_hWnd) {
nIndex = 3;
}
-
-
- if(nIndex != -1)
- {
+ else if (pScrollBar->m_hWnd == m_ctrlScrollH[4].m_hWnd) {
+ nIndex = 4;
+ }
+ else if (pScrollBar->m_hWnd == m_ctrlScrollH[5].m_hWnd) {
+ nIndex = 5;
+ }
+
+ if(nIndex != -1) {
SCROLLINFO si;
- si.fMask=SIF_ALL;
- m_ctrlScrollH[nIndex].GetScrollInfo(&si,SIF_ALL);
+ si.fMask = SIF_ALL;
+ m_ctrlScrollH[nIndex].GetScrollInfo(&si, SIF_ALL);
switch(nSBCode)
{
@@ -244,41 +243,34 @@
m_frameImg[nIndex].m_ptOrg.x = si.nPos;
- PostMessage(WM_LIVE_IMG_UPDATE,NULL,nIndex);
-
+ PostMessage(WM_LIVE_IMG_UPDATE, NULL, nIndex);
}
CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
}
void CViewMain_LiveCam::InitScrollInfo(int nCam /*= -1*/)
{
- int i =0;
+ int i = 0;
SCROLLINFO scrollInfoH;
-
scrollInfoH.cbSize = sizeof(SCROLLINFO);
scrollInfoH.fMask = SIF_ALL;
scrollInfoH.nMin = 1;
scrollInfoH.nPos = 1;
scrollInfoH.nTrackPos = 64;
-
-
scrollInfoH.nMax = IMAGE_WIDTH;
- if(nCam == -1)
- {
- for(i = 0 ; i < 4 ; i++)
- {
+ if(nCam == -1) {
+ for(i = 0 ; i < 6 ; i++) {
double dZoom = m_frameImg[i].GetZoomData();
- scrollInfoH.nPage = (int)(m_frameImg[i].m_WndRect.Width() / dZoom);
+ scrollInfoH.nPage = (int)(m_frameImg[i].m_WndRect.Width() / dZoom);
m_ctrlScrollH[i].SetScrollPos(0);
m_ctrlScrollH[i].SetScrollInfo(&scrollInfoH);
}
}
- else
- {
+ else {
double dZoom = m_frameImg[nCam].GetZoomData();
- scrollInfoH.nPage = (int)(m_frameImg[nCam].m_WndRect.Width() / dZoom);
+ scrollInfoH.nPage = (int)(m_frameImg[nCam].m_WndRect.Width() / dZoom);
m_ctrlScrollH[nCam].SetScrollPos(0);
m_ctrlScrollH[nCam].SetScrollInfo(&scrollInfoH);
@@ -288,7 +280,6 @@
void CViewMain_LiveCam::OnBnClickedRdoSignal1()
{
m_nRdoSignal = 0;
-
OnBnClickedBtnStop();
}
@@ -299,8 +290,6 @@
OnBnClickedBtnStop();
}
-
-
void CViewMain_LiveCam::OnBnClickedBtnCamSnap()
{
OnBnClickedBtnStop();
@@ -309,9 +298,7 @@
LRESULT CViewMain_LiveCam::OnLiveImgUpDate(WPARAM wParam, LPARAM lParam)
{
int nIndex = int(lParam);
-
m_frameImg[nIndex].ViewUpdate();
-
return 0;
}
@@ -361,17 +348,14 @@
void CViewMain_LiveCam::UpdateZoom(int nIndex)
{
- if(nIndex == -1)
- {
- for(int i = 0; i < MAX_CAMERA_COUNT;i++)
- {
+ if(nIndex == -1) {
+ for(int i = 0; i < MAX_CAMERA_COUNT;i++) {
m_frameImg[i].SetZommMode(m_dZoom[i]);
InitScrollInfo(-1);
m_frameImg[i].Invalidate(FALSE);
}
}
- else
- {
+ else {
m_frameImg[nIndex].SetZommMode(m_dZoom[nIndex]);
InitScrollInfo(nIndex);
m_frameImg[nIndex].Invalidate(FALSE);
diff --git a/EdgeInspector_App/View/ViewMain_LiveCam.h b/EdgeInspector_App/View/ViewMain_LiveCam.h
index d541afe..2a9c686 100644
--- a/EdgeInspector_App/View/ViewMain_LiveCam.h
+++ b/EdgeInspector_App/View/ViewMain_LiveCam.h
@@ -45,11 +45,11 @@
void UpdateZoom(int nIndex);
protected:
- CFrameImg m_frameImg[4];
- CScrollBar m_ctrlScrollH[4];
+ CFrameImg m_frameImg[6];
+ CScrollBar m_ctrlScrollH[6];
CHardwareSettings *m_pHardware;
CGlass_Data *m_pGlassData;
IViewInterface2Parent *m_IV2M;
- double m_dZoom[MAX_CAMERA_COUNT];
- int m_nRdoSignal;
+ double m_dZoom[MAX_CAMERA_COUNT];
+ int m_nRdoSignal;
};
diff --git a/EdgeInspector_App/resource.h b/EdgeInspector_App/resource.h
index c6d9a99..8f0eff7 100644
--- a/EdgeInspector_App/resource.h
+++ b/EdgeInspector_App/resource.h
@@ -446,6 +446,12 @@
#define IDC_RDO_SIGNAL1 1181
#define IDC_CHECK_USE_SAVE_ALL_DMP 1181
#define IDC_RDO_SIGNAL2 1182
+#define IDC_STATIC_CAM5 1183
+#define IDC_STATIC_APP_SIDE5 1184
+#define IDC_SCROLLBAR5 1185
+#define IDC_STATIC_CAM6 1186
+#define IDC_STATIC_APP_SIDE6 1187
+#define IDC_SCROLLBAR6 1188
#define IDC_NEWPPID_NAME_TITLE 1201
#define IDC_EDIT_PPIDNEW_NAME 1202
#define IDC_BUTTON_LINK 1203
@@ -587,7 +593,7 @@
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 328
+#define _APS_NEXT_RESOURCE_VALUE 329
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1071
#define _APS_NEXT_SYMED_VALUE 310
--
Gitblit v1.9.3