SourceCode/Bond/Servo/CEquipment.cpp
@@ -27,6 +27,7 @@
      m_pArm = nullptr;
      m_processState = PROCESS_STATE::Ready;
      m_blockReadBit = { 0 };
      m_nTestFlag = 0;
      InitializeCriticalSection(&m_criticalSection);
   }
@@ -1325,26 +1326,35 @@
      return nullptr;
   }
   CSlot* CEquipment::getProcessedSlot(MaterialsType putSlotType)
   CSlot* CEquipment::getProcessedSlot(MaterialsType putSlotType, BOOL bJobMode/* = FALSE*/)
   {
      for (int i = 0; i < SLOT_MAX; i++) {
         if (m_nTestFlag == 1) LOGI("getProcessedSlot 001");
         if (!m_slot[i].isEnable()) continue;
         if (m_nTestFlag == 1) LOGI("getProcessedSlot 002");
         if (m_slot[i].isLock()) continue;
         if (m_nTestFlag == 1) LOGI("getProcessedSlot 003");
         CGlass* pGlass = (CGlass*)m_slot[i].getContext();
         if (!isSlotProcessed(i)) continue;
         if (m_nTestFlag == 1) LOGI("getProcessedSlot 004");
         if (pGlass == nullptr) continue;
         if (m_nTestFlag == 1) LOGI("getProcessedSlot 005");
         if (!pGlass->isScheduledForProcessing()) continue;
         if (m_nTestFlag == 1) LOGI("getProcessedSlot 006");
         if (bJobMode && pGlass->getProcessJob() == nullptr) continue;
         if (m_nTestFlag == 1) LOGI("getProcessedSlot 007");
         if(pGlass->getInspResult(m_nID, 0) == InspResult::Fail) continue;
         int lsPath = m_slot[i].getLinkSignalPath();
         if(!m_bLinkSignalToUpstream[lsPath][SIGNAL_UPSTREAM_INLINE]
            || m_bLinkSignalToUpstream[lsPath][SIGNAL_UPSTREAM_TROUBLE]
            || !m_bLinkSignalToUpstream[lsPath][SIGNAL_INTERLOCK]
            || !m_bLinkSignalToUpstream[lsPath][SIGNAL_SEND_ABLE] ) continue;
         if (m_nTestFlag == 1) LOGI("getProcessedSlot 008");
         MaterialsType glassType = pGlass->getType();
         if (glassType == MaterialsType::G1 && putSlotType == MaterialsType::G2) continue;
         if (m_nTestFlag == 1) LOGI("getProcessedSlot 009");
         if (glassType == MaterialsType::G2 && putSlotType == MaterialsType::G1) continue;
         if (m_nTestFlag == 1) LOGI("getProcessedSlot 00a");
         return &m_slot[i];
      }
@@ -1442,6 +1452,13 @@
      if (m_slot[slotIndex].getContext() != nullptr) return FALSE;
      return TRUE;
   }
   BOOL CEquipment::slotHasGlass(int slotIndex/* = 0*/)
   {
      ASSERT(slotIndex < 8);
      CGlass* pGlass = (CGlass*)m_slot[slotIndex].getContext();
      return (pGlass != nullptr);
   }
   int CEquipment::removeGlass(int slotNo)
@@ -1654,7 +1671,7 @@
   int CEquipment::decodeVCREventReport(CStep* pStep, const char* pszData, size_t size)
   {
      CVcrEventReport vcrEventReport;
      vcrEventReport.unserialize(pszData, size);
      vcrEventReport.unserialize(pszData, (int)size);
      LOGI("<CEquipment-%s>decodeVCREventReport<Result:%d, GlassId:%s>\n", m_strName.c_str(),
         vcrEventReport.getVcrResult(),
         vcrEventReport.getGlassId().c_str());
@@ -1990,14 +2007,14 @@
    */
   int CEquipment::onSendAble(int port)
   {
      LOGI("<CEquipment-%s>onSendAble.port:%d", m_strName.c_str(), port);
      // LOGI("<CEquipment-%s>onSendAble.port:%d", m_strName.c_str(), port);
      return 0;
   }
   int CEquipment::onReceiveAble(int port)
   {
      LOGI("<CEquipment-%s>onReceiveAble.port:%d", m_strName.c_str(), port);
      // LOGI("<CEquipment-%s>onReceiveAble.port:%d", m_strName.c_str(), port);
      return 0;
   }