mrDarker
2025-09-05 6b80da0fe2a6053b39802a6701db6df0ab1fde24
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();
   }
}