From bfe14e41fa5b07771d78af4511ba18d706bc23cc Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 28 七月 2025 17:07:52 +0800
Subject: [PATCH] 1.Spooling Config功能EAP模拟测试;

---
 SourceCode/Bond/Servo/Common.h |  111 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 88 insertions(+), 23 deletions(-)

diff --git a/SourceCode/Bond/Servo/Common.h b/SourceCode/Bond/Servo/Common.h
index 270be5a..cc58f4f 100644
--- a/SourceCode/Bond/Servo/Common.h
+++ b/SourceCode/Bond/Servo/Common.h
@@ -1,7 +1,7 @@
 #pragma once
 
 
-#define TESTMODE						0
+#define TESTMODE						1
 
 /* Rx Code */
 #define RX_CODE_TEST					0
@@ -16,6 +16,8 @@
 #define RX_CODE_ALARM_SET				1008
 #define RX_CODE_ALARM_CLEAR				1009
 #define RX_CODE_EQ_DATA_CHANGED			1010
+#define RX_CODE_MASTER_STATE_CHANGED	1011
+#define RX_CODE_EQ_ROBOT_TASK			1012
 
 
 /* Channel Name */
@@ -32,12 +34,17 @@
 #define PAGE_GRPAH2_BACKGROUND_COLOR		RGB(255, 255, 255)
 #define EQ_BOX_OFFLINE						RGB(222, 222, 222)
 #define EQ_BOX_ONLINE						RGB(0, 176, 80)
+#define EQ_BOX_OCCUPIED                     RGB(255, 127, 39)
 #define EQ_BOX_FRAME1						RGB(22, 22, 22)
 #define EQ_BOX_FRAME2						RGB(255, 127, 39)
 #define CR_MSGBOX_BKGND						RGB(7, 71, 166)
 #define CR_MSGBOX_TITLE						RGB(200, 216, 246)
 #define CR_MSGBOX_MESSAGE					RGB(200, 216, 246)
-
+#define TOP_TOOLBAR_BACKGROUND				RGB(240, 240, 240)	
+#define STATUSBAR_BK_NORMAL					RGB(195, 195, 195)
+#define STATUSBAR_BK_STARTING				RGB(58, 127, 78)
+#define STATUSBAR_BK_RUNNING				RGB(34, 177, 76)
+#define STATUSBAR_BK_ALARM					RGB(255, 127, 39)
 
 /* LOG BTN */
 #define BTN_LOG_FRAME_NORMAL			RGB(88, 88, 88)
@@ -56,23 +63,66 @@
 #define BTN_ALARM_BKGND_PRESS			RGB(133, 203, 225)
 
 /* Equipment ID */
-#define EQ_ID_EFEM				1
-#define EQ_ID_Bonder1			2
-#define EQ_ID_Bonder2			3
-#define EQ_ID_LOADPORT1			4
-#define EQ_ID_LOADPORT2			5
-#define EQ_ID_LOADPORT3			6
-#define EQ_ID_LOADPORT4			7
+#define EQ_ID_LOADPORT1			1
+#define EQ_ID_LOADPORT2			2
+#define EQ_ID_LOADPORT3			3
+#define EQ_ID_LOADPORT4			4
+#define EQ_ID_ARM_TRAY1			5
+#define EQ_ID_ARM_TRAY2			6
+#define EQ_ID_ALIGNER			7
 #define EQ_ID_FLIPER			8
 #define EQ_ID_VACUUMBAKE		9
-#define EQ_ID_ALIGNER			10
-#define EQ_ID_BAKE_COOLING		11
-#define EQ_ID_MEASUREMENT		12
-#define EQ_ID_ARM				13
-#define EQ_ID_ARM_TRAY1			14
-#define EQ_ID_ARM_TRAY2			15
-#define EQ_ID_OPERATOR_REMOVE	999
+#define EQ_ID_Bonder1			10
+#define EQ_ID_Bonder2			11
+#define EQ_ID_BAKE_COOLING		12
+#define EQ_ID_MEASUREMENT		13
+#define EQ_ID_EFEM				100
+#define EQ_ID_ARM				101
+#define EQ_ID_OPERATOR_REMOVE	102
 
+/* Equipment Name */
+#define EQ_NAME_LOADPORT1			"LoadPort1"
+#define EQ_NAME_LOADPORT2			"LoadPort2"
+#define EQ_NAME_LOADPORT3			"LoadPort3"
+#define EQ_NAME_LOADPORT4			"LoadPort4"
+#define EQ_NAME_ARM_TRAY1			"ArmTray1"
+#define EQ_NAME_ARM_TRAY2			"ArmTray2"
+#define EQ_NAME_ALIGNER				"Aligner"
+#define EQ_NAME_FLIPER				"Fliper"
+#define EQ_NAME_VACUUMBAKE			"VacuumBake"
+#define EQ_NAME_BONDER1				"Bonder1"
+#define EQ_NAME_BONDER2				"Bonder2"
+#define EQ_NAME_BAKE_COOLING		"BakeCooling"
+#define EQ_NAME_MEASUREMENT			"Measurement"
+#define EQ_NAME_EFEM				"EFEM"
+#define EQ_NAME_ARM					"Arm"
+#define EQ_NAME_OPERATOR_REMOVE		"OperatorRemove"
+
+// 设备元信息结构体
+struct DeviceMetaInfo {
+	int nDeviceID;
+	const char* strDeviceName;  // 指针,仅指向常量字符串
+};
+
+// 全局设备元信息列表
+static const DeviceMetaInfo g_allDeviceMetaInfos[] = {
+	{EQ_ID_LOADPORT1, EQ_NAME_LOADPORT1},
+	{EQ_ID_LOADPORT2, EQ_NAME_LOADPORT2},
+	{EQ_ID_LOADPORT3, EQ_NAME_LOADPORT3},
+	{EQ_ID_LOADPORT4, EQ_NAME_LOADPORT4},
+	{EQ_ID_ARM_TRAY1, EQ_NAME_ARM_TRAY1},
+	{EQ_ID_ARM_TRAY2, EQ_NAME_ARM_TRAY2},
+	{EQ_ID_ALIGNER,   EQ_NAME_ALIGNER},
+	{EQ_ID_FLIPER,    EQ_NAME_FLIPER},
+	{EQ_ID_VACUUMBAKE, EQ_NAME_VACUUMBAKE},
+	{EQ_ID_Bonder1, EQ_NAME_BONDER1},
+	{EQ_ID_Bonder2, EQ_NAME_BONDER2},
+	{EQ_ID_BAKE_COOLING, EQ_NAME_BAKE_COOLING},
+	{EQ_ID_MEASUREMENT, EQ_NAME_MEASUREMENT},
+	{EQ_ID_EFEM, EQ_NAME_EFEM},
+	{EQ_ID_ARM, EQ_NAME_ARM},
+	{EQ_ID_OPERATOR_REMOVE, EQ_NAME_OPERATOR_REMOVE},
+};
 
 /* step name */
 #define STEP_MODE						_T("EQMode")
@@ -213,7 +263,7 @@
 #define STEP_EQ_STORED_JOB15			_T("EQStoredJobReport15")
 #define STEP_EQ_DISPATCHINT_MODE_CHANGE	_T("EQDispatchingModeChangeCommand")
 #define STEP_EFEM_ROBOT_CMD				_T("EFEMRobotCmd")
-#define STEP_EFEM_IN_OP_MODE_CHANGE		_T("EFEMIndexerOperationModeChangeCommand")
+#define STEP_EQ_IN_OP_MODE_CHANGE		_T("EQIndexerOperationModeChangeCommand")
 #define STEP_PORT1_TYPE_CHANGE			_T("Port1TypeChange")
 #define STEP_PORT2_TYPE_CHANGE			_T("Port2TypeChange")
 #define STEP_PORT3_TYPE_CHANGE			_T("Port3TypeChange")
@@ -238,7 +288,11 @@
 #define STEP_PORT2_CASSETTE_TYPE_CHANGE	_T("Port2CassetteTypeChange")
 #define STEP_PORT3_CASSETTE_TYPE_CHANGE	_T("Port3CassetteTypeChange")
 #define STEP_PORT4_CASSETTE_TYPE_CHANGE	_T("Port4CassetteTypeChange")
-
+#define STEP_EQ_PANEL_DATA_REPORT		_T("EQPanelDataReport")
+#define STEP_EQ_FAC_DATA_REPORT			_T("EQFacDataReport")
+#define STEP_EFEM_PANEL_DATA_REQUEST	_T("EFEMPanelDataRequest")
+#define STEP_EQ_JOB_PROCESS_START_REPORT	_T("EQJobProcessStartReport")
+#define STEP_EQ_JOB_PROCESS_END_REPORT		_T("EQJobProcessEndReport")
 
 /* Step ID */
 #define STEP_ID_CIMMODE_CHANGED_CMD_REPLY		0x550
@@ -262,6 +316,7 @@
 #define STEP_ID_VCR1_EVENT_REPORT				0x56A
 #define STEP_ID_MASTER_RECIPE_LIST_REPORT		0x56B
 #define STEP_ID_RECIPE_PARAMETER_REPORT			0x56C
+#define STEP_ID_FAC_DATA_REPORT					0x56D
 #define STEP_ID_RECIVE_JOB_UPS1					0x580
 #define STEP_ID_RECIVE_JOB_UPS2					0x581
 #define STEP_ID_RECIVE_JOB_UPS3					0x582
@@ -310,6 +365,11 @@
 #define STEP_ID_FETCHED_OUT_JOB_REPORT13		0x5BB
 #define STEP_ID_FETCHED_OUT_JOB_REPORT14		0x5BC
 #define STEP_ID_FETCHED_OUT_JOB_REPORT15		0x5BD
+#define STEP_ID_JOB_PROCESS_START_REPORT		0x5BF
+#define STEP_ID_JOB_PROCESS_END_REPORT			0x5C0
+#define STEP_ID_JOB_DATA_REQUEST				0x5C1
+#define STEP_ID_PANEL_DATA_REQUEST				0x5D0
+#define STEP_ID_PANEL_DATA_REPORT				0x5D1
 #define STEP_ID_IN_OP_CMD_REPLY					0x5F0
 #define STEP_ID_DISPATCHING_MODE_CHANGE_REPLY	0x5F1
 #define STEP_ID_PORT1_TYPE_CHANGE				0x600
@@ -384,6 +444,10 @@
 #define STEP_ID_PROT2_CASSETTE_TYPE_CHANGE_REPLY	0x699
 #define STEP_ID_PROT3_CASSETTE_TYPE_CHANGE_REPLY	0x69A
 #define STEP_ID_PROT4_CASSETTE_TYPE_CHANGE_REPLY	0x69B
+#define STEP_ID_PROT1_CASSETTE_CTR_CMD_REPLY		0x6A0
+#define STEP_ID_PROT2_CASSETTE_CTR_CMD_REPLY		0x6A1
+#define STEP_ID_PROT3_CASSETTE_CTR_CMD_REPLY		0x6A2
+#define STEP_ID_PROT4_CASSETTE_CTR_CMD_REPLY		0x6A3
 #define STEP_ID_ROBOT_CMD_REPLY						0x6b0
 
 
@@ -405,12 +469,7 @@
 
 
 /* 流程控制相关代码 */
-#define FLOW_REJECT					0x0
-#define FLOW_ACCEPT					0x1
 #define FLOW_TEST					0x1000
-#define FLOW_SIGNAL					0x1001
-#define FLOW_DATA					0x1002
-#define FLOW_MOVE_MATERIAL			0x1003
 
 
 /* Port Status */
@@ -483,3 +542,9 @@
 #define RT_REQUEST_FROM_EAS		4
 
 
+ /* Robot Task Status */
+#define ROBOT_EVENT_CREATE		0   // 新任务创建
+#define ROBOT_EVENT_FINISH		1   // 正常完成
+#define ROBOT_EVENT_ERROR		2   // 出现错误
+#define ROBOT_EVENT_ABORT		3   // 人为中止
+#define ROBOT_EVENT_RESTORE		4   // 回撤
\ No newline at end of file

--
Gitblit v1.9.3