From 6fc65c5cf54432d1044fbe9799aca76f7273798c Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期五, 23 五月 2025 18:02:27 +0800
Subject: [PATCH] Merge branch 'clh'

---
 SourceCode/Bond/Servo/CLoadPort.h |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/SourceCode/Bond/Servo/CLoadPort.h b/SourceCode/Bond/Servo/CLoadPort.h
index 0b28400..3e011fc 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 {
@@ -22,7 +23,14 @@
 		virtual int recvIntent(CPin* pPin, CIntent* pIntent);
 		virtual BOOL glassWillArrive(CGlass* pGlass);
 		virtual void onReceiveLBData(const char* pszData, size_t size);
-		virtual int onStepEvent(CStep* pStep, int code);
+
+	public:
+		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);
 
 	public:
 		void setIndex(unsigned int index);
@@ -33,6 +41,13 @@
 		int getCessetteType();
 		int getTransferMode();
 		BOOL isAutoChange();
+		int getPortStatus();
+		int getCassetteSequenceNo();
+		std::string& getCassetteId();
+		int getLoadingCassetteType();
+		int getQTimeFlag();
+		int getCassetteMappingState();
+		int getCassetteStatus();
 		int testGenerateGlassList(MaterialsType type, int count, const char* pszPrefix, int startSuffix);
 
 	public:
@@ -41,6 +56,11 @@
 		static std::string& getPortCassetteTypeDescription(int casseteType, std::string& strDescription);
 		static std::string& getPortTransferModeDescription(int 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:
 		virtual int outputGlass(int port);
@@ -53,6 +73,9 @@
 		CStep* getCassetteCtrlCmdStep();
 
 	private:
+		int decodePortStatusReport(CStep* pStep, const char* pszData, size_t size);
+
+	private:
 		unsigned int m_nIndex;
 		int m_nType;
 		int m_nMode;
@@ -60,6 +83,7 @@
 		int m_nTransferMode;
 		BOOL m_bEnable;
 		BOOL m_bAutoChangeEnable;
+		CPortStatusReport m_portStatusReport;
 	};
 }
 

--
Gitblit v1.9.3