From da9df9d46ed3fc50e0c03497bd9f76b8aa1a4595 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期三, 14 一月 2026 15:37:48 +0800
Subject: [PATCH] 1.修复以下问题: 作业前置条件不足导致 PJ 验证失败:onPRJobMultiCreate 调 CMaster::setProcessJobs,CProcessJob::validate 要求“当前没有其它 PJ”(issue 1000),且 carrierPresent/slotUsable 必须为真。只要本地还有未结批的 PJ/CJ 或载具/槽位状态未就绪(ID 未绑、Slot 未使能),Host 发送的 CreateMultiPJ 会直接被丢弃(返回 size=0),但当前代码没有向 Host 回 ACK/NAK,Host 会误以为创建成功。
---
SourceCode/Bond/Servo/Configuration.cpp | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/Servo/Configuration.cpp b/SourceCode/Bond/Servo/Configuration.cpp
index c853bba..a2434b1 100644
--- a/SourceCode/Bond/Servo/Configuration.cpp
+++ b/SourceCode/Bond/Servo/Configuration.cpp
@@ -136,6 +136,16 @@
return TRUE;
}
+BOOL CConfiguration::setPortType(unsigned int index, int type)
+{
+ if (index >= 4) return FALSE;
+ if (type < 1 || 7 < type) return FALSE;
+
+ static char* pszSection[] = { "Port1", "Port2", "Port3", "Port4" };
+ WritePrivateProfileString(pszSection[index], _T("Type"), std::to_string(type).c_str(), m_strFilepath);
+ return true;
+}
+
BOOL CConfiguration::setPortCassetteType(unsigned int index, int cassetteType)
{
if (index >= 4) return FALSE;
@@ -176,3 +186,17 @@
return GetPrivateProfileInt(_T("Master"), _T("CTRound"), 0, m_strFilepath);
}
+char* pszPortSection[] = { "Port1", "Port2", "Port3", "Port4" };
+int CConfiguration::getPortCassetteSnSeed(int port)
+{
+ ASSERT(1 <= port && port <= 4);
+ return GetPrivateProfileInt(pszPortSection[port-1], _T("CassetteSnSeed"), 0, m_strFilepath);
+}
+
+void CConfiguration::setPortCassetteSnSeed(int port, int seed)
+{
+ ASSERT(1 <= port && port <= 4);
+ WritePrivateProfileString(pszPortSection[port - 1], _T("CassetteSnSeed"),
+ std::to_string(seed).c_str(), m_strFilepath);
+}
+
--
Gitblit v1.9.3