From 91a2974fc7bce6e8bbd903992efae13709b0d186 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 20 五月 2025 09:48:17 +0800
Subject: [PATCH] 1.修改替换CEqVcrEventStep为(CEqReadStep)

---
 SourceCode/Bond/Servo/CEFEM.cpp |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/Servo/CEFEM.cpp b/SourceCode/Bond/Servo/CEFEM.cpp
index 3a277f3..91772f7 100644
--- a/SourceCode/Bond/Servo/CEFEM.cpp
+++ b/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;
+	}
 }

--
Gitblit v1.9.3