From 331f447bb0e5eccf0b3161ab287c1372b14b8480 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期五, 08 八月 2025 11:53:58 +0800
Subject: [PATCH] 1.增加千传计数,保存计数,重启软件时恢复; 2.千传测试模式,打印相关日志,方便后期提取,用于统计; 3.千传模式时烘烤两腔体都要进入; 4.千传模式时,Fliper到Bonder修改为用手臂2取料; 5.修复千传模式不计运行时的问题; 6.千传模式,最后收料强制放入第一层; 6.修复Buf, 当任务未生成(在符合条件后仍有1秒间隙)而机器单元发送FetchOutJob时,数据检验失败的问题,增加Sleep, 缩小间隙;
---
SourceCode/Bond/Servo/ToolUnits.cpp | 41 ++++++++++++++++++++++++++++++++++++++---
1 files changed, 38 insertions(+), 3 deletions(-)
diff --git a/SourceCode/Bond/Servo/ToolUnits.cpp b/SourceCode/Bond/Servo/ToolUnits.cpp
index 664f802..15cb278 100644
--- a/SourceCode/Bond/Servo/ToolUnits.cpp
+++ b/SourceCode/Bond/Servo/ToolUnits.cpp
@@ -2,6 +2,7 @@
#include "ToolUnits.h"
#include <chrono>
#include <memory>
+#include <sstream>
CToolUnits::CToolUnits()
@@ -73,10 +74,17 @@
ULONGLONG CToolUnits::getTimestamp()
{
+ // 返回毫秒数的版本
auto now = std::chrono::system_clock::now();
- auto duration_in_milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch());
- uint64_t timestamp = duration_in_milliseconds.count();
- return timestamp;
+ auto ms = std::chrono::time_point_cast<std::chrono::milliseconds>(now);
+ return static_cast<ULONGLONG>(ms.time_since_epoch().count());
+}
+
+time_t CToolUnits::getUnixTimestamp()
+{
+ // 返回秒数的版本
+ auto now = std::chrono::system_clock::now();
+ return std::chrono::system_clock::to_time_t(now);
}
void CToolUnits::createDir(const char* pszDir)
@@ -301,4 +309,31 @@
ltm.tm_hour, ltm.tm_min, ltm.tm_sec);
return std::string(buffer);
+}
+
+bool CToolUnits::startsWith(const std::string& str, const std::string& prefix)
+{
+ return str.size() >= prefix.size() && str.compare(0, prefix.size(), prefix) == 0;
+}
+
+std::string& CToolUnits::toHexString(int value, std::string& strOut)
+{
+ std::stringstream ss;
+ ss << std::hex << value;
+ strOut = ss.str();
+
+ return strOut;
+}
+
+void CToolUnits::convertString(const char* pszBuffer, int size, std::string& strOut)
+{
+ strOut.clear();
+ int nLength = 0;
+ for (int i = 0; i < size; i++) {
+ if (pszBuffer[i] == '\0') break;
+ nLength++;
+ }
+ if (nLength > 0) {
+ strOut = std::string(pszBuffer, nLength);
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3