LAPTOP-SNT8I5JK\Boounion
2025-06-17 3c387cc7bcd469938fbfac8bc5435bb1e846c70f
SourceCode/Bond/Servo/CEFEM.cpp
@@ -22,7 +22,7 @@
      m_pPort[3] = nullptr;
      m_pAligner = nullptr;
      m_pFliper = nullptr;
      m_robotData.status = ROBOT_STATUS::Idle;
      m_robotData.status = ROBOT_STATUS::Setup;
      m_robotData.position = ROBOT_POSITION::Port1;
      m_robotData.armState[0] = FALSE;
      m_robotData.armState[1] = FALSE;
@@ -549,55 +549,7 @@
            pStep->setName(szBuffer);
            pStep->setProp("Upstream", (void*)(__int64)(i + 1));
            pStep->setWriteSignalDev(0x0 + i);
            if (addStep(STEP_ID_FETCHED_OUT_JOB_REPORT1 + i, pStep) != 0) {
               delete pStep;
            }
         }
      }
      {
         // Fetched Out Job Report #1~15
         char szBuffer[256];
         for (int i = 0; i < 15; i++) {
            CEqReadStep* pStep = new CEqReadStep(0x5c31 + 18 * i, 18 * 2,
               [&](void* pFrom, int code, const char* pszData, size_t size) -> int {
                  if (code == ROK && pszData != nullptr && size > 0) {
                     int port = (int)(__int64)((CEqReadStep*)pFrom)->getProp("Port");
                     if (port > 0) {
                        decodeFetchedOutJobReport((CStep*)pFrom, port, pszData, size);
                     }
                  }
                  return -1;
               });
            sprintf_s(szBuffer, "%s%d", STEP_EQ_FETCHED_OUT_JOBn, i+1);
            pStep->setName(szBuffer);
            pStep->setProp("Port", (void*)(__int64)(i + 1));
            pStep->setWriteSignalDev(0x023 + i);
            if (addStep(STEP_ID_FETCHED_OUT_JOB_REPORT1 + i, pStep) != 0) {
               delete pStep;
            }
         }
      }
      {
         // Store Job Report #1~15
         char szBuffer[256];
         for (int i = 0; i < 15; i++) {
            CEqReadStep* pStep = new CEqReadStep(0x5b23 + 18 * i, 18 * 2,
               [&](void* pFrom, int code, const char* pszData, size_t size) -> int {
                  if (code == ROK && pszData != nullptr && size > 0) {
                     int port = (int)(__int64)((CEqReadStep*)pFrom)->getProp("Port");
                     if (port > 0) {
                        decodeStoredJobReport((CStep*)pFrom, port, pszData, size);
                     }
                  }
                  return -1;
               });
            sprintf_s(szBuffer, "%s%d", STEP_EQ_STORED_JOBn, i + 1);
            pStep->setName(szBuffer);
            pStep->setProp("Port", (void*)(__int64)(i + 1));
            pStep->setWriteSignalDev(0x014 + i);
            if (addStep(STEP_ID_STORE_JOB_REPORT1 + i, pStep) != 0) {
            if (addStep(STEP_ID_RECIVE_JOB_UPS1 + i, pStep) != 0) {
               delete pStep;
            }
         }