LAPTOP-SNT8I5JK\Boounion
2025-04-29 3426d4e0ee09c61ce379cfd1fe9a6e82de346d90
SourceCode/Bond/Servo/CEFEM.cpp
@@ -5,7 +5,10 @@
namespace SERVO {
   CEFEM::CEFEM() : CEquipment()
   {
      m_pPort[0] = nullptr;
      m_pPort[1] = nullptr;
      m_pPort[2] = nullptr;
      m_pPort[3] = nullptr;
   }
   CEFEM::~CEFEM()
@@ -17,6 +20,13 @@
   {
      static char* pszName = "CEFEM";
      return pszName;
   }
   void CEFEM::setPort(unsigned int index, CLoadPort* pPort)
   {
      if (index < 4) {
         m_pPort[index] = pPort;
      }
   }
   void CEFEM::init()
@@ -34,6 +44,32 @@
   {
      // 加入Pin初始化代码
      LOGI("<CEFEM>initPins");
   }
   int CEFEM::onStepEvent(CStep* pStep, int code)
   {
      int nRet = CEquipment::onStepEvent(pStep, code);
      if (nRet > 0) return nRet;
      if (code == STEP_EVENT_READDATA) {
         if (isCassetteTransferStateStep(pStep)) {
            SERVO::CEqCassetteTransferStateStep* pEqCassetteStep = (SERVO::CEqCassetteTransferStateStep*)pStep;
            int id = pEqCassetteStep->getID();
            if (id == STEP_ID_PORT1_CASSETTIE_EMPTY) {
            }
/*
   #define STEP_ID_PORT1_CASSETTIE_LOAD_READY      0x420
   #define STEP_ID_PORT1_CASSETTIE_LOADED         0x428
   #define STEP_ID_PORT1_CASSETTIE_INUSE         0x430
   #define STEP_ID_PORT1_CASSETTIE_UNLOAD_READY   0x438
   #define STEP_ID_PORT1_CASSETTIE_BLOCKED         0x440
*/
         }
      }
      return 0;
   }
   void CEFEM::onTimer(UINT nTimerid)
@@ -55,4 +91,25 @@
   {
      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);
      for (unsigned int i = 0; i < 4; i++) {
         if (m_pPort[i] != nullptr) {
            m_pPort[i]->onReceiveLBData(pszData, size);
         }
      }
   }
}