From 8b96cadc838caf8d664e2d54576874bec299972a Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 24 七月 2025 17:36:32 +0800
Subject: [PATCH] 1.EAP模拟器,增加Link Report加载功能,列表展示功能,修改Report ID功能,但未真正下发到指令到Master.

---
 SourceCode/Bond/EAPSimulator/CHsmsActive.cpp |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 52 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/EAPSimulator/CHsmsActive.cpp b/SourceCode/Bond/EAPSimulator/CHsmsActive.cpp
index 94f5bb7..925eb0e 100644
--- a/SourceCode/Bond/EAPSimulator/CHsmsActive.cpp
+++ b/SourceCode/Bond/EAPSimulator/CHsmsActive.cpp
@@ -170,6 +170,58 @@
 	return 0;
 }
 
+int CHsmsActive::hsmsEDEventReport(bool bEnable, std::vector<int>& ids)
+{
+	IMessage* pMessage = nullptr;
+	int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 2 | REPLY, 37, ++m_nSystemByte);
+	ISECS2Item* pItem = pMessage->getBody();
+	pItem->addBoolItem(bEnable, "CEED");
+	ISECS2Item* pItem2 = pItem->addItem();
+	for (auto item : ids) {
+		pItem2->addU4Item(item, "CEID");
+	}
+	m_pActive->sendMessage(pMessage);
+	HSMS_Destroy1Message(pMessage);
+
+	return 0;
+}
+
+int CHsmsActive::hsmsEDAlarmReport(bool bEnable, unsigned int id)
+{
+	char szEnable[2] = {128, 0};
+
+	IMessage* pMessage = nullptr;
+	int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 5 | REPLY, 3, ++m_nSystemByte);
+	ISECS2Item* pItem = pMessage->getBody();
+	pItem->addBinaryItem(&szEnable[bEnable ? 0 : 1], 1, "ALED");
+	pItem->addU4Item(id, "ALID");
+	m_pActive->sendMessage(pMessage);
+	HSMS_Destroy1Message(pMessage);
+
+	return 0;
+}
+
+int CHsmsActive::hsmsDefineReports(std::map<unsigned int, std::vector<unsigned int>>& mapReport)
+{
+	IMessage* pMessage = nullptr;
+	int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 2 | REPLY, 33, ++m_nSystemByte);
+	ISECS2Item* pItem = pMessage->getBody();
+	pItem->addU4Item(1, "DATAID");
+	ISECS2Item* pItemReportList = pItem->addItem();
+	for (auto item : mapReport) {
+		ISECS2Item* pItemReport = pItemReportList->addItem();
+		pItemReport->addU4Item(item.first, "RPTID");
+		ISECS2Item* pItemVidList = pItemReport->addItem();
+		for (auto vid : item.second) {
+			pItemVidList->addU4Item(vid, "VID");
+		}
+	}
+	m_pActive->sendMessage(pMessage);
+	HSMS_Destroy1Message(pMessage);
+
+	return 0;
+}
+
 int CHsmsActive::replyAck0(IMessage* pMessage)
 {
 	return 0;

--
Gitblit v1.9.3