From 6dc80508b1c0f431007f8a8c947c152ec00c3d15 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期一, 08 九月 2025 09:24:05 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang

---
 SourceCode/Bond/Servo/CMeasurement.cpp |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/SourceCode/Bond/Servo/CMeasurement.cpp b/SourceCode/Bond/Servo/CMeasurement.cpp
index 53ffb9c..0acf5ee 100644
--- a/SourceCode/Bond/Servo/CMeasurement.cpp
+++ b/SourceCode/Bond/Servo/CMeasurement.cpp
@@ -220,12 +220,13 @@
 			// recipe parameter report
 			CEqReadStep* pStep = new CEqReadStep(0x1aa54, 257 * 2,
 				[&](void* pFrom, int code, const char* pszData, size_t size) -> int {
+					CEqReadStep* pTmpStep = (CEqReadStep*)pFrom;
 					if (code == ROK && pszData != nullptr && size > 0) {
 						// 此处解释配方数据
 						short ret = decodeRecipeParameterReport(pszData, size);
-						pStep->setReturnCode(ret);
+						pTmpStep->setReturnCode(ret);
 					}
-					pStep->setReturnCode(MRLRC_OK);
+					pTmpStep->setReturnCode(MRLRC_OK);
 					return -1;
 				});
 			pStep->setName(STEP_EQ_RECIPE_PARAMETER);
@@ -417,7 +418,7 @@
 		return 35000;
 	}
 
-	int CMeasurement::parsingParams(const char* pszData, size_t size, std::vector<CParam>& parsms)
+	int CMeasurement::parsingParams(const char* pszData, size_t size, std::vector<CParam>& params)
 	{
 		ASSERT(pszData);
 		if (size < 250) return 0;
@@ -426,10 +427,14 @@
 
 		// 1.检测功能启用/禁用
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		parsms.push_back(CParam("检测功能启用/禁用", 0, "", v));
+		params.push_back(CParam("检测功能启用/禁用", "", this->getName().c_str(), v));
 		i += 2;
 
+		// 2.检测速度
+		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
+		params.push_back(CParam("检测速度", "", this->getName().c_str(), v * 0.001));
+		i += 4;
 
-		return (int)parsms.size();
+		return (int)params.size();
 	}
 }

--
Gitblit v1.9.3