LAPTOP-SNT8I5JK\Boounion
2025-05-19 04dbc26747a70f7f97196805477e67b2597672b2
SourceCode/Bond/Servo/CEFEM.cpp
@@ -364,6 +364,17 @@
            }
         }
      }
      {
         // Dispatching Mode Change Command
         CEqWriteStep* pStep = new CEqWriteStep();
         pStep->setName(STEP_EQ_DISPATCHINT_MODE_CHANGE);
         pStep->setWriteSignalDev(0x071);
         pStep->setDataDev(0x5c6);
         if (addStep(STEP_ID_DISPATCHING_MODE_CHANGE_REPLY, pStep) != 0) {
            delete pStep;
         }
      }
   }
   int CEFEM::onStepEvent(CStep* pStep, int code)
@@ -426,61 +437,89 @@
      }
   }
   int CEFEM::onFetchedOut(int port, const char* pszGlassId)
   int CEFEM::onReceivedJob(int port, CJobDataS* pJobDataS)
   {
      m_pPort[0]->onReceivedJob(port, pJobDataS);
      m_pPort[1]->onReceivedJob(port, pJobDataS);
      m_pPort[2]->onReceivedJob(port, pJobDataS);
      m_pPort[3]->onReceivedJob(port, pJobDataS);
      m_pArmTray[0]->onReceivedJob(port, pJobDataS);
      m_pArmTray[1]->onReceivedJob(port, pJobDataS);
      m_pAligner->onReceivedJob(port, pJobDataS);
      m_pFliper->onReceivedJob(port, pJobDataS);
      return 0;
   }
   int CEFEM::onSentOutJob(int port, CJobDataS* pJobDataS)
   {
      m_pPort[0]->onSentOutJob(port, pJobDataS);
      m_pPort[1]->onSentOutJob(port, pJobDataS);
      m_pPort[2]->onSentOutJob(port, pJobDataS);
      m_pPort[3]->onSentOutJob(port, pJobDataS);
      m_pArmTray[0]->onSentOutJob(port, pJobDataS);
      m_pArmTray[1]->onSentOutJob(port, pJobDataS);
      m_pAligner->onSentOutJob(port, pJobDataS);
      m_pFliper->onSentOutJob(port, pJobDataS);
      return 0;
   }
   int CEFEM::onFetchedOutJob(int port, CJobDataB* pJobDataB)
   {
      if (port == 1) {
         return m_pPort[0]->fetchedOut(pszGlassId);
         return m_pPort[0]->onFetchedOutJob(port, pJobDataB);
      }
      if (port == 2) {
         return m_pPort[1]->fetchedOut(pszGlassId);
         return m_pPort[1]->onFetchedOutJob(port, pJobDataB);
      }
      if (port == 3) {
         return m_pPort[2]->fetchedOut(pszGlassId);
         return m_pPort[2]->onFetchedOutJob(port, pJobDataB);
      }
      if (port == 4) {
         return m_pPort[3]->fetchedOut(pszGlassId);
         return m_pPort[3]->onFetchedOutJob(port, pJobDataB);
      }
      if (port == 5) {
         return m_pArmTray[0]->fetchedOut(pszGlassId);
         return m_pArmTray[0]->onFetchedOutJob(port, pJobDataB);
      }
      if (port == 6) {
         return m_pArmTray[1]->fetchedOut(pszGlassId);
         return m_pArmTray[1]->onFetchedOutJob(port, pJobDataB);
      }
      if (port == 7) {
         return m_pAligner->fetchedOut(pszGlassId);
         return m_pAligner->onFetchedOutJob(port, pJobDataB);
      }
      if (port == 8) {
         return m_pFliper->fetchedOut(pszGlassId);
         return m_pFliper->onFetchedOutJob(port, pJobDataB);
      }
      return -1;
   }
   int CEFEM::onStore(int port, const char* pszGlassId)
   int CEFEM::onStoredJob(int port, CJobDataB* pJobDataB)
   {
      if (port == 1) {
         return m_pPort[0]->storedJob(pszGlassId);
         return m_pPort[0]->onStoredJob(port, pJobDataB);
      }
      if (port == 2) {
         return m_pPort[1]->storedJob(pszGlassId);
         return m_pPort[1]->onStoredJob(port, pJobDataB);
      }
      if (port == 3) {
         return m_pPort[2]->storedJob(pszGlassId);
         return m_pPort[2]->onStoredJob(port, pJobDataB);
      }
      if (port == 4) {
         return m_pPort[3]->storedJob(pszGlassId);
         return m_pPort[3]->onStoredJob(port, pJobDataB);
      }
      if (port == 5) {
         return m_pArmTray[0]->storedJob(pszGlassId);
         return m_pArmTray[0]->onStoredJob(port, pJobDataB);
      }
      if (port == 6) {
         return m_pArmTray[1]->storedJob(pszGlassId);
         return m_pArmTray[1]->onStoredJob(port, pJobDataB);
      }
      if (port == 7) {
         return m_pAligner->storedJob(pszGlassId);
         return m_pAligner->onStoredJob(port, pJobDataB);
      }
      if (port == 8) {
         return m_pFliper->storedJob(pszGlassId);
         return m_pFliper->onStoredJob(port, pJobDataB);
      }
      return -1;