From 8ffc831c6bf37a73961e22efc145be4e8c8f1241 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期四, 19 六月 2025 10:05:07 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang
---
SourceCode/Bond/Servo/CEFEM.cpp | 74 +++++++++++--------------------------
1 files changed, 22 insertions(+), 52 deletions(-)
diff --git a/SourceCode/Bond/Servo/CEFEM.cpp b/SourceCode/Bond/Servo/CEFEM.cpp
index 33e6b29..d6a357d 100644
--- a/SourceCode/Bond/Servo/CEFEM.cpp
+++ b/SourceCode/Bond/Servo/CEFEM.cpp
@@ -22,7 +22,7 @@
m_pPort[3] = nullptr;
m_pAligner = nullptr;
m_pFliper = nullptr;
- m_robotData.status = ROBOT_STATUS::Idle;
+ m_robotData.status = ROBOT_STATUS::Setup;
m_robotData.position = ROBOT_POSITION::Port1;
m_robotData.armState[0] = FALSE;
m_robotData.armState[1] = FALSE;
@@ -549,55 +549,7 @@
pStep->setName(szBuffer);
pStep->setProp("Upstream", (void*)(__int64)(i + 1));
pStep->setWriteSignalDev(0x0 + i);
- if (addStep(STEP_ID_FETCHED_OUT_JOB_REPORT1 + i, pStep) != 0) {
- delete pStep;
- }
- }
- }
-
- {
- // Fetched Out Job Report #1~15
- char szBuffer[256];
- for (int i = 0; i < 15; i++) {
- CEqReadStep* pStep = new CEqReadStep(0x5c31 + 18 * i, 18 * 2,
- [&](void* pFrom, int code, const char* pszData, size_t size) -> int {
- if (code == ROK && pszData != nullptr && size > 0) {
- int port = (int)(__int64)((CEqReadStep*)pFrom)->getProp("Port");
- if (port > 0) {
- decodeFetchedOutJobReport((CStep*)pFrom, port, pszData, size);
- }
- }
- return -1;
- });
- sprintf_s(szBuffer, "%s%d", STEP_EQ_FETCHED_OUT_JOBn, i+1);
- pStep->setName(szBuffer);
- pStep->setProp("Port", (void*)(__int64)(i + 1));
- pStep->setWriteSignalDev(0x023 + i);
- if (addStep(STEP_ID_FETCHED_OUT_JOB_REPORT1 + i, pStep) != 0) {
- delete pStep;
- }
- }
- }
-
- {
- // Store Job Report #1~15
- char szBuffer[256];
- for (int i = 0; i < 15; i++) {
- CEqReadStep* pStep = new CEqReadStep(0x5b23 + 18 * i, 18 * 2,
- [&](void* pFrom, int code, const char* pszData, size_t size) -> int {
- if (code == ROK && pszData != nullptr && size > 0) {
- int port = (int)(__int64)((CEqReadStep*)pFrom)->getProp("Port");
- if (port > 0) {
- decodeStoredJobReport((CStep*)pFrom, port, pszData, size);
- }
- }
- return -1;
- });
- sprintf_s(szBuffer, "%s%d", STEP_EQ_STORED_JOBn, i + 1);
- pStep->setName(szBuffer);
- pStep->setProp("Port", (void*)(__int64)(i + 1));
- pStep->setWriteSignalDev(0x014 + i);
- if (addStep(STEP_ID_STORE_JOB_REPORT1 + i, pStep) != 0) {
+ if (addStep(STEP_ID_RECIVE_JOB_UPS1 + i, pStep) != 0) {
delete pStep;
}
}
@@ -628,9 +580,10 @@
{
// Indexer Operation Mode Change
CEqWriteStep* pStep = new CEqWriteStep();
- pStep->setName(STEP_EFEM_IN_OP_MODE_CHANGE);
+ pStep->setName(STEP_EQ_IN_OP_MODE_CHANGE);
pStep->setWriteSignalDev(0x070);
pStep->setDataDev(0x023);
+ pStep->setRetDataDev(0x600e, 2);
if (addStep(STEP_ID_IN_OP_CMD_REPLY, pStep) != 0) {
delete pStep;
}
@@ -658,7 +611,7 @@
CEqReadStep* pStep = new CEqReadStep(0x6301, 108 * 2,
[&](void* pFrom, int code, const char* pszData, size_t size) -> int {
if (code == ROK && pszData != nullptr && size > 0) {
- decodePanelDataReport((CStep*)pFrom, pszData, size);
+ decodeFacDataReport((CStep*)pFrom, pszData, size);
}
return -1;
});
@@ -669,6 +622,23 @@
delete pStep;
}
}
+
+ {
+ // Panel Data Request xxx
+ CEqReadStep* pStep = new CEqReadStep(0x6301, 108 * 2,
+ [&](void* pFrom, int code, const char* pszData, size_t size) -> int {
+ if (code == ROK && pszData != nullptr && size > 0) {
+ decodeFacDataReport((CStep*)pFrom, pszData, size);
+ }
+ return -1;
+ });
+ pStep->setName(STEP_EQ_FAC_DATA_REPORT);
+ pStep->setProp("Port", (void*)1);
+ pStep->setWriteSignalDev(0x04d);
+ if (addStep(STEP_ID_PANEL_DATA_REQUEST, pStep) != 0) {
+ delete pStep;
+ }
+ }
}
// 必须要实现的虚函数,在此初始化Slot信息
--
Gitblit v1.9.3