From 829fe6c6bc33d53fda9c31fd45a37e1df87befff Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期五, 30 一月 2026 11:16:24 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang

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

diff --git a/SourceCode/Bond/EAPSimulator/CHsmsActive.h b/SourceCode/Bond/EAPSimulator/CHsmsActive.h
index 759426f..9e8eb07 100644
--- a/SourceCode/Bond/EAPSimulator/CHsmsActive.h
+++ b/SourceCode/Bond/EAPSimulator/CHsmsActive.h
@@ -1,6 +1,24 @@
-#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
+#define SVID_EQPPExecName           801
+#define SVID_Bonder1CurrentRecipe   8100
+#define SVID_Bonder2CurrentRecipe   8101
+#define SVID_VacuumBakeCurrentRecipe 8102
+#define SVID_BakeCoolingCurrentRecipe 8103
+#define SVID_MeasurementCurrentRecipe 8104
+#define SVID_EFEMCurrentRecipe      8105
 
 
 typedef std::function<void(void* pFrom, ACTIVESTATE state)> STATECHANGED;
@@ -27,11 +45,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();
@@ -45,7 +71,58 @@
 	// Enable/Disable Alarm Report
 	int hsmsEDAlarmReport(bool bEnable, unsigned int id);
 
-	// 通过的reply函数
+	// Define reports
+	int hsmsDefineReports(std::map<unsigned int, std::vector<unsigned int>>& mapReport);
+	
+	// Line Event Report
+	int hsmsLinkEventReport(std::map<unsigned int, std::vector<unsigned int>>& mapEvent);
+
+	// Configure Spooling
+	int hsmsConfigureSpooling(std::map<unsigned int, std::set<unsigned int>>& spoolingConfig);
+
+	// 鍙戦�佹垨娓呯┖缂撳瓨鐨勬秷鎭�
+	int hsmsTransmitSpooledData();
+	int hsmsPurgeSpooledData();
+
+	// 鏌ヨ鍙橀噺
+	int hsmsSelectedEquipmentStatusRequest(unsigned int SVID);
+	int hsmsQueryAllStatusVariables();      // S1F11
+	int hsmsQueryAllDataVariables();        // S1F21
+	int hsmsQueryAllCollectionEvents();     // S1F23
+	int hsmsEquipmentConstantRequest(const std::vector<unsigned short>& ecids); // S2F13
+	int hsmsEquipmentConstantSend(const std::vector<std::pair<unsigned short, std::string>>& ecidValues); // S2F15
+
+	// 鏌ヨPPID List
+	int hsmsQueryPPIDList();
+	int hsmsDeletePPID(const std::vector<std::string>& ppids); // S7F17
+	int hsmsProcessProgramRequest(const char* pszPPID); // S7F5
+
+	// 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