From 1bc4fecb9cc1641ed3ad0a2fda30766fc06fb13e Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期二, 01 四月 2025 16:05:07 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang

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

diff --git a/SourceCode/Bond/Servo/CLoadPort.cpp b/SourceCode/Bond/Servo/CLoadPort.cpp
index bda1be4..b881e5a 100644
--- a/SourceCode/Bond/Servo/CLoadPort.cpp
+++ b/SourceCode/Bond/Servo/CLoadPort.cpp
@@ -34,6 +34,9 @@
 	{
 		// 加入Pin初始化代码
 		LOGI("<CLoadPort>initPins");
+		addPin(SERVO::PinType::INPUT, _T("In"));
+		addPin(SERVO::PinType::OUTPUT, _T("Out1"));
+		addPin(SERVO::PinType::OUTPUT, _T("Out2"));
 	}
 
 	void CLoadPort::onTimer(UINT nTimerid)
@@ -45,4 +48,42 @@
 	{
 		CEquipment::serialize(ar);
 	}
+
+	void CLoadPort::getAttributeVector(CAttributeVector& attrubutes)
+	{
+		__super::getAttributeVector(attrubutes);
+	}
+
+	int CLoadPort::recvIntent(CPin* pPin, CIntent* pIntent)
+	{
+		return __super::recvIntent(pPin, pIntent);
+	}
+
+	int CLoadPort::outputGlass(int port)
+	{
+		// 如果列表中没有Panel,模拟生成10张
+		if (m_glassList.empty()) {
+			static int ii = 0;
+			char szBuffer[64];
+			LOGI("<CLoadPort>模拟生成10张PANEL");
+			for (int i = 0; i < 10; i++) {
+				sprintf_s(szBuffer, "P20250320A1A%d", ++ii);
+				CGlass* pGlass = new CGlass();
+				pGlass->setID(szBuffer);
+				addGlassToList(pGlass);
+			}
+		}
+
+		return __super::outputGlass(port);
+	}
+
+	BOOL CLoadPort::glassWillArrive(CGlass* pGlass)
+	{
+		BOOL bRet = __super::glassWillArrive(pGlass);
+		if (!bRet) {
+			return FALSE;
+		}
+
+		return (m_glassList.size() < 8);
+	}
 }

--
Gitblit v1.9.3