chenluhua1980
2026-01-09 570e812442a64360239f558ae4b55c0d204a5523
SourceCode/Bond/Servo/CMaster.cpp
@@ -222,6 +222,9 @@
      // 读缓存数据
      readCache();
      loadState();
      if (m_listener.onControlJobChanged) {
         m_listener.onControlJobChanged(this);
      }
      // 定时器
@@ -1537,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);
@@ -1555,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) {
@@ -2079,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;
@@ -2112,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);
               }
            };
@@ -2811,6 +2815,9 @@
      this->saveState();
      if (m_listener.onControlJobChanged) {
         m_listener.onControlJobChanged(this);
      }
      return (int)m_processJobs.size();
   }
@@ -2868,6 +2875,9 @@
      }
      m_pControlJob->setPJs(temps);
      this->saveState();
      if (m_listener.onControlJobChanged) {
         m_listener.onControlJobChanged(this);
      }
      return 0;
@@ -3210,6 +3220,9 @@
      saveState();
      if (m_listener.onControlJobChanged) {
         m_listener.onControlJobChanged(this);
      }
      return true;
   }
@@ -3244,6 +3257,9 @@
      saveState();
      if (m_listener.onControlJobChanged) {
         m_listener.onControlJobChanged(this);
      }
      return true;
   }