From 517c0e8eba29ff41afbbc0abb0f913914b37e4e1 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期二, 27 一月 2026 10:59:09 +0800
Subject: [PATCH] 1.SlotMap Mismatch 事件

---
 SourceCode/Bond/Servo/Model.cpp |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/SourceCode/Bond/Servo/Model.cpp b/SourceCode/Bond/Servo/Model.cpp
index ce34d63..6cbe9c2 100644
--- a/SourceCode/Bond/Servo/Model.cpp
+++ b/SourceCode/Bond/Servo/Model.cpp
@@ -333,12 +333,25 @@
 					return CAACK_5;
 				}
 
+				const short scanMap = pLoadPort->getScanCassetteMap();
+				const short downloadMap = pLoadPort->getDownloadCassetteMap();
 				m_hsmsPassive.withVariableLock([&] {
-					m_hsmsPassive.setVariableValue("SlotMapScan", pLoadPort->getScanCassetteMap());
-					m_hsmsPassive.setVariableValue("SlotMapDownload", pLoadPort->getDownloadCassetteMap());
-					m_hsmsPassive.requestEventReportSend_SlotMapVerificationOK();
+					m_hsmsPassive.setVariableValue("SlotMapScan", scanMap);
+					m_hsmsPassive.setVariableValue("SlotMapDownload", downloadMap);
+					if (scanMap != downloadMap) {
+						m_hsmsPassive.requestEventReportSend_SlotMapVerificationNG();
+						m_hsmsPassive.requestEventReportSend("SlotMapMismatch");
+					}
+					else {
+						m_hsmsPassive.requestEventReportSend_SlotMapVerificationOK();
+					}
 				});
 
+				if (scanMap != downloadMap) {
+					strErrorTxt = "rejected - SlotMap mismatch";
+					return CAACK_5;
+				}
+
 				// Host 纭 SlotMap 鍚庡啀寮�濮嬪姞宸�/娴佺▼
 				m_master.proceedWithCarrier(portIndex);
 				return CAACK_0;

--
Gitblit v1.9.3