From 1e751a5eb3c23d932b5de94456b5a8741f28c7cc Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期六, 16 八月 2025 17:37:49 +0800
Subject: [PATCH] 1. 修复离线测试设置错误的扫描个数,应该设置的是需要扫描的个数(非相机个数)
---
EdgeInspector_App/Define/Global_Define.h | 200 +++++++++++++++++++++++++++++---------------------
1 files changed, 116 insertions(+), 84 deletions(-)
diff --git a/EdgeInspector_App/Define/Global_Define.h b/EdgeInspector_App/Define/Global_Define.h
index 3df4976..2080542 100644
--- a/EdgeInspector_App/Define/Global_Define.h
+++ b/EdgeInspector_App/Define/Global_Define.h
@@ -1,4 +1,4 @@
-#ifndef GLOBAL_DEFINE_H
+锘�#ifndef GLOBAL_DEFINE_H
#define GLOBAL_DEFINE_H
#include <map>
@@ -14,9 +14,9 @@
#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 8
+#define MAX_DIMENSION_COUNT 12
#define MAX_STAGE_HAND_COUNT 2
#define MAX_FRAM_COUNT 200
@@ -42,11 +42,11 @@
#define CHKMAX(a,b) (((a) > (b)) ? (a) : (b))
#define CHKMIN(a,b) (((a) < (b)) ? (a) : (b))
-#define MAX_PANEL_SIDE 4 // 搁 荐
-#define UPDN_TYPE 2 // 惑窍 鞍捞 乐绰版快 2 窍唱父 乐绰版快 1
-#define MAX_SIDE_COUNT 8
+#define MAX_PANEL_SIDE 4 // 鎼� 鑽�
+#define UPDN_TYPE 3 // 鎯戠獚 闉嶆崬 涔愮话鐗堝揩 2 绐嶅敱鐖� 涔愮话鐗堝揩 1
+#define MAX_SIDE_COUNT 12
#define MAX_CORNER_DIMENSION_MEASURE_COUNT 5
-#define MAX_SIDE_DIMENSION_MEASURE_COUNT 16 // 弥措 Frame 荐 父怒
+#define MAX_SIDE_DIMENSION_MEASURE_COUNT 16 // 寮ユ帾 Frame 鑽� 鐖舵��
#define MAX_SIDE_EXCEPTION_AREA_COUNT 32
#define MAX_SIDE_USER_DEFECT_AREA_COUNT 32
@@ -54,16 +54,19 @@
#define MAX_SIDE_NOTCH_MEASURE_COUNT 10
#define MAX_SIDE_NOTCH_CIRCLE_COUNT 4
+#define MAX_RIP_SAMPLE_COUNT 36
+#define RIP_POINT_COUNT 2
+
/*
#define MAX_PROFILE_SETTING_COUNT 79
-#define PROFILE_INSPECT_SIZE_A_C 13
-#define PROFILE_INSPECT_SIZE_B_D 10
-#define PROFILE_RCUT_SIZE 5
-#define PROFILE_INSPECT_INDEX_A 33
-#define PROFILE_INSPECT_INDEX_B 0
-#define PROFILE_INSPECT_INDEX_C 10
-#define PROFILE_INSPECT_INDEX_D 23
-#define PROFILE_INSPECT_INDEX_CF 46
+#define PROFILE_INSPECT_SIZE_A_C 13
+#define PROFILE_INSPECT_SIZE_B_D 10
+#define PROFILE_RCUT_SIZE 5
+#define PROFILE_INSPECT_INDEX_A 33
+#define PROFILE_INSPECT_INDEX_B 0
+#define PROFILE_INSPECT_INDEX_C 10
+#define PROFILE_INSPECT_INDEX_D 23
+#define PROFILE_INSPECT_INDEX_CF 46
#define PROFILE_RCUT_INSPECT_INDEX_A 59
#define PROFILE_RCUT_INSPECT_INDEX_B 64
#define PROFILE_RCUT_INSPECT_INDEX_C 69
@@ -80,15 +83,31 @@
enum LIGHT_TYPE {LIGHT_TYPE_TRANS=0,LIGHT_TYPE_REF,LIGHT_TYPE_NONE};
enum LIGHT_MAKER {MAKER_LCP=0,MAKER_AKP,MAKER_NONE};
- enum CAMERA_DIR {CAMDIR_TOP=0,CAMDIR_BOTTOM,CAMDIR_NONE};
+ enum CAMERA_DIR {CAMDIR_TOP=0,CAMDIR_BOTTOM,CAMDIR_SIDE,CAMDIR_NONE};
enum CAMERA_INSPECTION_DIR {INSPECTDIR_FORWARD=0,INSPECTDIR_BACKWARD,INSPECTDIR_NONE};
enum CAMERA_SCANDIR {SCANGLASS_X=0,SCANGLASS_Y,SCANGLASS_NONE};
enum BOARD_TYPE {GRAB_LINK_BOARD=0,RADIENT_BOARD,SOLIOS_BOARD,SAP_BOARD,BOARDTYPE_NONE};
enum EmSplashCmd {emShow=0, emHide, emText};
- enum ScanDirectionIns { SD_Forward = 0, SD_Backward, SD_Unknown }; // Glass 扁霖 Scan 规氢.
- enum DimensionDir { DIMENSION_A=0, DIMENSION_B, DIMENSION_C, DIMENSION_D,DIMENSION_A_DN, DIMENSION_B_DN, DIMENSION_C_DN, DIMENSION_D_DN, DIMENSION_NONE};
+ enum ScanDirectionIns { SD_Forward = 0, SD_Backward, SD_Unknown }; // Glass 鎵侀湒 Scan 瑙勬阿.
+
+ enum DimensionDir {
+ DIMENSION_A = 0,
+ DIMENSION_B,
+ DIMENSION_C,
+ DIMENSION_D,
+ DIMENSION_A_DN,
+ DIMENSION_B_DN,
+ DIMENSION_C_DN,
+ DIMENSION_D_DN,
+ DIMENSION_A_RIP,
+ DIMENSION_B_RIP,
+ DIMENSION_C_RIP,
+ DIMENSION_D_RIP,
+ DIMENSION_NONE
+ };
+
enum EM_CORNER_JUDGE {A_ZONE_CRACK=0,B_ZONE_CRACK,B_ZONE_BURR,C_ZONE_CRACK,C_ZONE_BURR, D_ZONE_CRACK, EDGE_THINCRACK, CHIP_WHITE};
enum UPDATE_SETTING_RCP {EM_GLASSINFO_RCP=0,EM_CUTAREA_RCP,EM_DIMEN_RCP,EM_SPLINE_RCP,EM_CORNER_RCP,EM_NOTCH_RCP,EM_VCR_RCP};
@@ -96,34 +115,31 @@
enum GlassDirection { GD_LeftTop = 0, GD_RightTop = 1, GD_LeftBottom = 10, GD_RightBottom = 11 };
enum ExpRegionType { ER_ALL=0, ER_AREA, ER_NONE};//130115
- enum Procee_Mode {PROC_MODE_AUTO=0,PROC_MODE_SIMULATION_ONESIDE,PROC_MODE_SIMULATION_SIDESHORT,PROC_MODE_SIMULATION_SIDELONG,PROC_MODE_SIMULATION_ALL};
+ enum Procee_Mode {
+ PROC_MODE_AUTO = 0,
+ PROC_MODE_SIMULATION_SIDERIP,
+ PROC_MODE_SIMULATION_ONESIDE,
+ PROC_MODE_SIMULATION_SIDESHORT,
+ PROC_MODE_SIMULATION_SIDELONG,
+ PROC_MODE_SIMULATION_ALL,
+ };
enum Init_View_Command {VIEW_RECIPE=0,VIEW_SCANIMAGE};
};
-static CString g_SideName[] =
+static CString g_SideName[] =
{
- _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 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"),
_T("Unknown")
};
-static char g_cSideName[9][256] =
+static char g_cSideName[][256] =
{
- "A Top",
- "B Top",
- "C Top",
- "D Top",
- "A Bot",
- "B Bot",
- "C Bot",
- "D Bot",
+ "A Top", "B Top", "C Top", "D Top",
+ "A Bot", "B Bot", "C Bot", "D Bot",
+ "A RIP", "B RIP", "C RIP", "D RIP",
"Unknown"
};
@@ -188,17 +204,17 @@
#define IMAGE_WIDTH 4096 // 8192//2048
#define IMAGE_HEIGHT 1024
#define MAX_IMAGE_FRAME 160//100
-#define MAX_IMAGE_FRAME_SHORT 160//100 // 弥措 橇饭烙 荐
-#define MAX_IMAGE_FRAME_LONG 160//100 // 弥措 橇饭烙 荐
+#define MAX_IMAGE_FRAME_SHORT 160//100 // 寮ユ帾 姗囬キ鐑� 鑽�
+#define MAX_IMAGE_FRAME_LONG 160//100 // 寮ユ帾 姗囬キ鐑� 鑽�
#define MAX_SIDE_INSPECT_AREA_COUNT 12
-#define MAX_IMAGE_LINE_SHORT MAX_IMAGE_FRAME_SHORT * IMAGE_HEIGHT // 弥措 扼牢荐
-#define MAX_IMAGE_LINE_LONG MAX_IMAGE_FRAME_LONG * IMAGE_HEIGHT // 弥措 扼牢荐
+#define MAX_IMAGE_LINE_SHORT MAX_IMAGE_FRAME_SHORT * IMAGE_HEIGHT // 寮ユ帾 鎵肩墷鑽�
+#define MAX_IMAGE_LINE_LONG MAX_IMAGE_FRAME_LONG * IMAGE_HEIGHT // 寮ユ帾 鎵肩墷鑽�
#define MAX_IMAGE_LINE MAX_IMAGE_LINE_LONG
#define MAX_LIMIT_LINE (MAX_IMAGE_FRAME - 1) * IMAGE_HEIGHT
-#define MAX_IMAGE_LINE_MARGIN ((MAX_IMAGE_FRAME+50) * IMAGE_HEIGHT) //(150 * IMAGE_HEIGHT) // 弥措 扼牢荐
+#define MAX_IMAGE_LINE_MARGIN ((MAX_IMAGE_FRAME+50) * IMAGE_HEIGHT) //(150 * IMAGE_HEIGHT) // 寮ユ帾 鎵肩墷鑽�
#define ALIGN_4BYTE(width) (width + 3)/4*4
#define PI 3.14159265358979323846
@@ -285,7 +301,21 @@
#define ZOOM_RANGE 20
#define ZOOM_RATIO (1.0/(((double)ZOOM_RANGE+2.0)/2.0))
-enum eViewCmdSide {eRcp_SideRD_A=0, eRcp_SideRD_B, eRcp_SideRD_C, eRcp_SideRD_D,eRcp_SideRD_A_DN,eRcp_SideRD_B_DN,eRcp_SideRD_C_DN,eRcp_SideRD_D_DN,eRcp_SideRD_End};
+enum eViewCmdSide {
+ eRcp_SideRD_A = 0,
+ eRcp_SideRD_B,
+ eRcp_SideRD_C,
+ eRcp_SideRD_D,
+ eRcp_SideRD_A_DN,
+ eRcp_SideRD_B_DN,
+ eRcp_SideRD_C_DN,
+ eRcp_SideRD_D_DN,
+ eRcp_SideRD_A_RIP,
+ eRcp_SideRD_B_RIP,
+ eRcp_SideRD_C_RIP,
+ eRcp_SideRD_D_RIP,
+ eRcp_SideRD_End
+};
enum eViewCmdInsType
{
@@ -298,10 +328,11 @@
eRcp_InsType_In_Burr,
eRcp_InsType_In_Chamfer,
eRcp_InsType_TopCorner,
- eRcp_InsType_BotCorner
+ eRcp_InsType_BotCorner,
+ eRcp_InsType_RipThickness
};
-static CString g_strInsType[10] =
+static CString g_strInsType[] =
{
_T("Chip"),
_T("Crack"),
@@ -313,6 +344,7 @@
_T("In_Chamfer"),
_T("Top_Corner"),
_T("Bot_Corner"),
+ _T("Thickness")
};
enum eSideInsType
@@ -331,53 +363,53 @@
#define MAX_SIDE_INSPECT_TYPE 8
struct WSSendData {
- //=======================待定==========================
- //uint8_t operation; // 操作符 (1字节)
- //uint8_t operand; // 操作数 (1字节)
- //uint16_t blockNumber; // 图像块编号 (2字节无符号整数)
- //uint32_t dataOffset; // 数据偏移 (4字节无符号整数)
+ //=======================寰呭畾==========================
+ //uint8_t operation; // 鎿嶄綔绗� (1瀛楄妭)
+ //uint8_t operand; // 鎿嶄綔鏁� (1瀛楄妭)
+ //uint16_t blockNumber; // 鍥惧儚鍧楃紪鍙� (2瀛楄妭鏃犵鍙锋暣鏁�)
+ //uint32_t dataOffset; // 鏁版嵁鍋忕Щ (4瀛楄妭鏃犵鍙锋暣鏁�)
//=====================================================
- uint8_t nCheckType = 0; // 检测类型
- uint8_t nRecipe = 0; // 配方
- uint8_t nLineType = 0; // 线别类型
- uint8_t nIndex = 0; // 图片序号
- uint8_t nFrameIdx = 0; // 帧序号
- uint8_t nScanIdx = 0; // 侧别
- uint8_t nNGType = 0; // NG 类型
- uint8_t nPosition = 0; // 位置
- uint8_t nState = 0; // 状态
- uint16_t nEdgeX = 0; // X方向边缘坐标
- uint16_t nEdgeY = 0; // X方向边缘坐标
- uint16_t nNPointY = 0; // Y方向NG区域坐标
- uint16_t nWidth = 0; // 图像宽度
- uint16_t nHeight = 0; // 图像高度
- double dTimeStamp = 0.0; // 时间戳
- uint16_t nLeft = 0; // 在原图的位置
- uint16_t nTop = 0; // 在原图的位置
- std::string strSN = ""; // 序列号
- std::vector<char> image = {}; // 图像数据 (二进制数据)
+ uint8_t nCheckType = 0; // 妫�娴嬬被鍨�
+ uint8_t nRecipe = 0; // 閰嶆柟
+ uint8_t nLineType = 0; // 绾垮埆绫诲瀷
+ uint8_t nIndex = 0; // 鍥剧墖搴忓彿
+ uint8_t nFrameIdx = 0; // 甯у簭鍙�
+ uint8_t nScanIdx = 0; // 渚у埆
+ uint8_t nNGType = 0; // NG 绫诲瀷
+ uint8_t nPosition = 0; // 浣嶇疆
+ uint8_t nState = 0; // 鐘舵��
+ uint16_t nEdgeX = 0; // X鏂瑰悜杈圭紭鍧愭爣
+ uint16_t nEdgeY = 0; // X鏂瑰悜杈圭紭鍧愭爣
+ uint16_t nNPointY = 0; // Y鏂瑰悜NG鍖哄煙鍧愭爣
+ uint16_t nWidth = 0; // 鍥惧儚瀹藉害
+ uint16_t nHeight = 0; // 鍥惧儚楂樺害
+ double dTimeStamp = 0.0; // 鏃堕棿鎴�
+ uint16_t nLeft = 0; // 鍦ㄥ師鍥剧殑浣嶇疆
+ uint16_t nTop = 0; // 鍦ㄥ師鍥剧殑浣嶇疆
+ std::string strSN = ""; // 搴忓垪鍙�
+ std::vector<char> image = {}; // 鍥惧儚鏁版嵁 (浜岃繘鍒舵暟鎹�)
};
struct WSReceiveData {
- // 定义一个表示NG位置的结构体
+ // 瀹氫箟涓�涓〃绀篘G浣嶇疆鐨勭粨鏋勪綋
struct NGPosition {
- uint8_t nNGType = 0; // NG 类型
- uint16_t nLeft = 0; // 在原图的位置
- uint16_t nTop = 0; // 在原图的位置
- uint16_t nRight = 0; // 在原图的位置
- uint16_t nBottom = 0; // 在原图的位置
+ uint8_t nNGType = 0; // NG 绫诲瀷
+ uint16_t nLeft = 0; // 鍦ㄥ師鍥剧殑浣嶇疆
+ uint16_t nTop = 0; // 鍦ㄥ師鍥剧殑浣嶇疆
+ uint16_t nRight = 0; // 鍦ㄥ師鍥剧殑浣嶇疆
+ uint16_t nBottom = 0; // 鍦ㄥ師鍥剧殑浣嶇疆
};
- uint8_t nRecipe = 0; // 配方
- uint8_t nLineType = 0; // 线别类型
- uint8_t nIndex = 0; // 图片序号
- uint8_t nFrameIdx = 0; // 帧序号
- uint8_t nScanIdx = 0; // 侧别
- std::string strSN = ""; // 序列号
- double dTimeStamp = 0.0; // 时间戳
- uint8_t nGNum = 0; // NG 数量
- std::vector<NGPosition> ngPosArray = {}; // NG 位置数组
+ uint8_t nRecipe = 0; // 閰嶆柟
+ uint8_t nLineType = 0; // 绾垮埆绫诲瀷
+ uint8_t nIndex = 0; // 鍥剧墖搴忓彿
+ uint8_t nFrameIdx = 0; // 甯у簭鍙�
+ uint8_t nScanIdx = 0; // 渚у埆
+ std::string strSN = ""; // 搴忓垪鍙�
+ double dTimeStamp = 0.0; // 鏃堕棿鎴�
+ uint8_t nGNum = 0; // NG 鏁伴噺
+ std::vector<NGPosition> ngPosArray = {}; // NG 浣嶇疆鏁扮粍
};
#endif // GLOBAL_DEFINE_H
\ No newline at end of file
--
Gitblit v1.9.3