From 260b16a1debe7dbc33982768a37dfd48ca34b248 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期五, 09 一月 2026 14:27:21 +0800
Subject: [PATCH] 1.EAP模拟器完善

---
 SourceCode/Bond/EAPSimulator/CHsmsActive.h |   61 +++++++++++++++++++++++++++++-
 1 files changed, 58 insertions(+), 3 deletions(-)

diff --git a/SourceCode/Bond/EAPSimulator/CHsmsActive.h b/SourceCode/Bond/EAPSimulator/CHsmsActive.h
index a5925e6..cb63df1 100644
--- a/SourceCode/Bond/EAPSimulator/CHsmsActive.h
+++ b/SourceCode/Bond/EAPSimulator/CHsmsActive.h
@@ -1,8 +1,17 @@
-#pragma once
+锘�#pragma once
 #include <string>
 #include <vector>
 #include <map>
+#include <set>
 #include "CCollectionEvent.h"
+#include "ProcessJob.h"
+
+
+#define SVID_ControlState           600
+#define SVID_CurrentProcessState    700
+#define SVID_CJobSpace            5001
+#define SVID_PJobSpace				5002
+#define SVID_PJobQueued				5003
 
 
 typedef std::function<void(void* pFrom, ACTIVESTATE state)> STATECHANGED;
@@ -29,11 +38,19 @@
 	// Deselect Request
 	int hsmsDeselectRequest();
 
-	// 建立通讯(S1F13)
+	// 寤虹珛閫氳(S1F13)
 	int hsmsEstablishCommunications();
 
 	// Are You There
 	int hsmsAreYouThere();
+
+	// ControlState: Request Online/Offline (S1F17 / S1F15)
+	int hsmsRequestOnline();
+	int hsmsRequestOffline();
+
+	// ControlState: GoLocal/GoRemote (S2F41)
+	int hsmsGoLocal();
+	int hsmsGoRemote();
 
 	// Date time sync
 	int hsmsDatetimeSync();
@@ -53,7 +70,45 @@
 	// Line Event Report
 	int hsmsLinkEventReport(std::map<unsigned int, std::vector<unsigned int>>& mapEvent);
 
-	// 通过的reply函数
+	// Configure Spooling
+	int hsmsConfigureSpooling(std::map<unsigned int, std::set<unsigned int>>& spoolingConfig);
+
+	// 鍙戦�佹垨娓呯┖缂撳瓨鐨勬秷鎭�
+	int hsmsTransmitSpooledData();
+	int hsmsPurgeSpooledData();
+
+	// 鏌ヨ鍙橀噺
+	int hsmsSelectedEquipmentStatusRequest(unsigned int SVID);
+
+	// 鏌ヨPPID List
+	int hsmsQueryPPIDList();
+
+	// S3F17
+	// 鍗″專鍔ㄤ綔璇锋眰
+	int hsmsCarrierActionRequest(unsigned int DATAID, 
+		const char* pszCarrierAction,
+		const char* pszCarrierId,
+		unsigned char PTN);
+	int hsmsProceedWithCarrier(unsigned int DATAID,
+		const char* pszCarrierId,
+		unsigned char PTN);
+	int hsmsProceedWithSlotMap(unsigned int DATAID,
+		const char* pszCarrierId,
+		unsigned char PTN,
+		const char* pszLotId,
+		const std::vector<std::string>& panelIds,
+		const std::vector<unsigned char>& slotMap);
+	int hsmsCarrierRelease(unsigned int DATAID,
+		const char* pszCarrierId,
+		unsigned char PTN);
+
+	// S16F15
+	int hsmsPRJobMultiCreate(std::vector<SERVO::CProcessJob*>& pjs);
+
+	// S14F9
+	int hsmsCreateControlJob(const char* pszControlJobId, std::vector<std::string>& processJobIds);
+
+	// 閫氳繃鐨剅eply鍑芥暟
 	void replyAck(int s, int f, unsigned int systemBytes, BYTE ack, const char* pszAckName);
 
 	// reply ack0

--
Gitblit v1.9.3