LAPTOP-SNT8I5JK\Boounion
2025-05-28 5b6e648814aa829706cb94e6c44766ee9a6d9f12
SourceCode/Bond/Servo/CEquipment.cpp
@@ -493,30 +493,30 @@
      // CEqCassetteTranserStateStep
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_CASSETTIE_EMPTY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_CASSETTIE_LOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_CASSETTIE_LOADED, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_CASSETTIE_INUSE, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_CASSETTIE_UNLOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_CASSETTIE_BLOCKED, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_CASSETTIE_EMPTY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_CASSETTIE_LOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_CASSETTIE_LOADED, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_CASSETTIE_INUSE, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_CASSETTIE_UNLOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_CASSETTIE_BLOCKED, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_CASSETTIE_EMPTY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_CASSETTIE_LOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_CASSETTIE_LOADED, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_CASSETTIE_INUSE, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_CASSETTIE_UNLOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_CASSETTIE_BLOCKED, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_CASSETTIE_EMPTY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_CASSETTIE_LOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_CASSETTIE_LOADED, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_CASSETTIE_INUSE, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_CASSETTIE_UNLOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_CASSETTIE_BLOCKED, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_EMPTY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_LOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_LOADED, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_INUSE, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_UNLOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_BLOCKED, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_EMPTY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_LOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_LOADED, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_INUSE, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_UNLOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_BLOCKED, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_EMPTY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_LOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_LOADED, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_INUSE, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_UNLOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_BLOCKED, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_EMPTY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_LOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_LOADED, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_INUSE, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_UNLOAD_READY, pszData, size);
      CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_BLOCKED, pszData, size);
   }
   BOOL CEquipment::isBitOn(const char* pszData, size_t size, int index)
@@ -1099,7 +1099,7 @@
         return -1;
      }
      unsigned short operationMode = (unsigned short)(mode + getIndexerOperationModeBaseValue());
      unsigned short operationMode = (unsigned short)((unsigned short)mode + getIndexerOperationModeBaseValue());
      LOGI("<CEquipment-%s>准备设置indexerOperationMode<%d>", m_strName.c_str(), (int)mode);
      if (onWritedBlock != nullptr) {
         pStep->writeShort(operationMode, onWritedBlock);
@@ -1170,6 +1170,54 @@
      return 0;
   }
   CSlot* CEquipment::getAvailableSlot()
   {
      for (int i = 0; i < SLOT_MAX; i++) {
         if (!m_slot[i].isEnable()) continue;
         if (m_slot[i].isLock()) continue;
         if (!m_slot[i].isEmpty()) continue;
         return &m_slot[i];
      }
      return nullptr;
   }
   CSlot* CEquipment::getEmptySlot(MaterialsType type)
   {
      for (int i = 0; i < SLOT_MAX; i++) {
         if (!m_slot[i].isEnable()) continue;
         if (m_slot[i].isLock()) continue;
         if (!m_slot[i].isEmpty()) continue;
         MaterialsType slotType = m_slot[i].getType();
         if (type == MaterialsType::G1 && slotType == MaterialsType::G2) continue;
         if (type == MaterialsType::G2 && slotType == MaterialsType::G1) continue;
         return &m_slot[i];
      }
      return nullptr;
   }
   CSlot* CEquipment::getNonEmptySlot(MaterialsType putSlotType)
   {
      for (int i = 0; i < SLOT_MAX; i++) {
         if (!m_slot[i].isEnable()) continue;
         if (m_slot[i].isLock()) continue;
         CGlass* pGlass = (CGlass*)m_slot[i].getContext();
         if (pGlass == nullptr) continue;
         MaterialsType glassType = pGlass->getType();
         if (glassType == MaterialsType::G1 && putSlotType == MaterialsType::G2) continue;
         if (glassType == MaterialsType::G2 && putSlotType == MaterialsType::G1) continue;
         return &m_slot[i];
      }
      return nullptr;
   }
   short CEquipment::decodeRecipeListReport(const char* pszData, size_t size)
   {
      return m_recipesManager.decodeRecipeListReport(pszData, size);