LAPTOP-SNT8I5JK\Boounion
2025-05-20 91a2974fc7bce6e8bbd903992efae13709b0d186
SourceCode/Bond/Servo/CEFEM.cpp
@@ -235,11 +235,29 @@
      {
         // VCR1 Event Report
         /*
         CEqVcrEventStep* pStep = new CEqVcrEventStep();
         pStep->setName(STEP_EQ_VCR1_EVENT_REPORT);
         pStep->setWriteSignalDev(0x4a);
         pStep->setReturnDev(0x91e);
         pStep->setVcrEventReportDev(0x5fef);
         if (addStep(STEP_ID_VCR1_EVENT_REPORT, pStep) != 0) {
            delete pStep;
         }
         */
         // VCR Event Report
         // 机器上报扫码结果,扫码器预计安装在巡边检机器上
         CEqReadStep* pStep = new CEqReadStep(0x5fef, 15 * 2,
            [&](void* pFrom, int code, const char* pszData, size_t size) -> int {
               if (code == ROK && pszData != nullptr && size > 0) {
                  decodeVCREventReport((CStep*)pFrom, pszData, size);
               }
               return -1;
            });
         pStep->setName(STEP_EQ_VCR1_EVENT_REPORT);
         pStep->setProp("Port", (void*)1);
         pStep->setWriteSignalDev(0x4a);
         if (addStep(STEP_ID_VCR1_EVENT_REPORT, pStep) != 0) {
            delete pStep;
         }
@@ -454,6 +472,17 @@
            delete pStep;
         }
      }
      {
         // Indexer Operation Mode Change
         CEqWriteStep* pStep = new CEqWriteStep();
         pStep->setName(STEP_EFEM_IN_OP_MODE_CHANGE);
         pStep->setWriteSignalDev(0x070);
         pStep->setDataDev(0x023);
         if (addStep(STEP_ID_IN_OP_CMD_REPLY, pStep) != 0) {
            delete pStep;
         }
      }
   }
   int CEFEM::onStepEvent(CStep* pStep, int code)
@@ -603,4 +632,9 @@
      return -1;
   }
   int CEFEM::getIndexerOperationModeBaseValue()
   {
      return 10000;
   }
}