mrDarker
2025-09-08 6dc80508b1c0f431007f8a8c947c152ec00c3d15
SourceCode/Bond/Servo/CVacuumBake.cpp
@@ -220,12 +220,13 @@
         // recipe parameter report
         CEqReadStep* pStep = new CEqReadStep(0x16a54, 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);
@@ -410,7 +411,7 @@
      return 30000;
   }
   int CVacuumBake::parsingParams(const char* pszData, size_t size, std::vector<CParam>& parsms)
   int CVacuumBake::parsingParams(const char* pszData, size_t size, std::vector<CParam>& params)
   {
      ASSERT(pszData);
      if (size < 250) return 0;
@@ -419,43 +420,43 @@
      // 1.A_腔加热时间
      v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
      parsms.push_back(CParam("A_腔加热时间", 0, "", v * 0.1f));
      params.push_back(CParam("A_腔加热时间", "", this->getName().c_str(), v * 0.1f));
      i += 2;
      // 2.B_腔加热时间
      v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
      parsms.push_back(CParam("B_腔加热时间", 0, "", v * 0.1f));
      params.push_back(CParam("B_腔加热时间", "", this->getName().c_str(), v * 0.1f));
      i += 2;
      // 3.A_腔破真空时间
      v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
      parsms.push_back(CParam("A_腔破真空时间", 0, "", v * 0.01f));
      params.push_back(CParam("A_腔破真空时间", "", this->getName().c_str(), v * 0.01f));
      i += 2;
      // 4.B_腔破真空时间
      v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
      parsms.push_back(CParam("B_腔破真空时间", 0, "", v * 0.01f));
      params.push_back(CParam("B_腔破真空时间", "", this->getName().c_str(), v * 0.01f));
      i += 2;
      // 5.A_腔真空到达值
      parsms.push_back(CParam("A_腔真空到达值", 0, "", (double)toFloat(&pszData[i])));
      params.push_back(CParam("A_腔真空到达值", "", this->getName().c_str(), (double)toFloat(&pszData[i])));
      i += 4;
      // 6.B_腔真空到达值
      parsms.push_back(CParam("B_腔真空到达值", 0, "", (double)toFloat(&pszData[i])));
      params.push_back(CParam("B_腔真空到达值", "", this->getName().c_str(), (double)toFloat(&pszData[i])));
      i += 4;
      // 7.A_腔温控表主控温度设定
      v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
      parsms.push_back(CParam("A_腔温控表主控温度设定", 0, "", v * 0.1f));
      params.push_back(CParam("A_腔温控表主控温度设定", "", this->getName().c_str(), v * 0.1f));
      i += 4;
      // 8.B_腔温控表主控温度设定
      v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
      parsms.push_back(CParam("B_腔温控表主控温度设定", 0, "", v * 0.1f));
      params.push_back(CParam("B_腔温控表主控温度设定", "", this->getName().c_str(), v * 0.1f));
      i += 4;
      return (int)parsms.size();
      return (int)params.size();
   }
}