From 66d8ca4b75006f9875731ef819dafd3d20ca01a2 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 21 七月 2025 11:15:30 +0800
Subject: [PATCH] 1.信号页面,增加下游信号的显示;

---
 SourceCode/Bond/Servo/CRobotTask.cpp |   42 +++++++++++++++++++++++-------------------
 1 files changed, 23 insertions(+), 19 deletions(-)

diff --git a/SourceCode/Bond/Servo/CRobotTask.cpp b/SourceCode/Bond/Servo/CRobotTask.cpp
index 9a598d7..7a9625e 100644
--- a/SourceCode/Bond/Servo/CRobotTask.cpp
+++ b/SourceCode/Bond/Servo/CRobotTask.cpp
@@ -123,7 +123,7 @@
 		transformPosAndSlot(toPos, toSlot, tarPos, tarSlot);
 
 		m_robotCmdParam[ACTION_PICK] = {};
-		m_robotCmdParam[ACTION_PICK].sequenceNo = static_cast<short>(seq+2);
+		m_robotCmdParam[ACTION_PICK].sequenceNo = static_cast<short>(seq+1);
 		m_robotCmdParam[ACTION_PICK].rcmd = static_cast<short>(SERVO::RCMD::Get);
 		m_robotCmdParam[ACTION_PICK].armNo = static_cast<short>(armNo);
 		m_robotCmdParam[ACTION_PICK].getPosition = static_cast<short>(srcPos);
@@ -137,13 +137,13 @@
 		m_robotCmdParam[ACTION_PLACE].putSlotNo = static_cast<short>(tarSlot);
 
 		m_robotCmdParam[ACTION_RESTORE] = {};
-		m_robotCmdParam[ACTION_RESTORE].sequenceNo = static_cast<short>(seq + 1);
+		m_robotCmdParam[ACTION_RESTORE].sequenceNo = static_cast<short>(seq + 3);
 		m_robotCmdParam[ACTION_RESTORE].rcmd = static_cast<short>(SERVO::RCMD::Put);
 		m_robotCmdParam[ACTION_RESTORE].armNo = static_cast<short>(armNo);
 		m_robotCmdParam[ACTION_RESTORE].putPosition = static_cast<short>(srcPos);
 		m_robotCmdParam[ACTION_RESTORE].putSlotNo = static_cast<short>(srcSlot);
 
-		return seq + 1;
+		return seq + 3;
 	}
 
 	ROBOT_CMD_PARAM& CRobotTask::getRobotCmdParam(int index)
@@ -188,6 +188,11 @@
 		return m_state == ROBOT_TASK_STATE::Picking;
 	}
 
+	bool CRobotTask::isPicked()
+	{
+		return m_state == ROBOT_TASK_STATE::Picked;
+	}
+
 	bool CRobotTask::isPlacing()
 	{
 		return m_state == ROBOT_TASK_STATE::Placing;
@@ -227,10 +232,7 @@
 		ASSERT(m_pEFEM);
 		m_state = ROBOT_TASK_STATE::Picking;
 
-		m_pEFEM->robotSendGet(m_robotCmdParam->sequenceNo,
-			m_robotCmdParam[ACTION_PICK].armNo,
-			m_robotCmdParam[ACTION_PICK].getPosition,
-			m_robotCmdParam[ACTION_PICK].getSlotNo,
+		m_pEFEM->robotCmd(m_robotCmdParam[ACTION_PICK],
 			[&](int code) -> int {
 				if (code == WOK) {
 					LOGI(_T("RobotTask/get已下发到EFEM"));
@@ -243,15 +245,17 @@
 			});
 	}
 
+	void CRobotTask::picked()
+	{
+		m_state = ROBOT_TASK_STATE::Picked;
+	}
+
 	void CRobotTask::place()
 	{
 		ASSERT(m_pEFEM);
 		m_state = ROBOT_TASK_STATE::Placing;
 
-		m_pEFEM->robotSendMoveToPut(m_robotCmdParam->sequenceNo,
-			m_robotCmdParam[ACTION_PLACE].armNo,
-			m_robotCmdParam[ACTION_PLACE].putPosition,
-			m_robotCmdParam[ACTION_PLACE].putSlotNo,
+		m_pEFEM->robotCmd(m_robotCmdParam[ACTION_PLACE],
 			[&](int code) -> int {
 				if (code == WOK) {
 					LOGI(_T("RobotTask/put已下发到EFEM"));
@@ -269,10 +273,7 @@
 		ASSERT(m_pEFEM);
 		m_state = ROBOT_TASK_STATE::Restoring;
 
-		m_pEFEM->robotSendMoveToPut(m_robotCmdParam->sequenceNo,
-			m_robotCmdParam[ACTION_RESTORE].armNo,
-			m_robotCmdParam[ACTION_RESTORE].putPosition,
-			m_robotCmdParam[ACTION_RESTORE].putSlotNo,
+		m_pEFEM->robotCmd(m_robotCmdParam[ACTION_RESTORE],
 			[&](int code) -> int {
 				if (code == WOK) {
 					LOGI(_T("RobotTask/restore-put已下发到EFEM"));
@@ -358,6 +359,9 @@
 		case EQ_ID_LOADPORT2:
 		case EQ_ID_LOADPORT3:
 		case EQ_ID_LOADPORT4:
+			tarPos = srcPos;
+			tarSlot = srcSlot;
+			break;
 		case EQ_ID_ARM_TRAY1:
 		case EQ_ID_ARM_TRAY2:
 		case EQ_ID_ALIGNER:
@@ -367,25 +371,25 @@
 			break;
 		case EQ_ID_Bonder1:
 			if (1 <= srcSlot && srcSlot <= 2) {
-				tarPos = 9 + srcSlot;
+				tarPos = 9 + srcSlot - 1;
 				tarSlot = 1;
 			}
 			break;
 		case EQ_ID_Bonder2:
 			if (1 <= srcSlot && srcSlot <= 2) {
-				tarPos = 11 + srcSlot;
+				tarPos = 11 + srcSlot - 1;
 				tarSlot = 1;
 			}
 			break;
 		case EQ_ID_VACUUMBAKE:
 			if (1 <= srcSlot && srcSlot <= 2) {
-				tarPos = 13 + srcSlot;
+				tarPos = 13 + srcSlot - 1;
 				tarSlot = 1;
 			}
 			break;
 		case EQ_ID_BAKE_COOLING:
 			if (1 <= srcSlot && srcSlot <= 4) {
-				tarPos = 15 + srcSlot;
+				tarPos = 15 + srcSlot - 1;
 				tarSlot = 1;
 			}
 			break;

--
Gitblit v1.9.3