From d1fd8f9e1f5a012b301a6ce93c2ce7eb3c927e31 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期五, 21 三月 2025 17:32:51 +0800
Subject: [PATCH] 1.整理完善物流控制框架,各种虚函数处理。

---
 SourceCode/Bond/Servo/CLoadPort.cpp |   38 +++++++++++++++++++++-----------------
 1 files changed, 21 insertions(+), 17 deletions(-)

diff --git a/SourceCode/Bond/Servo/CLoadPort.cpp b/SourceCode/Bond/Servo/CLoadPort.cpp
index b455e4f..079b3f2 100644
--- a/SourceCode/Bond/Servo/CLoadPort.cpp
+++ b/SourceCode/Bond/Servo/CLoadPort.cpp
@@ -35,7 +35,8 @@
 		// 加入Pin初始化代码
 		LOGI("<CLoadPort>initPins");
 		addPin(SERVO::PinType::INPUT, _T("In"));
-		addPin(SERVO::PinType::OUTPUT, _T("Out"));
+		addPin(SERVO::PinType::OUTPUT, _T("Out1"));
+		addPin(SERVO::PinType::OUTPUT, _T("Out2"));
 	}
 
 	void CLoadPort::onTimer(UINT nTimerid)
@@ -51,25 +52,28 @@
 	void CLoadPort::getAttributeVector(CAttributeVector& attrubutes)
 	{
 		__super::getAttributeVector(attrubutes);
-
-		for (auto item : m_inputPins) {
-			attrubutes.addAttribute(new CAttribute(item->getName().c_str(),
-				std::to_string((int)item->getType()).c_str(), ""));
-		}
-
-		for (auto item : m_outputPins) {
-			attrubutes.addAttribute(new CAttribute(item->getName().c_str(),
-				std::to_string((int)item->getType()).c_str(), ""));
-		}
 	}
 
-	void CLoadPort::outputPanel()
+	int CLoadPort::recvIntent(CPin* pPin, CIntent* pIntent)
 	{
-		CPin* pOutPin = getPin("Out");
+		return __super::recvIntent(pPin, pIntent);
+	}
 
-		CIntent intent;
-		intent.setCode(1);
-		intent.setMsg("Hello");
-		pOutPin->sendIntent(&intent);
+	int CLoadPort::outputGlass(int port)
+	{
+		// 如果列表中没有Panel,模拟生成10张
+		if (m_panelList.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);
+				CPanel* pPanel = new CPanel();
+				pPanel->setID(szBuffer);
+				addPanelToList(pPanel);
+			}
+		}
+
+		return __super::outputGlass(port);
 	}
 }

--
Gitblit v1.9.3