From 08fc60deca0fa2a0658a676d9dd76e0e69436312 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期五, 23 一月 2026 22:08:22 +0800
Subject: [PATCH] 1.接上

---
 SourceCode/Bond/Servo/CLoadPort.cpp |   36 ++++++++++++++++++------------------
 1 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/SourceCode/Bond/Servo/CLoadPort.cpp b/SourceCode/Bond/Servo/CLoadPort.cpp
index 73549bf..4b86cf7 100644
--- a/SourceCode/Bond/Servo/CLoadPort.cpp
+++ b/SourceCode/Bond/Servo/CLoadPort.cpp
@@ -377,6 +377,7 @@
 				portStatusReport.setCassetteId("CID1001");
 				int nRet = portStatusReport.serialize(szBuffer, 64);
 				decodePortStatusReport(pStep, szBuffer, 64);
+				LOGI("<CLoadPort>Port1杞藉叆妯℃嫙鏁版嵁锛� id:CID1001 map: 0xf");
 			}
 		}
 		if (m_nIndex == 1) {
@@ -391,6 +392,7 @@
 				portStatusReport.setCassetteId("CID1004");
 				int nRet = portStatusReport.serialize(szBuffer, 64);
 				decodePortStatusReport(pStep, szBuffer, 64);
+				LOGI("<CLoadPort>Port2杞藉叆妯℃嫙鏁版嵁锛� id:CID1004 map: 0xff");
 			}
 		}
 		*/
@@ -559,6 +561,11 @@
 	std::string& CLoadPort::getCassetteId()
 	{
 		return m_portStatusReport.getCassetteId();
+	}
+
+	void CLoadPort::simulateSetCassetteId(const char* pszCarrierId)
+	{
+		m_portStatusReport.setCassetteId(pszCarrierId);
 	}
 
 	int CLoadPort::getLoadingCassetteType()
@@ -937,25 +944,13 @@
 
 		// 褰損ort鐘舵�佷负InUse, 姣旇緝map
 		if (m_portStatusReport.getPortStatus() == PORT_INUSE) {
-			if (m_isCompareMapsBeforeProceeding) {
-				short scanMap = getScanCassetteMap();
-				short downloadMap = getDownloadCassetteMap();
-				if (scanMap == downloadMap) {
-					generateGlassList(scanMap);
-					this->sendCassetteCtrlCmd(CCC_PROCESS_START, nullptr, 0, 0, 0, nullptr, nullptr);
-				}
-				else {
-					this->sendCassetteCtrlCmd(CCC_PROCESS_CANCEL, nullptr, 0, 0, 0, nullptr, nullptr);
+			// 鐢熸垚鐜荤拑鍒楄〃锛氭潵鑷� EFEM 鎵弿鍒扮殑 map
+			generateGlassList(getScanCassetteMap());
 
-					// 鎶涘嚭鍒板簲鐢ㄥ眰鍋氭彁绀�
-					if (m_listener.onMapMismatch != nullptr) {
-						m_listener.onMapMismatch(this, scanMap, downloadMap);
-					}
-				}
-			}
-			else {
-				// 鎶涘嚭鍒板簲鐢ㄥ眰鍋氶�夋嫨瑕佸姞宸ョ殑鐗囧瓙
-				generateGlassList(getScanCassetteMap());
+			// CompareMapsBeforeProceeding锛氫笉鍦ㄦ澶勮嚜鍔� Start/Cancel锛屾敼涓虹瓑寰� Host 鍐崇瓥锛圥roceedWithCarrier/ProceedWithSlotMap/CarrierRelease锛�
+			// Host 鍐崇瓥鍏ュ彛锛歋3F17 CarrierAction -> listener.onCarrierAction -> CMaster::proceedWithCarrier()/carrierRelease()
+			if (m_isCompareMapsBeforeProceeding) {
+				// 杩欓噷浠呯瓑寰咃紝鍏蜂綋涓婃姤鐢变笂灞傚湪 PORT_INUSE 浜嬩欢涓Е鍙戯紙S6F11 CheckSlotMap锛�
 			}
 		}
 		if (m_listener.onPortStatusChanged != nullptr) {
@@ -1324,4 +1319,9 @@
 	{
 		m_isCompareMapsBeforeProceeding = bCompare;
 	}
+
+	BOOL CLoadPort::isCompareMapsBeforeProceeding() const
+	{
+		return m_isCompareMapsBeforeProceeding;
+	}
 }

--
Gitblit v1.9.3