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/CLoadPort.h |   74 ++++++++++++++++++++++++++++++++++++
 1 files changed, 73 insertions(+), 1 deletions(-)

diff --git a/SourceCode/Bond/Servo/CLoadPort.h b/SourceCode/Bond/Servo/CLoadPort.h
index 355bd1d..b8279c2 100644
--- a/SourceCode/Bond/Servo/CLoadPort.h
+++ b/SourceCode/Bond/Servo/CLoadPort.h
@@ -1,5 +1,6 @@
 #pragma once
 #include "CEquipment.h"
+#include "ServoCommo.h"
 
 
 namespace SERVO {
@@ -15,13 +16,84 @@
 		virtual void init();
 		virtual void term();
 		virtual void initPins();
+		virtual void initSteps();
+		virtual void initSlots();
 		virtual void onTimer(UINT nTimerid);
 		virtual void serialize(CArchive& ar);
 		virtual void getAttributeVector(CAttributeVector& attrubutes);
 		virtual int recvIntent(CPin* pPin, CIntent* pIntent);
+		virtual void onReceiveLBData(const char* pszData, size_t size);
 
 	public:
-		virtual int outputGlass(int port);
+		int setPortType(PortType type, ONWRITED onWritedBlock = nullptr);
+		int eablePort(BOOL bEnable, ONWRITED onWritedBlock = nullptr);
+		int setPortMode(PortMode mode, ONWRITED onWritedBlock = nullptr);
+		int setCassetteType(CassetteType type, ONWRITED onWritedBlock = nullptr);
+		int setTransferMode(TransferMode mode, ONWRITED onWritedBlock = nullptr);
+		int eableAutoChange(BOOL bEnable, ONWRITED onWritedBlock = nullptr);
+		void localEanblePort(BOOL bEnable);
+		void localSetPortType(PortType type);
+		void localSetPortMode(PortMode mode);
+		void localSetCessetteType(CassetteType type);
+		void localSetTransferMode(TransferMode mode);
+		void localAutoChangeEnable(BOOL bEnable);
+		short getCassetteMap();
+
+	public:
+		short getNextCassetteSequenceNo();
+		void setIndex(unsigned int index);
+		unsigned int getIndex();
+		BOOL isEnable();
+		PortType getPortType();
+		PortMode getPortMode();
+		CassetteType getCessetteType();
+		TransferMode getTransferMode();
+		BOOL isAutoChange();
+		int getPortStatus();
+		int getCassetteSequenceNo();
+		std::string& getCassetteId();
+		int getLoadingCassetteType();
+		int getQTimeFlag();
+		int getCassetteMappingState();
+		int getCassetteStatus();
+		int testGenerateGlassList(MaterialsType type);
+		int testGenerateGlassListFromConfig(const SERVO::PortConfig& config);
+
+	public:
+		static std::string& getPortTypeDescription(PortType portType, std::string& strDescription);
+		static std::string& getPortModeDescription(PortMode portMode, std::string& strDescription);
+		static std::string& getPortCassetteTypeDescription(CassetteType casseteType, std::string& strDescription);
+		static std::string& getPortTransferModeDescription(TransferMode mode, std::string& strDescription);
+		static std::string& getEnableModeDescription(int mode, std::string& strDescription);
+		static std::string& getPortStatusDescription(int portStatus, std::string& strDescription);
+		static std::string& getLoadingCassetteTypeDescription(int type, std::string& strDescription);
+		static std::string& getQTimeFlagDescription(int flag, std::string& strDescription);
+		static std::string& getCassetteMappingStateDescription(int state, std::string& strDescription);
+		static std::string& getCassetteStatusDescription(int state, std::string& strDescription);
+
+	public:
+		int sendCassetteCtrlCmd(short cmd,
+			short* jobExistence,
+			int jobExistenceSize,
+			short slotProcess,
+			short jopCount,
+			CJobDataA* pJobDataA,
+			ONWRITED onWritedBlock);
+		CStep* getCassetteCtrlCmdStep();
+
+	private:
+		int decodePortStatusReport(CStep* pStep, const char* pszData, size_t size);
+
+	private:
+		unsigned int m_nIndex;
+		PortType m_portType;
+		PortMode m_portMode;
+		CassetteType m_cassetteType;
+		TransferMode m_transferMode;
+		BOOL m_bEnable;
+		BOOL m_bAutoChangeEnable;
+		CPortStatusReport m_portStatusReport;
+		int m_nNextCassetteSequenceNo;
 	};
 }
 

--
Gitblit v1.9.3