From 452e31fbe5404d2ec8eb4c5b2e02138d837c146c Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 10 六月 2025 14:44:18 +0800
Subject: [PATCH] 1.Panel Data Report数据的获取,

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

diff --git a/SourceCode/Bond/Servo/CEFEM.cpp b/SourceCode/Bond/Servo/CEFEM.cpp
index 6cbb23b..86cd158 100644
--- a/SourceCode/Bond/Servo/CEFEM.cpp
+++ b/SourceCode/Bond/Servo/CEFEM.cpp
@@ -626,6 +626,23 @@
 				delete pStep;
 			}
 		}
+
+		{
+			// Panel Data Report
+			CEqReadStep* pStep = new CEqReadStep(0x617f, 386 * 2,
+				[&](void* pFrom, int code, const char* pszData, size_t size) -> int {
+					if (code == ROK && pszData != nullptr && size > 0) {
+						decodePanelDataReport((CStep*)pFrom, pszData, size);
+					}
+					return -1;
+				});
+			pStep->setName(STEP_EQ_PANEL_DATA_REPORT);
+			pStep->setProp("Port", (void*)1);
+			pStep->setWriteSignalDev(0x15e);
+			if (addStep(STEP_ID_PANEL_DATA_REPORT, pStep) != 0) {
+				delete pStep;
+			}
+		}
 	}
 
 	// 必须要实现的虚函数,在此初始化Slot信息
@@ -663,6 +680,16 @@
 				m_pPort[i]->onReceiveLBData(pszData, size);
 			}
 		}
+
+		// 更新信号到LoadPort, Robot, Aligner, Fliper
+		m_pPort[0]->setLinkSignalBlock(0, &m_bLinkSignal[0][0]);
+		m_pPort[1]->setLinkSignalBlock(0, &m_bLinkSignal[1][0]);
+		m_pPort[2]->setLinkSignalBlock(0, &m_bLinkSignal[2][0]);
+		m_pPort[3]->setLinkSignalBlock(0, &m_bLinkSignal[3][0]);
+		m_pArmTray[0]->setLinkSignalBlock(0, &m_bLinkSignal[4][0]);
+		m_pArmTray[1]->setLinkSignalBlock(0, &m_bLinkSignal[5][0]);
+		m_pAligner->setLinkSignalBlock(0, &m_bLinkSignal[6][0]);
+		m_pFliper->setLinkSignalBlock(0, &m_bLinkSignal[7][0]);
 	}
 
 	int CEFEM::onReceivedJob(int port, CJobDataS* pJobDataS)

--
Gitblit v1.9.3