SourceCode/Bond/Servo/CEFEM.cpp
@@ -126,15 +126,15 @@
      return 0;
   }
   int CEFEM::SendHome(int seq)
   int CEFEM::robotSendHome(int seq, ONWRITED onWritedBlock/* = nullptr*/)
   {
      SERVO::ROBOT_CMD_PARAM cmd = {};
      cmd.sequenceNo = static_cast<short>(seq);
      cmd.rcmd = static_cast<short>(SERVO::RCMD::Robot_home);
      return robotCmd(cmd);
      return robotCmd(cmd, onWritedBlock);
   }
   int CEFEM::SendTransfer(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot)
   int CEFEM::robotSendTransfer(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot, ONWRITED onWritedBlock/* = nullptr*/)
   {
      SERVO::ROBOT_CMD_PARAM cmd = {};
      cmd.sequenceNo = static_cast<short>(seq);
@@ -144,10 +144,10 @@
      cmd.getSlotNo = static_cast<short>(fromSlot);
      cmd.putPosition = static_cast<short>(toPos);
      cmd.putSlotNo = static_cast<short>(toSlot);
      return robotCmd(cmd);
      return robotCmd(cmd, onWritedBlock);
   }
   int CEFEM::SendMoveToGet(int seq, int armNo, int pos, int slot)
   int CEFEM::robotSendMoveToGet(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock/* = nullptr*/)
   {
      SERVO::ROBOT_CMD_PARAM cmd = {};
      cmd.sequenceNo = static_cast<short>(seq);
@@ -156,10 +156,10 @@
      cmd.getPosition = static_cast<short>(pos);
      cmd.getSlotNo = static_cast<short>(slot);
      cmd.subCmd = 1;
      return robotCmd(cmd);
      return robotCmd(cmd, onWritedBlock);
   }
   int CEFEM::SendMoveToPut(int seq, int armNo, int pos, int slot)
   int CEFEM::robotSendMoveToPut(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock/* = nullptr*/)
   {
      SERVO::ROBOT_CMD_PARAM cmd = {};
      cmd.sequenceNo = static_cast<short>(seq);
@@ -168,10 +168,10 @@
      cmd.putPosition = static_cast<short>(pos);
      cmd.putSlotNo = static_cast<short>(slot);
      cmd.subCmd = 2;
      return robotCmd(cmd);
      return robotCmd(cmd, onWritedBlock);
   }
   int CEFEM::SendGet(int seq, int armNo, int pos, int slot)
   int CEFEM::robotSendGet(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock/* = nullptr*/)
   {
      SERVO::ROBOT_CMD_PARAM cmd = {};
      cmd.sequenceNo = static_cast<short>(seq);
@@ -179,10 +179,10 @@
      cmd.armNo = static_cast<short>(armNo);
      cmd.getPosition = static_cast<short>(pos);
      cmd.getSlotNo = static_cast<short>(slot);
      return robotCmd(cmd);
      return robotCmd(cmd, onWritedBlock);
   }
   int CEFEM::SendPut(int seq, int armNo, int pos, int slot)
   int CEFEM::robotSendPut(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock/* = nullptr*/)
   {
      SERVO::ROBOT_CMD_PARAM cmd = {};
      cmd.sequenceNo = static_cast<short>(seq);
@@ -190,10 +190,10 @@
      cmd.armNo = static_cast<short>(armNo);
      cmd.putPosition = static_cast<short>(pos);
      cmd.putSlotNo = static_cast<short>(slot);
      return robotCmd(cmd);
      return robotCmd(cmd, onWritedBlock);
   }
   int CEFEM::SendExchange(int seq, int armNo, int pos, int getSlot, int putSlot)
   int CEFEM::robotSendExchange(int seq, int armNo, int pos, int getSlot, int putSlot, ONWRITED onWritedBlock/* = nullptr*/)
   {
      SERVO::ROBOT_CMD_PARAM cmd = {};
      cmd.sequenceNo = static_cast<short>(seq);
@@ -203,18 +203,18 @@
      cmd.putPosition = static_cast<short>(pos);
      cmd.getSlotNo = static_cast<short>(getSlot);
      cmd.putSlotNo = static_cast<short>(putSlot);
      return robotCmd(cmd);
      return robotCmd(cmd, onWritedBlock);
   }
   int CEFEM::SendCommandClear(int seq)
   int CEFEM::robotSendCommandClear(int seq, ONWRITED onWritedBlock/* = nullptr*/)
   {
      SERVO::ROBOT_CMD_PARAM cmd = {};
      cmd.sequenceNo = static_cast<short>(seq);
      cmd.rcmd = static_cast<short>(SERVO::RCMD::Command_Clear);
      return robotCmd(cmd);
      return robotCmd(cmd, onWritedBlock);
   }
   int CEFEM::SendBatchGet(int seq, int getPos, int getSlot)
   int CEFEM::robotSendBatchGet(int seq, int getPos, int getSlot, ONWRITED onWritedBlock/* = nullptr*/)
   {
      SERVO::ROBOT_CMD_PARAM cmd = {};
      cmd.sequenceNo = static_cast<short>(seq);
@@ -222,10 +222,10 @@
      cmd.armNo = ARM_ALL;
      cmd.getPosition = static_cast<short>(getPos);
      cmd.getSlotNo = static_cast<short>(getSlot);
      return robotCmd(cmd);
      return robotCmd(cmd, onWritedBlock);
   }
   int CEFEM::SendBatchPut(int seq, int putPos, int putSlot)
   int CEFEM::robotSendBatchPut(int seq, int putPos, int putSlot, ONWRITED onWritedBlock/* = nullptr*/)
   {
      SERVO::ROBOT_CMD_PARAM cmd = {};
      cmd.sequenceNo = static_cast<short>(seq);
@@ -233,10 +233,10 @@
      cmd.armNo = ARM_ALL;
      cmd.putPosition = static_cast<short>(putPos);
      cmd.putSlotNo = static_cast<short>(putSlot);
      return robotCmd(cmd);
      return robotCmd(cmd, onWritedBlock);
   }
   int CEFEM::SendMoveToGetAndHome(int seq, int armNo, int getPos, int getSlot)
   int CEFEM::robotSendMoveToGetAndHome(int seq, int armNo, int getPos, int getSlot, ONWRITED onWritedBlock/* = nullptr*/)
   {
      SERVO::ROBOT_CMD_PARAM cmds[2] = {};
@@ -252,10 +252,10 @@
      cmds[1].sequenceNo = static_cast<short>(seq + 1);
      cmds[1].rcmd = static_cast<short>(SERVO::RCMD::Robot_home);
      return robotCmds(cmds, 2);
      return robotCmds(cmds, 2, onWritedBlock);
   }
   int CEFEM::SendMoveToPutAndHome(int seq, int armNo, int putPos, int putSlot)
   int CEFEM::robotSendMoveToPutAndHome(int seq, int armNo, int putPos, int putSlot, ONWRITED onWritedBlock/* = nullptr*/)
   {
      SERVO::ROBOT_CMD_PARAM cmds[2] = {};
@@ -271,10 +271,10 @@
      cmds[1].sequenceNo = static_cast<short>(seq + 1);
      cmds[1].rcmd = static_cast<short>(SERVO::RCMD::Robot_home);
      return robotCmds(cmds, 2);
      return robotCmds(cmds, 2, onWritedBlock);
   }
   int CEFEM::SendTransferAndHome(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot)
   int CEFEM::robotSendTransferAndHome(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot, ONWRITED onWritedBlock/* = nullptr*/)
   {
      SERVO::ROBOT_CMD_PARAM cmds[2] = {};
@@ -291,10 +291,10 @@
      cmds[1].sequenceNo = static_cast<short>(seq + 1);
      cmds[1].rcmd = static_cast<short>(SERVO::RCMD::Robot_home);
      return robotCmds(cmds, 2);
      return robotCmds(cmds, 2, onWritedBlock);
   }
   int CEFEM::SendGetAndPut(int seq, int armNo, int getPos, int getSlot, int putPos, int putSlot)
   int CEFEM::robotSendGetAndPut(int seq, int armNo, int getPos, int getSlot, int putPos, int putSlot, ONWRITED onWritedBlock/* = nullptr*/)
   {
      SERVO::ROBOT_CMD_PARAM cmds[2] = {};
@@ -310,10 +310,10 @@
      cmds[1].putPosition = static_cast<short>(putPos);
      cmds[1].putSlotNo = static_cast<short>(putSlot);
      return robotCmds(cmds, 2);
      return robotCmds(cmds, 2, onWritedBlock);
   }
   int CEFEM::SendPutAndHome(int seq, int armNo, int putPos, int putSlot)
   int CEFEM::robotSendPutAndHome(int seq, int armNo, int putPos, int putSlot, ONWRITED onWritedBlock/* = nullptr*/)
   {
      SERVO::ROBOT_CMD_PARAM cmds[2] = {};
@@ -328,7 +328,7 @@
      cmds[1].sequenceNo = static_cast<short>(seq + 1);
      cmds[1].rcmd = static_cast<short>(SERVO::RCMD::Robot_home);
      return robotCmds(cmds, 2);
      return robotCmds(cmds, 2, onWritedBlock);
   }
   void CEFEM::init()
@@ -610,7 +610,7 @@
         CEqWriteStep* pStep = new CEqWriteStep();
         pStep->setName(STEP_EFEM_ROBOT_CMD);
         pStep->setWriteSignalDev(0x14D);
         pStep->setDataDev(0x90a);
         pStep->setDataDev(0x5c7);
         if (addStep(STEP_ID_ROBOT_CMD_REPLY, pStep) != 0) {
            delete pStep;
         }
@@ -626,6 +626,12 @@
            delete pStep;
         }
      }
   }
   // 必须要实现的虚函数,在此初始化Slot信息
   void CEFEM::initSlots()
   {
   }
   void CEFEM::onTimer(UINT nTimerid)
@@ -648,16 +654,6 @@
      return __super::recvIntent(pPin, pIntent);
   }
   BOOL CEFEM::glassWillArrive(CGlass* pGlass)
   {
      BOOL bRet = __super::glassWillArrive(pGlass);
      if (!bRet) {
         return FALSE;
      }
      return m_glassList.empty();
   }
   void CEFEM::onReceiveLBData(const char* pszData, size_t size)
   {
      __super::onReceiveLBData(pszData, size);
@@ -667,6 +663,16 @@
            m_pPort[i]->onReceiveLBData(pszData, size);
         }
      }
      // 更新信号到LoadPort, Robot, Aligner, Fliper
      m_pPort[0]->setLinkSignalBlock(0, &m_bLinkSignal[0][0]);
      m_pPort[1]->setLinkSignalBlock(0, &m_bLinkSignal[1][0]);
      m_pPort[2]->setLinkSignalBlock(0, &m_bLinkSignal[2][0]);
      m_pPort[3]->setLinkSignalBlock(0, &m_bLinkSignal[3][0]);
      m_pArmTray[0]->setLinkSignalBlock(0, &m_bLinkSignal[4][0]);
      m_pArmTray[1]->setLinkSignalBlock(0, &m_bLinkSignal[5][0]);
      m_pAligner->setLinkSignalBlock(0, &m_bLinkSignal[6][0]);
      m_pFliper->setLinkSignalBlock(0, &m_bLinkSignal[7][0]);
   }
   int CEFEM::onReceivedJob(int port, CJobDataS* pJobDataS)