LAPTOP-SNT8I5JK\Boounion
2025-09-15 5bddb50bb11a06b07922b989b24ad6e7f4fdca3f
SourceCode/Bond/Servo/CLoadPort.cpp
@@ -44,7 +44,7 @@
   void CLoadPort::initPins()
   {
      // 加入Pin初始化代码
      LOGI("<CLoadPort>initPins");
      LOGD("<CLoadPort>initPins");
      addPin(SERVO::PinType::INPUT, _T("In"));
      addPin(SERVO::PinType::OUTPUT, _T("Out"));
   }
@@ -363,14 +363,15 @@
      // 模拟测试
      /*
      if (m_nIndex == 0) {
         static int ii = 0;
         ii++;
         if (ii == 50) {
            char szBuffer[64] = {0};
            CStep* pStep = getStepWithName(STEP_EQ_PORT1_INUSE);
            CStep* pStep = getStepWithName(STEP_EQ_PORT1_BLOCKED);
            CPortStatusReport portStatusReport;
            portStatusReport.setPortStatus(PORT_INUSE);
            portStatusReport.setPortStatus(PORT_BLOCKED);
            portStatusReport.setJobExistenceSlot(0xf);
            portStatusReport.setCassetteId("CID1001");
            int nRet = portStatusReport.serialize(szBuffer, 64);
@@ -382,15 +383,16 @@
         ii++;
         if (ii == 55) {
            char szBuffer[64] = { 0 };
            CStep* pStep = getStepWithName(STEP_EQ_PORT2_INUSE);
            CStep* pStep = getStepWithName(STEP_EQ_PORT2_BLOCKED);
            CPortStatusReport portStatusReport;
            portStatusReport.setPortStatus(PORT_INUSE);
            portStatusReport.setPortStatus(PORT_BLOCKED);
            portStatusReport.setJobExistenceSlot(0xff );
            portStatusReport.setCassetteId("CID1004");
            int nRet = portStatusReport.serialize(szBuffer, 64);
            decodePortStatusReport(pStep, szBuffer, 64);
         }
      }
      */
   }
   void CLoadPort::serialize(CArchive& ar)
@@ -402,7 +404,6 @@
         m_portStatusReport.serialize(ar);
      }
      else {
         int temp;
         ar >> m_nIndex;
         m_portStatusReport.serialize(ar);
      }
@@ -486,6 +487,19 @@
      }
      return (m_nIndex + 1) * 1000 + m_nNextCassetteSequenceNo;
   }
   int CLoadPort::getPortCassetteSnSeed()
   {
      return m_nNextCassetteSequenceNo;
   }
   void CLoadPort::setPortCassetteSnSeed(int seed)
   {
      m_nNextCassetteSequenceNo = seed;
      if (m_nNextCassetteSequenceNo >= 1000) {
         m_nNextCassetteSequenceNo = 0;
      }
   }
   void CLoadPort::setIndex(unsigned int index)
@@ -981,7 +995,7 @@
            LOGI("<CLoadPort-%d>设置Port type成功.", m_nIndex);
         }
         else {
            LOGI("<CLoadPort-%d>设置Port type失败,code:%d", m_nIndex, code);
            LOGE("<CLoadPort-%d>设置Port type失败,code:%d", m_nIndex, code);
         }
         if (onWritedBlock != nullptr) {
            return onWritedBlock(code);
@@ -1011,7 +1025,7 @@
            LOGI("<CLoadPort-%d>%s Port成功.", m_nIndex, bEnable ? _T("启用") : _T("禁用"));
         }
         else {
            LOGI("<CLoadPort-%d>%s  Port失败,code:%d", m_nIndex, bEnable ? _T("启用") : _T("禁用"), code);
            LOGE("<CLoadPort-%d>%s  Port失败,code:%d", m_nIndex, bEnable ? _T("启用") : _T("禁用"), code);
         }
         if (onWritedBlock != nullptr) {
            return onWritedBlock(code);
@@ -1040,7 +1054,7 @@
            LOGI("<CLoadPort-%d>设置Port mode成功.", m_nIndex);
         }
         else {
            LOGI("<CLoadPort-%d>设置Port mode失败,code:%d", m_nIndex, code);
            LOGE("<CLoadPort-%d>设置Port mode失败,code:%d", m_nIndex, code);
         }
         if (onWritedBlock != nullptr) {
            return onWritedBlock(code);
@@ -1069,7 +1083,7 @@
            LOGI("<CLoadPort-%d>设置Cassette Type成功.", m_nIndex);
         }
         else {
            LOGI("<CLoadPort-%d>设置Cassette Type失败,code:%d", m_nIndex, code);
            LOGE("<CLoadPort-%d>设置Cassette Type失败,code:%d", m_nIndex, code);
         }
         if (onWritedBlock != nullptr) {
            return onWritedBlock(code);
@@ -1098,7 +1112,7 @@
            LOGI("<CLoadPort-%d>设置Transfer mode成功.", m_nIndex + 1);
         }
         else {
            LOGI("<CLoadPort-%d>设置Transfer mode失败,code:%d", m_nIndex + 1, code);
            LOGE("<CLoadPort-%d>设置Transfer mode失败,code:%d", m_nIndex + 1, code);
         }
         if (onWritedBlock != nullptr) {
            return onWritedBlock(code);
@@ -1127,7 +1141,7 @@
            LOGI("<CLoadPort-%d>%s Auto Change成功.", m_nIndex, bEnable ? _T("启用") : _T("禁用"));
         }
         else {
            LOGI("<CLoadPort-%d>%s  Auto Change失败,code:%d", m_nIndex, bEnable ? _T("启用") : _T("禁用"), code);
            LOGE("<CLoadPort-%d>%s  Auto Change失败,code:%d", m_nIndex, bEnable ? _T("启用") : _T("禁用"), code);
         }
         if (onWritedBlock != nullptr) {
            return onWritedBlock(code);
@@ -1207,7 +1221,7 @@
         CGlass* pGlass = theApp.m_model.m_glassPool.allocaGlass();
         pGlass->setOriginPort(m_nIndex, i);
         pGlass->addPath(m_nID, 0);
         pGlass->addPath(m_nID, 0, i + 1);
         pGlass->processEnd(m_nID, 0);
         pGlass->setID(szBuffer);
         pGlass->setType(type);
@@ -1235,7 +1249,7 @@
      char szBuffer[64];
      for (int i = 0; i < SLOT_MAX; i++) {
         if (!m_slot[i].isEnable()) continue;
         if (!(map >> i) & 1) continue;
         if (((map >> i) & 1) == 0) continue;
         CJobDataS js;
         js.setCassetteSequenceNo(getNextCassetteSequenceNo());
@@ -1247,7 +1261,7 @@
         CGlass* pGlass = theApp.m_model.m_glassPool.allocaGlass();
         pGlass->setOriginPort(m_nIndex, i);
         pGlass->setScheduledForProcessing(i % 2 == 1);
         pGlass->addPath(m_nID, 0);
         pGlass->addPath(m_nID, 0, i + 1);
         pGlass->processEnd(m_nID, 0);
         pGlass->setID(szBuffer);
         pGlass->setType(m_cassetteType);
@@ -1287,7 +1301,7 @@
         CGlass* pGlass = theApp.m_model.m_glassPool.allocaGlass();
         pGlass->setOriginPort(m_nIndex, nSlotIndex);
         pGlass->addPath(m_nID, 0);
         pGlass->addPath(m_nID, 0, slot.nSlotID);
         pGlass->processEnd(m_nID, 0);
         pGlass->setID(szBuffer);
         pGlass->setType(static_cast<SERVO::MaterialsType>(config.nMaterialType));