LAPTOP-SNT8I5JK\Boounion
2025-06-10 452e31fbe5404d2ec8eb4c5b2e02138d837c146c
SourceCode/Bond/Servo/CEquipment.cpp
@@ -1470,6 +1470,36 @@
      return 0;
   }
   int CEquipment::decodePanelDataReport(CStep* pStep, const char* pszData, size_t size)
   {
      short cassetteNo, jobSequenceNo;
      int index = 0;
      std::string strPanelJudgeData, strPanelGradeData;
      memcpy(&cassetteNo, &pszData[index], sizeof(short));
      index += sizeof(short);
      memcpy(&jobSequenceNo, &pszData[index], sizeof(short));
      index += sizeof(short);
      CToolUnits::convertString(&pszData[index], 128 * 2, strPanelJudgeData);
      index += 128 * 2;
      CToolUnits::convertString(&pszData[index], 256 * 2, strPanelJudgeData);
      index += 256 * 2;
      // 缓存Attribute,用于调试时显示信息
      unsigned int weight = 201;
      pStep->addAttribute(new CAttribute("CassetteNo",
         std::to_string(cassetteNo).c_str(), "", weight++));
      pStep->addAttribute(new CAttribute("JobSequenceNo",
         std::to_string(jobSequenceNo).c_str(), "", weight++));
      pStep->addAttribute(new CAttribute("PanelJudgeData",
         strPanelJudgeData.c_str(), "", weight++));
      pStep->addAttribute(new CAttribute("PanelGradeData",
         strPanelGradeData.c_str(), "", weight++));
      return 0;
   }
   int CEquipment::onPreStoredJob(int port, CJobDataB* pJobDataB, short& putSlot)
   {
      LOGI("<CEquipment-%s>onPreStoredJob:port:%d|GlassId:%s",