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/Servo/CMaster.cpp | 16 ++++++++++------
1 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/SourceCode/Bond/Servo/CMaster.cpp b/SourceCode/Bond/Servo/CMaster.cpp
index f27a523..0192312 100644
--- a/SourceCode/Bond/Servo/CMaster.cpp
+++ b/SourceCode/Bond/Servo/CMaster.cpp
@@ -1540,7 +1540,7 @@
unlock();
}
};
- listener.onProcessStateChanged = [&](void* pEquipment, int slotNo, PROCESS_STATE state) -> void {
+ listener.onProcessStateChanged = [&](void* pEquipment, int slotNo, PROCESS_STATE prevState, PROCESS_STATE state) -> void {
ASSERT(1 <= slotNo && slotNo <= 8);
int eqid = ((CEquipment*)pEquipment)->getID();
CGlass* pGlass = ((CEquipment*)pEquipment)->getGlassFromSlot(slotNo);
@@ -1558,7 +1558,7 @@
}
if (m_listener.onProcessStateChanged != nullptr) {
- m_listener.onProcessStateChanged(this, (CEquipment*)pEquipment, slotNo, state);
+ m_listener.onProcessStateChanged(this, (CEquipment*)pEquipment, slotNo, prevState, state);
}
};
listener.onMapMismatch = [&](void* pEquipment, short scanMap, short downMap) {
@@ -2082,8 +2082,8 @@
static bool inited = false;
static SERVO::CGlass simGlass;
static SERVO::CVcrEventReport simVcr;
- static SERVO::CProcessJob simPj("SIM_PJ_001");
- static SERVO::CControlJob simCj("SIM_CJ_001");
+ static SERVO::CProcessJob simPj("PJ1001");
+ static SERVO::CControlJob simCj("CJ5007");
if (!inited) {
inited = true;
@@ -2115,8 +2115,9 @@
}
};
auto fireProcessState = [&](SERVO::CEquipment* pEq, int slotNo, SERVO::PROCESS_STATE st) {
- if (m_listener.onProcessStateChanged != nullptr && pEq != nullptr) {
- m_listener.onProcessStateChanged(this, pEq, slotNo, st);
+ // Drive equipment state so listeners receive prev/current states consistently.
+ if (pEq != nullptr) {
+ pEq->fireSetProcessState(slotNo, st);
}
};
@@ -2814,6 +2815,9 @@
this->saveState();
+ if (m_listener.onControlJobChanged) {
+ m_listener.onControlJobChanged(this);
+ }
return (int)m_processJobs.size();
}
--
Gitblit v1.9.3