From 166fa1cb727d6fe6962bbd2b5c4a0c9da6088048 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期三, 30 七月 2025 14:50:03 +0800
Subject: [PATCH] 1.获取配方后自动刷新列表; 2.HsmsAction序列化和反序列化,将来用于缓存上报的数据;
---
SourceCode/Bond/Servo/CMaster.cpp | 23 ++++++++++-------------
1 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/SourceCode/Bond/Servo/CMaster.cpp b/SourceCode/Bond/Servo/CMaster.cpp
index 615a7fd..6bcda0c 100644
--- a/SourceCode/Bond/Servo/CMaster.cpp
+++ b/SourceCode/Bond/Servo/CMaster.cpp
@@ -548,15 +548,11 @@
LOGI("Arm1 %s, Arm2 %s.", rmd.armState[0] ? _T("不可用") : _T("可用"),
rmd.armState[1] ? _T("不可用") : _T("可用"));
}
- CEquipment* pEqTar[] = { pVacuumBake, pFliper };
- if (primaryType == MaterialsType::G2) {
- pEqTar[0] = pFliper;
- pEqTar[1] = pVacuumBake;
- }
for (int s = 0; s < 4; s++) {
+ PortType pt = pLoadPorts[s]->getPortType();
if (!rmd.armState[0] && pLoadPorts[s]->isEnable()
- && pLoadPorts[s]->getPortType() == PortType::Unloading
- && pLoadPorts[s]->getPortMode() == PortMode::ReadyToUnload) {
+ && (pt == PortType::Unloading || pt == PortType::Both)
+ && pLoadPorts[s]->getPortStatus() == PORT_INUSE) {
m_pActiveRobotTask = createTransferTask(pMeasurement, pLoadPorts[s], primaryType, secondaryType);
if (m_pActiveRobotTask != nullptr) {
goto PORT_PUT;
@@ -649,9 +645,10 @@
// LoadPort -> Aligner
for (int s = 0; s < 4; s++) {
+ PortType pt = pLoadPorts[s]->getPortType();
if (!rmd.armState[0] && pLoadPorts[s]->isEnable()
- && pLoadPorts[s]->getPortType() == PortType::Loading
- && pLoadPorts[s]->getPortMode() == PortMode::ReadyToLoad) {
+ && (pt == PortType::Loading || pt == PortType::Both)
+ && pLoadPorts[s]->getPortStatus() == PORT_INUSE) {
m_pActiveRobotTask = createTransferTask(pLoadPorts[s], pAligner, primaryType, secondaryType);
if (m_pActiveRobotTask != nullptr) {
pEFEM->setContext(m_pActiveRobotTask->getContext());
@@ -891,10 +888,10 @@
LOGE("<Master-%s>Port InUse, map(%d!=%d)不一致,请检查。",
((CEquipment*)pEquipment)->getName().c_str(), scanMap, downMap);
};
- listener.onPortInUse = [&](void* pEquipment, short scanMap) {
- LOGE("<Master-%s>Port InUse。scanMap=%d", ((CEquipment*)pEquipment)->getName().c_str(), scanMap);
- if (m_listener.onLoadPortInUse != nullptr) {
- m_listener.onLoadPortInUse(this, (CEquipment*)pEquipment, scanMap);
+ listener.onPortStatusChanged = [&](void* pEquipment, short status, __int64 data) {
+ LOGE("<Master-%s>Port InUse。status=%d, data=%lld", ((CEquipment*)pEquipment)->getName().c_str(), status);
+ if (m_listener.onLoadPortStatusChanged != nullptr) {
+ m_listener.onLoadPortStatusChanged(this, (CEquipment*)pEquipment, status, data);
}
};
pEquipment->setListener(listener);
--
Gitblit v1.9.3