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