LAPTOP-SNT8I5JK\Boounion
2025-07-21 5e6c63c80e146e9f0800afc39ec33f0c7eb7a572
SourceCode/Bond/Servo/CMaster.cpp
@@ -1012,6 +1012,10 @@
      listener.onProcessStateChanged = [&](void* pEquipment, PROCESS_STATE state) -> void {
         LOGI("<Master>onProcessStateChanged<%d>", (int)state);
      };
      listener.onMapMismatch = [&](void* pEquipment, short scanMap, short downMap) {
         LOGE("<Master-%s>Port InUse, map(%d!=%d)不一致,请检查。",
            ((CEquipment*)pEquipment)->getName().c_str(), scanMap, downMap);
      };
      pEquipment->setListener(listener);
      pEquipment->setCcLink(&m_cclink);
      m_listEquipment.push_back(pEquipment);
@@ -1405,6 +1409,10 @@
      MaterialsType primaryType/* = MaterialsType::G1*/, MaterialsType secondaryType/* = MaterialsType::G2*/,
      int armNo/* = 1*/)
   {
      if (!pSrcEq->IsEnabled()) {
         return nullptr;
      }
      CRobotTask* pTask = nullptr;
      CSlot* pSrcSlot, * pTarSlot;
      pTarSlot = pTarEq->getAvailableSlotForGlass(primaryType);
@@ -1429,6 +1437,10 @@
   CRobotTask* CMaster::createTransferTask_bonder_to_bakecooling(CEquipment* pSrcEq, CEquipment* pTarEq)
   {
      if (!pSrcEq->IsEnabled()) {
         return nullptr;
      }
      std::vector<int> slots = {1, 3};
      CRobotTask* pTask = nullptr;
@@ -1450,6 +1462,10 @@
   CRobotTask* CMaster::createTransferTask_bake_to_cooling(CEquipment* pSrcEq)
   {
      if (!pSrcEq->IsEnabled()) {
         return nullptr;
      }
      std::vector<int> slotsTar = { 2, 4 };
      std::vector<int> slotsSrc = { 1, 3 };
@@ -1472,6 +1488,10 @@
   CRobotTask* CMaster::createTransferTask_bakecooling_to_measurement(CEquipment* pSrcEq, CEquipment* pTarEq)
   {
      if (!pSrcEq->IsEnabled()) {
         return nullptr;
      }
      std::vector<int> slots = { 2, 4 };
      CRobotTask* pTask = nullptr;
@@ -1493,6 +1513,10 @@
   CRobotTask* CMaster::createTransferTask_restore(CEquipment* pEqSrc, CLoadPort** pPorts)
   {
      if (!pEqSrc->IsEnabled()) {
         return nullptr;
      }
      CRobotTask* pTask = nullptr;
      CSlot* pSrcSlot, * pTarSlot = nullptr, * pTempSlot;
      pSrcSlot = pEqSrc->getInspFailSlot();
@@ -1560,6 +1584,18 @@
      return 0;
   }
   int CMaster::resendCurrentTask()
   {
      lock();
      if (m_pActiveRobotTask != nullptr) {
         m_pActiveRobotTask->resend();
      }
      unlock();
      return 0;
   }
   void CMaster::setPortType(unsigned int index, BOOL enable, int type, int mode,
      int cassetteType, int transferMode, BOOL autoChangeEnable)
   {